News
iTosa- und Entwickler-Meldungen
Optimierung der Webseite
Angeregt durch einen iX-Artikel werden wir weitere Optimierungen an den iTosa-Applikationen vornehmen.
Begonnen haben wir zunächst mit der Ist-Analyse mittels der Firefox-Plugins:
Enthalten in diesen Tools sind auch ein paar Optimierungswerkzeuge, vor allem aber Hinweise zu Verbesserungsmöglichkeiten.
Einige der Punkte:
- Reduzierung der HTTP-Request - Zusammenfassung/Reduzierung der .js, .css und Image-Dateien
- Schnellerer Seitenaufbau – CSS so früh wie möglich, JS so spät wie möglich einbinden
- Geringere Dateigröße – Übertragungskomprimierung, JS/CSS-Verkleinerung(löschen von Kommentaren, Leerzeichen etc.), Bildkomprimierung(verlustfrei)
- Cacheunterstützung – Gültigkeitsheader mit langer Laufzeit
Vieles berücksichtigen wir zwar schon in unseren Projekten, die Reduzierung und Zusammenfassung der Dateien werden wir aber noch verbessern. Die CSS/JS-Positionierung war uns bisher unbekannt.
Es gibt noch weitere Ansätze, z.B. die Plazierung der Images in einem CDN (Content Delivery Network) oder einfach unter einer Subdomain.
Ersteres sind Dienste die sich auf die schnelle Auslieferung von Dateien spezialisiert haben. Die Subdomain ist ein Trick um die Browserbeschränkung der gleichzeitigen Downloads von einem Server zu umgehen.
Dieser Ansatz klingt zwar verlockend, doch verträgt er sich nicht unbedingt mit einer SSL-gesicherten Verbindung. Wir hatten früher schon testweise die JavaScript-Bibliothek prototype.js vom Google Server bezogen. Leider verursacht das eine Mixed-Content-Warnung beim Benutzer.
SimpleXML Text und XML gemischt
Ein Teil unseres Generators verarbeitet ein XML-Template und erzeugt daraus PHP-Code.
Unsere Lösung ersetzt aber nicht nur die Platzhalter sondern hat auch Aspekte einer DSL.
Das nachfolgende Beispiel macht Probleme bei der Verarbeitung mit SimpleXML.
Der erste code-Block enthält neben dem Code-Template auch noch weitere XML-Anweisungen.
<function name='setFieldRole_[#role.name]' modifier='public'>
<param name='value'/>
<code>
parent::setAttribute('Role_[#role.name]', $value);
<foreach in='role.pk' key='' value='pk'>
<code>
parent::setAttribute('Role_[#role.name].[#pk.name]', $value);
</code>
</foreach>
parent::store();
</code>
</function>
Mit SimpleXML lassen sich beide verarbeiten, allerdings nur getrennt.
Der Textteil im code-Block wird so ausgegeben:
parent::setAttribute('Role_[#role.name]', $value);
parent::store();
Das Iterieren über die Unterknoten des code-Knotens liefert den foreach-Knoten aber ohne Positionierung im Text.
foreach wird dadurch nicht zwischen den beiden Einzelanweisungen (setAttribute(), store()) ausgeführt, sondern am Anfang oder am Ende.
Eine Lösung dieses Problems war die Verarbeitung dieser Bereiche mittels DOM, wie hier angeregt SimpleXML : Edge Conditions wurde.
Der Quelltextausschnitt dazu:
$dom = dom_import_simplexml($xml);
foreach($dom->childNodes as $child){
if($child->nodeType == XML_TEXT_NODE)
$this->writeText($child->nodeValue);
else
$this->proceedNode(simplexml_import_dom($child));
}
Dieses Iterieren im DOM liefert jeden Textteil einzeln, so dass wir nach der Verarbeitung des foreach-Knotens unser gewünschtes Resultat erhalten:
parent::setAttribute('Role_[#role.name]', $value);
parent::setAttribute('Role_[#role.name].[#pk.name]', $value);
parent::store();
Webseite renoviert
Unser Team hat heute die Webseite auf den aktuellen Stand gebracht.
Neben einer aktuellen Wordpressversion wurden PlugIns für die Einbindung von Twitter und die Anzeige von Quellcode eingebunden.
Im Bereich Über uns gibt es jetzt ein Entwickler-Blog in dem wir über Herausforderungen in allen Bereichen des täglichen Entwicklerlebens berichten werden.
Thematisch geht es von konkreten Problemlösungen in PHP, JavaScript und C#, über die Nutzung von freien Bibliotheken bis hin zu Wordpress-Themes und -PlugIns.
Einträge aus unserem bisherigen, internen Entwickler-Blog werden schrittweise übertragen.
Individuelles Adressbuch, LiveDemo
Projekt iTosa hat heute eine überarbeitete Version des individuellen Adressbuchs bereitgestellt.
Anknüpfend an unsere bereits im Laborbuch vorgestellte Neugestaltung des Tutorialbereichs, haben wir das Adressbuch mit Gruppenzuordnung (Ankündigung, Tutorial) überarbeitet.
Neuerungen in diesem Tutorial:
- eine neue Strukturierung
- die Projektdatei zum Download
- einen Link zur Live-Demo
Adressbuch:
Diese Variante des individuellen Adressbuches, wird es nun ermöglichen beliebige Informationen zu den Adressgruppen abzuspeichern. Sei es nun ein Bild oder Notizen zu der Gruppe. Adressgruppen werden als eigenständiges Datenobjekt angelegt und mit den Kontaktdaten verknüpft. Somit kann jeder Kontakt einer oder mehrerer Gruppen zugeordnet werden.
Wie gewohnt ist die fertige Anwendung auf Knopfdruck sofort verfügbar.
iTosa Update 1.23
Projekt iTosa hat heute den Konfigurator aktualisiert.
Änderungen gegenüber der Vorversion:
- Mehrfachauswahl bei selbst definierten Datentypen wird jetzt beim Einsatz des Datentypes im Attribut eingestellt. Damit ist es möglich den selben Datentyp sowohl mit als auch ohne Mehrfachauswahl zu benutzen.
- Modelstruktur verändert (intern)
Änderungen am Generator
- Anmeldung durch drücken der Eingabetaste/ENTER
- Zugriffsrechte können in der fertigen Anwendung auf den Besitzer eines Datensatzes begrenzt werden, siehe Tuturial Berechtigungen(Bild)
- Menüstruktur lässt sich pro Benutzer festlegen. Die Zuordnung erfolgt bei den Zugriffsrechten. Menüpunkte können über den “Datentyp Menüpunkt” erweitert werden.
- Anlegen von Beziehungen bietet nun neben der Auswahlliste auch die Möglichkeit über eine Suche die beteiligten Datensätze auszuwählen.
- Gleichzeitiges erstellen von mehreren Beziehungen falls die Option “Beziehung anzeigen” / “Link zur Beziehungserstellung” im Konfigurator gewählt wurde.
- Darstellung von Grafiken und Dateien verbessert. Der Grafikhint/Linktext kann hinter dem Link mit “|” angegeben werden.
- Passwortfelder sind nicht leer, sondern enthalten “*****”
- Um die Leistungsfähigkeit des Servers zu erhöhen wurden alle Grafiken aus den Projekten ausgelagert und innerhalb des Servers zentral bereitgestellt.
- Bugfix: Das Logo wurde in der Anmeldemaske nicht angezeigt, siehe Forum: Logo weg
- Bugfix: Schon vorhandene Beziehungen stehen nicht mehr zur Auswahl.
- Bugfix: Auswahllisten mit zu langen Inhalten ragten aus dem Formularbereich heraus.
- Bugfix: Fehler bei falscher Verwendung vom Datentyp “Fortlaufende Nummer”
- Bugfix: Zusammengesetzte Primärschlüssel
- Bugfix: Fehler bei Verwendung von registrierten Namen
- Menügesteuerung umgestellt, Zurück-Button angepasst(intern)
- Mehrzeiliger Text formatierbar(TinyMCE+HTMLPurifier), aktivierung manuell (intern)
- PDF-Druck in Potrait oder Landscape (intern)
- Option zur mehrfachen, gleichzeitigen Anmeldung (intern)
- Datumsvalidierung vor Updateversuch (intern)
- manuelle Auswertungen weiter verbessert (intern)
- Verarbeitung von Arbeitsabläufen verbessert (intern)
- Zusätzlich Prüfung der Gültigkeit der Anmeldung zur Beschleunigung der automatischen Abmeldung (intern)
- Zweistufige Generierung der Oberfläche zur schnelleren und flexibleren Erstellung (intern)
- Neuere Version der Templateengine (http://www.smarty.net/) eingebaut (intern)
- Überarbeitung der Icons (intern)
- Abstrahierung zur Codereduzierung erhöht (intern)
- Auslagerung von Teilfunktionen in ein PlugIn-System (intern)
- Modelverarbeitung verbessert (intern)
Die neue Version steht nachfolgend zum Download bereit:
Laborbuch
Projekt iTosa zeigt Ihnen in diesem Tutorial am Beispiel eines biochemischen Labors wie Sie ein individuelles Laborbuch erstellen können.
Als Neuerung in unserem Tutorialbereich enthält dieses Tutorial:
- eine neue Strukturierung
- die Projektdatei zum Download
- einen Link zur Live-Demo
Diese Verbesserungen werden schrittweise in allen Tutorials Einzug halten.
Laborbuch:
Projektleiter, z.B. Forschungsgruppenleiter, planen Projekte und legen sie an. Daraufhin führen Experimentatoren Versuche durch und tragen ihre Ergebnisse ein. Meist gehen sie dabei nach festgelegten Protokollen vor, die ebenfalls eingetragen werden.
Wie gewohnt ist die fertige Anwendung auf Knopfdruck sofort verfügbar.
Frohes Fest & Jahresrückblick
Projekt iTosa wünscht allen Kunden und Unterstützern ein frohes Fest, erholsame Feiertage und einen guten Start ins neue Jahr.
Wir haben dieses Jahr fast jeden Monat ein neues Tutorial veröffentlicht. Auch im Dezember wird es ein neues Tutorial geben und damit einhergehend einige Neuerungen im Tutorialbereich, denen wir aber nicht vorgreifen möchten.
Auf Kundenseite konnten wir dieses Jahr einige neue Projekte bearbeiten, deren besondere Anforderungen in die laufende Entwicklung eingeflossen sind. Neben der Erweiterung bestehender Systeme aus den Immobilienbereich konnten wir unsere Erfahrungen in den Bereichen Vertrieb, Labor und Vereinsmanagement ausbauen.
Unser Konfigurator hat sich als stabil erwiesen während der Generator für die individuellen Verwaltungssysteme weiter gewachsen ist. Diese Erweiterungen sind sukzessive in das laufende System eingeflossen. Sie werden beim nächsten Konfiguratorupdate mit aufgeführt.
Berechtigungen
Projekt iTosa zeigt Ihnen in diesem Tutorial welche Möglichkeiten Rund um den Zugriffsschutz ihrer individuellen Anwendung bestehen.
Dieses Tutorial verwendet die zuletzt vorgestellte Eventverwaltung (Fitnessstudio) als Basis für die Benutzeradministration.
Schwerpunkte in diesem Tutorial sind:
- Erstellen von Gruppen und deren Einstellungen(Vollzugriff, Administrationszugriff)
- Verbindung von Benutzergruppen und Datenobjekten – Beispiel: Trainerdaten mit einen Benutzer der Gruppe Trainer verknüpfen
- Zugriffsbeschränkungen auf den Besitzer eines Datensatzes
Eventverwaltung
Projekt iTosa zeigt Ihnen in diesem Tutorial wie Sie in kurzer Zeit eine Eventverwaltung mit Mitarbeiterzuordnung erstellen können. Als Beispiel dient ein Fitnessstudio welches individuelle Kurse plant und Personal zuordnet.
Wie gewohnt ist die fertige Anwendung auf Knopfdruck sofort verfügbar.
In diesem Tutorial kommen die bekannten Techniken zum Einsatz, die zuletzt auch im Weinkeller Anwendung fanden.
Erstmalig wird in einen Tutorial auch auf die Rechtevergabe eingegangen.
Weinkeller in 10 Minuten
Dieses Tutorial zeit Ihnen wie Sie in nur 10 Minuten ihre individuelle Weinkellerverwaltung erstellen.
Wie gewohnt ist die fertige Anwendung auf Knopfdruck sofort verfügbar.
Ob Sie nun selbst über mehrere Weinkeller verfügen, oder einfach nur mehrere Regale Ihr Eigen nennen. Ob Sie die Temperatur und auch die Luftfeuchtigkeit erfassen möchten.
Mit Projekt iTosa lässt sich jedes Szenario einfach und schell umsetzen. Ganz so wie Sie es sich vorstellen, ohne Zwang durch fremde Vorgaben und Einschränkungen.
Für dieses Tutorial kommen Techniken zum Einsatz die bereits im Tutorial zur Gruppenverwaltung im Adressbuch vorgestellt wurden.





