← Back to team overview

dhis2-devs team mailing list archive

Re: WebApi failing Email, FileResources and

 

Ok, I just saw `Login using PIN-code for account`, maybe you are using a
custom apps for this..

I saw you bug report, we will have a look at it

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

On Fri, Jun 3, 2016 at 7:18 PM, Mike Nelushi <mikeevolution@xxxxxxxxx>
wrote:

> Hi Morten,
>
> The pinCode is not the the DHIS2-Account it is for specific program that
> they registered for. But the main thing is to be able to send emails and
> later sms because there will be a lot of notification/alerts to each
> user(e.g if they sent a wrong file).
>
> Regards,
> Mike
>
> On Fri, Jun 3, 2016 at 2:05 PM, Morten Olav Hansen <morten@xxxxxxxxx>
> wrote:
>
>> 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