[Seaside] [Ann] Deltawerken & Storyboard

Francois Stephany tulipe.moutarde at gmail.com
Wed Sep 5 15:45:41 UTC 2012


Thanks for sharing guys!


On 05/09/12 05:33, Stephan Eggermont wrote:
> Hello
>
> At the last Camp Smalltalk we finally managed to release the Deltawerken application framework
> for Seaside and Storyboard, an example application using it. Here is a first description (to be expanded
> and improved).
>
> What is Deltawerken?
>
> Deltawerken is a Seaside application level framework, allowing fast application development
> for medium-sized applications. We have used an earlier extended version of it to build a system
> with about 150 domain classes. Complexity was deliberately and systematically pushed from
> the application to the framework. It uses a declarative way to describe domain classes somewhat
> similar to Magritte or Mold. It uses Announcements, jQuery and jQueryUI.
>
> Storyboard
>
> Storyboard is a multi-user agile planning board with drag and drop support.  It shows how little
> code is needed to build a complete application with Deltawerken.  It consists of 39 classes,
> of which 7 are announcements (very simple). It allows you to quickly enter stories, estimate and prioritize them.
> In addition to stories you can add issue, documentation and chore cards. The cards are colored based
> on their story state. More details can be entered/viewed by expanding the card. In the expanded view
> a change history is shown. Other users of Storyboard can be invited to participate.
>
> Core domain classes are:
> User, Project, Iteration, Story, Member
>
> Some stories:
> A user can have projects (s)he participates in.
> A user can have invitations for other projects
> A user can create projects
> By creating a project or by accepting an invitation, a user becomes a member of the project
> A member can invite other users to participate in a project.
> A member can search for other users to invite.
> Each member can have its own view on the project, the projectsettings
> Each member can add a story to the project
> A project has 4 projectviews, for done, current, backlog & icebox
> By default, the projectsettings show the 4 projectViews
> Adding a story is done by entering its storyName
> A new story is added to the icebox
> A story can be started after it has been estimated
> A story can be dragged from the icebox to current or the backlog
> A story that is done can no longer be prioritized
> A story that is accepted can no longer be changed
> A story can have a description
> A story can be a bug, chore or documentation
> Only (feature) stories are estimated
> ...
>
> Deltawerken Features
>
> User management
> Field descriptions with validation for domain classes (somewhat similar to Magritte descriptions).
> Builders for forms and reports.
> Search support.
> ...
>
> Deltawerken Components
>
> DEField and its descendants are used to describe domain classes.
>
> DEComponent is the base WAComponent equivalent. It knows the current user (if any) and announcer.
>
> DEPageChoice is a DEComponent that switches what it shows based on announcements.
> There are a number of addPage: variants
>
> DEEditComponent  allows the editing of a single domain object. It can edit new or existing ones, using
> a copy of the original to allow reverting changes. It can generate a div or table based layout. It can have a
> header and/or a footer, and an infoText between the header and the form. For required fields,
> it can show a *. Focus can be set on a specific field.
>
> DEEditForm extends DEEditComponent with action buttons for save and cancel.
> ...
>
> Getting started
>
> StoryBoard provides a good overview of the power of Deltawerken. If you start it the first time,
> it shows a welcome screen, showing the number of users and projects. Please make sure
> you change the password of the administrator. In a workspace:
>
> (SBUser userWithId: 'Admin') password: '<your new password>'
>
>
>
>
>
> The application uses SBMain, a WAComponent, as its entrypoint. It has two children,  an SBLoginForm and a DEPageChoice initially showing SBPublicHome.
>
>
> Then register yourself as a new user:
>
>
>
>
>
> StoryState and StateTransition provide a state machine for the stories, allowing them to
> move from #initial (unestimated) through #started to #finished, #delivered and
> #accepted or #rejected leading again to #started.
>
> When you are logged in, you arrive at the overview of your projects
>
>
>
>
> You can create a new project, respond to an invitation to participate in a project,
> view a storyboard of a project or view a team page of a project
>
>
>
>
> The team page shows the current members and allows you to search for users to invite.
>
> The storyboard of a project shows the four panes for done, current, backlog and icebox.
>
>
>
>
> Iterations are shown in grey. By delivering an iteration, the accepted stories
> are moved to done. and a new iteration is started. A story can be expanded to show
> more details.
>
>
>
>
>
>
> History
>
> Deltawerken is a spin-off from the work we did developing a Seaside application for a start-up,
> using GLASS and Seaside 2.8. We focused on pushing out complexity from the application to
> the framework. When we started giving Seaside workshops, we wanted to provide the
> participants with an environment where they didn't need to write a lot of code to make things work.
> It was also used in our experiments to create a Naked Objects like user interface (if you were
> wondering where the noXXX method names came from).
> Last year it was upgraded from Scriptaculous to jQuery, and we developed StoryBoard.
>
> Installing
>
> Deltawerken has been tested with the Seaside one click 3.0 and 3.1 and a Pharo 1.4
> It should run in Gemstone too. The metacello configuration does not load Seaside,
> but has the needed code for that commented out.
>
> See the instructions on the wiki page of:
>
> http:ss3.gemstone.com/ss/Deltawerken
> http:ss3.gemstone.com/ss/StoryBoard
>
> License
>
> MIT
>
> Have fun,
>    Diego & Stephan
>
>
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>

-- 
http://tulipemoutarde.be
CA: +1 778 558 3225
BE: +32 65 709 131


More information about the seaside mailing list