← Back to team overview

dhis2-devs team mailing list archive

Re: WebApi failing Email, FileResources and

 

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

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

PNG image


Follow ups

References