Blogthemen filtern:

Unsere Blogthemen

Pünktlich zum Neubau der Firmenzentrale in Flintbek präsentiert sich L und M, ein schon langjähriger Kunde vom networkteam, mit einem frischem und modernen Design.

Der L und M Relaunch basiert weiterhin auf dem WCMS TYPO3 und kann von Kundenseite aus weiter gepflegt werden. Das Design wurde modern und schlicht gehalten, wirkt aber dennoch durch einzelne Design-Elemente sehr erfrischend. Die Startseite sorgt für viel Animation und einer interaktiven Unternehmenspräsentation auf Basis von JavaScript.

Die verschiedenen Bereiche, die das IT Systemhaus L und M anbietet, werden durch einen animierten Bilderwechsel (Slideshow) vorgestellt. Auch die beiden Hauptbereiche, IT- und Drucklösungen, werden übersichtlich in einer "Tab-Box" dargestellt.

Der "Virtuelle Rundgang" dient, anhand des Neubaus in Flintbek, zur gesamthaften Darstellung der einzelnen Bereiche in Tooltips.

Lassen auch Sie sich durch das Unternehmen führen und besuchen Sie die L und M Website.

22. Juli 2011

Ich möchte diese Gelegenheit nutzen, um mich als neues Mitglied des networkteam kurz vorzustellen.

Mein Name ist Thilo Kressdorf und ich bin nun seit knapp 2 Monaten ein Teil des networkteam und werde am 01.08.2011 eine Ausbildung zum Mediengestalter für Digital- und Printmedien beginnen. Parallel zu meiner Ausbildung habe ich am 15.05.2011 ein Studium im Bereich Grafik-Design an einer Hamburger Kunstschule begonnen.

Schon in der Schulzeit habe ich mich für Kunst, digitale Bildbearbeitung, Webdesign etc. interessiert. Und warum nicht das Hobby zum Beruf machen?

Nach einem ersten zweiwöchigen Praktikum war mir bereits klar, dass networkteam die richtige Agentur für mich ist. 
Lockeres Betriebsklima, nette Kollegen, bestes Know-how und einen 1A Kaffee. Das Gesamtpaket war einfach perfekt: „Wo soll ich unterschreiben?“

Und so ist es dann auch geschehen.

Ich freue mich auf den Beginn meiner Ausbildung, neue Herausforderungen und weiterhin auf gute Zusammenarbeit.

10. Juni 2011

Welcher Test ist der richtige?

In der Entwicklung mit FLOW3 spielen Tests eine große Rolle. Das Tests dabei wartbar und aussagekräftig sind, erfordert einiges an Erfahrung beim Test-Driven-Development. Wichtig ist zwischen den verschiedenen Arten von Tests zu unterscheiden und für den richtigen Einsatzzweck anzuwenden:

Unit-Tests sind ein wichtiger Bestandteil zur Steigerung der Qualität und für eine größere Sicherheit bei zukünftigen Änderungen. Dabei wird jeweils nur eine Code-Einheit (z.B. eine Klasse) ohne größere Abhängigkeiten getestet. Ein fehlgeschlagener Unit-Test kann die Frage nach dem genauen Ort eines Problems oder einer inkompatiblen Änderung beantworten. Auch sind Unit-Tests die eigentliche Grundlage für Test-Driven-Development mit einem Test-First-Ansatz (also zuerst einen Test schreiben der fehlschlägt, dann die Implementierung).

Aber: selbst wenn alle Unit-Tests laufen, heißt das noch nicht, dass das Gesamtsystem zuverlässig läuft. Ausserdem sind Unit-Tests aus meiner Erfahrung bei der ersten Implementierung von ganz neuen Features (z.B. ein neues Persistenz-Backend wie das CouchDB-Package) unzureichend und störend, da die Richtung der Entwicklung oftmals noch nicht klar ist und über viele Schichten des Systems hinweg gearbeitet wird.

