Hi, Here I am bit confusing what to choose. I agree with the fact that email sending task is not enough for summer of code. I also want to implement a component which is useful for end users. Are there some other ideas that meets gcos scope. On 8 Mar, 2014 5:47 PM, "Jeroen van der Wal" <[email protected]> wrote:
> Apache Camel already has various components [1] for sending and receiving > mail [2] using a template [3] so why not leverage their infrastructure. Or > is this over-achitected? > We have a specific requirement where we want to use both the excel service > and a mail service with a scenario similar to this one: > - at the first day of the month a user receives an email with an excel > timesheet template with on each row the days of the month and on each > column the projects he is assigned to. > - the user fills in the hours worked for each day and project and sends the > sheet back to a designated email address > - the sheet is processed and the user receives an e-mail with successes or > failures of the transactions > - the user receives a reminder message after 7 days if the sheet was not > send. > > We could extend the ToDo app into a project management app to support this > scenario. IMHO the single entity ToDo app doesn't give justice to the > advanced possibilities of Isis and is missing the demonstration of object > relationships. But maybe thats a bit off-topic in this discussion. > > Just my two cents. > > Cheers, > > Jeroen > > [1] http://camel.apache.org/components.html > [2] http://camel.apache.org/mail.html > [3] http://camel.apache.org/stringtemplate.html > > > On Sat, Mar 8, 2014 at 9:08 AM, Dan Haywood <[email protected] > >wrote: > > > On 8 March 2014 07:48, GESCONSULTOR <[email protected]> wrote: > > > > > Hi Eshan. > > > > > > In the sense of showing how to use Camel from Isis to send, for > example, > > > emails asynchronously, in addition to a more "traditional" service to > > send > > > emails directly from the Isis process through Java mail API, etc. > > > > > > > We actually have quite a lot of this done already. > > > > There's a project of mine up on github [6] that picks up published > actions > > for Camel to process. The bit that's missing is (a) translating these > > events to an email format, and (b) then sending to a Java mail service. > > > > It's not quite clear to me where the responsibility for (a) should be, > > however. Feels like it would need some sort of EmailTemplate entity; so > it > > could probably be done by a custom payload factory (also already > supported > > by the publishing service). > > > > ~~~ > > An alternative architecture, and with many fewer moving parts, would > simply > > to use the Quartz scheduler to poll for emails to be sent. The current > > todo app (about to be released in the 1.4.0 archetype assuming the vote > > goes through) has the Quartz scheduler pre-configured. > > > > > > > > > > > > There are plenty of integration use cases where Camel could be used. > > > Another one would be for Drools (that can be embedded or executed over > a > > > stand-alone Camel server) [1]. > > > > > > Camel can be simply embedded on the project or executed over Apache > > > ServiceMix [2 ] or JBoss Fuse [3 ] through remote invocation [4]. At > > least > > > for one service I find it would be really interesting to use it both > > > embedded or remotely invoked through Endpoints. > > > > > > > > Lots of interesting architectures here, but the project needs to have a > > concrete objective (eg sending emails rendered against a template) > > otherwise there's not enough focus. We should probably enumerate them. > > > > a. simply send the email synchronously in the action. This requires a > > simple domain service to make the JavaMail call > > b. queue up the email to be sent and picked up by Camel. Camel runs in a > > separate webapp; this is how [6] works > > c. a combination of a and b; the email is sent synchronously, but the > > domain service embeds Camel to do the processing. > > d. same as b, but Camel running within the same webapp as Isis rather > than > > a separate webapp > > e. send the email to a service, but it queues up the message. Then use > > Quartz scheduler to execute a job to actually send asynchronously. > > f. send an email via the new background service [7] (that uses the Quartz > > scheduler under the covers). > > > > Given so many options here, my view is that for the requirement to simply > > send email, Camel is too heavyweight (even in embedded mode)... I'd opt > for > > either (a) or (f). So for a Camel integration we probably need to think > of > > a better use case to support. > > > > I guess I'm interested in the project delivering stuff that's useful for > > the community to use (reusable services or modules). > > > > Dan > > > > > > > > > Dan had an example about integrating with a Message Queue platform here > > > [5]. > > > > > > This is just in case you finally have enough time. > > > > > > > > > HTH, > > > > > > Oscar > > > > > > [ 1] > > > > > > http://salaboy.com/2011/04/05/drools-in-real-life-droolsjbpm5-server-first-steps/ > > > [2] http://servicemix.apache.org > > > [3] http://www.jboss.org/jbossfuse > > > [4 ] https://camel.apache.org/architecture.html > > > [5] http://isis.apache.org/reference/services/publishing-service.html > > > > > > > > [6] https://github.com/danhaywood/camel-isis-pubsubjdo > > [7] http://isis.apache.org/reference/services/background-service.html > > > > > > > > > > El 08/03/2014, a las 04:07, Eshan Sudharaka <[email protected]> > > > escribió: > > > > > > > > Hi Oscar, > > > > Thanks for your ideas on this. What do you mean by general > > integration.? > > > > Is it exposing those existing services and new services through > apache > > > camel? > > > > > > > > Thanks > > > > > > > >> On 6 Mar, 2014 7:35 PM, "GESCONSULTOR - Óscar Bou" < > > > [email protected]> wrote: > > > >> > > > >> Hi to all. > > > >> > > > >> There can be more general-purpose integrations if we generalize some > > > implementation over Apache Camel [1] components [2]. > > > >> > > > >> Also, another really useful (and cool ;-) platforms for automation > > > would be: > > > >> - Twilio [3] (for voice calls, SMS messaging, etc.). > > > >> - Zapier [4] (automates more than 250 apps). > > > >> - ITTT [5] (similar to Zapier). > > > >> > > > >> I'm sure there are plenty of scenarios that could benefit the most > > > "traditional" applications (for example, by integrating with Evernote, > > > etc.). > > > >> > > > >> [1] https://camel.apache.org > > > >> [2] https://camel.apache.org/components.html > > > >> [3] https://www.twilio.com > > > >> [4] https://zapier.com > > > >> [5] http://ittt.com > > > >> > > > >> > > > >> > > > >>> El 06/03/2014, a las 09:09, Dan Haywood < > > [email protected]> > > > escribió: > > > >>> > > > >>> I'm cc'ing users@ on this, since there might be folk there who > would > > > chip > > > >>> in... > > > >>> > > > >>> > > > >>> > > > >>>> On 6 March 2014 00:16, Eshan Sudharaka <[email protected]> > > wrote: > > > >>>> > > > >>>> Hi Dan, > > > >>>> > > > >>>> I went through some documentation and got some very basic > > > understanding > > > >>>> about Apache ISIS. And I build that toDo app and try went through > > the > > > app > > > >>>> code. > > > >>>> > > > >>>> I am interested in developing following Project Idea. > > > >>>> > > > >>>> - to build some new off-the-shelf domain services, like the > current > > > Excel > > > >>>> and Word mail merge ones > > > >>>> > > > >>>> - eg email > > > >>>> - eg SMSing > > > >>>> - eg Drools rules engine > > > >>>> > > > >>>> So the idea is to build a generic service which can be used across > > > the all > > > >>>> of apps developing using ISIS. can you please provide some further > > > details > > > >>>> on this. > > > >>>> > > > >>>> Is it similar to > > > >>>> http://isis.apache.org/reference/services/command-context.html ? > > > Providing > > > >>>> API for get above services. > > > >>> Yes, it's similar in concept. > > > >>> > > > >>> I think the closest existing services are actually the domain > > services > > > I > > > >>> have on my github repo for Word, Excel and String interpolation > [1], > > > [2], > > > >>> [3]. > > > >>> > > > >>> I think it'd also be worthwhile providing some domain entities > > (mapped > > > to > > > >>> be persistent with JDO) to represent the domain concepts, for > example > > > an > > > >>> EmailTemplate or SmsMessageTemplate. This could become an > > all-purpose > > > >>> "communication channel" module for others to reuse. Note that > > Estatio > > > [4] > > > >>> already provides a Links repo/Link entity that leverages [3]. > > > >>> > > > >>> The JDO implementation of the CommandService and BackgroundService > > > [4],[5] > > > >>> (as used by the command-context service that you referenced) has > > > support > > > >>> for this with the CommandJdo entity. Similarly the JDO impl of > > > >>> AuditingService provides an AuditEntryJdo entity [6], and the JDO > > impl > > > of > > > >>> PublishingService provides a PublishedEventJdo entity [7]. So > there > > > are > > > >>> plenty of examples to work from. > > > >>> > > > >>> I have less things to say about the Drools rules engine, but I'm > sure > > > it'd > > > >>> be useful. Oscar's project has done some sort of integration, so > > > perhaps > > > >>> there are ideas there that could be generalised. Oscar? > > > >>> > > > >>> My only concern about this project is whether it is large enough in > > > scope > > > >>> to fill up an entire summer. I wrote the string interpolation > > service > > > [3] > > > >>> in an evening, for example, and the Links/Link service in Estatio > > only > > > took > > > >>> a couple more hours. But maybe an all-purpose comms channel > module > > > plus > > > >>> a rules engine service (with additional entities to administer the > > > rules > > > >>> themselves) might be big enough. > > > >>> > > > >>> HTH > > > >>> Dan > > > >>> > > > >>> > > > >>> [1] https://github.com/danhaywood/isis-domainservice-docx > > > >>> [2] https://github.com/danhaywood/isis-domainservice-excel > > > >>> [3] > > > https://github.com/danhaywood/isis-domainservice-stringinterpolator > > > >>> [4] https://github.com/estatio/estatio > > > >>> [5] > > > >>> > > > > > > http://isis.apache.org/components/objectstores/jdo/services/command-service-jdo.html > > > >>> [6] > > > >>> > > > > > > http://isis.apache.org/components/objectstores/jdo/services/background-command-service-jdo.html > > > >>> [7] > > > >>> > > > > > > http://isis.apache.org/components/objectstores/jdo/services/auditing-service-jdo.html > > > >>> [8] > > > >>> > > > > > > http://isis.apache.org/components/objectstores/jdo/services/publishing-service-jdo.html > > > >>> > > > >>> > > > >>> > > > >>>> Thanks > > > >>>> > > > >>>> > > > >>>> On Fri, Feb 28, 2014 at 3:42 PM, Dan Haywood > > > >>>> <[email protected]>wrote: > > > >>>> > > > >>>>> Hi Eshan, > > > >>>>> > > > >>>>> Thanks for your interest in GSOC and in Isis itself, of course. > > > >>>>> > > > >>>>> We had two students last year, and I mentored them (with Maurizio > > as > > > >>>>> co-mentor); they both built a viewer against the Restful Objects > > > >>>> interface > > > >>>>> [1], [2]. > > > >>>>> > > > >>>>> I must admit though that I had intended to skip mentoring a GSOC > > > project > > > >>>>> this year, and I don't think any of the other committers are > > > interested > > > >>>>> (speak up if no!) > > > >>>>> > > > >>>>> That's not to say I don't have several ideas for projects, for > > > example: > > > >>>>> > > > >>>>> - build a "real-life" app in some suitable domain, along with a > > > >>>>> semi-academic write-up of their learnings > > > >>>>> - to would give us another substantial example app, along with > > some > > > >>>>> marketing material about how learnable Isis > > > >>>>> > > > >>>>> - documentation: develop screencasts for all the various features > > > that we > > > >>>>> have > > > >>>>> - cos people would rather watch youtube than read > > > >>>>> > > > >>>>> - to build some new off-the-shelf domain services, like the > current > > > Excel > > > >>>>> and Word mail merge ones > > > >>>>> - eg email > > > >>>>> - eg SMSing > > > >>>>> - eg Drools rules engine > > > >>>>> > > > >>>>> - to develop an integration with Lucene, for full text-search > > across > > > the > > > >>>>> domain > > > >>>>> - I don't think this is a full summer's work though > > > >>>>> > > > >>>>> - to develop an oAuth integration > > > >>>>> - probably not a full summer's work though (even though I'm not > > > exactly > > > >>>>> sure what an oAuth integration actually is) > > > >>>>> > > > >>>>> - to write a clean-room implementation of a JDO enhancer, as a > > > >>>> replacement > > > >>>>> for the DN one, and that ideally integrates with the JRebel > plugin > > > >>>>> - not really Isis-specific, but would definitely benefit the > Isis > > > >>>>> community > > > >>>>> > > > >>>>> - implement "Kemble", our proposed DSL for Isis, using XTend [3] > > > >>>>> > > > >>>>> > > > >>>>> So do say if any of the above strike you as interesting. > HOWEVER, > > > since > > > >>>>> I'm less that 50:50 about being a mentor this year, I'd need to > see > > > some > > > >>>>> real commitment during the "getting to know you" phase of the > > > programme > > > >>>>> before I decide to take it on. > > > >>>>> > > > >>>>> HTH > > > >>>>> Dan > > > >>>>> > > > >>>>> > > > >>>>> [1] https://github.com/DImuthuUpe/ISIS_Android_Viewer > > > >>>>> [2] https://github.com/bhargavgolla/isisJavaScript/ > > > >>>>> [3] https://issues.apache.org/jira/browse/ISIS-369 > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > >>>>>> On 28 February 2014 05:18, Eshan Sudharaka < > [email protected]> > > > wrote: > > > >>>>>> > > > >>>>>> Dear Members, > > > >>>>>> > > > >>>>>> I am a university student studying computer science at > University > > > of > > > >>>>>> Colombo School of Computing, Sri Lanka > > > >>>>>> <http://ucsc.cmb.ac.lk/>.<http://www.cse.mrt.ac.lk/> I > > > >>>>>> am interested in submitting a proposal for Google Summer Of > Code > > > >>>> 2014. I > > > >>>>>> am from a Java background and having few experiences of > frameworks > > > like > > > >>>>>> Spring, Hibernate, Struts. It will be really nice If you can > > provide > > > >>>> some > > > >>>>>> guidance on this. (Like how to contribute and existing CR 's to > be > > > >>>>>> implemented ) > > > >>>>>> -- > > > >>>>>> *~Thanks & Regards~* > > > >>>>>> > > > >>>>>> Eshan Sudharaka > > > >>>>>> http://esudharaka.blogspot.com/ > > > >>>> > > > >>>> > > > >>>> > > > >>>> -- > > > >>>> *~Thanks & Regards~* > > > >>>> > > > >>>> Eshan Sudharaka > > > >>>> http://esudharaka.blogspot.com/ > > > >> > > > >> > > > >> Ó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 > > > >> > > > >> > > > >> > > > >> > > > >> 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. > > > > > >
