WebWerkstatt is Lively Kernel based programmable Wiki. WebWerkstatt is now the place where we develop the Lively Kernel and Lively based applications. We have created many tools such the SystemBrowser that can edit JavaScript in very Smalltalkish way. We further experiment with JavaScript language extesions and usage patterns to make the development of Web-based applications easier. We use a binding mechanism to connect objects with each other and we use ContextJS to allow for moduls to adpat base system behavior in unanticipated ways.
Our WebWerkstatt is a very open place, right now we are few users and we allow everyone to change everything. This may change as we become more users and user will tend to step on each other toes. Users can not only read a page, but they can as it is typical in a wiki change pages and create new ones.
Our wiki is special in a way that we do not have a textual wiki syntax in which the wiki content can be edited, but that our content is edited in a WYSIWYG way. Our content is further not limited to Text and embedded images or videos, it will consist a lot of freely placed graphical objects. We call these graphical objects Morphs. A livey web page has a World Morph as its root. This world morph contains submorphs, which contain submorphs and so on. Each morph has a transformation (position, rotation, scaling), a parent and a shape.
There are various shapes in Lively:
These shapes are responsible of how a morph primarily looks:
These properties can be changed with tools or programmatically. The context menu / edit style opens an style editor that can change all those properties.
Right clicking in a lively world opens a context menu. The title of the context menu shows which morph (graphical object) you just clicked on. Every action from the context menu aims at that object. Clicking into an empty space gives you the context menu of the "world". The world respresents the lively pages and is the container for all lively objects.
The world menu is the place for everything that is not object specific. It allows to create new morphs, it opens the tools, and it does a lot more which makes it a messy place we have to clean up...