Functional-Tests in FLOW3 sind ein noch recht neues Feature um das System mit (fast) allen Abhängigkeiten testen zu können. Dabei steht das komplette FLOW3 mit Dependency Injection, AOP etc. in einem speziellen Kontext Testing zur Verfügung. So kann z.B. einfach der Versand von E-Mails oder die Datenbankverbindung für Tests umkonfiguriert werden.

Gerade für das Implementieren neuer Features können am Anfang gut Functional-Tests für eine automatische Überprüfung der Ziele benutzt werden. Wer im Browser in einer Webanwendung immer dieselben Schritte macht bis der Code das richtige tut, sollte vielleicht überlegen, ob Functional-Tests nicht Zeit einsparen könnten.

Der wichtigste Punkt für Functional-Tests ist für mich aber die Sicherheit, dass ein Feature im kompletten System mit allen Packages und Abhängigkeiten funktioniert. Generell sollte für jedes Szenario einer User-Story, also jedes zentrale Feature einer Applikation ein Functional-Test hinterlegt werden. Dabei ist es nicht wichtig jeden Ausführungspfad zu testen, das können auch Unit-Tests erledigen.

Functional-Test Tricks

1. Partielles Mocken von Objekten

Dabei werden Abhängigkeiten eines Objekts zum Teil durch ein Mock ersetzt. Nützlich für schwierig zu konfigurierende und zu testende Abhängigkeiten, z.B. Mailversand, externe Webservices oder Simulation eines Requests (die Helper-Methode sendWebRequest der FunctionalTestCase-Klasse nutzt selber diesen Trick). Richtig angewendet kann man damit zwar viele Schichten des Systems testen, aber bestimmte Abhängkeiten ausschließen.

2. Fixture Factories für Testdaten

Natürlich brauchen Functional-Tests irgendwann auch ein fertig instanziiertes Model als Grundlage. Recht lästig wird es, wenn jedesmal bestimmte Eigenschaften gesetzt werden müssen und dieses dann in verschiedenen Tests wiederholt wird. Auch Tests sollten nicht zu viel Redundanz aufweisen. Änderungen am Model und Änderungen in der Validierung verursachen dann viel Arbeit.

Model. Bauen. Redundanz? Da gibt es doch dieses Factory-Pattern? Genau. Ein wunderbarer Anwendungsfall. Mit ein bisschen Flexibilität gepaart, können durch eine Fixture-Factory viele Zeilen Testcode vereinfacht werden.

Nehmen wir z.B. ein Customer-Model für Kundendaten. Eine solche Factory könnte eine Methode buildValidCustomerbereitstellen, die ein Objekt baut und gleich mit den richtigen Beispiel-Eigenschaften versieht. Wenn dann noch Eigenschaften in einem Array zum Überschreiben übergeben werden können, sind auch Tests mit Abhängigkeiten auf bestimmte Werte in Eigenschaften gut lesbar und unterschiedliche Varianten eines Objektes möglich.

Mit einer zusätzlichen Method createValidCustomer könnte man dann auch das Repository im Functional-Test sparen und das Objekt direkt zum Repository hinzufügen.

class Customers {
 
  protected $validCustomerProperties = array(
    'customerNumber' => '123456',
    'emailAddress' => 'john.doe@example.com',
    'firstname' => 'John',
    'lastname' => 'Doe'
  );
 
  public function buildValidCustomer(array $overrideProperties) {
    $properties = array_merge($this->validCustomerProperties, $overrideProperties);
    $customer = new \F3\MyPackage\Domain\Model\Customer();
    foreach ($properties as $propertyName => $propertyValue) {
      if (\F3\FLOW3\Reflection\ObjectAccess::isPropertySettable($customer, $propertyName)) {
        \F3\FLOW3\Reflection\ObjectAccess::setProperty($customer, $propertyName, $propertyValue);
      }
    }
    return $customer;
  }
 
}
class CustomersTest extends \F3\FLOW3\Tests\FunctionalTestCase {
 
  static protected $testablePersistenceEnabled = TRUE;
 
