You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@isis.apache.org by Stephen Cameron <st...@gmail.com> on 2015/08/20 00:05:18 UTC

add-on ideas

Hello Isis users,

Just want to mention some ideas that have come up via discussions with
client.

Sticky Notes / Reminders

The small application I am building is essentially a Client Relationshp
Management (CRM) system. A big part of it is to schedule interactions
(mainly just phone calls) to clients into the future and to allocate those
to specific volunteers. I'm now interested to make use of the existing
to-do demo app as part of my project. I've had the idea of making this
generic so it can be used anywhere to add sticky notes that refer to one or
more domain objects, Its an extension of the bookmark idea essentially.

Forms Design.

My client is interested to still have some paper forms, and when this
subject comes up I always think one aspect of DDD is ultimately to let
domain experts change their own models.

Maybe this is why MS Access and Excel are so dominant? Also, why people,
when a system doesn't provide all their needs, find work-arounds that
usually involve private spreadsheets as secondary data stores. I have seen
a few of those in the past week.

So, a legitimate question that arises is "Will we be able to change it or
do we need to pay an expert?". Being such an expert who wants to be paid
its easy to say, "sorry you cannot change it, but with Apache Isis its not
that costly to add changes, in fact its desirable to do so (so you don't
end up using spreadsheets)".

Getting to the point, a specific challenge is these paper forms, should the
client maintain a Word Document version and a web-based data entry version?
Its the same data-model, but the Word Document can be changed by the client
and the web-based forms not. Given that web-forms can have a print
stylesheet associated with them, this seems a sad situation to me.

This is an old chestnut for me, and now again it comes up. I'd like to try
solving it in Apache Isis. With its meta-model and via use of an EAV
database design, or a graph database maybe, this seems possible.

One other solution I have seen is just to add some 'generic' properties
into the data model entities, that the user can make use of to add things
as they think of them. Periodically these can be properly renamed (by an
expert), but it does allow the user to add simple things on the fly.

Regards
Steve Cameron

Re: add-on ideas

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
On 30 August 2015 at 21:40, Stephen Cameron <st...@gmail.com>
wrote:

>
> In terms of generating a form, there is the metamodel interface that I can
> make use of, also I read that Isis can generate an XML snapshot with an
> associated XSD, the XSD can be used in a XForms generation tool I part
> developed a few years ago.
>
>
Yes, I developed this capability a long time ago so that we could use
Altova Stylevision as a way of generating comms.  But it turned out to be
quite expensive to maintain, hence moving to the design of the Isis addons
docx module.

However, I dare say that you could use the XmlSnapshot for this use case.




> Aside from OO Writer and PDF, there is the way it really should be done in
> my opinion, which is via HTML and web-services. With HTML 5 being able to
> store data, off-line web-forms are possible. When time allows I will pick
> this up, using the Restful Objects interface.
>
>
Look forward to seeing it!

cheers
Dan

Re: add-on ideas

Posted by Stephen Cameron <st...@gmail.com>.
see inline comments

On Mon, Aug 24, 2015 at 8:01 AM, Stephen Cameron <steve.cameron.62@gmail.com
> wrote:

>
> Thanks for these good suggestions, looks like its all covered, if I can
> accept Word as part of the solution. Out of interest I will take a look at
> Apache Open Office Writer.
>
> On Sun, Aug 23, 2015 at 11:58 PM, Dan Haywood <
> dan@haywood-associates.co.uk> wrote:
>
>> Hi Steve,
>>
>> thanks for these thoughts, comments within...
>>
>> On 19 August 2015 at 23:05, Stephen Cameron <st...@gmail.com>
>> wrote:
>>
>> > Hello Isis users,
>> >
>> > Just want to mention some ideas that have come up via discussions with
>> > client.
>> >
>> > Sticky Notes / Reminders
>> >
>> > The small application I am building is essentially a Client Relationshp
>> > Management (CRM) system. A big part of it is to schedule interactions
>> > (mainly just phone calls) to clients into the future and to allocate
>> those
>> > to specific volunteers. I'm now interested to make use of the existing
>> > to-do demo app as part of my project. I've had the idea of making this
>> > generic so it can be used anywhere to add sticky notes that refer to
>> one or
>> > more domain objects, Its an extension of the bookmark idea essentially.
>> >
>> >
>> We have something similar to this in Estatio, namely the concept of an
>> "Event".  The idea is that object can be an "event source", and thus
>> multiple events - essentially entries in a diary - can be associated with
>> that domain object.
>>
>> Rather than using Isis' bookmarks though ... which don't allow referential
>> integrity to be enforced at the DB layer ... we have implemented this
>> using
>> the "poly" addon [2].  This is a pattern that was originally developed on
>> the big (.NET) naked objects system in Ireland, and so I ported over to
>> Java and Isis.
>>
>> Anyway, rather than reusing the ToDoItem, I suggest you grab the event
>> package from Estatio and use that instead.
>>
>>
>> This does seem to be the way to go, thanks

