Defenities van de views


Om WaihonaPedia data te kunnen begrijpen is het belangrijk voldoende van het platform te begrijpen waarop WaihonaPedia wordt gedraaid; in dit geval XWiki.

Kort onderzoek eind 2015 heeft aangetoond dat een WaihonaPedia functioneel veel overeenkomsten heeft metWiki en minder met een CMS (Content Management Systeem). Er zijn mogelijk wel andere types platformen waarop men WaihonaPedia kan maken en men kan overwegen om er een  volledige maatwerk van te maken. Maatwerk heeft natuurlijken verplichting om periodiek upgrade werk te voorzien. Een platform zal vanzelf upgrades aanbieden (of end-of-life! aankondigen=probleem).

Een wiki heeft sterke punten in het samen werken aan kennis, ervaring. Een nadeel is dat het standaard beperkte database functies heeft. Dit is o.a. waarom in deze fase van het project voor XWiki is gekozen; een wiki die deze database functies wel heeft.

Document

Create
Read
Update
Delete

Een Document in XWiki is een basis bouwsteen. Het kunnen maken, bekijken, wijzigen en verwijderen van een document is standaard functionaliteit binnen XWiki die we hier ook niet verder beschrijven.
Hoe dit binnen code te doen is echter wel basis functionaliteit die binnen bijna elke WaihonaPedia View met een Create, Read(toon), Update en Delete functie functie moet worden beheerst. Om onze code in deze context simpel te houden willen we hiervoor dat programmeurs een zelfde methodiek gebruiken.

Code hergebruik en ordening

De XWiki Documenten worden gebruikt om hergebruik mogelijk te maken;
Naamgeving van documenten en waar ze worden bewaard is van belang (zie ook rechten)

Vertalingen

WaihonaPedia heeft een internationale gebruikers groep.
Er moet bewust met vertalingen worden omgegaan en goede balans gevonden in welke zaken 'vertaald' worden door eindgebruikers (bv Topics, Ervaringsverhalen, Dimensions, ...) en welke zaken door 'functioneel beheer'

Eindgebruiker vertalingen

Een XWiki document ken een Titel en Content (met daarnaast nog allerlei metadata over een document)
Eindgebruikers kunnen middels de standaard Edit-view de Document vertalingen beheren. In de standaard EDIT-view zijn daarvoor twee panelen; Document Informatie en Document Vertalingen beschikbaar.

Voor programmeurs is het van belang dat er twee types 'Computed Fields' zijn voor titel en content waardoor bijvoorbeeld een titel in een keuzelijst en een titel en content in een veld binnen een custom view kan worden getoond en ook gewijzigd. Dit betekend dat er in de code rekening moet worden gehouden welke taal je wilt laten zien. Meestal is dat 'current language'. Dit is wat anders dan de 'default-language' van een doc.

Een voorbeeld van eindgebruiker vertalingen zien we bij de Class healthTopicsClass

  • key (key: String)
  • reference (reference: String)
  • description (description: Computed Field)
  • dimension (dimension: Database List)
  • Topic Title (topictitle: Computed Field)
  • parent (parent: Database List)

Zoals je ziet zijn er twee attributen van het type 'computed field'; Topic Title heeft kwa naamgeving al een hint dat het gekoppeld is aan het title attribuut van het topic document en de 'description' is gekoppeld aan de 'content' van het topic document.
Quiz:
$object.topictitle  
Wat zal dit laten zien?

  1. De titel van default language (meestal engelstalig)
  2. De titel in de current locale
  3. De titel van current language

 

Functioneel beheerde vertalingen

Binnen views moeten ook vertalingen worden gemaakt met name labels die gebruikers moeten helpen de applicatie te begrijpen.
Binnen XWiki/velocity zul je dan als programmeur iets moeten gebruiken als:
$services.localization.render('some.key')

De sleutel 'some.key' wordt opgezocht in een zg. 'On demand Translation Bundle' en als de sleutel daar niet kan worden gevonden zal XWiki nog gaan zoeken in globale bundles. Hoe globale bundles kunnen worden toegevoegd is buiten scope van deze pagina. Bij een mislukte zoek actie zie de sleutel in je view staan.
Omdat Views vaak een specifiek functie hebben wordt binnen WaihonaPedia veel gebruik gemaakt van On-Demand translation bundles. 

$services.localization.use('document', $documentReference)
$documentReference dient een reference te zijn naar een document: wiki:Space.PageWithTranslations

Het betreffende document dient voor elke taal een translation bundle te bevatten;
some.key=De vertaalde tekst die eindigt met een linefeed

Het spreekt voor zich dat elke key Uniek moet zijn, zo niet dan verschijnt de eerst gevonden key.
Een extra vertaling aanmaken in het document gebeurt zoals bij eindgebruiker vertalingen.
Het is binnen WaihonaPedia verplicht minimaal een Engelstalige vertaling op te leveren en daarnaast voor het Waihona project een NL-vertaling
Een best practise is om met een engelstalige vertaling te beginnen en deze af te werken totdat eindgebruikers gaan testen. Het maken van de nl vertaling dan pas doen omdat de engelse versie dan alle key's voor de app bevat. Immers als je reeds een vertaling hebt en dan nog key's moet toevoegen moet je dit in elke vertaling handmatig doen.

User

Groepen

Rechten

WaihonaPedia views

stakeholders model (supportgroep & partners )

supportgroep

Partners

extra user info

waihonaPediaUserProfileClass

Persoon met syndroom

personWithSyndromeClass

Persoon relatie met syndroom persoon

personToSyndromePersonRelationClass

Relatie type

roleTypeClass

Scorecards, Observaties

Observatie

observationClass

Type observatie

HealthListItemClass

Belangstelling

personHealthAttentionClass

Keuzelijst

een combinatie van classHealthDimensions en healthTopicsClass

Dimensions:

Topic's

Topic zwaarte (weight)

Overzichten

  • Medische Alarm kaart
  • Groei analyse grafiek
  • Milestone info-graphic

Data bestanden

Logo's

Illustraties

About the website contents

All of the information on this WebSite is for education purposes only. The place to get specific medical advice, diagnoses, and treatment is your doctor. Use of this site is strictly at your own risk. If you find something that you think needs correction or clarification, please let us know at: 

Send a email: info@cdlsWorld.org