Difference between revisions of "MyPortal Development guide"

From Catglobe Wiki
Jump to: navigation, search
 
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
<accesscontrol>Main:MyGroup</accesscontrol>
 +
[[Category:Personalization]]
 +
 
== Introduction  ==
 
== Introduction  ==
  
 
The My Portal page is your own personalized view of what goes on in the Catglobe system that is interesting to you.  
 
The My Portal page is your own personalized view of what goes on in the Catglobe system that is interesting to you.  
  
For more information, visit helpfiles at [http://vietnamhelpfiles.catglobe.com/ vietnamhelpfiles.catglobe.com/] under Persionalization/MyPortal.  
+
More information about My Portal is available [[My_portal|here]].  
  
== How to make&nbsp;user defined elements<br> ==
+
== How to make&nbsp;user defined elements<br> ==
  
 
A user defined element as its name is the one you can put anything you want.  
 
A user defined element as its name is the one you can put anything you want.  
  
[[Image:MyPortal - User-defined.jpg]]&nbsp;<br>
+
[[Image:MyPortal - User-defined.jpg]]&nbsp;<br>  
  
 
An element&nbsp;contains 2 features:  
 
An element&nbsp;contains 2 features:  
  
 
*HTML content: input inside Detailed decsription tab's HTML editor. It is&nbsp;required to show the element in MyPortal page&nbsp;(empty content will end up in not displaying anything)  
 
*HTML content: input inside Detailed decsription tab's HTML editor. It is&nbsp;required to show the element in MyPortal page&nbsp;(empty content will end up in not displaying anything)  
*Javascript: input inside Detailed description tab's script mode. It&nbsp;is used&nbsp;to manipulate the way the element will act, it can connect to registered web services or&nbsp;change the HTML content dynamically. jQuery is also supported, which make it even more powerful.
+
*Javascript: input inside Detailed description tab's script mode. It&nbsp;is used&nbsp;to manipulate the way the element will act, it can connect to registered web services or&nbsp;change the HTML content dynamically. jQuery is also supported, which makes it even more powerful.
  
== Script - Supported features<br> ==
+
== Script - Supported features<br> ==
  
 
=== Events  ===
 
=== Events  ===
  
*''onload'': called when element finished loading
+
*''onload'': called after loading the element  
*''onadd'': called when it is added to MyPortal for the first time (by Insert dialog)  
+
*''onadd'': called once after adding the element to MyPortal page (Insert)  
 
*''onminimize'': called when minimizing the element  
 
*''onminimize'': called when minimizing the element  
 
*''onmaximize'': called when maximizing the element  
 
*''onmaximize'': called when maximizing the element  
 
*''onremove'': called&nbsp;when the&nbsp;element is removed from MyPortal page  
 
*''onremove'': called&nbsp;when the&nbsp;element is removed from MyPortal page  
*''onmouseover'': called when mouse is over the element  
+
*''onmouseover'': called when mouse is over the element (Currently, this event does not work - CHECK ME)
*''onmouseout'': called when mouse is out of the element  
+
*''onmouseout'': called when mouse is out of the element (Currently, this event does not work - CHECK ME)
*''set_title(titleText)'': change the title of element
 
  
=== Sample code ===
+
=== Functions ===
  
<source lang="javascript" line="1">
+
*''set_title(titleText)'': change the title of element
 +
*''get_contentDiv()'': get the content of "div" element, used for manipulating the HTML content
 +
*''getManager().updateElementOrdination()'': automatically re-arrange MyPortal page (used when the HTML content is updated dynamically)
  
this.onload = function() {
+
=== Sample code ===
 
 
  // use "this" keyword to access the element itself.
 
 
 
}
 
</source>
 
  
== Problems ==
+
<source lang="javascript">
 +
this.onload = function()
 +
{
 +
  // use "this" keyword to access the element itself.
 +
  alert("onload");
 +
}
 +
this.onadd = function() {
 +
  alert("onadd");
 +
}
 +
this.onminimize = function() {
 +
  alert("onminimize");
 +
}
 +
this.onmaximize = function() {
 +
  alert("onmaximize");
 +
}
 +
this.onremove = function() {
 +
  alert("onremove");
 +
}
 +
</source>
  
Even though it is quite simple to make an element but people usually get problems with using something. First, i want to mention some problems with HTML editor:<br>
+
== Potential problems ==
  
- <u>Using flash object</u>: You are free to add a flash object. Problem is that it is places on top of others, thus, you cannot see the menu opening from tools. To cover it, you need to add these parameters into flash:<br>
+
It can sometimes be quite problematic when displaying portal elements.Be careful when adding the HTML content, no validation is supported inside the editors.  
  
''IE: "&lt;param name='wmode' value='transparent' /&gt;"<br>FF: 'wmode="transparent" '''<br>
+
=== Tips  ===
  
- Be careful with the HTML you made. There is no checking or warrantee from MyPortal framework.
+
*Flash objects might be placed on top of others. To fix that problem, these parameters should be added&nbsp;into the flash:<br>''IE: "&lt;param name='wmode' value='transparent' /&gt;"<br>FF: 'wmode="transparent" '''<br>
  
 
== Examples  ==
 
== Examples  ==
  
<u>Call a webservice</u>:
+
<u>[[Display a questionnaire's answers in real time]]</u>  
  
<u>Play a movie clip using CGFlashPlayer</u>:
+
<u>[[Movie player element]]</u>

Latest revision as of 08:57, 18 October 2013

<accesscontrol>Main:MyGroup</accesscontrol>

Introduction

The My Portal page is your own personalized view of what goes on in the Catglobe system that is interesting to you.

More information about My Portal is available here.

How to make user defined elements

A user defined element as its name is the one you can put anything you want.

MyPortal - User-defined.jpg 

An element contains 2 features:

  • HTML content: input inside Detailed decsription tab's HTML editor. It is required to show the element in MyPortal page (empty content will end up in not displaying anything)
  • Javascript: input inside Detailed description tab's script mode. It is used to manipulate the way the element will act, it can connect to registered web services or change the HTML content dynamically. jQuery is also supported, which makes it even more powerful.

Script - Supported features

Events

  • onload: called after loading the element
  • onadd: called once after adding the element to MyPortal page (Insert)
  • onminimize: called when minimizing the element
  • onmaximize: called when maximizing the element
  • onremove: called when the element is removed from MyPortal page
  • onmouseover: called when mouse is over the element (Currently, this event does not work - CHECK ME)
  • onmouseout: called when mouse is out of the element (Currently, this event does not work - CHECK ME)

Functions

  • set_title(titleText): change the title of element
  • get_contentDiv(): get the content of "div" element, used for manipulating the HTML content
  • getManager().updateElementOrdination(): automatically re-arrange MyPortal page (used when the HTML content is updated dynamically)

Sample code

this.onload = function() 
{ 
   // use "this" keyword to access the element itself. 
   alert("onload");
}
this.onadd = function() {
   alert("onadd");
}
this.onminimize = function() {
   alert("onminimize");
}
this.onmaximize = function() {
   alert("onmaximize");
}
this.onremove = function() {
   alert("onremove");
}

Potential problems

It can sometimes be quite problematic when displaying portal elements.Be careful when adding the HTML content, no validation is supported inside the editors.

Tips

  • Flash objects might be placed on top of others. To fix that problem, these parameters should be added into the flash:
    IE: "<param name='wmode' value='transparent' />"
    FF: 'wmode="transparent" '

Examples

Display a questionnaire's answers in real time

Movie player element