Recherche avancée

Médias (91)

Autres articles (100)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (15142)

  • How Piwik uses Travis CI to deliver a reliable analytics platform to the community

    26 mai 2014, par Matthieu Aubry — Development, Meta

    In this post, we will explain how the Piwik project uses continuous integration to deliver a quality software platform to dozens of thousands of users worldwide. Read this post if you are interested in Piwik project, Quality Assurance or Automated testing.

    Why do we care about tests ?

    Continuous Integration brings us agility and peace of mind. From the very beginning of the Piwik project, it was clear to us that writing and maintaining automated tests was a necessity, in order to create a successful open source software platform.

    Over the years we have invested a lot of time into writing and maintaining our tests suites. This work has paid off in so many ways ! Piwik platform has fewer bugs, fewer regressions, and we are able to release new minor and major versions frequently.

    Which parts of Piwik software are automatically tested ?

    • Piwik back-end in PHP5 : we use PHPUnit to write and run our PHP tests : unit tests, integration tests, and plugin tests.
    • piwik.js Tracker : the JS tracker is included into all websites that use Piwik. For this reason, it is critical that piwik.js JavaScript tracker always works without any issue or regression. Our Javascript Tracker tests includes both unit and integration tests.
    • Piwik front-end : more recently we’ve started to write JavaScript tests for the user interface partially written in AngularJS.
    • Piwik front-end screenshots tests : after each change to Piwik, more than 150 different screenshots are automatically taken. For example, we take screenshots of each of the 8-step installation process, we take screenshots of the password reset workflow, etc. Each of these screenshot is then compared pixel by pixel, with the “expected” screenshot, and we can automatically detect whether the last code change has introduced an undesired visual change. Learn more about Piwik screenshot tests.

    How often do we run the tests ?

    The tests are executed by Travis CI after each change to the Piwik source code. On average all our tests run 20 times per day. Whenever a Piwik developer pushes some code to Github, or when a community member issues a Pull request, Travis CI automatically runs the tests. In case some of the automated tests started failing after a change, the developer that has made the change is notified by email.

    Should I use Travis CI ?

    Over the last six years, we have used various Continuous Integration servers such as Bamboo, Hudson, Jenkins… and have found that the Travis CI is the ideal continuous integration service for open source projects that are hosted on Github. Travis CI is free for open source projects and the Travis CI team is very friendly and reactive ! If you work on commercial closed source software, you may also use Travis by signing up to Travis CI Pro.

    Summary

    Tests make the Piwik analytics platform better. Writing tests make Piwik contributors better developers. We save a lot of time and effort, and we are not afraid of change !

    Here is the current status of our builds :
    Main build :
    Screenshot tests build :

    PS : If you are a developer looking for a challenge, Piwik is hiring a software developer to join our engineering team in New Zealand or Poland.

  • Piwik 2.1 – Changes for Plugin developers

    24 février 2014, par Piwik Core Team — Development

    This blog post is aimed at developers of Piwik Plugins. If you are simply using Piwik and not developing plugins for Piwik, you do not need to read this post.

    Piwik 2.1 will be released in a few days . This blog post will inform Piwik Plugin developers of the changes in Piwik 2.1 that may require that you update your plugin to work with this latest version.

    Breaking API changes

    Piwik can now handle an unlimited number of users having Super User access (#2589 #4564). In the past Piwik was limited to one Super User who was defined in the config file. From now on all users with Super User access are defined in the database the same way a regular user is. This brought some API changes but we will stay backward compatible until the first of April 2014. This gives you some time to migrate any custom plugins you may use. Although there is a layer for backward compatibility we recommend to make sure your plugin works with Piwik as soon as possible before April 1st.

    List of changes

    Deprecated methods

    The following methods are deprecated and we recommend to use the new methods from now on. There are also some methods which won’t be replaced so make sure to adjust the logic of your plugin.

    \Piwik\Piwik::isUserIsSuperUser => \Piwik\Piwik::hasUserSuperUserAccess
    \Piwik\Piwik::setUserIsSuperUser => \Piwik\Piwik::setUserHasSuperUserAccess
    \Piwik\Piwik::checkUserIsSuperUser => \Piwik\Piwik::checkUserHasSuperUserAccess
    \Piwik\Access::isSuperUser => \Piwik\Access::hasSuperUserAccess
    \Piwik\Access::checkUserIsSuperUser => \Piwik\Access::checkUserHasSuperUserAccess
    \Piwik\Access::setSuperUser => \Piwik\Access::setSuperUserAccess
    \FakeAccess::checkUserIsSuperUser => FakeAccess::checkUserHasSuperUserAccess
    \FakeAccess::setSuperUser => FakeAccess::setSuperUserAccess
    \Piwik\Piwik::isUserIsSuperUserOrTheUser => \Piwik\Piwik::hasUserSuperUserAccessOrIsTheUser
    \Piwik\Piwik::checkUserIsSuperUserOrTheUser => \Piwik\Piwik::checkUserHasSuperUserAccessOrIsTheUser
    \FakeAccess::getSuperUserLogin => No replacement
    \Piwik\Piwik::getSuperUserLogin => No replacement, returns the userLogin of the first Super User we find in the database
    \Piwik\Piwik::getSuperUserEmail => No replacement, returns an empty string from now on
    \Piwik\Access::getSuperUserLogin => No replacement, returns the userLogin of the first Super User we find in the database

    Config Super User

    As mentioned, the Super User was defined in the config and you have accessed the Super User’s data either by using a convenient method like Piwik::getSuperUserLogin or directly via the Config object as follows :

    \Piwik\Config::getInstance->superUser

    As the config user is no longer defined in the config this will no longer work in the future. To stay backward compatible we return the first super user found in the database. This is not necessarily always the same user. So if you have used the super user login in some way in your plugin, make sure you are using the new function such as Piwik::getSuperUserLogin

    Extended Auth Interface

    The last change affects plugins who specify their own Authentication mechanism, for instance when using the custom LoginLDAP plugin. From now on the interface \Piwik\Auth (​https://github.com/piwik/piwik/blob/master/core/Auth.php) requires the methods setTokenAuth and setLogin. There is no backward compatibility layer but we had a look at some plugins defining a custom Authentication adapter to make sure those methods are already defined there as expected.

    For another example of a Login plugin, check out the LoginHttpAuth plugin on the Marketplace.

    After updating the plugin

    After you have made changes in your plugin to keep it compatible with Piwik 2.1, your plugin will no longer work with previous Piwik versions. Therefore you should define the minimum required version in your plugin.json file as follows :

    "require": {
    "piwik": ">=2.1"
    }

    Summary

    Piwik 2.1 introduces some changes in the Piwik Core APIs. This blog post explains how to modify any Plugins compatible with Piwik 2.0 to be compatible with Piwik 2.1. Thank you for taking the time to update your plugins !

    Let us know if you have any feedback. Happy hacking !

    PS : if you use the Web Analytics APIs and the Web Tracking APIs, we guarantee that we will support backwards compatibility of our Web APIs.

  • Piwik 2.1 — Massive Performance and Reliability Improvements

    4 mars 2014, par Benaka M. — Community, Development

    We are very excited to announce the immediate availability of Piwik v2.1.0 !

    Piwik 2.1 is the first release after our 2.0 release and it reflects the new direction Piwik is moving in : better performance, more reliability and a better overall open platform ! We also released more plugins on the marketplace as well as helped developers build exciting new plugins for Piwik.

    This 2.1.0 release contains several performance and reliability improvements to the archiving process and to the new device detection process introduced in Piwik 2.0. It also includes a new email report format (CSV), a new marketplace plugin and overall more than 80 improvements (source).

    Massive Performance Improvements to Archiving

    The biggest improvement this release brings to Piwik are the various performance improvements made to the Archiving Process. These improvements include the following :

    • The amount of memory used has been reduced in some cases by 80% or more ! What used to require 8GB of memory will now only require 1GB. Piwik engineers analysed Profiler XHProf reports of Piwik under high load and implemented several improvements to archiving.
    • The cron script you can setup to automatically process your reports will now create new processes to perform asynchronous archiving instead issuing CURL http requests. This change results in increases to the performance and reliability of the Archiving Process.

    Bug Fixes and Performance Improvements to Device Detection

    In Piwik 1.12 we introduced a new device detection feature that could detect much more information than what we used before. Piwik 2.1 includes several bug fixes and improvements to this feature (such as detecting dozens of new devices, brands and models for smartphones, tablets and other devices). To use this feature, go to “Settings” then “Plugins” then activate the DevicesDetection plugin.

    New Default MySQL Database Type (InnoDB)

    This change doesn’t affect our existing Piwik users, but it does reflect our commitment to performance and reliability. We’ve changed the default MySQL database type to be InnoDB instead of Myisam. This will allow new users to immediately gain the benefits in reliability offered by InnoDB.

    New Marketplace Plugin – HTTP Authentication

    We’re releasing a new plugin on the marketplace that will allow you to use the HTTP authentication services provided by your webserver. Learn more about this plugin on the marketplace.

    New Email Format for Scheduled Reports

    The last big change in this release is a new email report format. You can now get your email reports as CSV files as well as HTML and PDF reports.

    Other Improvements

    In addition to performance improvements and new plugins, this release contains a few other smaller improvements described below.

    Changing segments in the Embedded Dashboard

    The embedded dashboard is the powerful feature that lets you include the Piwik Dashboard without the top menu and Piwik branding, directly within your application !

    This dashboard will now include the segment selector allowing you to change the current segment and create new segments, just as you would in the normal dashboard view :

    Embedded Dashboard

    Multiple Super Users

    It’s now possible for your Piwik to have more than one Super User and for Super Users to have aliases :

    Super User Access

    Learn more in the User guide : Managing Super Users in Piwik.

    Smart App Banners for our Mobile Apps

    Finally, in accord with our commitment to providing great User Experience, we’ve added a smart banner to Piwik so users that view Piwik from a mobile device will be informed of our amazing (and free !) mobile apps (for both iOS and Android).

    Participate in Piwik

    Are you a talented developer or an experienced User Interface designer ? If you have some free time and if you want to contribute to one of the most awesome open source projects around, please get in touch with the Piwik team, or read this page to learn more ?

    Summary

    For the full list of changes in Piwik 2.1 check out the Changelog.

    Thank you to the core developers, all the beta testers and users, our official supporters, the translators & everyone who reported bugs or feature requests. Also thank you to the software we use, and the libraries we use.

    Many of the improvements in this release come from the efforts of Piwik PRO experts. If you are looking for help to make the most of your analytics data, contact Piwik PRO. Learn more about us here.

    If you like what you read, please tell your friends and colleagues or write on your website, blog, forums, stackoverflow, etc.

    Enjoy !