← Back to team overview

dhis2-devs team mailing list archive

Re: WebApi failing Email, FileResources and

 

Hi Calle

Out of curiosity... how can they login with this "PIN-code" is it simply
the set password for their account?

-- 
Morten Olav Hansen
Senior Engineer, DHIS 2
University of Oslo
http://www.dhis2.org

On Fri, Jun 3, 2016 at 6:52 PM, Calle Hedberg <calle.hedberg@xxxxxxxxx>
wrote:

> Hi,
>
> Since this instance is innovative and handling a somewhat unusual
> scenario, it might be helpful to understand the background and conceptual
> design:
>
> 1.
> South Africa requires around 10,000 new health graduates (doctors, nurses,
> physiotherapists and other professions allied to medicine) to do one year
> of Community Service after graduation every year, and before they take up
> normal work. Medical doctors also do internships in various accredited
> hospitals as part of their practical studies.
>
> 2.
> The CommServe instance contain routine data about the number of community
> service or internship positions at all relevant health facilities, together
> with some information on things like available accommodation and distance
> to the nearest town, contact details, etc.
>
> 3.
> Using a newly developed app, each of the ~10,000 graduates will in the
> REGISTRATION phase
> (a) register as a DHIS user (user reg)
> (b) register as an applicant and submit relevant demography and contact
> details about themselves (TRACKER app)
> (c) submit relevant scanned PDF documents (copy of ID/Passport, marriage
> certificate, graduation results, etc)
> (d) be allocated a "PIN-code" that ensures that the candidate (and ONLY
> that candidate) can log in again to the same registered "account"
> (e) having the pin-code emailed to themselves (and nobody else) after the
> registration process is completed, so that they don't forget it.
>
> 4.
> Logging in again to the same account using the pin-code, each graduate
> will in the first/second/third APPLICATION phase
> (a) view available posts according to their profession (and in some cases
> their location or bursary status)
> (b) select five facilities of their choice for their community service or
> internship.
>
> 5.
> After each phase, the system is running a number of algorithms to allocate
> graduates to health facilities, with confirmation emails / SMSs sent out to
> each individual.
> Every allocation means that applicant is not required to re-apply and the
> post is removed from the available pool.
> Those applicants not successful in round 1 because the applied only for
> over-subscribed posts (where allocation will be done by lottery, so to say)
> will go to round 2 and possibly 3.
> In round 2 or 3, remaining applicants will again apply for 5 priority
> postings among those remaining.
>
> As should be obvious from the above, it is critical that we are able to
> send emails to each applicant individually, and it is also critical to
> ensure that the uploading of scanned documents works as expected (NOTE: we
> hope to be able to restrict such uploads to PDF format only, and preferably
> also to a maximum size. Having applicants just using their smart-phones to
> snap large-size pictures of documents is to be avoided).
>
> This is a high-profile application and it has already been approved by the
> National Health Council, so it is critical to get the last few bugs ironed
> out.
>
> Regards
> Calle
>
> On 3 June 2016 at 13:27, Morten Olav Hansen <morten@xxxxxxxxx> wrote:
>
>> Before Lars answers
>>
>> Mike, can you provide us with a detailed bug report on launchpad? it will
>> help us track this bug, I can have a look on Monday
>>
>> --
>> Morten Olav Hansen
>> Senior Engineer, DHIS 2
>> University of Oslo
>> http://www.dhis2.org
>>
>> On Fri, Jun 3, 2016 at 6:26 PM, Morten Olav Hansen <morten@xxxxxxxxx>
>> wrote:
>>
>>> Hi Mike
>>>
>>> I'm adding in Lars.. It's been a while since i looked at it.. but I
>>> don't think that is how it was designed, if you select an org unit.. it
>>> will send to EVERYBODY connected to that (kinda like when you assign an OU
>>> to a user), if you want to send to individual users.. you need to select
>>> them manually...
>>>
>>> --
>>> Morten Olav Hansen
>>> Senior Engineer, DHIS 2
>>> University of Oslo
>>> http://www.dhis2.org
>>>
>>> On Fri, Jun 3, 2016 at 6:24 PM, Mike Nelushi <mikeevolution@xxxxxxxxx>
>>> wrote:
>>>
>>>> Hi Morten,
>>>>
>>>> The messageConversations web-api is still a big issue because we need
>>>> to send each user specific information to their e-mails.
>>>>
>>>> 1. Using  {"subject": subject, "text": message, "users": user}  json
>>>> object, the mail gets stored on DHIS2 mail and does not send it to the user
>>>> e-mail.
>>>>
>>>> LogUtil.java [http-apr-8080-exec-3])
>>>> * INFO  2016-05-29 14:14:52,484 Invoking message sender: $Proxy53
>>>> (DefaultMessageService.java [http-apr-8080-exec-3])
>>>> * INFO  2016-05-29 14:14:52,529 Invoking message sender:
>>>> SmsMessageSender (DefaultMessageService.java [http-apr-8080-exec-3])
>>>> * ERROR 2016-05-29 14:14:52,579 Unexpected error occurred invoking
>>>> async method 'public java.lang.String
>>>> org.hisp.dhis.message.EmailMessageSender.sendMessage(java.lang.String,java.lang.String,jav
>>>> a.lang.String,org.hisp.dhis.user.User,java.util.Set,boolean)'.
>>>> (SimpleAsyncUncaughtExceptionHandler.java [taskScheduler-7])
>>>> org.hibernate.LazyInitializationException: failed to lazily initialize
>>>> a collection of role: org.hisp.dhis.user.User.organisationUnits, could not
>>>> initialize proxy - no Session
>>>>         at
>>>> org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:569)
>>>>         at
>>>> org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:188)
>>>>         at
>>>> org.hibernate.collection.internal.AbstractPersistentCollection.readSize(AbstractPersistentCollection.java:139)
>>>>         at
>>>> org.hibernate.collection.internal.PersistentSet.size(PersistentSet.java:156)
>>>>         at
>>>> org.hisp.dhis.common.IdentifiableObjectUtils.join(IdentifiableObjectUtils.java:76)
>>>>         at
>>>> org.hisp.dhis.user.User.getOrganisationUnitsName(User.java:288)
>>>>         at
>>>> org.hisp.dhis.message.EmailMessageSender.renderPlainContent(EmailMessageSender.java:188)
>>>>         at
>>>> org.hisp.dhis.message.EmailMessageSender.sendMessage(EmailMessageSender.java:115)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>         at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>         at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>         at java.lang.reflect.Method.invoke(Method.java:498)
>>>>         at
>>>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
>>>>         at
>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
>>>>         at
>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
>>>>         at
>>>> org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:108)
>>>>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>>>>         at
>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>>>>         at
>>>> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>>>>         at
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>>>         at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>>>         at java.lang.Thread.run(Thread.java:745)
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 2, Using {"subject": subject, "text": message, "users": users,
>>>> "organisationUnits": organisationUnits}, sends email to everyone in the
>>>> Orgunit and we want to send to individuals.
>>>>
>>>> Please advice.
>>>>
>>>>
>>>> Regards,
>>>> Mike
>>>>
>>>>
>>>>
>>>> On Fri, Jun 3, 2016 at 4:58 AM, Morten Olav Hansen <morten@xxxxxxxxx>
>>>> wrote:
>>>>
>>>>> Hi Mike
>>>>>
>>>>> I'm adding in the dev list, and Halvdan (who knows about file resource
>>>>> API). I will have a look at the start as app functionality.
>>>>>
>>>>> --
>>>>> Morten
>>>>>
>>>>> On Thu, Jun 2, 2016 at 5:00 PM, Mike Nelushi <mikeevolution@xxxxxxxxx>
>>>>> wrote:
>>>>>
>>>>>> Hi Calle,
>>>>>>
>>>>>> Apologies, forgot to add you on this thread.
>>>>>>
>>>>>> Regards
>>>>>> Mike
>>>>>> On 2 Jun 2016 11:35, "Mike Nelushi" <mikeevolution@xxxxxxxxx> wrote:
>>>>>>
>>>>>>> Hi Morten,
>>>>>>>
>>>>>>> Its Mike here from HISP-SA.
>>>>>>>
>>>>>>> We have been strangling to send email to individual users on our new
>>>>>>> Community Service Application which is going live tomorrow. At the moment
>>>>>>> when I send an email to individuals it sends to everyone who is a DHIS2
>>>>>>> user. Im user the dhis2.23 messageConversations web-api for this.
>>>>>>>
>>>>>>> A. The following are the two json objects I've used, the first one
>>>>>>> doesn't send messages at all the messages stays on dhis2 mail.
>>>>>>> 1. var json_Data = {"subject": subject, "text": message, "users":
>>>>>>> users};
>>>>>>> 2.var json_Data = {"subject": subject, "text": message, "users":
>>>>>>> users, "organisationUnits": organisationUnits};
>>>>>>>
>>>>>>>
>>>>>>> The following is our email settings
>>>>>>>
>>>>>>> [image: Inline image 1]
>>>>>>>
>>>>>>> B. Second Issue is that when we call fileResources webapi to save
>>>>>>> file is does work but when you retrieve the file it says the file was not
>>>>>>> saved. The following is the object:
>>>>>>>                                     var file = item[0].files[0];
>>>>>>>                                     var formData = new FormData();
>>>>>>>                                     formData.append('file', file);
>>>>>>>
>>>>>>> C. The start page function on Appearance settings is not working if
>>>>>>> you choice your own custom APP, when logging in it does it go to the
>>>>>>> landing page instead it goes to index.action.
>>>>>>>
>>>>>>> Can you please help us with this issues?
>>>>>>>
>>>>>>> Regards,
>>>>>>> Mike
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
>
> --
>
> *******************************************
>
> Calle Hedberg
>
> 46D Alma Road, 7700 Rosebank, SOUTH AFRICA
>
> Tel/fax (home): +27-21-685-6472
>
> Cell: +27-82-853-5352
>
> Iridium SatPhone: +8816-315-19119
>
> Email: calle.hedberg@xxxxxxxxx
>
> Skype: calle_hedberg
>
> *******************************************
>
>

PNG image


Follow ups

References