collective amberjack - european plone symposium

70
collective.amberjack on-line tutorials with Massimo Azzolini RedTurtle Monday, May 31, 2010

Upload: massimo-azzolini

Post on 27-Jan-2015

104 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Collective Amberjack - European Plone Symposium

collective.amberjackon-line tutorials with

Massimo Azzolini

RedTurtle

Monday, May 31, 2010

Page 2: Collective Amberjack - European Plone Symposium

who am I?

Massimo AzzoliniRedTurtle’s co-founder and project [email protected]

Monday, May 31, 2010

Page 3: Collective Amberjack - European Plone Symposium

link foto

the basic idea

✓ tours for plone’s newbies

✓ show portal’s features

✓ tutor your audience

Monday, May 31, 2010

Page 4: Collective Amberjack - European Plone Symposium

that’s not all folks!

✓ every product/add-on

might have its amberjack tutorial

✓ just-hired people in companies needs tutorials

✓ wizards

✓ a shared tutorials’ repository

Monday, May 31, 2010

Page 5: Collective Amberjack - European Plone Symposium

the first goal

✓ Use Amberjack to offer guided help for Plone’s first-time users

✓ Use it in real use cases

✓ PLIP #9324: include it in a next 4.x release

Monday, May 31, 2010

Page 6: Collective Amberjack - European Plone Symposium

link foto

we already have these tours

✓ Add and publish a Folder

✓ Add and publish a Page

✓ Add and publish a News Item

✓ Add and publish an Event

✓ Format a page using the visual editor

✓ Create internal links

Monday, May 31, 2010

Page 7: Collective Amberjack - European Plone Symposium

link foto

we already have these tours

✓ Create external links

✓ Upload an image

✓ Insert image on a page

✓ Upload and link to a File

✓ Using the Contents tab

✓ Using the Display menu

Monday, May 31, 2010

Page 8: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/slopjop/1300515408

a spotlight

Monday, May 31, 2010

Page 9: Collective Amberjack - European Plone Symposium

you just installed Plone... and you’re an happy guy

Monday, May 31, 2010

Page 10: Collective Amberjack - European Plone Symposium

..and you need to learn it by yourself..

hum, should I just select the tour from the list? so easy?

Monday, May 31, 2010

Page 11: Collective Amberjack - European Plone Symposium

... complete the steps!

one at a time, please

Monday, May 31, 2010

Page 12: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/eklektikos/2541408630/sizes/l/

the blueprint tours, steps, editors, users

Monday, May 31, 2010

Page 13: Collective Amberjack - European Plone Symposium

the blueprint

✓we want to have tours

✓we need tours’ creators

✓programmers

✓editors

✓we need different tools

✓python oriented

✓user interface oriented

✓we want our tours used

✓just as a demo

✓as a guided aid

✓run in a sandbox

✓we want them

✓downloadable

✓sharable

✓installable

Monday, May 31, 2010

Page 14: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/dhowellphoto/3023319312

Do not touch Plone

✓ collective.amberjack do not changes anything in Plone itself

✓ we used unobtrusive javascript code and tours descripted through HTML

Monday, May 31, 2010

Page 15: Collective Amberjack - European Plone Symposium

the software components

amberjack librarycollective.amberjack.corecollective.amberjack.portletcollective.amberjack.plonetour(collective.amberjack.windmill)(collective.amberjack.yourtour)

Monday, May 31, 2010

Page 16: Collective Amberjack - European Plone Symposium

the software components

amberjack librarycollective.amberjack.corecollective.amberjack.portletcollective.amberjack.plonetour(collective.amberjack.windmill)(collective.amberjack.yourtour)collective.amberjack.subskins

Monday, May 31, 2010

Page 17: Collective Amberjack - European Plone Symposium

amberjack.org

✓ developed by Arash Yalpani

✓ provides an unobtrusive javascript infrastructure for online tours

✓ not completely usable for

our purposes

Monday, May 31, 2010

Page 18: Collective Amberjack - European Plone Symposium

amberjack.org

basically it provides

✓ a fancy popup “div” with prev/next/exit buttons, fully html enabled for your steps.

✓ a mapping between a step and each url you can visit.

Monday, May 31, 2010

Page 19: Collective Amberjack - European Plone Symposium

some use case not fully supported

✓in Plone a path does not identify uniquely a html page:

• view a page (/plone/page-a/view)

• edit a page (/plone/page-a/edit)

• save a page (/plone/page-a/view)

✓it’s not just about links, we also submit forms

Monday, May 31, 2010

Page 20: Collective Amberjack - European Plone Symposium

the solutions

✓make the mapping between steps and url less strong:

• now the steps has an order (1. 2. 3....)

✓don’t just rely on urls to pass tour variables

• use cookies

Monday, May 31, 2010

Page 21: Collective Amberjack - European Plone Symposium

collective.amberjack.core

✓all the javascript engine

✓tour definition and registration

✓step definition

✓ZCML configuration for

• tours

• ajStep

✓validators definition

✓Amberjack skins

• model_t

• safari

• light_grey

Monday, May 31, 2010

Page 22: Collective Amberjack - European Plone Symposium

an example: add a folder

✓ the tour is made by the steps:

• add_folder,

• fill_out_the_fields,

• publish_folder,

• all_done

✓ the “fill_out_the_fields” step has to:

• fill the “title” field with a value

• fill the “description” field with another value

• save it

✓ filling a field is entering a string inside a HTML field

✓ it’s about JS and HTML.

Monday, May 31, 2010

Page 23: Collective Amberjack - European Plone Symposium

collective.amberjack.core - tour

Monday, May 31, 2010

Page 24: Collective Amberjack - European Plone Symposium

collective.amberjack.core - tour

ajTour = {

'tourId':u'basic01_add_and_publish_a_folder',

'title': _(u'Add and publish a Folder'),

'steps': (add_folder,

fill_out_the_fields,

publish_folder,

all_done,

)}

Monday, May 31, 2010

Page 25: Collective Amberjack - European Plone Symposium

collective.amberjack.core - step

Monday, May 31, 2010

Page 26: Collective Amberjack - European Plone Symposium

collective.amberjack.core - step

add_folder = {

'validators': (isManager, isNotFolderCreated,),

'url': u'/',

'xpath': u'',

'xcontent': u'',

'title': _(u"Create a new folder"),

'text': _(u"Folders are one..."),

'steps': ({...})

Monday, May 31, 2010

Page 27: Collective Amberjack - European Plone Symposium

collective.amberjack.core - microsteps

Monday, May 31, 2010

Page 28: Collective Amberjack - European Plone Symposium

collective.amberjack.core - microsteps

'steps': ( {'description':

_(u"In the [Title] field, type.."),

'idStep': u'form_title',

'selector': u'',

'text': u'MyFolder'},

{'description': _(u"In the [Description] field, type .."),

'idStep': u'form_description',

'selector': u'',

'text': _("This folder will be used...")},)}

Monday, May 31, 2010

Page 29: Collective Amberjack - European Plone Symposium

collective.amberjack.core - ajStep

Monday, May 31, 2010

Page 30: Collective Amberjack - European Plone Symposium

collective.amberjack.core - ajStep

ajStandardSteps = (

...

('form_title',

'#archetypes-fieldname-title input'),

('form_description',

'#archetypes-fieldname-description textarea'),

...

)

Monday, May 31, 2010

Page 31: Collective Amberjack - European Plone Symposium

collective.amberjack.core - ZCML registration

Monday, May 31, 2010

Page 32: Collective Amberjack - European Plone Symposium

collective.amberjack.core - ZCML registration

<collective.amberjack:tour

tourdescriptor=".tour1.ajTour"

/>

<collective.amberjack:ajstep

stepsdescriptor= ".ajStandardSteps.ajStandardSteps"

/>

Monday, May 31, 2010

Page 33: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/traveleden/3797157077

validators

✓ isAnonymous

✓ isAuthenticated

✓ isManager

✓ isReviewer

✓ isContributor

✓ isEditor

✓ isReader

Monday, May 31, 2010

Page 34: Collective Amberjack - European Plone Symposium

collective.amberjack.plonetour

✓defines the 12 tours

✓provides tour specific validators

• isFolderCreated

• isNotFolderCreated

✓ZCML registration

✓translations

• english

• french

• italian

• spanish

• polish

• brasilian

Monday, May 31, 2010

Page 35: Collective Amberjack - European Plone Symposium

collective.amberjack.portlet

✓provides a portlet thats draws a set of tours in a given order

✓you may choose:

• portlet’s title

• the list of tours from the available ones..

• ...and order them

• amberjack skin type

✓it enables/disables the tours in accordion to the validators

• e.g.: first create a folder then a page

Monday, May 31, 2010

Page 36: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/orphanjones/414401592

write your own tour as simple as you need

Monday, May 31, 2010

Page 37: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/domhuk/197875701

what you need to do

✓ create an empty package via paster

✓ write your tour in myTour.py

✓ add it to the available ones through ZCML

✓ translate it

✓ (opt. add custom ajSteps)

Monday, May 31, 2010

Page 38: Collective Amberjack - European Plone Symposium

See in actionhttp://www.flickr.com/photos/vramak/3499502280

Monday, May 31, 2010

Page 39: Collective Amberjack - European Plone Symposium

Create a folder and a page

Monday, May 31, 2010

Page 40: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/tranchis/3173646667

Coding events when the project improves

Monday, May 31, 2010

Page 41: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/johnthescone/2526186118

Sprints

✓ Bolzano Sprint ’08

✓ Sorrento Sprint ’09✓ a short summer sprint ’09

✓ Plone conference ’09

✓ Ferrara Sprint ’10

✓ Sorrento Sprint ’10

Monday, May 31, 2010

Page 42: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/uhuru1701/2247554605

I want you

we’ll sprint on Fri-Sun(yes, it’s tomorrow :)

http://www.coactivate.org/projects/sorrento-sprint-2010/project-home

Monday, May 31, 2010

Page 43: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/fabio48/317814195/

Stages - Thesis

smart students from the

University of Ferrara

Monday, May 31, 2010

Page 44: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/biscuitsmlp/2246503687

What’s new?

we have a teamwe have a plan

Monday, May 31, 2010

Page 45: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/anirudhkoul/3786725982

we have a team the team, actually now

Monday, May 31, 2010

Page 46: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/snapr/484776493/sizes/o/

the main contributors

✓ Federica D'Elia

✓ Mirco Angelini

✓ Luca Fabbri

✓ Andrew Mleczko

✓ Vincent Fretin

✓ Giacomo Spettoli

✓ Andrea Benetti

✓ Massimo Azzolini

Monday, May 31, 2010

Page 47: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/snapr/484776493/sizes/o/

and during the sprints

✓ Aaron VanDerlip

✓ Michael Davis

✓ Irene Capatti

✓ Giorgio Borelli

✓ Jacopo Deyla

Monday, May 31, 2010

Page 48: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/snapr/484776493/sizes/o/

translate ‘em all

✓ Leonardo J. Caballero (es)

✓ Vincent Fretin (fr)

✓ Stefano Marchetti (it)

✓ Andrew Mleczko (pl)

✓ Tamosauskas (pt-br)

Monday, May 31, 2010

Page 49: Collective Amberjack - European Plone Symposium

RedTurtle will support the project

✓ stable team to enhance and mantain the tool

✓ 4 more people

✓ you’re welcome!

✓ amberjack company branded

✓ Activities won't be no more based on my spare time.

✓ They are going to be supported and scheduled in a more stable way.

✓ “10 percent manifesto”-ish

Monday, May 31, 2010

Page 50: Collective Amberjack - European Plone Symposium

we have a plan and it’s public

Monday, May 31, 2010

Page 51: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

Monday, May 31, 2010

Page 52: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

Monday, May 31, 2010

Page 53: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

✓validations & preconditions

Monday, May 31, 2010

Page 54: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

Monday, May 31, 2010

Page 55: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

Monday, May 31, 2010

Page 56: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

Monday, May 31, 2010

Page 57: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

Monday, May 31, 2010

Page 58: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

Monday, May 31, 2010

Page 59: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

Monday, May 31, 2010

Page 60: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

Monday, May 31, 2010

Page 61: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

Monday, May 31, 2010

Page 62: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

Monday, May 31, 2010

Page 63: Collective Amberjack - European Plone Symposium

next release 1.1

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

✓refactor the code

✓validations & preconditions

✓TTTW: discussion about poc/implementation

✓sandbox

✓1.0: implementation

✓2.0: brainstorm

✓Check if the user completes the step

✓I wanna write what I want!

✓manage prev/next buttons

✓amberjack’s template for sunburst

✓translations: choose the right approach

✓test coverage

Monday, May 31, 2010

Page 64: Collective Amberjack - European Plone Symposium

TTTW - Tutorials Through The Web

editors want to use the browser to create their tours

what’s better than click and save?

we’re enhancing Windmill!!

Monday, May 31, 2010

Page 65: Collective Amberjack - European Plone Symposium

Create a folder and a page - TTTW

Monday, May 31, 2010

Page 66: Collective Amberjack - European Plone Symposium

further releases

✓TTTW

✓create a tutorial from plone

✓save it on a local or shared repository

✓export as a package

✓extend it

✓“import” a package

✓sandbox use cases

✓portal as a sandbox

✓personal folders as sandboxes

✓from sandbox to wizard

✓“save my data, I’ll be back soon”

✓...

Monday, May 31, 2010

Page 67: Collective Amberjack - European Plone Symposium

References

✓Project management:

• https://launchpad.net/collective.amberjack

• https://blueprints.launchpad.net/collective.amberjack

• https://bugs.launchpad.net/collective.amberjack

✓wiki & documentation

• http://www.coactivate.org/projects/collectiveamberjack/

Monday, May 31, 2010

Page 68: Collective Amberjack - European Plone Symposium

References

✓mailing list:

• http://www.coactivate.org/projects/collectiveamberjack/lists/collectiveamberjack-discussion

• http://www.coactivate.org/projects/collectiveamberjack/lists/collective-amberjack-support/

✓code svn on collective:

• http://dev.plone.org/collective/browser/collective.amberjack.buildout

• http://dev.plone.org/collective/browser/collective.amberjack.core

• http://dev.plone.org/collective/browser/collective.amberjack.plonetour

• http://dev.plone.org/collective/browser/collective.amberjack.portlet

Monday, May 31, 2010

Page 69: Collective Amberjack - European Plone Symposium

Grazie. Thank you.

Monday, May 31, 2010

Page 70: Collective Amberjack - European Plone Symposium

http://www.flickr.com/photos/seandreilinger/2326448445

Questions!?

Massimo [email protected]

Monday, May 31, 2010