  /**
   * @var \F3\MyPackage\Tests\Function\Fixtures\Domain\Model\Customers
   */
  protected $customers;
 
  public function setUp() {
    parent::setUp();
    $this->customers = $this->objectManager->get('F3\MyPackage\Tests\Function\Fixtures\Domain\Model\Customers');
  }
 
  /**
   * @test
   * @expectedException \F3\FLOW3\Persistence\Generic\Exception\ObjectValidationFailedException
   */
  public function customerEmailAddressHasToBeUnique() {
    $customer1 = $this->customers->buildValidCustomer(array('emailAddress' => 'foo@bar.com'));
    $customer2 = $this->customers->buildValidCustomer(array('emailAddress' => 'foo@bar.com'));
    $this->customerRepository->add($customer1);
    $this->customerRepository->add($customer2);
    $this->persistenceManager->persistAll();
  }
 
}

Was uns direkt zum nächsten "Trick" bringt: dem effektiven Testen von Exceptions in Tests.

4. Test von Exceptions

PhpUnit bringt eine einfache Möglichkeit mit sich Exceptions zu erwarten. Ein mit @expectedException (wie im Beispiel oben) annotierter Test stellt sicher, dass eine Exception mit dem angegebenen Typ geworfen wurde.

Was aber, wenn die Eigenschaften einer Exception relevant sind? Nehmen wir z.B. eine Exception, die bei Validierungen geworfen wird, und die ein Validierungsergebnis (F3\FLOW3\Error\Result) beinhaltet. Wenn ein Test sicherstellen soll, dass die richtige Eigenschaft als Fehlerhaft markiert wurde, macht es Sinn, die Exception abzufangen, die Testerwartung durch ein Assert anzugeben und die Exception wiederum zu werfen, damit ein @expectedException für uns den Rest erledigt und den Test gut lesbar dokumentiert.

class CustomersTest extends \F3\FLOW3\Tests\FunctionalTestCase {
 
  // ... Set up dependencies
 
  /**
   * @test
   * @expectedException \F3\MyPackage\Exception\ValidationException
   */
  public function createCustomerWithMissingEmailAddressThrowsValidationException() {
    try {
      $this->customerService->createCustomer($this->customers->buildValidCustomer('emailAddress' => ''));
    } catch (\F3\MyPackage\Exception\ValidationException $exception) {
      $this->assertTrue($exception->getResult()->forProperty('emailAddress')->hasErrors());
      throw $exception;
    }
  }
 
}

Testen testen testen ...

Es gibt noch viele weitere interessante Bereiche des Testings von Webanwendungen mit PHP und FLOW3. Dazu gehört sicherlich auch die richtige Anwendung von Mock-Objects und vor allem das Schreiben von aussagekräftigen und lesbaren Tests. Es bleibt also noch Platz für den einen oder anderen Folgeartikel...

Aus aktuellem Anlass: Wir suchen erfahrene PHP-Entwickler, die unser Team verstärken wollen und Lust auf spannende PHP-Projekte der nächsten Generation z.B. mit FLOW3 Entwicklung haben.

27. Mai 2011

Dependency Injection

Dependency Injection ist ein Entwurfsmuster (Design Pattern), dass helfen soll, Abhängigkeiten eines Objektes in der objekt-orientierten Programmierung einfacher aufzulösen. Es findet eine Umkehr der Steuerung (Inversion of Control) statt, um das Objekt von unnötigen Verbindungen zu seiner Umwelt zu befreien, die es nur für die Auflösung von Abhängigkeiten, nicht aber für seine eigentliche Aufgabe benötigt. Die Verantwortung für das Auflösen der Abhängigkeiten wird aus dem Objekt in das umliegende Framework, in unserem Falle Extbase, verlagert.

8. April 2011

Git? Gerrit? Jenkins?

Am 26.01.2011 zogen Extbase, Fluid und das Blog Example aus der bisherigen Versionsverwaltung SVN nach Git um. Git bietet viele Vorteile gegenüber SVN, vor allem das dezentrale Arbeiten auf einer eigenen Kopie des Repositories (inklusive der gesamten Historie) und die viel flexiblere Behandlung von Branches.

