Hi Erik,

Since you were the initiator and only user of this feature I think it lost
it's momentum when you went silent suddenly.

The best chance for a possible revival is creating an empty Isis project to
demonstrate your issues and share that on Github. Isis version
1.8.0-SNAPSHOT is the way to go.

Feedback can be posted on the project's issue tracker:
https://github.com/isisaddons/isis-wicket-wizard/issues

Cheers,

Jeroen


On Tue, Dec 23, 2014 at 4:53 PM, Erik de Hair <e.deh...@pocos.nl> wrote:

> Hi Dan,
>
> I wrote some comments for issue ISIS-800 [1] but then I noticed the issue
> is closed. Is there any chance this module will be 'finished' any time
> soon? Where to post any feedback for this module?
>
> Thanks,
> Erik
>
> [1] https://issues.apache.org/jira/browse/ISIS-800
>
>
> On 06/16/2014 12:52 PM, Dan Haywood wrote:
>
>> Hi Erik,
>> In the end, we've decided to keep the Wizard implementation out of the
>> core
>> framework.  It does require 1.6.0-SNAPSHOT, though, unfortunately, since
>> it
>> builds on the cloneable (=editable) form wizard stuff.
>>
>> As the above thread says, the add-on is at [3].  At a future date we'll
>> move it to under the "isisaddons.org".
>>
>> The upside of keeping the implementation out of core is that you can
>> easily
>> see what is required (in terms of code) to implement this feature; not
>> *too* much code.
>>
>> Let me know how you get on.
>>
>> Cheers
>> Dan
>>
>> [3]  https://github.com/danhaywood/isis-wicket-wizard
>>
>>
>>
>> On 16 June 2014 11:06, Erik de Hair <e...@pocos.nl> wrote:
>>
>>    Hi Dan,
>>>
>>> I had some trouble reading my mail (not sending though...) so I missed a
>>> lot of updates on this thread. Thanks for your quick implementation! I
>>> will
>>> look at it asap.
>>>
>>> I think the wizard should be part of the wicket-viewer but when all
>>> add-ons can be found on one clear website it shouldn't be a problem to
>>> make
>>> it an add-on, though.
>>>
>>> Erik
>>>
>>>   ------------------------------
>>> *From:* GESCONSULTOR - Óscar Bou [o....@gesconsultor.com]
>>> *Sent:* Saturday, June 14, 2014 11:41 AM
>>> *To:* users@isis.apache.org
>>> *Subject:* Re: wizard like form
>>>
>>>   Really like a lot the idea of "isisaddons.org" for those related to
>>> Google Maps, etc.
>>>
>>>   Not sure about considering the Wizard as an add-on like the other ones,
>>> as probably we will mention it as one of the possible UIs that can be
>>> generated through Isis (meaning it's really part of the "core" project).
>>> I don't think about it as a widget/component, but a different way to
>>> render the UI, including page navigation.
>>>
>>>   But that's really subjective, so do whatever you think is best.
>>> Perhaps you're considering future add-ons corresponding to other UI
>>> designs as future add-ons.
>>>
>>>   What it's really important as seems for all other mailing list users is
>>> that you've developed it. Thanks!
>>>
>>>
>>>   Oscar
>>>
>>>
>>>
>>>
>>>
>>>   El 14/06/2014, a las 11:19, Dan Haywood <d...@haywood-associates.co.uk>
>>> escribió:
>>>
>>>   OK, have implemented ISIS-807 [1], which refactors the implementation
>>> into a separate component.
>>>
>>>   I've also raised ISIS-810 [2], which removes the component from Isis;
>>> but since we aren't yet decided on whether we want this component in or
>>> out, have only pushed that as a branch, not to master.
>>>
>>>   Meanwhile, I have also created a new github repo to house this
>>> component
>>> if we decide to keep it outside of Isis, see [1]
>>>
>>>
>>>   ~~~
>>> Related, yesterday Jeroen and I created a new github account,
>>> "isisaddons"
>>> [4], as a place to hold future add-ons.  All of my various github
>>> projects
>>> could either move or be forked there.
>>>
>>>   We've also grabbed "isisaddons.org" as a domain if we decide to follow
>>> the approach taken by Apache Wicket with their wicketstuff.org companion
>>> project [5].
>>>
>>>
>>>   ~~~
>>> Thoughts on any of this welcome
>>>
>>>
>>>   Dan
>>>
>>>
>>>   [1] https://issues.apache.org/jira/browse/ISIS-807
>>> [2] https://issues.apache.org/jira/browse/ISIS-810
>>> [3] https://github.com/danhaywood/isis-wicket-wizard
>>> [4] https://github.com/isisaddons
>>> [5] http://wicketstuff.org/
>>>
>>>
>>>
>>> On 13 June 2014 19:52, GESCONSULTOR - Óscar Bou <o....@gesconsultor.com>
>>> wrote:
>>>
>>>    But if the annotations are part of the "Isis model", shouldn't be a
>>>> default implementation included on the free Viewer?
>>>>
>>>>   Independently, the implementation could be replaceable / pluggeable
>>>> with a custom one, just as any other components.
>>>>
>>>>   But at least one should be included by default.
>>>>
>>>>   I also think that it adds quite points to the quickstart demo, as it's
>>>> an alternative design to usual Isis UI.
>>>> But that's completely subjective, of course :-))
>>>>
>>>>   HTH,
>>>>
>>>>   Oscar
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> El 13/06/2014, a las 13:27, Dan Haywood <d...@haywood-associates.co.uk>
>>>> escribió:
>>>>
>>>>
>>>> Further improvements committed, tickets ISIS-781 and ISIS-800 marked as
>>>> resolved
>>>>
>>>>
>>>> Discussing off-line with Jeroen, do have some further refactorings
>>>> planned,
>>>> however.  Specifically:
>>>>
>>>> ... currently support for IWizard is "hard-coded" into the Wicket
>>>> viewer;
>>>> it ought to be a pluggable component (such as the map and calendar
>>>> components).  So will probably move it out and into a separate github
>>>> repo.
>>>>
>>>> One consequence of that is that the quickstart todo app can't
>>>> demonstrate
>>>> the usage.  So I'll need to move that into a github repo as a separate
>>>> demo.
>>>>
>>>> One upside is that this ought to then plug into 1.5.0, rather than
>>>> relying
>>>> on a new release of Isis.  Also, it'll be a good resource for how to
>>>> write
>>>> custom components to the Wicket viewer.
>>>>
>>>> But the basic functionality will be as currently implemented.
>>>>
>>>> More to follow....
>>>>
>>>> Dan
>>>>
>>>>
>>>>
>>>> On 12 June 2014 20:34, Dan Haywood <d...@haywood-associates.co.uk>
>>>> wrote:
>>>>
>>>> OK, I've done a first-pass implementation of both:
>>>>
>>>> * ISIS-781: editable view models, and
>>>> * ISIS-800: wizards
>>>>
>>>> for the first, the view model must implement ViewModel.Cloneable.  The
>>>> way
>>>> it works is that the view model is immutable so far as the rest of the
>>>> framework is concerned, but (by implementing the Cloneable interface)
>>>> when
>>>> the view model is next re-rendered it is actually the clone.
>>>>
>>>> for the second, the view model must implement Wizard.  This is actually
>>>> a
>>>> sub-interface of ViewModel.Cloneable that defines next, previous and
>>>> finish
>>>> methods.
>>>>
>>>> The todo/quickstart app has been updated to use this feature; see
>>>> ToDoItemWizard.  See also the cool use of contributed actions through
>>>> the
>>>> "Categorized" interface that contributes both to ToDoItemWizard and also
>>>> the ToDoItem entity.
>>>>
>>>> ~~~
>>>> The design as it stands does mean there's a little bit of boilerplate to
>>>> implement these various methods, but what we now have is probably good
>>>> enough to ship in the next release.
>>>>
>>>> Any feedback welcome
>>>>
>>>> Dan
>>>>
>>>>
>>>>
>>>> On 10 June 2014 13:16, Dan Haywood <d...@haywood-associates.co.uk>
>>>> wrote:
>>>>
>>>>
>>>>
>>>>
>>>> On 10 June 2014 13:09, Erik de Hair <e...@pocos.nl> wrote:
>>>>
>>>> The action (on a domain object) has the following code:
>>>>
>>>> CreateSubscriptionViewModel viewModel = new
>>>> CreateSubscriptionViewModel(); // or getContainer.
>>>> newViewModelInstance....
>>>> viewModel.viewModelInit(newSubscription.title());
>>>> viewModel.setSubscription(newSubscripiton); // newSubscription is a
>>>> newTransientObject created earlier
>>>> return viewModel;
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> I put the newSubscription in the viewmodel because I need this
>>>> subscription in a later step to add some more data to it. But getting
>>>> the
>>>> subscription (or a property) for the ViewModel rendering gives a null
>>>> pointer exception.
>>>>
>>>>
>>>>   A stack trace would be useful.
>>>>
>>>> But just to check: you have configured the MementoServiceDefault and the
>>>> BookmarkServiceDefault ?
>>>>
>>>>
>>>>
>>>>
>>>> I looked at the ToDoItem examples and Dileepa's code. I can see no
>>>> conceptual difference except that ToDoItem uses persisted entities and
>>>> Dileepa only sets the memento and does not pass more 'complex' objects
>>>> in
>>>> the ViewModel. Do the objects have to be serializable or do I miss
>>>> something else?
>>>>
>>>>
>>>>   This is probably the issue.  Making the object serializable might
>>>> solve
>>>> things, but it's rather unpalatable.
>>>>
>>>> Rather than creating a transient object, instead have the wizard store
>>>> the state (ie the builder pattern), and only create (and persist) the
>>>> object when done.
>>>>
>>>> ~~~
>>>> Isis does, in fact, have the ability to create serializable mementos
>>>> even
>>>> from non-serializable transient objects (a left over from the days when
>>>> Isis' architecture was client/server); but this isn't currently exposed
>>>> in
>>>> a user-friendly applib service.
>>>>
>>>> We could look to doing so if the above approach is unpalatable, eg as an
>>>> extension of MementoService.
>>>>
>>>> Dan
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Any idea?
>>>>
>>>> On 06/10/2014 12:07 PM, Dan Haywood wrote:
>>>>
>>>> On 10 June 2014 10:52, Erik de Hair <e...@pocos.nl><mailto:erik@
>>>> pocos.nl
>>>> <e...@pocos.nl>>
>>>> wrote:
>>>>
>>>>
>>>>
>>>> Hi Dan,
>>>>
>>>> That's not the answer I hoped for ;-)
>>>>
>>>>
>>>>
>>>>
>>>> sorry bout that!
>>>>
>>>>
>>>>
>>>>
>>>> It looks like the ViewModels only work with persisted entities. Is that
>>>> correct?
>>>>
>>>>
>>>>
>>>>
>>>> Not exactly.  A view model can hold references to any data; that's what
>>>> the
>>>> MementoService is for.
>>>>
>>>> Our Google Summer of Coder (Dileepa) has written a view model that wraps
>>>> some JSON representing a gmail obtained via a web service, for example.
>>>>
>>>> Fundamentally a view model just has the ability to marshall itself
>>>> to/from
>>>> a string.  We use that string as its OID, which appears in the URL.
>>>> When
>>>> we next interact with the view model, Isis recreates the view model from
>>>> that OID.  What the view model does with its string is up to it.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> What I try to accomplish right now (as a work around) is to return a
>>>> ViewModel from an action with the posted data from the action put into
>>>> that
>>>> viewmodel and than call some actions on that viewmodel. If it is
>>>> possible
>>>> to return a fresh viewmodel every time I return from an action, it looks
>>>> a
>>>> bit like a wizard. At least I can build some data model in memory and
>>>> persist this model when ready. Should that be possible?
>>>>
>>>>
>>>>
>>>>
>>>> Yup, that's the best we can offer for now.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> I will elaborate my wishes in the ticket you raised.
>>>>
>>>> Wat is the use of a @NotPersistable-entity like described in [1]?
>>>>
>>>>
>>>>
>>>>
>>>> It was a way of saying that an object can never be persisted, ie a
>>>> domain
>>>> constraint.  But when using JDO objectstore it is somewhat redundant (or
>>>> at
>>>> least not fully implemented), because we delegate the responsibility for
>>>> doing persistence to JDO/DN.
>>>>
>>>> When Isis 2.0 comes along, some of these older annotations might end up
>>>> being deprecated/removed.
>>>>
>>>> Cheers
>>>> Dan
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Thanks,
>>>> Erik
>>>>
>>>> [1]
>>>>
>>>>
>>>> http://isis.apache.org/more-advanced-topics/how-to-07-040-
>>>> How-to-specify-that-an-object-should-not-be-persisted.html
>>>>
>>>>
>>>> On 06/09/2014 07:59 AM, Dan Haywood wrote:
>>>>
>>>> Hi Erik,
>>>> Short answer is that we don't really (properly) support this.  And we
>>>> should.
>>>>
>>>> I agree that @NotPersistable is confusing and its not clear what to use;
>>>> the right solution would be to implement a view model (currently:
>>>> implement
>>>> the ViewModel interface), and then - optionally - write a custom
>>>> ComponentFactory for the Wicket viewer to render the wizard
>>>> appropriately.
>>>>
>>>> But the snag even with the above is that (currently) view models are
>>>> immutable; they support actions but their properties cannot be edited.
>>>>
>>>> I can see the way forward on this; I don't think it's difficult, but it
>>>> will require a change in core and probably the wicket viewer also.
>>>>
>>>> If you want then raise a ticket for this requirement, and sketch how
>>>> you'd
>>>> like it to work.
>>>>
>>>> Cheers
>>>> Dan
>>>>
>>>>
>>>>
>>>> On 6 June 2014 17:40, Erik de Hair <e...@pocos.nl><mailto:e...@pocos.nl
>>>>
>>>> <mailto:e...@pocos.nl><mailto:e...@pocos.nl>
>>>>
>>>> wrote:
>>>>
>>>>
>>>>
>>>> Ok, I've found the @NotPersistable annotation but don't know how to use
>>>> this. I get an error message saying the object is not persistent.
>>>> Extended
>>>> my entity from AbstractDomainObject later, but that doesn't help.
>>>>
>>>> Erik
>>>>
>>>> On 06/06/2014 04:07 PM, Erik de Hair wrote:
>>>>
>>>> Hi,
>>>>
>>>> Is it in some way possible to create a wizard like form or open an
>>>> action
>>>> with an action? I tried to return a not yet persisted object from an
>>>> action
>>>> and hoped I could edit some properties and add some elements to
>>>> collections
>>>> of the object before persisting it to the database...
>>>>
>>>> Thanks,
>>>> Erik
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Óscar Bou Bou
>>>> Responsable de Producto
>>>> Auditor Jefe de Certificación ISO 27001 en BSI
>>>> CISA, CRISC, APMG ISO 20000, ITIL-F
>>>>
>>>>      902 900 231 / 620 267 520
>>>>     http://www.twitter.com/oscarbou
>>>>
>>>>     http://es.linkedin.com/in/oscarbou
>>>>
>>>>     http://www.GesConsultor.com <http://www.gesconsultor.com/>
>>>>
>>>>
>>>>
>>>>   Este mensaje y los ficheros anexos son confidenciales. Los mismos
>>>> contienen información reservada que no puede ser difundida. Si usted ha
>>>> recibido este correo por error, tenga la amabilidad de eliminarlo de su
>>>> sistema y avisar al remitente mediante reenvío a su dirección
>>>> electrónica;
>>>> no deberá copiar el mensaje ni divulgar su contenido a ninguna persona.
>>>> Su dirección de correo electrónico junto a sus datos personales constan
>>>> en un fichero titularidad de Gesdatos Software, S.L. cuya finalidad es
>>>> la
>>>> de mantener el contacto con Ud. Si quiere saber de qué información
>>>> disponemos de Ud., modificarla, y en su caso, cancelarla, puede hacerlo
>>>> enviando un escrito al efecto, acompañado de una fotocopia de su D.N.I.
>>>> a
>>>> la siguiente dirección: Gesdatos Software, S.L. , Paseo de la
>>>> Castellana,
>>>> 153 bajo - 28046 (Madrid), y Avda. Cortes Valencianas num. 50, 1ºC -
>>>> 46015
>>>> (Valencia). Asimismo, es su responsabilidad comprobar que este mensaje o
>>>> sus archivos adjuntos no contengan virus informáticos, y en caso que los
>>>> tuvieran eliminarlos.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>> * Óscar Bou Bou*
>>>   Responsable de Producto
>>>   Auditor Jefe de Certificación ISO 27001 en BSI
>>>   CISA, CRISC, APMG ISO 20000, ITIL-F
>>>
>>>     902 900 231 / 620 267 520
>>>     http://www.twitter.com/oscarbou
>>>
>>>     http://es.linkedin.com/in/oscarbou
>>>
>>>     http://www.GesConsultor.com <http://www.gesconsultor.com/>
>>>
>>>
>>>
>>>   Este mensaje y los ficheros anexos son confidenciales. Los mismos
>>> contienen información reservada que no puede ser difundida. Si usted ha
>>> recibido este correo por error, tenga la amabilidad de eliminarlo de su
>>> sistema y avisar al remitente mediante reenvío a su dirección
>>> electrónica;
>>> no deberá copiar el mensaje ni divulgar su contenido a ninguna persona.
>>> Su dirección de correo electrónico junto a sus datos personales constan
>>> en
>>> un fichero titularidad de Gesdatos Software, S.L. cuya finalidad es la de
>>> mantener el contacto con Ud. Si quiere saber de qué información
>>> disponemos
>>> de Ud., modificarla, y en su caso, cancelarla, puede hacerlo enviando un
>>> escrito al efecto, acompañado de una fotocopia de su D.N.I. a la
>>> siguiente
>>> dirección: Gesdatos Software, S.L. , Paseo de la Castellana, 153 bajo -
>>> 28046 (Madrid), y Avda. Cortes Valencianas num. 50, 1ºC - 46015
>>> (Valencia).
>>> Asimismo, es su responsabilidad comprobar que este mensaje o sus archivos
>>> adjuntos no contengan virus informáticos, y en caso que los tuvieran
>>> eliminarlos.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>

Reply via email to