Difference between revisions of "2013-11-21 Telephone Conference DEVROOM / stepping stone GmbH"

From stoney cloud
Jump to: navigation, search
[unchecked revision][unchecked revision]
(Transcript)
(Transcript)
 
(11 intermediate revisions by the same user not shown)
Line 54: Line 54:
 
| width="800px"  |  
 
| width="800px"  |  
 
folgendes habe ich für  das POC implementiert:
 
folgendes habe ich für  das POC implementiert:
Reseller get
+
* Reseller get
Reseller post
+
* Reseller post
  
 
Um zu testen folgende Header Variablen setzen:
 
Um zu testen folgende Header Variablen setzen:
 +
<pre>
 
X_REST_USERNAME admin@restuser
 
X_REST_USERNAME admin@restuser
 
X_REST_PASSWORD admin@Access
 
X_REST_PASSWORD admin@Access
 +
</pre>
  
 
Reseller get:
 
Reseller get:
Alle Reseller: http://selfcare.steppingstone.ch/v1/reseller
+
* Alle Reseller: http://selfcare.steppingstone.ch/v1/reseller
Ein Reseller mittels Filter: http://selfcare.steppingstone.ch/v1/reseller?filter=[{"property": "uid", "value" : 4000000}]
+
* Ein Reseller mittels Filter: http://selfcare.steppingstone.ch/v1/reseller?filter=[{"property": "uid", "value" : 4000000}]
Reseller mittels limit und offset: http://selfcare.steppingstone.ch/v1/reseller?limit=1&offset=1
+
* Reseller mittels limit und offset: http://selfcare.steppingstone.ch/v1/reseller?limit=1&offset=1
Reseller sortieren: http://www.selfcare.local/v1/reseller?sort=[{"property":"uid", "direction":"DESC"}]
+
* Reseller sortieren: http://www.selfcare.local/v1/reseller?sort=[{"property":"uid", "direction":"DESC"}]
Ein Reseller: http://selfcare.steppingstone.ch/v1/reseller/4000000
+
* Ein Reseller: http://selfcare.steppingstone.ch/v1/reseller/4000000
  
 
Reseller post:
 
Reseller post:
 
http://www.selfcare.local/v1/reseller mit:
 
http://www.selfcare.local/v1/reseller mit:
 +
<pre>
 
{
 
{
 
   "o": "Test Company",
 
   "o": "Test Company",
Line 75: Line 78:
 
   "sstIsCompany": "TRUE",
 
   "sstIsCompany": "TRUE",
 
}
 
}
 
+
</pre>
 
Ab jetzt beginnen die Aufwände:
 
Ab jetzt beginnen die Aufwände:
Das ganze RestFullYii ist auf ActiveRecord (AR - Schnittstelle zu SQL Datenbanken) aufgebaut
+
* Das ganze RestFullYii ist auf ActiveRecord (AR - Schnittstelle zu SQL Datenbanken) aufgebaut
An vielen Stellen lässt sich nicht mittels überschreiben der Events das Verhalten ändern.
+
* An vielen Stellen lässt sich nicht mittels überschreiben der Events das Verhalten ändern.
Z. B.: Beim GET von subresources ERestSubresourceHelper::isSubresource()
+
* Z. B.: Beim GET von subresources ERestSubresourceHelper::isSubresource()
  
 
Also dachte ich ich Überschreibe ERestSubresourceHelper
 
Also dachte ich ich Überschreibe ERestSubresourceHelper
Dafür muss ich dann auch ERestBehavior überschreiben weil der Helper da instanziiert wird
+
* Dafür muss ich dann auch ERestBehavior überschreiben weil der Helper da instanziiert wird
Das geht aber nicht weil Member $subresource_helper private ist und in der Funktion
+
* Das geht aber nicht weil Member $subresource_helper private ist und in der Funktion
ERestInit() instanziiert wird die final ist.
+
* ERestInit() instanziiert wird die final ist.
  