Git bringt viel mehr Möglichkeiten mit sich - zu branchen, zu mergen, zu cherry-picken und zu squashen - und hat damit natürlich eine wesentlich steilere Lernkurve als SVN. Ich will euch hier einen kurzen Einstieg in Git geben, der euch alles an die Hand gibt, was ihr zum Arbeiten braucht. Man sollte sich aber nichts vormachen...  auch nach Monaten mit Git (und Gerrit) lernt man immer noch ständig etwas Neues dazu. ;-)

25. Februar 2011

Bereits 1923 entwickelte die Gebr. Schröder GmbH die erste Amboss-Schere der Welt. Heute sind die Scheren für den professionellen Einsatz im Wein-, Obst-, und Gartenbau sowie für vielfältigste Anwendungen in der Industrie weltweit unter der Marke "Original LÖWE" bekannt. Und die Produktpalette wird stetig um Innovationen erweitert.

Das moderne Unternehmen startet das Jahr 2011 mit einem schneidigen, komplett überarbeiteten Webauftritt (zu erreichen unter www.original-loewe.de), der von unserer Agentur mit dem Content-Managementsystem TYPO3umgesetzt wurde. Viele neue Features lassen die Besucher der Website regelrecht in die Welt der Scheren eintauchen und machen den nüchternen Prozess der Informationsbeschaffung zu einem Erlebnis. Diese Neuerung ist Teil einer Umgestaltung der gesamten Geschäftsausstattung. Kunden der Gebr. Schröder GmbH dürfen sich also auch auf neu gestaltete Kataloge und Flyer freuen.

23. Februar 2011

Am 26. Januar 2011 wurde erstmals in der TYPO3 Geschichte eine Version als sogenannter Long Term Support Release (LTS) veröffentlicht. Diese aktuelle Version TYPO3 4.5 wird mindestens 3 Jahre mit Updates versorgt. Der Hintergrund dieser Entscheidung liegt in der Häufigkeit aktuell erscheinender Major Releases. Zuletzt wurden alle 6 Monate neue Haupt-Versionen von TYPO3 veröffentlicht und der aktive Support einer Version wurde demnach nach relativ kurzer Zeitspanne eingestellt. Wird der Support einer TYPO3 Version eingestellt, bedeutet dies für die Nutzer einen gewissen Zwang, auf die neuere Major Version zu aktualisieren. Unter anderem durch die Integration neuer Features und die Anpassung des Interfaces, ist der Umstieg vor allem für Redakteur nicht immer einfach. Mit der Veröffentlichung eines ersten LTS-Releases besteht so die Möglichkeit für Nutzer, zumindest über drei Jahre, an einer TYPO3 Version festhalten zu können.

Übersicht: TYPO3 Release Zyklen

Neuer, hübscher, moderner und schneller

Ein Aspekt in TYPO3 4.5, der sich über diverse Bereiche des Systems erstreckt, bestand in der Optimierung und Erneuerung der Benutzeroberfläche. Während der T3UXW09 (TYPO3 User Experience Week 2009) wurden einige Konzepte und Ideen entworfen, die bislang nur teilweise ihren Weg in das CMS gefunden haben. Mit TYPO3 4.5 werden nun weitere Optimierungen ihren Weg in das Backend und zum Teil auch in das Frontend finden. Zu diesen Anpassungen gehören unter anderem die Nutzung neuer Icons im Backend, wie zum Beispiel die Flaggen der unterschiedlichen Landessprachen oder ein ansprechenderes Layout für Fehlermeldungen.

Im gesamten Backend wurden die alten Framesets entfernt und durch einen ExtJS basierten Viewport ersetzt. Dieser bringt Performance-Vorteile sowie einfachere und einheitlichere Optionen für die Manipulation der Backend-Ansichten mit sich. Über die ExtJS API wurde eine flexible Anpassungs-Möglichkeit für Context Menüs geschaffen und auch der neue ExtJS-basierte Pagetree bringt eine Reihe neuer Features mit sich - darunter optimiertes Drag&Drop-Verhalten oder direktes Editieren von Seitentiteln.

Redakteure, Administratoren, Entwickler - Neue Features für Alle

Workspaces

Für TYPO3 4.5 stellt insbesondere das Workspaces Modul einen Bereich dar, der großen Änderungen und vor allem Optimierungen unterworfen wurde. Hierbei wurde nicht nur das Look&Feel komplett überarbeitet, sondern die Konfiguration und Nutzung optimiert und sowohl für Redakteure als auch für Administratoren vereinfacht. Während der Arbeit innerhalb eines Workspaces werden von den bearbeiteten Inhalten oder Seiten Kopien der aktuellen Version angelegt. Zudem wurde das sogenannte Inline Relational Record Editing (IRRE) in das Workspace Modul integriert und der ursprüngliche "draft workspace" entfernt und in einen echten Workspace migriert.
Das neue Workspaces Modul stellt die erste System Extension dar, welche komplett auf Extbase und Fluid  sowie einen ExtJS Skin aufbaut.

Live-Search

Zusätzlich zu der bekannten TYPO3-internen Suche wurde eine neue Suche integriert, welche die internen Suchoptionen um eine Live-Search-Funktionalität erweitert. So werden dem Suchenden direkt in Form eines Dropdowns passende Suchergebnisse aufgelistet, was den Weg zu gesuchten Elementen deutlich vereinfacht.

Workspaces: Änderungs-Übersicht

Live-Search

Datei-Nachbearbeitung

Über die Integration eines neuen Hooks der die Nachbearbeitung von hochgeladenen Dateien ermöglicht erhalten zum Beispiel Redakteure die Option übergroße Bilder nach dem Hochladen zu bearbeiten und können so auf die Nutzung eines externen Bildbearbeitungs-Programms verzichten. So wird die Medienverwaltung nicht durch zu große Bilder überflutet, welche möglicherweise nie in ihrer Original-Qualität verwendet werden würden.
Eine erste Extension wurde bereits entwickelt, die Gebrauch von dieser neuen Funktionalität macht. "image_autoresize" verkleinert Bilder automatisch nach deren Upload, sofern sie eine konfigurierte Maximal-Größe überschreiten.

Extension-Manager

Auch der Extension Manager wurde rundum erneuert. Eine API wurde geschaffen, die flexible Nutzungsmöglichkeiten, auch von Außen, ermöglicht und alle Klassen und Funktionen wurden refactored. Den Anfang machte ein XMLParser, welcher XMLReader und Stream nutzt und damit viele Vorteile bringt, darunter insbesondere den sparsamen Umgang mit Arbeitsspeicher.

Auch am Interface des Extension Managers hat sich einiges verändert. Die Auswahl der dargestellten Extension-Liste erfolgt nicht mehr über ein Drop-Down, stattdessen wurde die aus Inhaltselementen bekannte Reiter-Optik in den Extension Manager übernommen. Die Liste dargestellter Extensions besteht nun aus ausklappbaren Zeilen. Innerhalb jeder Zeile werden im ausgeklappten Zustand wichtige Detail-Informationen zu der jeweiligen Extension dargestellt. Innerhalb der Extension Repository Auflistung ist es nun sogar möglich per Rechts-Klick auf eine Extension, direkt die gewünschte verfügbare Version herunterzuladen.

Grid View - Der Backend Layout Wizard

Der neue Grid View ermöglicht das Nachbilden des eigentlichen Webseiten-Layouts im Backend ohne die Nutzung von TemplaVoilà. Die Idee zur Entwicklung eines Backend Layout Wizards entstammt der T3UXW09 und wurde infolgedessen zunächst in Form der Extension "modernbe" integriert. Die Extension erfreute sich großer Beliebtheit, weshalb beschlossen wurde, ihre Funktionen in den TYPO3 Core zu übernehmen. Damit ist es nun möglich in den Eigenschaften einer Seite ein passendes Grid für den jeweiligen Seitenbaum auszuwählen. Per Klick-Interface sind diese Anpassungen einfach möglich und zudem per TypoScript anpassbar.

