Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review and improve our administrative software usage #670

Open
johnmckerrell opened this issue Feb 25, 2018 · 18 comments
Open

Review and improve our administrative software usage #670

johnmckerrell opened this issue Feb 25, 2018 · 18 comments

Comments

@johnmckerrell
Copy link
Member

@johnmckerrell johnmckerrell commented Feb 25, 2018

We need to perform a full review of the software we're currently using to keep DoES operational.

@amcewen began a review here: https://github.com/DoESLiverpool/somewhere-safe/blob/master/Network/SoftwareInfrastructure.md

I propose we should now collect a list of the functionality we need, perhaps as user stories, categorise this and then work out the steps required to get us to a better place.

Related issues are: #45, #175, #166 and probably others (including most under the online label).

I would expect this issue to spawn a number of other issues once we've decided what to do next, at which point this issue can be closed.

Reasons for doing this soon:

  • We want to properly keep track of who has out of hours access, and necessary keys to enable this.
  • We want to track who has received various types of inductions, like general space induction, equipment, lone worker.
  • We may want to be just a little more strict on billing, raising flags if someone tries to continue to use the space with outstanding debts.
  • Our YouCanBookMe will expire in the summer and we won't be able to continue to use their current service so need to replace that before then.

The ideal thing to do would probably be to get a number of people together for half a day or a full day but that may prove difficult to do in the next month. If we can do it all remotely then all for the good.

I propose a new repo (with its own wiki) to allow us to start breaking things down somewhere without "polluting" the main wiki. I'll look at that in the next few days.

@amcewen
Copy link
Member

@amcewen amcewen commented Sep 5, 2018

A couple of other bits of software that /might/ be useful to look at, alongside Fab Manager, are:

  • Tryton, some CRM software. Written in Python, more focused on billing, user-management, etc. - no booking system (I think)
  • FreeIPA To manage single sign-on, authentication, etc. Suspect this could be used alongside Fab Manager (or anything else like that) to do auth, and would allow things like same user login for a members WiFi network

Both of those suggestions from this EMF Camp talk about software for hackspaces

@MatthewCroughan
Copy link
Member

@MatthewCroughan MatthewCroughan commented Sep 5, 2018

For managing inductions, tasks outside of github that might involve the same sort of ticketing but are financial, along with many other things, Odoo is a brilliant piece of open source CRM software. You can write apps for it in python, it is written itself mostly in python, uses postgresql.

https://github.com/odoo/odoo

Might be quite useful for managing finances, desk payments, etc. It integrates slack for what would be customer support in a business environment, allowing people to ask questions about booking via it instead of email.

I might be able to set up a little demo this week.

@goatchurchprime
Copy link
Member

@goatchurchprime goatchurchprime commented Sep 6, 2018

Keeping the stuff organized and known about is as important as doing it. The page I ported across and expanded from the original wiki was:
https://github.com/DoESLiverpool/wiki/wiki/Digital-infrastructure

I think #801 would help with this (put those wiki pages into same repo as somebody-should, so that both get accessed from same search box).

Such official Monday night meetings could be the place to discuss and resolve to do changes, such as changing the name of the "somebody-should" list.

@amcewen
Copy link
Member

@amcewen amcewen commented Nov 6, 2018

For easier finding of related stuff about this (as we're doing now at the start of the 2nd Hack the Space (Software Edition) meeting), the install of Fabmanager to try out is at https://organisers.doesliverpool.com/ and there are notes/ideas on what to do for that fab-manager/issues

@amcewen
Copy link
Member

@amcewen amcewen commented Dec 28, 2018

HacMan have built their membership system on Seltzer CRM but that's all in PHP, which I don't think anyone in DoES uses.

@amcewen
Copy link
Member

@amcewen amcewen commented Jan 8, 2019

In this month's hack-the-space evening we thrashed out a load of user requirements for the system, and did a rough ordering from must have to nice to have. I've written them up in https://github.com/DoESLiverpool/somewhere-safe/blob/master/Network/SoftwareInfrastructure.md

Next step (ideally before the next meeting) is to have a look at how many of those requirements are met (or a rough guess as to how easily they could be met) by FabManager or any alternative open source CRM systems (or similar).

@amcewen
Copy link
Member

@amcewen amcewen commented Mar 5, 2019

In tonight's Hack-the-Space evening @johnmckerrell continued looking at how well FabManager satisfies our requirements.

@Jackie1050 and I (and @MatthewCroughan a bit too) looked at Odoo. We've spun an instance up of that for experiments - at http://organisers.doesliverpool.com:8069 (if you get an SSL error, try again from an incognito browser window); and did a tiny bit of poking at FatFreeCRM too.

@amcewen
Copy link
Member

@amcewen amcewen commented Apr 2, 2019

@Jackie1050 and I did some more digging on Odoo...
Admin user on odoo is hello@... and has the usual password. We restarted the odoo docker containers to set up volumes (so data doesn't get deleted if the docker image is deleted). It's all documented in INSTALL-ODOO.md on the VPS

@johnmckerrell
Copy link
Member Author

@johnmckerrell johnmckerrell commented Apr 2, 2019

Tonight I investigated RADIUS thinking it was a user directory thing but really it's just a protocol for communicating this sort of thing, FreeRadius using LDAP as the database might be closer to what we'd want. I grouped the use cases trying to see if subsets of them could be covered by different pieces of software and focussed on the member directory feature so that I could investigate RADIUS.

Also came across "spacefed" which is "A secure and anonymous inter-(hacker)space federated authentication platform" which could be something to build upon, and uses FreeRadius with OpenLDAP (I think).

@amcewen
Copy link
Member

@amcewen amcewen commented May 7, 2019

Tonight I did some more poking around with Odoo.

Haven't managed to work out how to install a module yet. They seem to be in the right place, and have done a fair bit of digging around without any joy.

@amcewen
Copy link
Member

@amcewen amcewen commented Jun 4, 2019

Tonight I worked out how to install modules - they can't be in a sub-folder. I've updated INSTALL-ODOO.md on organisers.doesliverpool.com.

The vertical-community modules seem only available for Odoo v10, so I've installed a version of that in docker on my old laptop so we can try installing them there to see if it's worth migrating them to v12.

@johnmckerrell
Copy link
Member Author

@johnmckerrell johnmckerrell commented Jun 5, 2019

@amcewen
Copy link
Member

@amcewen amcewen commented Jul 2, 2019

Tonight I tried getting the vertical-community modules installed on odoo:10 but found they had a dependency on im_chat module, which no longer seems to exist (looking through odoo's git history, it looks like it did exist in some much older version, but maybe got removed?).

I've spun up yet another odoo instance on my laptop now - there are odoo_8 and odoo_8_db containers on it now, which have an instance of odoo:8. In odoo 8 you activate developer mode from the "About" menu (obviously...) but I haven't found where you update the module list, so can't get the modules give a user rights to "Technical features" and then (if you reload the page) they'll have "Update module list" available in the settings view.

I've now managed to install the community_events module from vertical-community. I can't quite see what that's given us, but have got far enough tonight.

@amcewen
Copy link
Member

@amcewen amcewen commented Jul 4, 2019

Had another bit of a look at the Odoo 8, and there's now an option to create events, from the "Content" drop-down. There are lots of options to add fancy content to the event, but not a lot in the way of recurring/regular events.

@amcewen
Copy link
Member

@amcewen amcewen commented Aug 6, 2019

Got vertical-association installed in Odoo 8 (and some bits of it seem to be available in our Odoo 12 install too), and found ways to set up the different membership levels, and measure inductions.

Looks like we'd need to move from FreeAgent to Odoo to track all the invoices properly in it (which it seems like it could do, but is more work)

@amcewen
Copy link
Member

@amcewen amcewen commented Sep 3, 2019

It seems like there might be an option for Making Tax Digital for Odoo (also looks like Odoo offer a module for it too). Looks like we'd be able to get accounts reports for aged debtors and creditors; trial balance; general ledger; and balance sheet (according to https://www.odooblogs.com/odoo-accounting-report/), which is what the accountant would need for our annual accounts. There is some payroll support in Odoo too, but it doesn't appear to do any of the EPS and FPS submissions to HMRC (I don't think FreeAgent does either, FWIW, I think we use the HMRC software for it)

So we could decide to move from FreeAgent to Odoo.

@amcewen
Copy link
Member

@amcewen amcewen commented Feb 3, 2020

@johnmckerrell and I had a quick confab to think about how we might build something ourselves (given that our investigations into alternative software haven't gotten us anywhere much in approaching a year...).

The loosely-grouped use cases seem a decent way of breaking things up (small pieces, loosely joined and all that)...

We've already got something for:

  • Public-facing website
  • Public calendars
  • Issue reporting

There might be changes to those, but they'll be driven by requirements from the other pieces.

Then in rough order of importance (for implementation):

  • Minimum viable identity service (to enable the resource booking component)
  • Resource booking
  • Identity service
  • General billing
  • Financial reporting
  • CRM (handling incoming email to hello@...)

Not sure what we'll write things in - Ruby (on Rails) or NodeJS Express are the current front-runners I think, with Python Django the next most likely. Probably decided between whoever makes it to the Hack the Space evening tomorrow (or sends suitably persuasive arguments beforehand :-)

@johnmckerrell
Copy link
Member Author

@johnmckerrell johnmckerrell commented Feb 4, 2020

We had a good session tonight. We rejigged the priorities above so that the first thing we'll create is the resource booking system but we won't have an identity service to support this for now because it's not required to replace the one we have. Some brief notes from that meeting are here:

And that's also a whole new repo to manage this as a new project. Further repos might be created if we do smaller services. Issues have been created to support the "create a booking system" project, further breakdown is probably needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants