BackBackMenuCloseClosePlusPlusSearchUluleUluleUluleChatFacebookInstagramLinkedInTwitterYouTubefacebooktwitterB Corporation

Let's work together to improve Etherpad

MyPads plugin to manage groups, personal accounts and private pads

  • MyPads RC2

    The first MyPads release candidate version has been published more than a week ago. A big thank you to those who have spent some time to test and formalize some feedback. The latter have brought us to the second release candidate.

    Changes from RC1

    From the beginning of last week and first issues reported :

    •     Until now all the MyPads elements had an unique random identifier, generated by the cuid library. Efficient and ordered, theses identifiers had a main problem : being no human readable for an URL usage. It has been decided to move to a more meaningful generation.
    •     For example, a group named Classed cases 312 now have for identifier classed-cases-312-xxxxxxx. The last characters are random in the purpose to not command unique names at creation across the whole instance. This change impacts groups, pads, users and and user lists.
    •     Email has already been required for user account creation. However, uniqueness into database was not enforced : only the logins were. This choice has been made in order to allow multiple accounts creation with a same email. We have chosen to revisit our opinion and now MyPads requires unique email addresses, which allows :
    •     ==> for restricted groups, user invitation or administration sharing from email address in addition to their login;
    •     ==> in the user lists module, emails and logins too;
    •     ==> last, password recovery now ask for email address.
    •     From now on user invitation, you are more clearly informed about those for who the operation has succeeded and those where it has failed.
    •     All MyPads elements now handle a creation date field, allowing a more reliable ordering inside the application.
    •     An annoying bug has been introduced with the recent authentication method change and has been fixed : actually number of changes around accounts, like bookmarks, were not reflected at the server cache level, and had for consequence data loss after manual reloading of the page.
    •     Some corrections for translations.
    •     A significant part  of unit and functional tests had to be adapted after these modifications.

    Suite

    Short-term it's still important for this RC2 to be massively tested and that the encountered bugs can be reported into our Gitlab.

    You can try this version (only few changes before final) here : https://mypads.framapad.org

    As we consider the application stable enough, in principle we won't remove data for pads and groups created at this domain (even so, we can't absolutely guarantee that).

    important note : if you have used private accounts on the old Etherpad version at Framapad, we invite you, as soon as possible, to copy paste your old pads content into new pads created on https://mypads.framapad.org

  • MyPads : release candidate

    After two weeks of beta 2, today we reach another step and we've never been so close to release: here we have MyPads RC - release candidate.


    Last progress

    Since our last point:

    •     As planned, email sending management into MyPads with
    •     ==> as the administrator desires, email addresses checking before subscriber account activation;
    •     ==> password recovery procedure;
    •     ==> token generation with a time limited validity for both actions;
    •     ==> on the plugin administration,  SMTP server configuration.
    •     The ability to opt for pad personal parameters. For example, in a restricted group, it is now possible to create a public pad  or a readonly one. In a password-protected group, you can add a pad with its own password etc. By default, behavior stays as before : pads inherit their properties from their parent group.
    •     An optional description field for each group had been added.
    •     Some bugs around public and private visibility have been fixed, in particular when pads have their own properties.
    •     Some enhancements on translations.

    Recently, a substantial rewriting of the authentication system has been made. One of the etherpad plugins, which we talk about into week 17 point, has a nasty tendency to prevent MyPads to work. This behavior has been randomly experienced, depending on the database used by the instance and the time it needs to setup after etherpad launch. Etherpad plugins are called through a global event and we can not, as far as we know, control their order. To disregard, we had to setup MyPads sooner, what prevents it to correctly plug with the session system used by etherpad. That's why we decide, to secure functioning, to migrate from a simple local authentication to a token system, JSON Web Token, but still with the help of the passportjs library.

    Completion

    MyPads crowdfunding campaign has ended more than a year ago. Development, which has been initially expected on November, has been delayed to February and the predictable workload has been overstepped to a great extent. Reasons include a wrong initial estimation of needed work to create such a plugin (this kind of extension is rare into etherpad ecosystem) and some bonus features regarding the specifications; features added free of charge. The contractor has been engaged to complete the plugin, so the overload is on him and the plugin won't cost more than expected. Note that Framasoft has not wanted to apply some fees for the delays (MyPads, once the development starts again in February, has been announced to be published before the end of April).

    Some numbers : MyPads today represents a little more than 13,000 lines for 10,000 lines of code. Two thirds has been dedicated to unit and functional testing. In all, the plugin has regrouped a bit less than 80,000 lines - additions and deletions - including a little part from dependencies and mainly code refactorizations.

    New features are planned next monthes but it won't be any addition before stable version and deployment on the Framasoft and Framapad servers.


    Tests

    Thanks to all who have already took some time to test MyPads. For this last home straight, we need you, again. MyPads has been installed on our beta instance. More this version will be used and bugs will be reported, less we got bad surprises in a few weeks, when MyPads will be published and installed publicly.

  • MyPads : beta2 available (testers wanted! )

    Last point about MyPads development has been done at the beginning of the month. It's time to give you some fresh news. Here you'll find : the second, and probably the last, beta version as well as significant progress.

    Last weeks

    Tasks which have been done :

    • Group leaving : in the context of restricted groups, the ability to quit a group, for a non-unique administrator or for any invited user.
    • Userlists : everyone who own an account can now create lists of users. They regroup, by their login, other MyPads node subscribers. This is mainly useful when you create a new group and want either sharing its administration or invite users to participate. You can now add a complete list of users instead of only adding them one by one.
    • Groups and pads access, even if you are not user or administrator, with or without an account :
      • Public groups : you only need the URL.
      • Password protected groups : once the Web address is reached, the password will be asked before displaying any useful information.
      • Visible data is then filtered : for example, for guests there are no details about administrators.
      • To make sharing easier, share buttons are available on many pages.
    • Groups and pads ordering. By default, they are ordered by creation. You can now choose a name order, in both directions.
      • MyPads configuration module
      • With user/password that match Etherpad node administrators ;
      • From where you can handle MyPads settings : title, password sizes, mail sending parameters…
      • And also users management : after a research by login, administrators can update a profile, change a password or remove an account.
    • And of course small fixes and improvements.

    About features, before stable version, there are very few things left : finish the mail sending module and then what will be result from : email verification, according to the option checked or not by the admin, and password recovery for users.

    MyPads need beta testers

    Now that MyPads is almost done, it matters that we can have feedback and people who test the plugin before we deploy it. Please remember that the last MyPads version is available here. Be careful : it's a demo and data is frequently trashed. If possible, thank you to use our Gitlab website to give us your feedback, particularly bugs you may encounter.

  • MyPads : week 27

    What has been recently done

    Since last news, here are achieved tasks :

    •     a bookmark management module that bring together groups and pads, allowing to remove them from favorites or to quickly access to their details ;
    •     account removal from the profile module; this action leads to deletion of groups and pads where the user was the unique administrator ;
    •     group pads mass move to another group from the details page; useful before group removing or for merging several groups ;
    •     permissions management with differences between:
    •     ==> MyPads global administrators, the same as Etherpad instance ones, who are authorized to do everything through the MyPads API ;
    •     ==> users for which every action is checked : a user can update or see his account but not another one, edit his groups and pads but not those he has just been invited to contribute, etc. ;
    •     ==> forbidden actions have been removed from the Web client.
    •     a few fixes : a problem with account removal under Etherpad, bookmark adding from pads page, an issue with one of the databases supported by Etherpad, DirtyDb, because it returns already deleted elements "by design".

    Work is going on. There are still ten tasks to do before the release candidate. Of course, you can test last progress on the online beta version. Remember not to work with this version: data is frequently wiped out and the contractor doesn't provide any service warranty from this place.

  • MyPads : week 25

    Tasks done

    Progress made this week haven't been as important as expected. Two main reasons : less time for the contractor, and tasks more complicated than estimated. Then, what have been done:

    •     Server-side messages localization, messages sent by the MyPads API, which is used by the Web client. This point was important especially because some messages, mainly errors, were displayed as received by the Web client and so were in English only. This task has taken some time because all server files had to inspected to setup this feature and then have been translated to French.
    •     Login and user chosen color by default on MyPads pads. This work, that seems easy, has been time-consuming. MyPads, as an Etherpad plugin, uses hook system provided by Etherpad to be able to interact with it. Updating user session parameters is easily done but there is no simple way to know, within the context sent by Etherpad, who is the current user from MyPads and so which information to use. As it wasn't conceivable to edit Etherpad core to get additional data neither live patching Etherpad client code, some ways have been explored. Here is how it works, from the user point of view :
    •     ==> When you subscribe, you can choose a color, thanks to the HTML 5 dedicated element. Please note this choice is optional.
    •     ==> By default, login and color, if it has been selected, are used for pad authorship.
    •     ==> Into your profile, you can update your color but also ask MyPads to not use your data into the pads. In that case, the plugin will be transparent and classical Etherpad feature will be here : it's up to you to enter your name and choose your color from the pad interface.
    •     ==> Of course, even if you choose to use your data from MyPads, you can always overwrite it for a given session. Useful for example when another user has chosen the same color as you.

    These new features are available on the online beta. Don't hesitate to test and give us your feedback.

    Week 26

    Are planned the two remaining items from last week: bookmarks management module and public pages for public groups and password protected ones. Also:

    •     When a group is removed, linked pads are too. The idea here is to offer you, if you wish, to move the pads to another existing group.
    •     Let you the ability to completely remove your account. After confirmation, all groups and pads which you are the unique administrator will be removed.
    •     MyPads administration
    •     ==> Restricted to Etherpad instance administrators.
    •     ==> With a user management module.
    •     ==> And a MyPads configuration module (password length, email sending parameters etc).