Extension Manager

Weitere Features und Optimierungen

Die erwähnten Neuheiten und Optimierungen stellen nur einen Teil der Features von TYPO3 4.5 dar. Auch aus Entwickler-Sicht hat sich eine Menge getan, um die Entwicklung für und mit TYPO3 zu optimieren. Einige weitere Neuheiten sind unter anderem:

  • Install Tool: Es findet ein Vorab-Check statt, ob benötigte PHP-Erweiterungen verfügbar sind
  • Modul Funktionen: Beim Anlegen mehrere Seiten kann nun für jede Seite der Typ ausgewählt werden
  • Inhalte: Neue Übersetzungen und Inhalts-Kopien sind per Default versteckt
  • Link-Validator: Überprüfung der Funktionalität von internen, externen und Datei-Links (auch als Scheduler-Task. ggf. mit Protokoll-E-Mail, konfigurierbar)
  • Seiten Modul: direkter Link zum Listen Modul innerhalb System Ordnern
  • Frontend Editing: basiert nun ebenfalls auf ExtJS und verfügt über eine Kontrollzeile, welche an der oberen Seitenzeile eingeblendet wird
  • RTEhtmlarea: Wortanzahl-Anzeige, Erhalten von kopierten Skype-URLs, Funktionen zur Bereinigung von per Copy&Paste eingefügten Texten (z.B. im Fall von MS Word), Attribut-Dialog (z.B. zur Pflege von IDs), CSS-Stile für Tabellen - auch ohne blockstyle
  • eine neue Bibliothek für das Versenden von E-Mails nach den üblichen Standards (RFC5322) wurde integriert
  • RDFA-Unterstützung (RDF = Resource Description Framework)
  • Admin Panel: wurde an das Backend-Design angepasst
  • Backend-News: ein neuer Datentyp, welcher von Administratoren auf root-Ebene einer Installation gepflegt werden kann, die News werden auf der Login-Seite unterhalb der Login-Felder dargestellt
  • neue E-Mail-API: SwiftMailer
  • E-Mails können für das Debugging nun auch als Dateien im System abgelegt werden
  • Standard-Zeichensatz: UTF-8
  • t3editor: erlaubt nun Syntax-Hervorhebung beim Editieren von Dateien im fileadmin (z.B. HTML, SQL, XML) und ermöglicht das direkte Editieren von referenzierten Dateien innerhalb der Konfigurations-Ansicht, die Änderungen werden dann automatisch in die Originaldatei übernommen (u.a. von Tobias Liebig entwickelt)
  • Sprite-Generator: nun auch für Entwickler innerhalb TYPO3 nutzbar
  • Scheduler: Versteht nun alle Syntax Features, welche im Unix Manual zu finden sind
  • TypoScript: neue cObjects: "FLUIDTEMPLATE" und "SVG", stdWrap in allen Eigenschaften integriert
  • Extbase: unterstützt Dependency Injection (u.a. von Felix Oertel entwickelt)
  • Fluid: mit der Integration des erwähnten Fluid-cObjects kann Fluid nun auch außerhalb Extension für das Templating der kompletten Webseite verwendet werden, zudem neu: Widget Support
  • Performance: Caching Framwork und Garbage Collection integriert
  • Cross-Site-Request-Forgery Protection: Out-of-the-box protection für core Features
  • PHP safe_mode deprecated und wird ab TYPO3 4.6 eingestellt
  • Prepared queries: werden nun von der TYPO3 Datenbank API bei Zugriffen auf die Datenbank per SQL unterstützt

Fazit

TYPO3 4.5 bietet, neben dem Vorteil des verlängerten Supports, eine große Bandbreite neuer, interessanter Features und Optimierungen, welche sowohl für Entwicklern als auch für Redakteuren viele Vorteile und Vereinfachungen mit sich bringen. Als TYPO3 Agentur freuen wir uns auf den produktiven Einsatz der neuesten TYPO3-Version, die eine stabile Basis für unsere Kunden darstellt und empfehlen für neue Projekte auf TYPO3 4.5 zu setzen, um die langfristige Unterstützung dieser Version nutzen zu können.