>
>>
>>
>> > Forms Design.
>> >
>> > My client is interested to still have some paper forms, and when this
>> > subject comes up I always think one aspect of DDD is ultimately to let
>> > domain experts change their own models.
>> >
>> > Maybe this is why MS Access and Excel are so dominant? Also, why people,
>> > when a system doesn't provide all their needs, find work-arounds that
>> > usually involve private spreadsheets as secondary data stores. I have
>> seen
>> > a few of those in the past week.
>> >
>> > So, a legitimate question that arises is "Will we be able to change it
>> or
>> > do we need to pay an expert?". Being such an expert who wants to be paid
>> > its easy to say, "sorry you cannot change it, but with Apache Isis its
>> not
>> > that costly to add changes, in fact its desirable to do so (so you don't
>> > end up using spreadsheets)".
>> >
>> > Getting to the point, a specific challenge is these paper forms, should
>> the
>> > client maintain a Word Document version and a web-based data entry
>> version?
>> > Its the same data-model, but the Word Document can be changed by the
>> client
>> > and the web-based forms not. Given that web-forms can have a print
>> > stylesheet associated with them, this seems a sad situation to me.
>> >
>> > This is an old chestnut for me, and now again it comes up. I'd like to
>> try
>> > solving it in Apache Isis. With its meta-model and via use of an EAV
>> > database design, or a graph database maybe, this seems possible.
>> >
>> >
>> We do have an addon for this, namely the "docx" add-on [3].  This allows
>> the template to be authored by the end users in Word (with the Developer
>> tab enabled), and then programmatically mail-merge in the document.  Some
>> coding is required (though there can be a standard set of fields always
>> merged in, eg an address or the current user, date, or freeform notes.
>>
>> Again, I ported this over from the .NET app, where the design has stood up
>> well.
>>
>>
>> This is not so satisfactory, its a one-way solution to get data into a
Word document, but I am actually mainly desiring to go the other way. To
use the form capabilities of Word, or at least my client seems to want
that.

Electronic forms are a big deal these days, and its possible to think of
them as another 'viewer' in the Naked Objects style. So users enter data
and submit the form electronically. It should be possible to design an OO
model in Isis and use that as the intial template for the electronic form,
which an Isis user can 'beautify' to their hearts content.

Apache Open Office seems to have possibilities (and Word is probably
similar, but I don't own a copy). You can design a form document, generate
a PDF version of that and it can submit entered data for processing. The OO
Writer form can interact with an JDBC data-source as well. All this seems
to be within the capabilities of general users to tweek.

In terms of generating a form, there is the metamodel interface that I can
make use of, also I read that Isis can generate an XML snapshot with an
associated XSD, the XSD can be used in a XForms generation tool I part
developed a few years ago.

Aside from OO Writer and PDF, there is the way it really should be done in
my opinion, which is via HTML and web-services. With HTML 5 being able to
store data, off-line web-forms are possible. When time allows I will pick
this up, using the Restful Objects interface.


>
>> > One other solution I have seen is just to add some 'generic' properties
>> > into the data model entities, that the user can make use of to add
>> things
>> > as they think of them. Periodically these can be properly renamed (by an
>> > expert), but it does allow the user to add simple things on the fly.
>> >
>> >
>> Exactly... this is what we do.
>>
>> Cheers
>> Dan
>>
>>
>>
>> > Regards
>> > Steve Cameron
>> >
>>
>>
>> [1]
>>
>> https://github.com/estatio/estatio/tree/master/estatioapp/dom/src/main/java/org/estatio/dom/event
>> [2] https://github.com/isisaddons/isis-module-poly
>> [3] https://github.com/isisaddons/isis-module-docx
>>
>
>

Re: add-on ideas

Posted by Stephen Cameron <st...@gmail.com>.
Thanks for these good suggestions, looks like its all covered, if I can
accept Word as part of the solution. Out of interest I will take a look at
Apache Open Office Writer.

On Sun, Aug 23, 2015 at 11:58 PM, Dan Haywood <da...@haywood-associates.co.uk>
wrote:

> Hi Steve,
>
> thanks for these thoughts, comments within...
>
> On 19 August 2015 at 23:05, Stephen Cameron <st...@gmail.com>
> wrote:
>
> > Hello Isis users,
> >
> > Just want to mention some ideas that have come up via discussions with
> > client.
> >
> > Sticky Notes / Reminders
> >
> > The small application I am building is essentially a Client Relationshp
> > Management (CRM) system. A big part of it is to schedule interactions
> > (mainly just phone calls) to clients into the future and to allocate
> those
> > to specific volunteers. I'm now interested to make use of the existing
> > to-do demo app as part of my project. I've had the idea of making this
> > generic so it can be used anywhere to add sticky notes that refer to one
> or
> > more domain objects, Its an extension of the bookmark idea essentially.
> >
> >
> We have something similar to this in Estatio, namely the concept of an
> "Event".  The idea is that object can be an "event source", and thus
> multiple events - essentially entries in a diary - can be associated with
> that domain object.
>
> Rather than using Isis' bookmarks though ... which don't allow referential
> integrity to be enforced at the DB layer ... we have implemented this using
> the "poly" addon [2].  This is a pattern that was originally developed on
> the big (.NET) naked objects system in Ireland, and so I ported over to
> Java and Isis.
>
> Anyway, rather than reusing the ToDoItem, I suggest you grab the event
> package from Estatio and use that instead.
>
>
>
>
>
> > Forms Design.
> >
> > My client is interested to still have some paper forms, and when this
> > subject comes up I always think one aspect of DDD is ultimately to let
> > domain experts change their own models.
> >
> > Maybe this is why MS Access and Excel are so dominant? Also, why people,
> > when a system doesn't provide all their needs, find work-arounds that
> > usually involve private spreadsheets as secondary data stores. I have
> seen
> > a few of those in the past week.
> >
> > So, a legitimate question that arises is "Will we be able to change it or
> > do we need to pay an expert?". Being such an expert who wants to be paid
> > its easy to say, "sorry you cannot change it, but with Apache Isis its
> not
> > that costly to add changes, in fact its desirable to do so (so you don't
> > end up using spreadsheets)".
> >
> > Getting to the point, a specific challenge is these paper forms, should
> the
> > client maintain a Word Document version and a web-based data entry
> version?
> > Its the same data-model, but the Word Document can be changed by the
> client
> > and the web-based forms not. Given that web-forms can have a print
> > stylesheet associated with them, this seems a sad situation to me.
> >
> > This is an old chestnut for me, and now again it comes up. I'd like to
> try
> > solving it in Apache Isis. With its meta-model and via use of an EAV
> > database design, or a graph database maybe, this seems possible.
> >
> >
> We do have an addon for this, namely the "docx" add-on [3].  This allows
> the template to be authored by the end users in Word (with the Developer
> tab enabled), and then programmatically mail-merge in the document.  Some
> coding is required (though there can be a standard set of fields always
> merged in, eg an address or the current user, date, or freeform notes.
>
> Again, I ported this over from the .NET app, where the design has stood up
> well.
>
>
>
> > One other solution I have seen is just to add some 'generic' properties
> > into the data model entities, that the user can make use of to add things
> > as they think of them. Periodically these can be properly renamed (by an
> > expert), but it does allow the user to add simple things on the fly.
> >
> >
> Exactly... this is what we do.
>
> Cheers
> Dan
>
>
>
> > Regards
> > Steve Cameron
> >
>
>
> [1]
>
> https://github.com/estatio/estatio/tree/master/estatioapp/dom/src/main/java/org/estatio/dom/event
> [2] https://github.com/isisaddons/isis-module-poly
> [3] https://github.com/isisaddons/isis-module-docx
>

Re: add-on ideas

Posted by Dan Haywood <da...@haywood-associates.co.uk>.
Hi Steve,

thanks for these thoughts, comments within...

On 19 August 2015 at 23:05, Stephen Cameron <st...@gmail.com>
wrote:

> Hello Isis users,
>
> Just want to mention some ideas that have come up via discussions with
> client.
>
> Sticky Notes / Reminders
>
> The small application I am building is essentially a Client Relationshp
> Management (CRM) system. A big part of it is to schedule interactions
> (mainly just phone calls) to clients into the future and to allocate those
> to specific volunteers. I'm now interested to make use of the existing
> to-do demo app as part of my project. I've had the idea of making this
> generic so it can be used anywhere to add sticky notes that refer to one or
> more domain objects, Its an extension of the bookmark idea essentially.
>
>
We have something similar to this in Estatio, namely the concept of an
"Event".  The idea is that object can be an "event source", and thus
multiple events - essentially entries in a diary - can be associated with
that domain object.

Rather than using Isis' bookmarks though ... which don't allow referential
integrity to be enforced at the DB layer ... we have implemented this using
the "poly" addon [2].  This is a pattern that was originally developed on
the big (.NET) naked objects system in Ireland, and so I ported over to
Java and Isis.

Anyway, rather than reusing the ToDoItem, I suggest you grab the event
package from Estatio and use that instead.





> Forms Design.
>
> My client is interested to still have some paper forms, and when this
> subject comes up I always think one aspect of DDD is ultimately to let
> domain experts change their own models.
>
> Maybe this is why MS Access and Excel are so dominant? Also, why people,
> when a system doesn't provide all their needs, find work-arounds that
> usually involve private spreadsheets as secondary data stores. I have seen
> a few of those in the past week.
>
> So, a legitimate question that arises is "Will we be able to change it or
> do we need to pay an expert?". Being such an expert who wants to be paid
> its easy to say, "sorry you cannot change it, but with Apache Isis its not
> that costly to add changes, in fact its desirable to do so (so you don't
> end up using spreadsheets)".
>
> Getting to the point, a specific challenge is these paper forms, should the
> client maintain a Word Document version and a web-based data entry version?
> Its the same data-model, but the Word Document can be changed by the client
> and the web-based forms not. Given that web-forms can have a print
> stylesheet associated with them, this seems a sad situation to me.
>
> This is an old chestnut for me, and now again it comes up. I'd like to try
> solving it in Apache Isis. With its meta-model and via use of an EAV
> database design, or a graph database maybe, this seems possible.
>
>
We do have an addon for this, namely the "docx" add-on [3].  This allows
the template to be authored by the end users in Word (with the Developer
tab enabled), and then programmatically mail-merge in the document.  Some
coding is required (though there can be a standard set of fields always
merged in, eg an address or the current user, date, or freeform notes.

Again, I ported this over from the .NET app, where the design has stood up
well.



> One other solution I have seen is just to add some 'generic' properties
> into the data model entities, that the user can make use of to add things
> as they think of them. Periodically these can be properly renamed (by an
> expert), but it does allow the user to add simple things on the fly.
>
>
Exactly... this is what we do.

Cheers
Dan



> Regards
> Steve Cameron
>


[1]
https://github.com/estatio/estatio/tree/master/estatioapp/dom/src/main/java/org/estatio/dom/event
[2] https://github.com/isisaddons/isis-module-poly
[3] https://github.com/isisaddons/isis-module-docx