← Back to team overview

dhis2-devs team mailing list archive

Re: WebApi failing Email, FileResources and

 

Morten,

Custom App is not Android - it's a DHIS2 app. We did have some teething
problems with users accessing the instance via the browser on their
smartphones, but I think that's been sorted. In any case, our
recommendation to all users is to rather access the instance via a laptop
or computer - should be easier to upload PDF documents and generally view
available information about posts etc that way. (a customised Android app
might be on the cards for next year - TBD. For now we are just trying to
iron out bugs and finalise everything before it goes live for the first
batch of users this month).

Regards
Calle

On 3 June 2016 at 14:57, Morten Olav Hansen <morten@xxxxxxxxx> wrote:

> Ok, Calle, thanks for the info :) so when you say custom app.. I guess
> it's Android?
>
> --
> Morten Olav Hansen
> Senior Engineer, DHIS 2
> University of Oslo
> http://www.dhis2.org
>
> On Fri, Jun 3, 2016 at 7:52 PM, Calle Hedberg <calle.hedberg@xxxxxxxxx>
> wrote:
>
>> Morten,
>>
>> Sorry if my brief wasn't 100% clear on that - the DHIS user reg is a
>> separate thing. All users logging in will be able to view (but not change)
>> the general routine stuff around positions available etc. The pin-code is
>> used in the custom app to ensure that all applicant users can only view and
>> edit their own registrations/applications - not others.
>>
>> Regards
>> Calle
>>
>> On 3 June 2016 at 14:23, Mike Nelushi <mikeevolution@xxxxxxxxx> wrote:
>>
>>> Yes, its a custom app. Thanks.
>>>
>>> On Fri, Jun 3, 2016 at 2:21 PM, Morten Olav Hansen <morten@xxxxxxxxx>
>>> wrote:
>>>
>>>> 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
>>>>>>>
>>>>>>> *******************************************
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>> --
>>
>> *******************************************
>>
>> 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
>>
>> *******************************************
>>
>>
>


-- 

*******************************************

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