How to proceed

Each application has a master topic located in the application's subweb, which captures all information and documentation for this application. This is is a topic of type WikiApplication. Create it and give it the same name as your newly created application web. For example given you created a new web MyNewApp then create a new WikiApplication topic MyNewApp. That's where application-level documentation goes. All topic-level documentation is done within the ApplicationTopics themselves. In addition of being an ApplicationTopic these are tagged DocuTopic and contain a named section "docu". The WikiApplication topic contains a control function that gathers all topic-level documentation by extracting the section "docu" from DocuTopics.

Model

When starting to write a new WikiApplication, you may proceed by creating new TopicTypes, that are specific for it. TopicTypes will define the data model, and optionally an installer and a factory that help in deploying and creating a new topic of the new type.

Now create a few instances of the new TopicType. For now, it only has a plain text and probably a DataForm attached to it. The TopicTypes are used to create a topic of that type, together with an optional TopicTemplate as a blueprint. This blueprint shall have all the specific means pre-installed that are needed to properly display a topic of that type.

View

After you created the data model and a few topic instances of that type, you can start writing TopicFunctions to control this data. For example create a RenderMyNewTopicType that displays the data of one topic. Now create a TopicView that includes a call to this new TopicFunction. Then apply the TopicView to a topic by setting its VIEW_TEMPLATE property. Add this setting to the TopicTemplate so that each newly authored topic of that type will have the correct view applied to it.

Control

When you finished implementing the data model and the view you may proceed by creating reports and queries to list a set of topics of that type and display the appropriately.

The further alley your application takes is very dependent on the kind of application you are about to implement.

Deployment

Finally, you will need a way to deploy the application into another web. This is done by either implementing an web template containing the blueprint of a complete web with all functions already installed. You may then deploy an instance of the application by creating a new web on this base. Alternatively, the application can be added to an already existing web by installing the relevant TopicTypes into the target web. This is done by using the installers on the TopicTypes and WebTools each.

If you add an application to an already existing web for the first time, you may also need to create the basic infrastructure of TopicTypes by deploying the TopicType "TopicType" and "TopicStub" into the target web.

Documentation

Each part of your application can come with its own documentation. Mark it to be of type DocuTopic so that its documentation will be extracted automatically in the master topic. For example each topic of type TopicType is also of type DocuTopic by default. Create pure DocuTopics that describe overall documentation about your application.

Last not least delete this text and replace it with a meaningful description and introduction to your application.

DocuTopic edit

TopicType DocuTopic, ApplicationTopic, WikiTopic
TopicTitle First Steps
Summary What's next: first steps after creating a new workbench web
WikiApplication WikiWorkbench
Topic revision: r1 - 23 Jan 2017, ProjectContributor
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback