User Tools

Site Tools


avril_2019.1_todo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
avril_2019.1_todo [2019/03/08 15:37] – [Bugs] kalaschnikowavril_2019.1_todo [2019/05/17 09:52] (current) – [Features] kalaschnikow
Line 1: Line 1:
 +====== Avril 2019.1 TODO ======
  
 +===== Features =====
 +  * **-** Move to a new server
 +    * **-** Buy the server
 +    * **-** Install Avril
 +  * **-** Use HTTPS
 +  * **-** Give the user possibility to change his own password
 +  * **-** добавить кнопку окончания таска на планшете без заполнения анкеты.
 +
 +
 +
 +  * **+** Möglichkeit mehrere Aufträge auszuwählen um Operationen daran durchzuführen 
 +    * Die wichtigste Operation: Löschen
 +    * Vorstellbare andere Operationen (evtl. in den späteren Avril-Versionen implementieren): 
 +      * Auf später verschieben
 +      * Als Erledigt markieren
 +      * Priorität ändern
 +      * Bestimmte Felder auf den gleichen Wert setzen (wie z.B. Adresse)
 +  * **-** Auf MQTT umstellen
 +    * **+** Implementieren 
 +    * **-** Installieren auf dem Produktiv-Server 
 +  * **-** MQTT-Client als Dienst implementieren
 +    * Schema: im SyncAdapter (z.B. alle 5 Minuten) prüfen, ob der Dienst läuft. Wenn ja, nichts tun. Wenn nicht - Dienst starten und evtl. Tasks synchronisieren. "Eventuell" bedeutet: schauen, ob es vielleicht genug ist nur den Dienst zu starten ohne "händische" Synchronisation. Ich vermute wegen den Eigenschaften des MQTT-Protokolls wird es funktionieren. 
 +    * D.h. das Testszenario sieht so aus: 
 +      - den Dienst abschmieren lassen
 +      - danach auf dem Server einen neuen Auftrag erstellen
 +      - 5 Minuten später startet der SyncAdapter, der entdeckt, dass der Dienst nicht läuft und startet ihn
 +      - nach dem Starten soll der Dienst automatisch eine Nachricht über neue Aufträge bekommen und die Synchronisation starten
 +    * Trotzdem zur Sicherheit eine Synchronisation z.B. alle 15 Minuten einbauen.
 +  * **+** Avril in Container (mehrere?) verpacken
 +  * **?** Update des AngularJS Frameworks
 +  * **x** AngularJS Modul suchen, welches das Auswählen mehrerer Sätze implementiert
 +  * **-** Server periodisch restarten
 +  * **-** Überwachen, ob der Server den richtigen Inhalt liefert
 +  * **-** Keycloak auf die neueste stabile Version updaten
 +
 +===== Bugs =====
 +
 +  * Zu große Updates verhindern:
 +    * Nur wirklich notwendige Aufträge holen (z.B. wenn mehr als X Aufträge zu holen sind -> Benutzer warnen, Wipe machen und nur die Aufträge aus der "Inbox" holen)
 +    * Die Exception abfangen (s. Mail von parnupatrull@gmail.com vom 01.03.2019):
 +<code>
 +03-01 16:51:16.312 E/Avril   ( 9050): Avril log:20190301 16:51:16> updateJobsLocally exception:android.os.TransactionTooLargeException: data parcel size 3299168 bytes
 +03-01 16:51:16.313 E/Avril   ( 9050): Avril log:20190301 16:51:16> updateJobsLocally exception:data parcel size 3299168 bytes
 +03-01 16:51:16.314 E/Avril   ( 9050): Avril log:20190301 16:51:16> de.wialonconsulting.avril.sync.AvrilSyncException: android.os.TransactionTooLargeException: data parcel size 3299168 bytes
 +03-01 16:51:16.314 E/Avril   ( 9050): at de.wialonconsulting.avril.sync.WorkOrderSyncAdapter.updateJobsLocally(WorkOrderSyncAdapter.java:804)
 +03-01 16:51:16.314 E/Avril   ( 9050): at de.wialonconsulting.avril.sync.WorkOrderSyncAdapter.syncWorkOrders(WorkOrderSyncAdapter.java:343)
 +03-01 16:51:16.314 E/Avril   ( 9050): at de.wialonconsulting.avril.sync.WorkOrderSyncAdapter.onPerformSync(WorkOrderSyncAdapter.java:227)
 +03-01 16:51:16.314 E/Avril   ( 9050): at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:272)
 +03-01 16:51:16.314 E/Avril   ( 9050): Caused by: android.os.TransactionTooLargeException: data parcel size 3299168 bytes
 +03-01 16:51:16.314 E/Avril   ( 9050): at android.os.BinderProxy.transactNative(Native Method)
 +03-01 16:51:16.314 E/Avril   ( 9050): at android.os.BinderProxy.transact(Binder.java:511)
 +03-01 16:51:16.314 E/Avril   ( 9050): at android.content.ContentProviderProxy.applyBatch(ContentProviderNative.java:518)
 +03-01 16:51:16.314 E/Avril   ( 9050): at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:448)
 +03-01 16:51:16.314 E/Avril   ( 9050): at android.content.ContentResolver.applyBatch(ContentResolver.java:1319)
 +03-01 16:51:16.314 E/Avril   ( 9050): at de.wialonconsulting.avril.sync.WorkOrderSyncAdapter.updateJobsLocally(WorkOrderSyncAdapter.java:799)
 +03-01 16:51:16.314 E/Avril   ( 9050): ... 3 more
 +</code>
 +    * Die alten Aufträge physikalisch löschen
 +    * Эд: При нажатии на Resolv лочится телефон, после разлочивания сразу открывалась анкета. Возможно что проблема с закрыванием при нажатии на Resolv из за особенностей моего телефона. 
 +    * При открытии анкеты - автоматически НЕ заполняется поле адрес. В анкете поле: Address / в приатаченном логе: "address":" Address"
 +    * При открытии анкеты автоматически НЕ заполняется поле - Время тревоги. В анкете поле: Häire registreeritud kell / в приатаченном логе: "field2":"HƤire kellaaeg: 17.05.2019_07:43:46"
 +
 +
 +
 +===== DevOps =====
 +  * **-** "One click" compile
 +  * **-** "One click" delivery