Natürlich ließe sich das alles anpassen. Dann sind wir aber u. U. nicht mehr kompatibel
+
Natürlich ließe sich das alles anpassen. Dann sind wir aber u. U. nicht mehr kompatibel zum RestFullYii.  
zum RestFullYii.  
+
| width="70px"  | Info
+
 
| width="70px"  | All
 
| width="70px"  | All
 +
| width="70px"  | CWI
 
| width="70px"  | 2013-11-21
 
| width="70px"  | 2013-11-21
 
|-
 
|-
  
 
| width="40px"  | 2
 
| width="40px"  | 2
| width="800px"  |  
+
| width="800px"  | Lohnt es sich, hier weiter zu fahren? Also die Anforderungen aus [[Application Programming Interface (API)]] via [http://www.yiiframework.com/extension/restfullyii/ RestFullYii]?
 +
* Klassen müssen überschrieben werden, erweitert werden.
 +
* Können wir unsere Änderungen einfliessen lassen?
 +
* POST und PUT funktionieren.
 +
* PATCH ist im RestFullYii nicht implementiert.
 +
* Pagination ist via Limit und offset umgesetzt.
 +
* Mapping liesse sich im "behaviour" umsetzen.
 +
* Business Objekte (zusammenfassung mehrerer LDAP Klassen (zum Beispiel [[Application_Programming_Interface_(API)#Reseller_creation_.28POST.29 | Reseller creation (POST)]]) ist nicht umgesetzt.
 +
* "location" ist nicht umgesetzt. Liesse sich jedoch mit relativ kleinem Aufwand nach implementieren.
 +
Lange Rede, kurzer Sinn:
 +
* Aufwand, das RestFullYii unsere Spezifikation anzupassen, scheint ziemlich gross zu sein. Aufwand selber zu machen wird in etwa gleich gross sein, wie wenn wir es selber komplett neu aufbauen.
 
| width="70px"  | Info
 
| width="70px"  | Info
| width="70px"  | All
+
| width="70px"  | CWI
 
| width="70px"  | 2013-11-21
 
| width="70px"  | 2013-11-21
 
|-
 
|-
  
 
| width="40px"  | 3
 
| width="40px"  | 3
| width="800px"  |  
+
| width="800px"  | Next Steps:
 +
* Wir fällen Entscheid
 +
* Anschliessend besprechen wir Entscheid mit CWI.
 +
| width="70px"  | To Do
 +
| width="70px"  | CAF/TMU/CWI/MEI
 +
| width="70px"  | 2013-11-22
 +
|-
 +
 
 +
| width="40px"  | 4
 +
| width="800px"  | Mapping of attributes
 +
* Abhängig vom obigen Entscheid.
 
| width="70px"  | Info
 
| width="70px"  | Info
 
| width="70px"  | All
 
| width="70px"  | All
Line 107: Line 129:
 
|-
 
|-
  
| width="40px"  | 4
+
| width="40px"  | 5
| width="800px"  |  
+
| width="800px"  | Collections (lists), siehe auch [[Application_Programming_Interface_(API)#Field_specifications_and_limitations | Field specifications and limitations]]:
 +
* Abhängig vom obigen Entscheid.
 
| width="70px"  | Info
 
| width="70px"  | Info
 
| width="70px"  | All
 
| width="70px"  | All
Line 114: Line 137:
 
|-
 
|-
  
| width="40px"  | 5
+
| width="40px"  | 6
| width="800px"  |  
+
| width="800px"  | Suche:
 +
* Wo definieren wir diese?
 +
* Gibt es einen Breich in der Definition, in der wir die globale Suche definieren müssen?
 
| width="70px"  | Info
 
| width="70px"  | Info
 
| width="70px"  | All
 
| width="70px"  | All

Latest revision as of 10:53, 21 November 2013

Transcript of the Telephone Conference between DEVROOM / stepping stone GmbH

Location Skype
Date Thursday, the 21st of November 2013
Time 09:15 until 10:15
Participants
  • Christian Wittkowski <christian.wittkowski@devroom.de>: CWI
  • Christian Affolter <christian.affolter@stepping-stone.ch>: CAF
  • Tiziano Müller <tiziano.mueller@stepping-stone.ch>: TMU
  • Michael Eichenberger <michael.eichenberger@stepping-stone.ch>: MEI (Transcript)
Non participants
  • Pat Kläy <pat.klaey@stepping-stone.ch>: PKL
  • Christoph Scheurer <christoph.scheurer@stepping-stone.ch>: CSC
  • David Vollmer <david.vollmer@stepping-stone.ch>: DVO
  • Pascal Jufer <pascal.jufer@stepping-stone.ch>: PJU
Agenda
  • Proof of Concept
  • Mapping of attributes
  • Collections (lists)

Transcript

No. Text What? Who? When?
1

folgendes habe ich für das POC implementiert:

  • Reseller get
  • Reseller post

Um zu testen folgende Header Variablen setzen:

X_REST_USERNAME admin@restuser
X_REST_PASSWORD admin@Access

Reseller get:

Reseller post: http://www.selfcare.local/v1/reseller mit:

{
  "o": "Test Company",
  "sstIsActive": "TRUE",
  "sstIsCompany": "TRUE",
}

Ab jetzt beginnen die Aufwände:

  • Das ganze RestFullYii ist auf ActiveRecord (AR - Schnittstelle zu SQL Datenbanken) aufgebaut
  • An vielen Stellen lässt sich nicht mittels überschreiben der Events das Verhalten ändern.
  • Z. B.: Beim GET von subresources ERestSubresourceHelper::isSubresource()

Also dachte ich ich Überschreibe ERestSubresourceHelper

  • Dafür muss ich dann auch ERestBehavior überschreiben weil der Helper da instanziiert wird
  • Das geht aber nicht weil Member $subresource_helper private ist und in der Funktion
  • ERestInit() instanziiert wird die final ist.

Natürlich ließe sich das alles anpassen. Dann sind wir aber u. U. nicht mehr kompatibel zum RestFullYii.

All CWI 2013-11-21
2 Lohnt es sich, hier weiter zu fahren? Also die Anforderungen aus Application Programming Interface (API) via RestFullYii?
  • Klassen müssen überschrieben werden, erweitert werden.
  • Können wir unsere Änderungen einfliessen lassen?
  • POST und PUT funktionieren.
  • PATCH ist im RestFullYii nicht implementiert.
  • Pagination ist via Limit und offset umgesetzt.
  • Mapping liesse sich im "behaviour" umsetzen.
  • Business Objekte (zusammenfassung mehrerer LDAP Klassen (zum Beispiel Reseller creation (POST)) ist nicht umgesetzt.
  • "location" ist nicht umgesetzt. Liesse sich jedoch mit relativ kleinem Aufwand nach implementieren.

Lange Rede, kurzer Sinn:

  • Aufwand, das RestFullYii unsere Spezifikation anzupassen, scheint ziemlich gross zu sein. Aufwand selber zu machen wird in etwa gleich gross sein, wie wenn wir es selber komplett neu aufbauen.
Info CWI 2013-11-21
3 Next Steps:
  • Wir fällen Entscheid
  • Anschliessend besprechen wir Entscheid mit CWI.
To Do CAF/TMU/CWI/MEI 2013-11-22
4 Mapping of attributes
  • Abhängig vom obigen Entscheid.
Info All 2013-11-21
5 Collections (lists), siehe auch Field specifications and limitations:
  • Abhängig vom obigen Entscheid.
Info All 2013-11-21
6 Suche:
  • Wo definieren wir diese?
  • Gibt es einen Breich in der Definition, in der wir die globale Suche definieren müssen?
Info All 2013-11-21