Translations
Info
All page names need to be in English.
en da  de  fr  it  ja  km  nl  ru  zh

Gsoc2012/Ideas

From TYPO3Wiki
Jump to: navigation, search

notice - This information is outdated


Check Gsoc2013

Contents

GSOC12/T3SOC12 - Project Ideas

TYPO3-Core-Updater

Brief explanation

An TYPO3 administrator should be noticed about new TYPO3-Releases/Security-Fixes and should easily update the installation from within the backend. Xavier Perseguers sketched this idea in a first mockup

[[1]]

Expected results:

An indicator/notice in the backend of a TYPO3 installation should show a new TYPO3-Version/Update has been released. Further there should be an update function to update the current installation from the backend.

Knowledge Prerequisite:

PHP, basic knowledge how to setup a TYPO3 installation

Skill level:

medium

Links

Possible Mentors:

Oliver Hader, Tobias Liebig, Andy Grunwald

Notice

Kay Strobach already started something



Package for "Bootstrap by Twitter" in the Frontend

Brief explanation

Create a extension/package to easily create websites based on Bootstrap, from Twitter. It should provide a set of extbase/fluid ViewHelpers, page templates, "grid elements" or "Content elements (fedext)" for all bootstrap components.

Knowledge Prerequisite:

PHP, HTML/JS/CSS, Bootstrap by Twitter, basic TYPO3 knowledge and basic Extbase/Fluid knowledge might be helpful

Skill level:

medium

Possible Mentors:

Tobias Liebig, Felix Oertel, Andreas Otto

Notice

Kay Strobach already started something. Also Claus Due has started to implement bootstrap components for his fedext extension.


Dashboard for TYPO3 v4 backend

Brief explanation

When backend user logs in, he wants to be greeted with his own personalized dashboard. Dashboard consists of widgets displaying various information about the system from CMS core (e.g. content, pages) through extensions (e.g. news, search) to external applications (e.g. Google Analytics, RSS reader). User can reorganize widgets, link and unlink widgets or create new widgets by configuration.

Expected results:

Implementation of this dashboard as an TYPO3v4 backend extension based on extbase/fluid.

Skill level:

medium

more info

https://forge.typo3.org/projects/typo3v4-dashboard and https://forge.typo3.org/issues/27486



more Ideas for TYPO3 v4

This is a list of ideas that float around in the community. If you think one of them is a good idea or gives you an inspiration for another idea, please come up with a more detailed description for it using the idea template, then use the proposal form to submit your idea.

TYPO3 in the cloud

Try to use the whole Amazon AWS product palette (and other cloud services), show that self-scalability works for TYPO3. Analysis of which components in TYPO3 do not work well with Cloud Infrastructures: I think of the Imageprocessing, Sessionhandling, Database Setup via Install tool, Exec of Shell commands (Think of TYPO3 on Azure).

Possibly mentored by Steffen Gebert and Thomas Esders.


Rewrite Backend-Modules in Extbase/Fluid

Many TYPO3 Backend modules are historically grown and based on old source code, which has many disadvantages in case of maintenance, coding styles, expandability and so on.

The idea is to rewrite one or more TYPO3 backend modules with the new way to create those modules: Extbase and Fluid.

Implement FAL drivers

The File-Abstraction-Layer (will be introduced in TYPO3 6.0) is a new way to store and reciebe files / media / assets from every service you want to. To use such services FAL need some custom drivers to use services like Flickr, AWS S2, WebDav, ... as storages.

This idea is to build those drivers to connect TYPO3s filehandling with external Services / APIs like Flickr, Dropbox, and so on.


Webdav Service to access FAL

Download files from FAL/TYPO3 through Webdav, authenticate through HTTP Auth, edit file locally and save it back to FAL/TYPO3.


Frontend-Extension for FAL

Implement a FAL-driven Frontend-Extension/Plugin to e.g. list certain files, provide secure downloads, handle file-uploads in the frontend, ...


Backend-Module to browse Extbase Domain Model Data

A browser (and CRUD) for domain objects in the backend (like the list module but for Extbase-based domain objects or like the FLOW3-Package "TYPO3.Browser" but for v4).


Migrations for Extensions

To script/automate deployments it could be useful to have "migrations" to handle e.g. database/table schema updates, install/activate extensions, etc. These "Migrations" should be revertible (up/down) and one must be able to apply/revert them by CLI.


REST API/Webservice for TYPO3

