Some schools have rewritten their themes to provide alternate interfaces for integratedModes and ALM by maintaining the format of the URLs but introducing tricks like AJAX, new controls, etc. This is a place to document these things.
Necessary Features
- Add: Tab, Column, Channel
- Move: Tab, Column, Channel (fragments?)
- Remove: Tab, Column, Channel
- Rename Tab
- Minimize Channel
Some Initial Thoughts from Virginia Tech
...
Panel | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
I don't really like the idea of save/set options, since I really think that the model should be non-modal. Right now there's this oddity of actions like remove channel which happen immediately, but other options which are applied and then saved. Getting users to save changes in particular seems like it's as hard as getting them to logout.
|
So, for My VT, adding a tab might work like this:
...
Customize Servlet: (in pseudocode)
Edit: Removed :: notation which was Virginia Tech-specific.
Code Block | ||||
---|---|---|---|---|
| ||||
function addTab(name) { var root = getLayoutRoot(); var newTab = addFolder("tab::New Tab", root, null); var newPage = addFolder("page::default", newTab, null); var newMainColumn = addFolder("column::main", newPage, null); var newSideColumn = addFolder("column::side", newPage, null); saveLayout(); } |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<layout> <folder name="tab::New Tab"> <folder name="page::default"> <folder name="column::main"/> <folder name="column::side"/> </folder> </folder> </layout> |
...
- Having two "IDs" for folders/portlets, one that is human-readable and one that is generated by the system (database ID numbers).
- The "name" of a folder being the display name of the folder, or moved into a parameter described in the next point.
Code Block xml xml <folder id="tab-home" name="Home" systemID="345-42"/>
- I'd like to see arbitrary, multi-value parameters allowed for folders and portlets
Code Block xml xml <folder id="tab-home" systemID="345-42"> <parameter name="display-name"><value>Home</value></parameter> <parameter name="type"><value>tab</value></parameter> <parameter name="allowed-portlet-widths"> <value>30</value> <value>60</value> </parameter> </folder>