ABI-Team-30 / Fresnel-Forms

A Protégé plugin for generating and adapting MediaWiki user interfaces for source ontologies
http://is.cs.ou.nl/OWF/index.php5/Fresnel_Forms
3 stars 1 forks source link

Mogelijkheid toevoegen voor het verdelen van labels en/of waarden over de 2 kolommen van een InformBox #51

Closed AlexMekkering closed 9 years ago

AlexMekkering commented 9 years ago

Om zowel labels als waarden (of één van beiden) te kunnen verdelen over de twee kolommen van een InformBox, dient hiervoor ondersteuning te komen in zowel GUI, het resulterende fresnel bestand, als de fresnel2wiki functionaliteit.

Dit issue is voortgekomen uit werkzaamheden aan #5.

jbachh commented 9 years ago

Uit 15-02-02 Agendapunten Scrum: @AlexMekkering kijkt naar CSS div,span,nested div en float ipv tabel als oplossing" Dus ik wacht nog even op een uitkomst hier van voor het implementeren in fresnel2wiki van colspan = 2 optie.

LloydRutledge commented 9 years ago

Mee eens met Joop. Laten we geen GUI optie maken specifiek voor colspan=2. Laten wel wel de huidige GUI CSS opties kunnen gebruiken. Maar dan moeten we de HTML en CSS in de gegeneerd wiki anders doen.

We hebben het nu over de default/aangenomen CSS die de huidige weergave maakt. En dan de CSS dat we kunnen invoeren voor de dubbelbreed labels. En dan de nieuwe wiki en/of HTML structuur die beide mogelijke maakt. Volgens mij moeten we waarschijnlijk veel van de huidige wiki-code voor boxes vervangen met expliciete HTML-tags om dit te kunnen.

@AlexMekkering Alex, wil je nog de volgende maken:

Een vraag hier voor Alex is of de CSS van de ontwerpen over de default cascades of die vervangt. Volgens mij is cascading meer verwacht en meer in de spirit van CSS.

@TeunTheunissen : is er een begrip van een "default CSS" in Fresnel? Zegt de spec iets over hoe Fresnel eruit moet zien zonder expres CSS of als HTML structuur (met browser-default CSS) en/of als gewoon CSS? En wat zegt de spec over hoe de expliciet CSS in Fresnel toegepast wordt: moet als cascading en dan over wat? Of gewoon als de enige CSS?

@jheijning , kan je Fresnel2wiki aanpassen zodat de nieuwe HTML gemaakt wordt. En bij default met de default CSS. En dan de gebruikers CSS als of ipv de default of als cascading op de default.

AlexMekkering commented 9 years ago

Een 1e versie van het document voor de syntaxis voor infoboxes staat klaar in https://svnext.ou.nl/INF_Studenten_ABI_team30/source/trunk/FresnelForms/design/Syntaxis%20van%20Infoboxes.docx

Deze is echter nog niet helemaal klaar, maar kijk maar even naar de globale opzet inclusief afwegingen voor CSS stylesheets. Met name de default invulling van de CSS styles verdient nog wat aandacht en tests en er moeten nog voorbeelden toegevoegd worden van gebruikersinvulling mbt dubbelbrede labels etc.

Cascading vindt dan plaats doordat de default CSS vooraan de complete CSS wordt toegevoegd. Gebruikerswijzigingen in de GUI (en vanuit het .fresnel bestand zelf) hebben dan altijd (geprioriteerd) voorrang op de default puur omdat ze later in de stijl gedefinieerd zijn. Een tweede mogelijkheid is om toch de Extensie:CSS voor SMW te eisen en dat we met FresnelForms CSS stylesheets in de vorm van aparte articles aan gaan maken waar vervolgens vanuit de verschillende templates en forms naar verwezen wordt. Hier is al wel ondersteuning voor in de default CSS; naar de class attributen kan dan in een stylesheet verwezen worden, maar dit is wat mij betreft iets voor in de toekomst.

In eerste instantie stel ik voor om het eenvoudig te houden en alleen inline style-attribuut te gebruiken. Hoewel het iets meer verbose is, scheelt dit een afhankelijkheid met een MW extensie en maakt een eerste implementatie eenvoudiger.

LloydRutledge commented 9 years ago

Leuk dat jullie dergelijk documenten maken. Even met mijn begeleiderspet op: misschien willen jullie dergelijke documentatie altijd beginnen en houden in de context waarin die uiteindelijke ingeleverd wordt. Zoals bij jullie scriptie document dat het is het belangrijkste. Dan de paper - daar zorg ik voor. Dan komt de instructie website. Ik ga die binnenkort beginnen op de openbare site. Maar dan in het Engels. Dus als jullie dingen vinden te documenteren, is het handig om te zien of je die kan beginnen niet als gewoon nog een aparte SVN document maar zo mogelijk als

1) deel van je scriptie document, ook op SVN natuurlijk, dan en/of 2) op de openbare wiki dat ik binnenkort opstel, dan en/of 3) de paper: direct erin zetten of tekst of losse ideeën naar me sturen.

Misschien heeft je echte begeleider Rik voorstellen over hoe je dingen dat je toch gat documenteren in de meest efficiënt benut en plek zet die meest efficiënt je lang termijn doelen dienen.

jbachh commented 9 years ago

Dank je voor het advies Lloyd.

Op dit moment ben ik bezig met implementatie in fresnel2wiki van de div- i.p.v. tabelstructuur. Alleen de unititest moet nog gedaan worden. In principe heeft fresnel2wiki nu alle functionaliteit die het al had. Zie http://abiteam30.lukylx.org:3080/mediawiki/index.php/TimTestConv . Ik moet nog wel experimenteren met de juist CSS instellingen om een betere weergave te krijgen.

In principe kan de "hide label" functie weg in de gui, hetzelfde zou nu immers ook met CSS instellingen bereikt kunnen worden.

TimTestConv is nog steeds op basis van TheFirm ontologie. De bronontologie op basis van de RDF van DBPedia is nog niet helemaal klaar, we zijn er mee bezig.

ps. vanavond ga ik nog de unittest weer aanvullen en dan is ie waarschijnlijk goed voor review.

jbachh commented 9 years ago

Unittest weer opgebouwd, alle functionaliteit van de tabel-versie zit er weer in. colspan niet meer nodig, zie TimTestConv. Alex aub review r343 en r346.

AlexMekkering commented 9 years ago

De wiki output ziet er al redelijk uit. De standaard output kunnen we natuurlijk nu eenvoudig bijschaven indien gewenst.

De implementatie is ook goed, al staat er nog wel veel uitgecommentarieerde code in die wat mij betreft verwijderd mag worden. (die kun je eventueel later nog middels subversion raadplegen indien nodig).

Vwb de hide label functionaliteit kan die inderdaad komen te vervallen, dit kan middels CSS worden opgelost, alsmede de hier genoemde brede labels/waarden.

AlexMekkering commented 9 years ago

Het designdocument https://svnext.ou.nl/INF_Studenten_ABI_team30/source/trunk/FresnelForms/design/Syntaxis%20van%20Infoboxes.docx is iets aangepast met een tabel met oplossingen voor veel voorkomende stijlwensen. Deze tabel kan naar behoefte worden aangevuld met stijlwensen die we tegenkomen en waarvan we denken dat die vaker kunnen spelen bij gebruikers.

Ik stel voor dat we de GUI aanpassingen voor het hiden van een label, zoals geïmplementeerd in #35, terugdraaien en de algemene ondersteuning laten voor wat die is. Een gebruiker kan namelijk handmatig het fresnel bestand hebben aangepast en een Property fresnel:label fresnel:none hebben gegeven. We blijven de fresnel oplossing dan ondersteunen, maar bieden alleen geen ondersteuning ervoor in de GUI omdat dit reeds door CSS gedekt wordt (bij toepassing van divs) en derhalve alleen maar extra complexiteit toevoegt.

LloydRutledge commented 9 years ago

@AlexMekkering, je hebt het als ik het goed begrijpt over twee soorten hidden: met Fresnel via fresnel:hideProperties property, en met CSS via display:none of visibility:hidden of equivalenten. En dus stel je nu voor om de GUI voor fresnel:hideProperties uit te schakkelen omdat display:none nu kan? Zo ja dan lijkt er volgens mij twee nadalen te zijn:

1) Werk om oude werk eruit te halen, lijkt inefficient 2) Fresnel zelf vindt hideProperties handig hoewel Fresnel ook de CSS hidden mogelijkheid heeft. Wat moeten we weten over Fresnel het beter kan dan Fresnel zelf niet weet?

Of begrijp ik iets niet goed?

AlexMekkering commented 9 years ago

Het gaat hierbij over hidden labels, dus niet de hidden properties zelf. Een label kun je met fresnel:label fresnel:none; hidden maken, maar dat kan ook met CSS. In de plugin zit nu een extra optie om een label te hiden, puur omdat we het nodig hadden voor onze infobox (met tables). Mijn punt is dat dit de GUI onnodig ingewikkelder maakt terwijl de gebruiker hetzelfde kan bereiken door het fresnel:labelStyle de CSS "display: none;" mee te geven.

Wel pleit ik ervoor om in het algemeen fresnel:label fresnel:none te blijven ondersteunen vanuit de opgeslagen fresnel (indien de gebruiker dit handmatig heeft aangepast.

AlexMekkering commented 9 years ago

Review van het verwijderen van het commentaar uit de code is OK. Deze kunnen we dus ook sluiten.