Skip to content

Siddhant085 Work during GSOC 2016

Siddhant Gupta edited this page Aug 22, 2016 · 6 revisions

This page gives an overview of the work done by Siddhant085 during Google Summer of code 2016.

Summary

To understand my project you first need to understand what sTeam is. For that you can refer to the blog I wrote http://blog.fossasia.org/what-is-steam/

I started off small by fixing already existing bugs. There were multiple bugs with the edit command in the command line interface of sTeam. I extended the edit command to allow opening of multiple files as tabs in a vim editor. To provide users with more options and to make working on sTeam client easier I added the feature to open new files in steam directly from inside vim. I wrote a vim script to do this and communicated with the sTeam server through this script. My first major task was to implement a TLS connection between the sTeam command line client and the server. For this I had to understand the COAL protocol, which is a home grown protocol for sTeam. I improved the tooling for sTeam by adding in commandso work with groups from the steam-shell and to allow re-login from debug.pike. After this I did some cleaning up work by removing repeated code. The code for login was being repeated in different tools so I made a separate file containing all the common code and imported this in all the tools. I wrote an extensive help command describing every command for steam-shell and giving their syntax. There was some conceptual error in the steam-shell. Rooms and gates are the same but gothrough command was allowing the users to enter a gate but not a room, this was changed to enter command supporting both gates and room, I also changed the output of look command to not show gates and rooms as separate entities.

The next two tasks were entirely new additions to the project. First I wrote a test suite to test the calls to COAL functions. Pike does not have any kind of testing framework so I had to design my own testing framework and write test cases to test the COAL function calls. This will help further development of sTeam as testing of new code becomes easier. The next addition was to write a linux command for sTeam. Steam tools were accessible only from the tools folder that got copied to a particular location on installation. Now on installation users can use the steam command from anywhere to access all the tools.


1. We have combined all the work into two branches.

The commits made by me in each branch can be seen here. * gsoc2016-societyserver-devel * gsoc2016-source

2. I wrote weekly blogs summarizing the work done during the week.

All the blogs can be found at blog.fossasia.org.
The list in reverse chronological order is as follows.

3. A list of tasks covered and all the Pull requests related to each can be seen here

| Tasks | Issue | PR | |----------------------------------------------------------|:-----:|:--------:| :------:| :-------: | | Fix the edit script. | Issue-34|PR-36|
| Extend edit command for multiple files. Each file opens in its own tab| Issue-38|PR-40 | | Implementing TLS for COAL to make it COALS. |Issue-47| PR-50 | | Add the functionality to open files from inside vim| Issue-53| PR-61 | | Write a plugin to make closing of files easier by closing the logs automatically.| Issue-62 | PR-65 | | Add the command to create groups to steam-shell. | Issue-68 Issue-97 |PR-77 PR-98 | | Add login command to allow relogin in debug.pike | Issue-87 | PR-89 | | Remove repeated code used for login | Issue-91 | PR-92| | Add a detailed help command to make sTeam easier to use for new users. | Issue-30 | PR-95 | | Change gothrough to enter and allow them to enter rooms as well. | Issue-96 | PR-99 | Change the output of look command and show rooms and gates under the same section | Issue-100 | PR-101 | | Make steam tools accessible from everywhere | Issue-126 Issue-128 Issue-130 Issue-134 | PR-127 PR-129 PR-131 PR-135 | | Write test cases to keep the software error free. | [Issue-104] (https://github.com/societyserver/sTeam/issues/104) [Issue-107] (https://github.com/societyserver/sTeam/issues/107) [Issue-109] (https://github.com/societyserver/sTeam/issues/109) [Issue-110] (https://github.com/societyserver/sTeam/issues/110) [Issue-111] (https://github.com/societyserver/sTeam/issues/111) [Issue-113] (https://github.com/societyserver/sTeam/issues/113) [Issue-116] (https://github.com/societyserver/sTeam/issues/116) [Issue-118] (https://github.com/societyserver/sTeam/issues/118) [Issue-122] (https://github.com/societyserver/sTeam/issues/122) [Issue-124] (https://github.com/societyserver/sTeam/issues/124) | [PR-105] (https://github.com/societyserver/sTeam/pull/105) [PR-108] (https://github.com/societyserver/sTeam/pull/108) [PR-112] (https://github.com/societyserver/sTeam/pull/112) [PR-114] (https://github.com/societyserver/sTeam/pull/114) [PR-115] (https://github.com/societyserver/sTeam/pull/115) [PR-117] (https://github.com/societyserver/sTeam/pull/117) [PR-119] (https://github.com/societyserver/sTeam/pull/119) [PR-123] (https://github.com/societyserver/sTeam/pull/123) [PR-125] (https://github.com/societyserver/sTeam/pull/125) | | Documentation. | Issue-144 | PR-145

4. Scrum Reports

Daily scrum reports have been posted and discussed on #steam-devel on irc.freenode.net and a backup can be found on the mailing list

5. Further Enhancements

  • The testing framework needs to be improved
  • More test cases needs to be added