Software:Movim

From HandWiki
Movim
Movim-logo.svg
Original author(s)Timothée Jaussoin
Developer(s)The Movim Project
Written inPHP
TypeSocial network service
LicenseAGPL-3.0-or-later[1][2]
Websitemovim.eu

Movim (My Open Virtual Identity Manager) is a distributed social network built on top of XMPP, a popular open standards communication protocol. Movim is a free and open source software licensed under the AGPL-3.0-or-later license.[1][2] It can be accessed using existing XMPP clients and Jabber accounts.

The project was founded by Timothée Jaussoin in 2010. It is maintained by Timothée Jaussoin and Christine Ho.[3]

Concept

Movim is a distributed social networking platform. It builds an abstraction layer for communication and data management while leveraging the strength of the underlying XMPP protocol.

XMPP is a widely used open standards communication platform. Using XMPP allows the service to interface with existing XMPP clients like Conversations, Pidgin, Xabber and Jappix. Users can directly login to Movim using their existing Jabber account.

Movim addresses the privacy concerns related to centralized social networks by allowing users set up their own server (or "pod") to host content; pods can then interact to share status updates, photographs, and other social data.[4] Users can export their data to other pods or offline allowing for greater flexibility.[4]

It allows its users to host their data with a traditional web host, a cloud-based host, an ISP, or a friend. The framework, which is being built on PHP, is a free software and can be experimented with by external developers.

Technology

Movim is developed using PHP, CSS and HTML5.[5] The software initially used the Symfony framework. Due to the complexity of the application and the XMPP connection management, developers rewrote Movim as a standalone application. It now has its own libraries and APIs.

Movim was earlier based on the JAXL library for implementing XMPP.[6] JAXL has been replaced by Moxl (Movim XMPP Library), licensed under the AGPL-3.0-only license,[7] to manage connecting to the server through the XMPP WebSocket protocol. This is claimed to have reduced the code complexity and performance load while providing better error management.[8]

The platform used Modl (Movim Data Layer) until the version 0.13, a PHP database layer using DAO Patterns for database interfacing.[9] The project was then migrated to the Laravel Eloquent ORM.[10]

Architecture

The project consists of a set of libraries that provide an abstraction layer on top of XMPP for communication and data management.

Requests are handled by instances of a derived interface controller class. This methodology is similar to the query processing in a MVC framework.

Access to the interface is provided by a system of widgets, allowing through introspection capabilities, to write AJAX elements without using JavaScript. The page display uses a system of nested templates.

See also

References

  1. 1.0 1.1 "Movim AGPL-3.0-or-later". 13 December 2021. https://github.com/movim/movim/blob/master/public/index.php. 
  2. 2.0 2.1 "Movim, License". https://github.com/movim/movim/blob/master/COPYING. Retrieved 10 January 2016. 
  3. "Talk with Movim Developers". 29 June 2013. http://www.zdnet.fr/actualites/reseaux-sociaux-decentralises-movim-peut-il-reussir-la-ou-diaspora-a-echoue-39791588.htm. Retrieved 24 October 2013. 
  4. 4.0 4.1 "Install Movim". 29 March 2017. https://github.com/movim/movim/wiki/Install-Movim. Retrieved 19 May 2017. 
  5. "Movim Technology". 1 August 2012. Archived from the original on 29 October 2013. https://web.archive.org/web/20131029190342/http://www.makeuseof.com/tag/movim-the-new-open-source-social-network/. Retrieved 24 October 2013. 
  6. "Movim 0.1". http://wiki.movim.eu/index.php?title=Movim_0.1. Retrieved 24 October 2013. 
  7. "Moxl AGPL-3.0-only". 13 December 2021. https://github.com/movim/movim/blob/master/lib/moxl/composer.json. 
  8. "Moxl, Movim's New XMPP library". movim.eu. 2012-09-15. Archived from the original on 29 October 2013. https://web.archive.org/web/20131029190506/http://planet.movim.eu/?page=1. Retrieved 24 October 2013. 
  9. "Modl, Movim Data Layer". 2015-01-10. https://github.com/movim/modl. Retrieved 10 January 2015. 
  10. "From Modl to Eloquent, or how to change a social network database engine". 2018-04-17. https://nl.movim.eu/?node/pubsub.movim.eu/Movim/from-modl-to-eloquent-or-how-to-change-an-airplane-engine-while-in-flight-gr6f8b. Retrieved 17 April 2018. 

External links