You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rave.apache.org by "Jose (Commented) (JIRA)" <ji...@apache.org> on 2012/01/23 11:30:40 UTC

[jira] [Commented] (RAVE-26) Layout issues, "workspace" model for managing pages and layouts.

    [ https://issues.apache.org/jira/browse/RAVE-26?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13190988#comment-13190988 ] 

Jose commented on RAVE-26:
--------------------------

I am currently coming up with xml  (format is not important) deceleration for my project which allows pages widgets, and content, to be defined and laid out. The layout part in particular works well for me for creating reusable layouts. I would be willing to donate or help with ideas if need be.

Here is an extract:

    <?xml version="1.0" encoding="UTF-8"?>
<!-- labels are resource keys to localize strings -->
<!-- i have intentionally left out the <Properties/>, <Links/> <Security-Policies>, <Conditions/> <Themes/> and <Skins/> tobe more readable -->
<toplogy:Toplogy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:toplogy="http://com.josebadea/portal/topology/1.0.0" xsi:schemaLocation="http://com.josebadea/portal/topology/1.0.0 Topology.xsd" expression-dialect="SpEL">


	<!-- define widgets which can be extended so that variations can be created by overriding or adding settings -->
	<Widget id="toolbar" label="widget.toolbar.title" abstract="false" skin="default" container="shindig" type="iframe" url="/toolbar">
		<Modes>view,edit,help,
			minimized,maximized
		</Modes>
		<Publishes>search.*</Publishes>
		<preferences>
			<Preference name="fooString">bar</Preference>
			<Preference name="fooNumber">1</Preference>
			<Preference name="fooBoolean">true</Preference>
		</preferences>
	</Widget>

	<Widget id="google" label="widget.google.title" abstract="false" skin="default" container="shindig" type="iframe" url="google.com">
		<Modes>view,edit,help,minimized,maximized</Modes>
		<Consumes>search.*</Consumes>
	</Widget>

	<Widget id="yahoo" label="widget.yahoo.title" abstract="false" skin="default" container="shindig" type="iframe" url="yahoo.com">
		<Modes>view,edit,help,minimized,maximized</Modes>
		<Consumes>search.*</Consumes>
	</Widget>

	<!-- easy way to create layout templates that work with dojo, extjs and other layout managers -->
	<Layout name="Border3Column">
		<!-- BORDER -->
		<Container id="border" layout="border" config="{gutters:false}">
			<Area id="header" settings="{region:'north', height:'150px'}" />
			<Area id="navigation" settings="{region:'west', margins:'5 0 0 0', width:'175px'}" />
			<Area id="center" settings="{region:'center', margins:'35 5 5 0', autoScroll:true}">
				<!-- COLUMNS -->
				<Container id="column" layout="column" config="{anchor:'100%'}">
					<Area id="col1" settings="{autoScroll:true'}" />
					<Area id="col2" settings="{autoScroll:true}" />
					<Area id="col3" settings="{autoScroll:true}" />
				</Container>
			</Area>
			<Area id="footer" config="{region:'south', height:'80px', margins:'5 0 0 0'}" />
		</Container>
	</Layout>

	<Layout name="Border3Column">
		<!-- BORDER -->
		<Container id="border" layout="border" config="{gutters:false}">
			<Area id="header" settings="{region:'north', height:'150px'}" />
			<Area id="navigation" settings="{region:'west', margins:'5 0 0 0', width:'175px'}" />
			<Area id="center" settings="{region:'center', margins:'35 5 5 0', autoScroll:true}">
				<!-- COLUMNS -->
				<Container id="column" layout="column" config="{anchor:'100%'}">
					<Area id="col1" settings="{autoScroll:true'}" />
					<Area id="col2" settings="{autoScroll:true}" />
					<Area id="col3" settings="{autoScroll:true}" />
				</Container>
			</Area>
			<Area id="footer" config="{region:'south', height:'80px', margins:'5 0 0 0'}" />
		</Container>
	</Layout>

	<Root-Node id="root1" theme="default" skin="default" layout="default">
		<Group-Node id="group1" label="node-root1.group1">
			<Title-Node id="title1" label="node-root1.group1.title1" />
			<Alias-Node id="alias1" label="node-root1.group1.alias1" node="url-mapping-node-root1.group1.page1" />
			<Separator-Node id="separator1" />
			<External-Node id="external1" label="node-root1.group1.external1" link="mailto:jose.badeau@gmail.com" />
			<External-Node id="external2" label="node-root1.group1.external2" link="link_rave_home" />
			<Page-Node id="page1" label="node-root1.group1.page1" layout="Border3Column">
				<Content>
					<Add widget="toolbar" to="header" instance-id="home.toolbar" />
					<!-- instance id is used to keep unique instance for Model and DOM -->
					<Add widget="google" to-area="border.center.column.col1" instance-id="home.google" />
					<Add widget="yahoo" to-area="border.center.column.col2" instance-id="home.yahoo" />
				</Content>
			</Page-Node>
		</Group-Node>
	</Root-Node>

	<!-- map nodes to pretty urls for readability and bookmarkability -->
	<Url-Mapping node="node-root1.group1" label="urlmapping-root1.group1">
		<Url-Mapping node="node-root1.group1.page1" label="url-mapping-node-root1.group1.page1" />
	</Url-Mapping>

	<topology />
</topolog>
                
> Layout issues, "workspace" model for managing pages and layouts. 
> -----------------------------------------------------------------
>
>                 Key: RAVE-26
>                 URL: https://issues.apache.org/jira/browse/RAVE-26
>             Project: Rave
>          Issue Type: Story
>            Reporter: Marlon Pierce
>
> Trying to see how to incorporate OGCE layout ideas into Page-Region model. Possible solution is to create a "workspace" object that contains both the abstract model and the specific layout to be used with that model.  This would allow us to 
> * Go seamlessly to different templates (particularly mobile).
> * Enable users to share workspace collections of gadgets (or download them from a workspace registry).
> * Enable us to export layout model data via REST service call.
> * Implement templates (HTML, CSS, etc) for different layout views (1 column, 2, column, tree,...). Need to avoid using too much javascript for creating HTML layout.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira