GWiki Features Developer View

Show this page as slide show

GWiki is not only an wiki application, but also an plattform to develop web base applications.

GWiki Features for developer

Introduction to GWiki Features.


Customizing Goals

Customize Tools


Extending Goals

Extending Tools

Blueprint template

Define a form, which filled by the user.
A Blueprint template is a wiki page located in admin/blueprints.

Fill this form for your template.
Name:  {input:text|name=name|size=40|maxlength=10}.
{input:inputType=label|value=This is only a label and will not be included in resolved blueprint}
This text will not shown in the evaluated wiki.
A Textarea:
{input:radio|value=First|name=radio} {input:label|value=First}
{input:checkbox|name=checkboxp|checked=true}{input:label|value=Choose it.}
{input:select|name=selectp|value=Second|values=First, Second, Third}

Blueprint insert

Unknown macro:hr

Unknown macro:hr

Blueprint result

Extending Sample: Slide shows 1

Defining a new Meta template.

<?xml version="1.0" encoding="UTF-8"?>
	<bean id="config"
		<property name="elementType" value="gwiki" />
		<!--  1 Hour -->
		<property name="elementLifeTime" value="3600000" />
		<!--  no controlerId -->
		<!--  no controlerClass -->
		<property name="parts">
				<entry key="Controler">
						<property name="pageId" value="inc/s5template" />
						<property name="parts">
								<entry key="MainPage">
										class="" />

"inc/s5template" defines a new template

Extending Sample: Slide shows 2

The JSP Template

boolean showSlide = "true".equals(wikiContext.getRequestParameter('asSlide'));
if (showSlide) {
	String s5f = wikiContext.localUrl("static/s5");
	String s5h = """
		<meta name=\"version\" content=\"S5 1.1\" />
		<meta name=\"defaultView\" content=\"slideshow\" />
		<meta name=\"controlVis\" content=\"hidden\" />
	<link rel=\"stylesheet\" href=\"${s5f}/slides.css\" type=\"text/css\" media=\"projection\" id=\"slideProj\" />
	<link rel=\"stylesheet\" href=\"${s5f}/outline.css\" type=\"text/css\" media=\"screen\" id=\"outlineStyle\" />
	<link rel=\"stylesheet\" href=\"${s5f}/print.css\" type=\"text/css\" media=\"print\" id=\"slidePrint\" />
	<link rel=\"stylesheet\" href=\"${s5f}/opera.css\" type=\"text/css\" media=\"projection\" id=\"operaFix\" />
	<script src=\"${s5f}/slides.js\" type=\"text/javascript\"></script>
%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="" xml:lang="en" lang="en">
<div class="layout">
<div id="controls"><!-- DO NOT EDIT --></div>
<div id="currentSlide"><!-- DO NOT EDIT --></div>
	wikiContext.setRequestAttribute('GWIKI_SLIDESHOW_SECTION', 'layout');
<div class="presentation">
} else {
%>	<a target="slideshow" href="#" 
	onclick="'<%=wikiContext.localUrl(wikiContext.getCurrentElement().getElementInfo().getId()) %>?asSlide=true', 'gwiki_slideshow', 'resizable, scrollbars'); return false;">As Slide</a><br/>
wikiContext.setRequestAttribute('GWIKI_SLIDESHOW_SECTION', 'slides');

Extending Sample: Slide shows 3

Create some Macros

Extending Sample: Comments

Extending More

Using Taglibs inside wiki

Now use the macro:

{cout:value="This will printed via jsp: ${x}"}{cout}

Now use the macro:

This will printed via jsp: Hallo

Using Groovy

for (int i in 1..10) {
 out.println("Hello " + i + "<br/>");

Access to:

All is GWiki

Integrate Goals

Integrate for Internationalization

Integrate for GUI parts

Wicket Support

Content Management

Developing Applications

GWiki can be used as rapid development plattform.

Developing GWiki

Future plans in GWiki Development.

Developing GWiki Improvments

Developing GWiki New Core Features

Developing GWiki Web 2.0

Developing GWiki Ad Ons

Developing GWiki Cloud


Last modified 2016-04-20 22:33 by rkommer. ViewCount: 8935
By Roger Rene Kommer and Micromata