A REST-API is one of the "state of the art" kind of API. TYPO3 doesn`t support/provide this API out of the box yet. This idea is about to introduce a REST-API to basically CRUD data (pages, content, other tables) and extendable by extensions to introduce more commands. With this it it easy possible to connect third party systems, like mobile apps, to your TYPO3 installation.


jQuery in the TYPO3 v4 Backend

jQuery established itself as the default javascript framework for web applications. The goal of this project is to develop a good concept for including jQuery in the TYPO3 Backend. This is a rather delicate task, as there needs to be proper, stable and a flexible API for different jQuery versions and plugins. At the same time, it is necessary to implement a proper way for extensions to include their own jQuery version, plugin and make use of it in a flexible way. Namespacing the javascript code of the extension developers should be included in the API, also certain dependencies should be evaluated as well.

On top of everything, once the API is established, all occurences of Prototype.js and Scriptaculous in the TYPO3 Backend should be replaced by according jQuery methods.

Additionally, a proper documentation for the whole system is needed so that Extension developers can easily kickstart their own jQuery-supported modules in the TYPO3 Backend.

The tasks for the student are:

Create an API for TYPO3 Extension developers to load their own plugins and js code snippets in their extensions Add jQuery to the TYPO3 Core Evaluate which plugins should be shipped with the TYPO3 Core Replace existing prototype.js code with jQuery Make use of the new API calls in the TYPO3 Core Write an official TYPO3 documentation to show TYPO3 Extension developers how to include jQuery plugins, and how to include their own JavaScript code based on jQuery.

Notice

Daniel Sattler / Benjamin Mack already started something

TYPO3 Backend mit Twitter Bootstrap

Create a (alternative?) backend based on twitter bootstrap. As some parts of the core code are pretty old, one of the first step might be to cleanup and extract some inline-HTML from PHP-classes into Fluid-Templates.

This project might look not too hard at the first glance. be prepared for some really tough challenges.


Extbase Doctrine Query Language (DQL)

Brief explanation: Doctrine Query Language is what drives the persistence in Extbase's bigger brother FLOW3. Implementing DQL-parsing would bring compatibility without the need to backport the hole Doctrine2 integration.

Expected results: A query object should be able to create DQL from the existing methods (equals, contains, greaterThan, etc.) and the parser should be able to convert it into MySQL. The hole implementation should happen in an additional extension before being implemented into the core.

Knowledge Prerequisite: Knowledge of usage and behavior of extbase's query object is required as well as some basic knowledge about how extbase's persistence works.

Skill level: high


Generic jobqueue

Proceeding big data could need some time and it isn`n possible to do every calculation on the fly (e.g. precalculate statistics from huge databases).

For those jobs, queues were build. This idea is about to create a queue where (TYPO3-sepcific and non-specific) tasks can be added to be worked on over time asynchronous.


Mailing / Notification System

Many tools / extensions in the TYPO3 world need to inform the user about a status or a news (e.g. EXT:report, EXT:caretaker, EXT:direct_mail).

Those tools go their own way. This idea is about to create a modern and expandable for TYPO3 to deliver mailings or notifications to their recipients.


ESI-Support (Edge Side Includes)

Big systems need a intelligent way of caching mechanism. One of those proven mechanism are ESI (Edge Side Includes).

This idea is about to introduce such a way to make ESI usable in TYPO3.


Quality Assurance for TYPO3 code

Quality Assurance is a big topic in big and open source projects. This idea is to raise the ways of QA in TYPO3 development.

What ways are useful? What changes are needed? What tools are introduces in the community workflow? Be ready for changes!


Introduce Contexts like in FLOW3

Many modern systems provide different contexts for different environments (prroduction, development, testing, cli, ...).

This idea is about to introduce the way of contexts and contexts switching in TYPO3 to make the life of TYPO3 admins / developer easier.


Semantic content organizations

"Content can be organized Not only in Pages. We Need semantic, rules based or machine learned or even all Mixed" -- Suggested by @T3RevNeverEnd (http://twitter.com/T3RevNeverEnd/status/176745964164489217)


Graphics Manipulation

  • Refactor the GIFbuilder
  • An image editor for cropping, scaling, etc. images when uploading images would be very helpful

Form postprocessor to save to DB

https://forge.typo3.org/issues/33914


Password rules and password generator for FE and BE of TYPO3 V4

Brief explanation

At the time of security issues and global hacking it would be great if you could setup password rules and have an password generator that care about these rules.

Expected results

  • A backend module setting up the password rules (length, chars, special chars, numbers) for Frontend and Backend
  • FE Login modification so the FE login cares about the rules
  • BE Login modification so BE login care about the rules
  • Besides Passwort fields a "Generate" button that cares about

the defined rules

  • Check if default PW fits teh default rules or fit after changing rules

Knowledge Prerequisite

PHP, TYPO3 BE, FE Login, MD5, Salted PW, RSA-Auth

Skill level

medium

even more ideas

  • Improve the backend user interface
  • Replace HTMLarea RTE with TinyMCE
  • Community driven Help System
  • Performance improvements, primarily measured by memory footprint and response time
  • Core event system API
  • Create a way to handle "private" files - storing files outside of the webroot of a webserver
  • Improve the TypoScript Object Browser by making use of AJAX
  • Restructure the Extension Manager, make it easier to use
  • Create a way to have a difference view even when not having the "diff" tool at hand (like it is the case on Windows)
  • Improve the page module
  • Improve the list module
  • Module for .htaccess management
  • *you very own idea!*

Ideas related to FLOW3 or Phoenix

Backend module for Phoenix (like reports or dashboard)

Phoenix has basic module API now and the next step is to bring that to use, so especially a basic reports module or dashboard would be a nice to have improvement to Phoenix. Reports could include statistics about nodes / usage and similar reports as in TYPO3 v4 exist.


FLOW3 Admin Toolbar

FLOW3 has a stable version out since some time and we want to improve the developer experience even more by having an admin toolbar that displays various system and debugging relevant data to developes, like times for certain actions, routing information, persistence information, memory usage, log entries.


TYPO3CR REST API

The TYPO3CR is the data structure that will contain all of TYPO3 Phoenix contents, so it could be interesting to have a REST API in place for alternative backends (like mobile editing backends etc.)


More features for the Party package

(like person relations - maybe even registration controllers)

The FLOW3 Party Package comes with all basics for Person management, but it could be interesting to provide more detailed models that include relations and even a basic registration form for faster kickstarting own registrations.

The result could be a change to the Party Package or some new Package that ships those extended features.

Other stuff

  • PubSubHubbub (PuSH) Support either in the core or an extension like tt_news
  • Implement a way to create standardized themes for the frontend
  • Implement a theme repository