28. Januar 2011

"Inspiring people to party!"

Die kommende TYPO3-Version ist eine ganz besondere: Als Long-Term-Support Release wird TYPO3 4.5 besonders lange unterstützt und bietet viele neue Funktionen. Dazu werden wir aber in einem folgenden Blog Post noch weiteres berichten.

Als besonderes Release soll dieses mit vielen Release Partys international gefeiert werden. TYPO3-Agenturen, Usergroups und Anwender auf der ganzen Welt sind aufgerufen in der Release-Woche (ab dem 26. Januar 2011) mit einer Party in ihrer Stadt das Release zu bewerben und TYPO3 als stabiles Open Source CMS zu feiern.

Um die Release Partys zu bewerben und als Werbematerial für Release Party Veranstalter haben wir für TYPO3 eine Reihe von Bannern entworfen. Diese sind ab sofort unter http://wiki.typo3.org/Release_Party/TYPO3_4.5 zu finden.

Natürlich werden auch wir das Release feiern, wo und wie steht jedoch noch nicht genau fest.

TYPO3-45-468x60.gif

TYPO3-45-180x120.gif

TYPO3-45-125x125.gif

TYPO3-45-89x31.gif

14. Januar 2011

networkteam erzählt zum Ausklang des Jahres die Geschichte eines Teams, das sich das feste Ziel gesetzt hat, mit einem typisch unkonventionellen Projekt mehr Weihnachten in die Webagentur einziehen zu lassen. "Ein Baum, ein Team" ist das Motto des interaktiven Märchenbuchs, das die verschiedenen Projektphasen illustriert und dabei sowohl die gemeinsame als auch die in Teams spezialisierte Arbeit zeigt.

Kiel, Kleiner Kuhberg 42, im Dezember

Draußen schneit es heftig. Das Jahr nähert sich dem Ende und die Projekte für das Jahresende sind eingeplant. Im neuen Büro wird es immer gemütlicher und man könnte behaupten es kehrt Besinnung ein. Doch etwas fehlt...

Wie es weitergeht:
www.networkteam.com/weihnachten

Wir wünschen unseren Kunden, Geschäftspartnern und Freunden viel Spaß mit unserem Weihnachts-Special, frohe Weihnachten und einen guten Rutsch ins neue Jahr.

20. Dezember 2010

Die buchner consulting gmbh hat es sich zur Aufgabe gemacht therapeutische Praxen und Einrichtungen in betriebswirtschaftlichen Fragen zu beraten. Die Angebotspalette ist sehr umfangreich. Die Themen der in diesem Zuge angebotenen Seminare reichen von „Qualitätsmanagement für die Praxis“ bis hin zu „Hilfen zur erfolgreichen Existenzgründung“.

Die Planung und Durchführung von Seminaren, so wie sie auch von der buchner consulting gmbh angeboten werden, bedeutet einen erheblichen Organisationsaufwand. Unsere Antwort ist Academy - eine eigens für diesen Zweck entwickelte Software-Lösung. Academy bietet eine geeignete Plattform um unter anderem Prozesse wie Datenerfassung, Terminabstimmung oder Kommunikation auf einer Basis zu vereinen und so die Planungs- und Ablaufeffizienz bei der Verwaltung von Seminaren merklich zu steigern. Viele Arbeitsschritte werden vereinfacht oder sogar automatisiert. Die zentrale Datenhaltung sorgt für mehr Übersicht und einen schnellen Ablauf bei der Durchführung einzelner Arbeitsschritte. Den Benutzern des Systems können verschiedene Rechte zugewiesen werden, so dass die bereitgestellten Funktionen optimal auf die Bedürfnisse der einzelnen Benutzerrollen abgestimmt sind.

6. Dezember 2010