“Hello World” EnterMedia Example

1. WebPageRequest (built in)

$pages
$content
$context
$user

2. Loading the xconf’s

1. loads index.xconf
2. load /subfolder/_site.xconf (folder level)
3. Checks fallback
/test/_site.xconf
<property name="fallbackdirectory">/parent</property>

/test/sub/123.html
/parent/sub/123.html

3. /test/_site.xconf

com.openedit.util.RequestUtils

4. Calling Existing Java Objects

/test/_site.xconf
<path-action alltypes="true" name="MediaArchiveModule.getMediaArchive"/>
<path-action bean="searcherManager" name="PageValue.loadPageVariable" allowduplicates="true" />
<path-action bean="userManager" name="PageValue.loadPageVariable" allowduplicates="true" />

5. Calling New Groovy Objects

WEB-INF/base/norcom/src/plugin.xml
OR
/WEB-INF/src/plugin.xml

<lang:groovy id="norcom" script-source="hello/HelloWorld.groovy">
</lang:groovy>

6. /test/_site.xconf

<path-action bean="norcom" name="PageValue.loadPageVariable" allowduplicates="true" />

/WEB-INF/src/hello/HelloWorld.groovy
package hello;

public class HelloWorld
{

public String sayHello()
{
return "Hello World from Groovy code!";
}
}

7. test/helloworld.html

$norcom.sayHello()

xconf files - path-action, properties, layout
plugin.xml - Load up Modules (Java Controllers)

Summary

Model - Java and Groovy Beans (.java .groovy)
View - Velocity HTML (layouts) (*.html)
Controller - AdminModule.login (plugin.xml)

Database API