Ask Slashdot: Easy-To-Use Alternative To MS Access For a Charity's Database?
New submitter danzvash (447536) writes "I'm doing some volunteering for a street kids charity in Senegal, West Africa, and they need a new database to store all their information for the kids, and to help the funding organizations like UNICEF. The charity staff have a few computers running Windows 7. Being a die-hard OSS geek I'm more inclined to knock up a MySQL backend with a Django (or similar) front-end and run the whole thing from a reliable VPS. But it needs to be understandable by the non-geeks in the charity — there is no IT expertise here. Is there anything that can allow me to design and edit databases, tables, and forms but doesn't require an MS license?"
Do what you said you are inclined to do and then cook up a cunning web interface for your user(s).
Filemaker Pro, not free, but low entry level, easy to use.
I'm surprised a die-hard OSS geek hasn't heard of OpenOffice or LibreOffice's Base.
Libre Office Base is a good alternative to MS Access.
OpenOffice has a database thing similar to Access (at least on the surface). Dunno how well it fits the use case, but the product blurb sounds right up your alley: https://www.openoffice.org/product/base.html
see subject
I think the question might be asked backwards, here. If there is really no IT expertise there, then is Access actually going to get them anything? You might be better off setting them up with something much simpler (for example a spreadsheet) unless they need to be able to connect to it from multiple systems simultaneously or have other requirements that a spreadsheet cannot match.
Don't make your problem more difficult than it needs to be... If you give them software that they can't use then most likely they will stop using it once you are on the plane.
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
Can't you make it in LibreOffice Calc or something?
I mean, call me short-sighted, but it seems to me that even an organization like Microsoft wouldn't be opposed to donating licenses to charities. Is there a reason that alternative wasn't attempted? FOSS is great, and I would not be surprised if an alternative does exist (I myself do not know of one), but if the staff already knows Access or are comfortable with it, then perhaps pursuing an avenue where they might be able to get tools they're already comfortable with would be more productive to both the charity itself and those it supports instead of staying steadfast to FOSS. Even if Microsoft themselves are unwilling to donate to the charity, try other large retail organizations that sell the licenses like Staples, OfficeMax, or even NewEgg.
Take a look at the latest release works great.
Otherwise use a real DB like mySQL and a nice User frontend.
Do not look at laser with remaining good eye.
That's the way I like to dumb it down for myself.
I would use spreadsheets
MySQL workbench lets you 'paint' database schemas, and apply them to mysql databases. Workbench can also 'upgrade' existing databases, and it provides a bunch of other handy admin features.. I'm assuming it will also work with MariaSQL
Microsoft donates a lot of software for charities and non-profits. You don't even need to contact them directly. Register through TechSoup.com for donations (or immense discounts) on products from many software companies.
Then Microsoft may have a program or even offer free licensing. If they need/want Access, then it doesn't hurt to ask.
It's pretty powerful, easy to use, and I believe it's availble for the lesser platforms (windows, mac).
Even has a way to make web interfaces.
Not opensource, but Salesforce does offer up a good chunk of their online storage/access for free to charities. And since at the core, Salesforce is just an Oracle DB wrapped with some fancy business logic, you can use it as an easy store of information, with access that can be handled even by total neophytes. Drawback: it requires Internet access and depends entirely on what Salesforce decides to do with its offering for charities.
For an open-source and stand-alone application, LibreOffice Base is the way to go. Just make sure they have some form of backup (hard copies!) and that someone who knows at least a smidgeon of computer stuff takes over after you leave. Otherwise, I'll echo what someone else said: if it's too complicated, they'll abandon it the instance you walk out the door.
Those who can, do. Those who can't, sue.
quickbase.com
Pretty great. Allows non coders to make changes if you want them to, and is all about building a database. May be expensive though.
And here I am, still using Windows XP to test websites in Internet fucking Explorer 7.
have you tried oracle Apex.. it's free and simple
Google Spreadsheet + a form?
use node.js -- it's javascript so you don't need to know any computer science bullshit to use it. But it's also twice as fast as C since it never blocks. Mongodb is also good because you don't need to understand databases or make sure your numbers are really numbers or your dates are valid or any of that bullshit DBA crap like consistency or transaction. That makes it faster than SQL.
Do you even lift?
These aren't the 'roids you're looking for.
There is an active nonprofit community around using the salesforce platform for donor/donation managment, programs support, and grant tracking/making. And salesforce grants 10 free licenses to qualified charitable organizations.
http://www.salesforcefoundation.org
Just use PostgreSQL from the outset, and include some operational procedures for trailing in your project's requirements.
The requirement to allow non-technical people to perform technical tasks without the knowledge and experience is a critical modern mistake. Cars are easy to drive, but we make you take driver's ed. We don't try to dumb down brain surgery or rocket science. Yet in computers and, horrifyingly, food, we often avoid providing proper training.
Fast food businesses often use a dedicated grill operator. The sandwich line never interacts with raw meat, so nobody explains food handling safety to anyone. In part, we assume you know; in part, we just don't put people in that position. That's half-assed risk management.
It's no more acceptable in computers, where you expect people to understand what they're doing yet not understand how to use OpenOffice.org Base to modify tables, or even the command line. People who can't use computers can't complete this task; you put an interface in front of them that does all the back-end work. If you're giving them direct back-end access, they're technical people.
Support my political activism on Patreon.
While I never did get around to implementing it (or really needing it), I was always intrigued by the fact that the OpenOffice "Base" application can connect to a MySQL database (and has been able to for many, many years). You may want to consider investigating that, as it may provide a fairly "user friendly" and "easily supported" interface to a solid database backend.
Don Head
UNIX/Linux Administrator
phpMyAdmin?
We don't have a state-run media we have a media-run state.
Glom is written in Gtkmm + PostgreSQL. It is a GUI-based DB and app designer.
-=/\- Jizzbug -/\=-
For simple tables and forms that can have a lot of social interactions, i have found Podio to be great. Podio is something of a crossbreed between yammer and Access. I use it a lot for to-do lists within projects, small incident lists, notes, agendas and minutes. It's great for tables / forms that contain 10's to 1000's of records... not for millions. First 5 users within a domain are for free. It is a web application though, so your users need to be able to be on-line all the time.
This unique sig is intended to make this user more recognisable.
The problem is not the database. We all know Access is no PostGres or MySQL. It is the GUI to build forms and store them.
For example you can create a car parts inventory system really quick and easy for a small shop. You do not have to be an expert developer and an average Joe who knows a tiny bit of sql can develop it and have a working solution within an hour or 2. I wish Access was more used than god aweful Excel to store data, but that and File Maker Pro have filled this market.
I thought about starting a file maker/access clone a few years ago that would be simple and could backend to a SQL database of choice. I never got around to it because I knew it would never compete.
It would be nice to a a gui like Access that can work with a web browser too easily. Until that time there is no replacement for File Maker or Office. (Does Apple even make File Maker anymore ?)
http://saveie6.com/
Take a look at http://sqlitestudio.pl/
CiviCRM.org
CiviCRM is web-based, open source, Constituent Relationship Management (CRM) software geared toward meeting the needs of non-profit and other civic-sector organizations.
As a non profit committed to the public good itself, CiviCRM understands that forging and growing strong relationships with constituents is about more than collecting and tracking constituent data - it is about sustaining relationships with supporters over time.
To this end, CiviCRM has created a robust web-based, open source, highly customizable, CRM to meet organizations’ highest expectations right out-of-the box. Unlike proprietary software, each new release of this open source software reflects the very real needs of its users as enhancements are continually given back to the community.
With CiviCRM's robust feature set, organizations can further their mission through contact management, fundraising, event management, member management, mass e-mail marketing, peer-to-peer campaigns, case management, and much more.
There is too little information given to decide what product solution is "best' for this situation.
Note cards work, Spreadsheet is often enough for "simple" databases. Access and similar are good for designing a good front end (not for the database) and so on.
From the sounds of it (reading between the lines), a good CRM like SugarCRM might actually be a better solution. However without more information, any recommendation is pure guessing at this point.
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
Who is going to maintain this after you leave? Are you making a firm commitment to provide maintenance in the long term? If so, your off-site VPS solution with a web front end may be appropriate. If not, and there is no local IT expertise at the charity, something self-contained that needs only a single consumer software package to work (Access, Libreoffice Base, even an Excel or Calc workbook) has a better chance of remaining useful when you're gone. Since this is personal data, have you considered how the local law may affect how the data must be stored, secured and accessed? e.g:
https://uprdoc.ohchr.org/uprwe...
Microsoft Access is designed for people with good intuition in computing but little technical knowhow to be able to build simple databases and database related applications by themself. This is not to say that the systems built are easier to use than something built using a competing system or the databases are easier to maintain, but simply that it takes less learning to build them.
So, if you already know how to use Django/MySQL, then why not? Take the time you didn't spend learning a different platform and spend it designing a better User Experience for your end users, really make it easy to use for the people who use it day to day.
And honestly, whatever tool that you are just hearing about today is probably too obscure and poorly supported to be handed off to a new maintainer in future. Access is well known and well supported with plenty of people familiar with its operation, yet so is MySQL, and MySQL also has ample information online as well as Worbench and other tools to make its operation easier for whatever less technically adept person this is thrust upon when you're no longer there. There may well be more intuitive systems out there, but they do not have the benefit of having 10,000 relavent google results for any question typed in.
When Argumentum ad Hominem falls short, try Argumentum ad Matrem
A lot of details missing on what the end-user environment is.
I am assuming they have internet access? Dial-up or faster?
If so, why not consider building a BaaS (Kinvey, Parse, Azure, Amazon) with a simple webapp served up using WAMP or equivalent? I can't imagine this app will run over the limits of the free account providers such as Kinvey and Parse offer. And, you could probably talk to the provider see if they have discounts or willing to donate services.
Wrap everything up in a nice Windows installer. Keep it simple.
Has Anyone mentioned SQL Server Express? It's free and does not require a licence. It can work on multiple machines, but it does require a windows license of some form.
Mean what you say...say what you mean.
"Is there anything that can allow me to design and edit databases, tables, and forms but doesn't require an MS license?"
maybe oracle
If the whole goal is to avoid MS, FileMaker is pretty similar to Access from a feature standpoint.
</ducks>
Well, I don't know what you want to use it for.
I'm going to take a wild guess and say you're trying to manage work, tickets, or something to that effect.
I'd try SugarCRM http://www.sugarcrm.com/
It's open source and free (without support)
It's the biggest open source CRM I know of.
Every alternative to Access I've seen is terrible. So I'd stop looking for something that replicates Access and start looking for something that does what you're wanting access to do. You might even settle on several applications if you're using access for multiple things.
SQL Server Express is free for DBs up to 10GB size. Use Access as the front end for forms.
SQL Server Express http://www.microsoft.com/en-us...
Use Access for the forms as the frontend.
à_à
Filemaker Pro is the major alternative to Microsoft Access for small business. When you need to hand off this project to the staff members who don't do development full-time, its critical to that the system be as simple to learn for the layperson as possible. I'm guessing this is why you're asking as opposed to going with the pure OSS solutions that you are most familiar with. Like Access, both frontend UI and the backend database are managed from one integrated IDE. Unlike Access, Filemaker Inc. is wholly owned by Apple (its been around for over 20 years), has versions for both OSX and Windows, can be used with a MySQL backend, and doesn't tie you into Microsoft's web of licensing. Also, there is a free app for IOS devices (Filemaker Go) that makes it easy to add iPhones and iPads to the mix. The mobile copies of the database can be designed to sync over USB or WIFI, enabling usage without relying on Senegal's probably spotty 3G coverage. Disclaimer: I've developed several custom Filemaker solutions for small business and then trained the end users on how to use the solution and modify it their needs change. Good luck!
web2py, multi platform, well documented, non mandatory web based IDE, good security practices, out of the box has a db admin interface and many facilities for auto generating forms, with relationships, that mind validation rules. It can use sqlite3, mysql, postgres, and a lot other db. It has an integrated webserver for low traffic sites. Backwards compatibility is a design goal, so upgrading is easy.
IMHO it is well worth the little additional work over an access like RAD tool because it has a web client/server architecture.
A distributed db that is very flexible and easy to setup on LANs is orientdb, it is based on java. Never tried it a lot, though, but it works as an http server so you can use it plus client side js for RAD apps.
Else some js + local storage enabled web client. Never ever began to explore it, so I dunno how feasible it is.
---- MISSING MISCELLANEOUS DATA SEGMENT --- [sigdash] trolololol
Contact Microsoft and tell them what you are trying to do. They may just give you the licenses.
I have done extensive work with Access, but almost never used it as the actual storage. Instead, the back-end was on a MySQL, MSSQL, or Postgres server and Access just used as a quick-development environment in the same manner as VB6 would have been.
Nowadays, I usually use MSSQL or Postgres as the backend, and build the front-end in VB.NET or C#. Once your tables are designed, just add a function that has the appropriate bunch of CREATE TABLE statements and initial INSERTs to set up a default schema, and the deployment is pretty easy.
Telling a client how to reach the backend only requires a server name (or IP), database username, database password, and database name. These are variables that are easily set in a simple "setup form" then stored in the registry. Heck, if you want to get fancy, just encode that into a structure and write it to a binary file that they can then load after setup.
You can also roll out an MS Access solution that uses Access Runtime. That doesn't require an MS Office license.
FileMaker Pro...charity license...done. That'll be $800 of consulting time please :) open source access alternative just isn't worth the man hours to use. Unless you set up a MySQL database and maintain it, Base is not useful as a front end, and definitely not a stand alone alternative to Access.
Spreadsheets are not databases, and should never be used as such.
Spreadsheets will stop being used as databases when someone invents a database that is as easy to use as a spreadsheet. Nobody has done this yet. I've never seen a database that was even close to as easy to use as a spreadsheet. Even Access is still MUCH harder to use than a spreadsheet. MySQL & PostgreSQL are severe overkill for a lot of projects. Openoffice Base is useful as an interface between real databases and spreadsheets (I use it for that) but not much more.
Spreadsheets can be simple databases (that's basically what a table is after all) and actually aren't a bad way to prototype a (very) simple database. I do this all the time. I would KILL for a tool that allowed me to easily convert a spreadsheet table into a real database table and make creating forms much easier than it is now.
The charity staff have a few computers running Windows 7
why on earth does a charity run w7? were those computers a gift?
But it needs to be understandable by the non-geeks in the charity
average computer illiterate users can do absolutely nothing with ms-access. specially smart average computer illiterate users can do utter crap with ms-access in which they themselves will get lost very soon. geeks can use ms-access as they would use any other relational engine (just a very limited one). in short: ms-acces offers zero, it's not really an alternative in this case.
developing something for them (the cited mysql/django approach) is cool but will make them dependent on you. do it only if you reasonably expect you'll be around for a while and are up for the compromise :-)
i second the spreadsheet suggestion. and i would add that probably the best contribution you could make is to train someone in that staff to be self-sufficient in this kind of tasks. it might be substantially more effort but definitely worth it, specially if you make sure he/she passes the knowledge on before quitting. of course, first thing to do is to ask if there's another bizarre requirement for having commercial software. if not, promptly format those bitches and grab free software for them, show them how to start using it.
Since for "the non-geeks in the charity" a real database server with a web client front-end is too complicated (and i agree - that's why office suite databases exist), if you don't choose to use a spreadsheet (that is easy enough but not database enough!) the only alternative to 'MS Office Access' that i know is 'LibreOffice/OpenOffice Base' - unfortunately the last time (not long ago - i hope you try it now and find i am wrong) i tried to use it i found it to be the most problematic (at least for beyond basic stuff) piece of that open source office suite and too unreliable (on the contrary i find MS Access good enough...).
BTW... good for you to help a charity!
(sorry for my English, my Greek are better!)
Sounds like a spreadsheet with truecrypt to secure the info might be the Keep It Simple Stupid (KISS) option given they have no IT support. The thing with developing technical expertise in regions where IT is scarce is that you have to remember they are in a different place of the path. To throw databases and such at them when they can barely maintain a modern OS is a bad idea. It very much sounds like they aren't ready for the overhead of a relational database system and all the front end pieces that you might want to use if you were in, say, upstate New York, or even the boonies of Nevada. The expertise to support and maintain a complex database system is nigh nonexistent. I would be shocked if UNICEF doesn't have or couldn't provide an online system for them. You also don't mention what they are using now and why it doesn't meet their requirements/expectations going forward. If this is just you imposing your will upon them because you think you know best, then there's a problem as the charity will ultimately not be served by such actions. Do needs gathering and then come back to us. I am still going to stick with a spreadsheet until there's more info to formulate an intelligent response.
Just use PostgreSQL from the outset
There are lots of situations where this is simply not an option. You should be able to do simple real world database work without requiring the assistance of a DBA. The inability to do this speaks to the poor quality of the interfaces available for database creation.
The requirement to allow non-technical people to perform technical tasks without the knowledge and experience is a critical modern mistake.
I disagree. I think it is a deficiency in the quality of the tools that the technical people have made thus far. Hell I *am* a technical person and I would dearly love for a database that made it as easy to create a simple database as it is to create a spreadsheet. I have needs for small databases all the time but even MySQL is WAY overkill. Access the closes thing to usable but even it is hard to use than it should be. While I'm perfectly capable of making it work it takes FAR longer than it should.
Oracle has an "Express" edition as well.
It has an 11GB size limit, and will only make use of one CPU core, but it does run quote well for small apps. It even comes with a built-in web app builder development tool for making gui app front-ends. Available for both Linux and Windows... but 32-bit Windows only, does not work on x64 Windows.
Rather than discuss alternatives I wanted to let you know that many charities are eligible for deep discounts on MS products. Techsoup.org is a clearinghouse (of sorts) for charities and tech companies, allowing for very deep discounts on hardware and software. For example Office Professional Plus 2013 is $32 and Windows 8.1 is $12. In the past I've paid around $125 for Adobe Creative Suite 6.
In addition to discounts techsoup also has a wealth of articles on tech-related issues for nonprofit management. http://techsoup.org/
JAGga.me ----> Producing video games addressing emotional health and wellness issues affecting teens.
If they know and use Windows now, don't be a zealous wanker and force them to spend their resources learning something completely different. Microsoft offers Windows and Office for free to non-profits.
Quickbase - it's a kind of expensive service but amazing.
All online, no software or machine maintenance. Access from anywhere.
The amount of flexibility it has is astonishing.
Get a free demo - they'll set it up for you exactly how you want it. They've rarely said 'no' to anything I've asked if it could do, and then they implemented it, within minutes. It also has an API so you can add on to it all you want. There are a number of affiliated vendors that have ready made add ons for it as well.
Quickbase can do very very quickly what would take hours or days to program into a custom SQL type app.
http://office.microsoft.com/en...
Granted, that's just Office 365. But I would have thought everyone knew there are legit ways to get free or very low cost licenses for every MS product for Non-Profits?
OpenOffice, LibraOffice and so on have a database offering for basic requirement but really ... how can they mantain any database?
Maybe a simple spreadsheet will do?
Likely if you create it, with no backup ability or skill set (or likely money for hardware) at the location that can maintain the DB, it will be unusable within 1 month.
Really, consider use of note cards in a water/fire proof box.
Do not role your own solution. You're effectively crippling your org once you leave. Which will eventually happen.
I've done IT for small non-profits. Used both Access, FileMaker Pro. The third party apps targeting non profits range from okay to terrible. Biggest challenge is customizations and forward porting that crap. No different than orgs which customized bugzilla and then had rework when a new bugzilla comes out.
What we're doing now is moving to SalesForce. It's free for small non-profits.
http://www.salesforcefoundatio...
I'll let you know how it works out.
I'm ambivalent about features and so forth. But hopefully the larger community of SalesForce talent will make future continuity easier.
One big win will be the ecosystem of add-ons. My current org is excited about using the CRM features to improve engagement with clients and donors. The kind of crap I really don't want to write myself, yet again.
I use Django with Sqlite. Django provides the web interface and the semi-automagic administration interface. SQLite keeps all data in a single file, which is really easy to copy/backup. I also strongly recommend using SQLite as the backend because it can be read and modified using a number of other interfaces, like https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/.
Ask the people in the charity staff, or better yet the kids themselves, if any of them would be interested in developing the necessary IT expertise. Then teach them as you set it up and help them learn what they'll need to know. You might change someone's life.
Create a class object, make it serializable - read/write your objects to a file.
http://msdn.microsoft.com/en-us/library/ms973893.aspx
Of course you'd have to design a cheesy UI to manipulate the data.
"I'm doing some volunteering for a street kids charity in Senegal, West Africa, and they need a new database to store all their information for the kids, and to help the funding organizations like UNICEF"
Suppose a department in the company you're working for came to you and said "We want a database to store information, and we want to do it with Lotus Notes". Would your first response be start implementing Lotus Notes, or would it be to say "Umm, just a sec here. Why do you think you need a database?" and "What kind of data, how much data will there be, what do you want to do with it?"
Of course, that's one of the most annoying things that IT people do: ignore your question and try to help solve your actual problem. I apologize now.
For one thing, your problem may already have been solved for someone else.
Are we talking about committing to paying monthly fees for a VPS server? If so, I do not see why the problem with paying for MS Access licenses.
My other question is, if we're talking about about a few PC's running Windows 7 and zero-tech knowledge, how are you going to handle backups and restores of the mysql database and the custom apps?
With MS Access or Excel, you can do backups and restores to/from a CD-ROM, or to a USB stick with a trivially easy restore that anyone could assist with over the phone. With SQL Server Express and some other suggestions, not so easy.
If they are non-technical, you're going to saddle them with a high-maintenance update-treadmill like Access? That's just cruel.
MySQL has been known to run for a decade or more without any management at all. MariaDB should do the job. Give them something robust, not Access.
The problem is finding a pretty front-end, but supposedly OpenOffice can do it. I don't know, because I am technical, and don't use the front end. I admin mySQL, Postgres and Access (and Intersystems Cache, if you've ever heard of that) and I would never recommend Access to anyone who wasn't already deep in the Microsoft techstream. It's just not as good or as easy to maintain as Postgres or MySQL, full stop.
Knowing the data collected is worth more than the license cost of any package you might pickup, a VPS sounds like a winner because it will automagically be BACKED UP by someone that isn't you. Secondarily OSS. Thirdly Filemaker Pro, but at least that is a FIXED cost. What about multi-user? You get that for free in the web app, but no internet in Senegal is a thing right? Maybe a locally hosted, on one of the Win7 boxes, mysql and apache web app. Local multi-user minus auto backups.
Since you mentioned what you would do, and didn't rule it out (like: must be a desktop app), then hosted sounds like a great way to go. Unless the hosting cost is a problem, but you didn't say that either. No budget at all for that matter.
Open Source is only free if your time is worthless. The benefits of openness are network benefits.
1 Dachshund + 1 Dachshunds = A Paradox.
Using PostgreSQL is the same as using Access. If you are plugging directly into a database, no fancy tools will prepare you for this.
You either want people to understand what a table is, what rows and columns are, what indexes are, and how to use them; or you want to create an interface that provides an abstract concept (helpdesk tickets, accounting ledgers, whatever) and uses the database as a back-end. If you want people who don't know what the fuck tables and indexes are to create tables and indexes, you've fucked up.
Access is "harder to use than it should be" because you're looking at a thing you don't understand and trying to put it to use. It's like getting a forge to make engine parts, but not understanding anything about engineering; what you want is a car that has a steering system and an engine. If you actually want to build custom engines, you're going to have to learn how the parts of an engine go together and what they do.
Support my political activism on Patreon.
PGAdmin3 is the Thomas the Tank Engine of Database Management -- it's simple, and ultimately a really useful engine.
Sock Puppets: damn_registrars=pudge_confirmer=jimmy_slimmy=raiigunner=cml4524=a_klavan=red4men=ronpaulisanidiot
Given this info you've given us:
. . . it needs to be understandable by the non-geeks in the charity — there is no IT expertise here . . .
you need to do the simplest possible solution. And by simple, I mean one flat file you can backup and restore and one application that needs to be (re)installed would not be overkill (or is that underkill for this situation?)*. The more you have to add to that in terms of re-creating the system after a failure, the more you've set up a "dead-man" system -- where the "dead man" is you. One out-of-control cement mixer with your name on it and your system is one dead hard drive from gone. You'll know you're successful if you feel you can quit the volunteer gig without feeling guilty that the system won't be running in six months.
*That specific case may be too simple, I don't know. What I really mean is: as simple as possible without sacrificing essential features.
I am not a crackpot.
I did a table-based setup for an electoral candidate, and could up- and down-load subsets to spreadsheets for major changes or offline work and it has a simple form for single-line changes. Much processing consisted of select, export, format and print, as many volunteers understood paper and pen (;-))
davecb@spamcop.net
they need a new database to store all their information for the kids, and to help the funding organizations like UNICEF. The charity [has] a few computers running Windows 7. Being a die-hard OSS geek I'm more inclined to knock up a MySQL backend with a Django front-end and run the whole thing from a reliable VPS. But it needs to be understandable by the non-geeks in the charity--- there is no IT expertise here
You might better begin by asking what local sponsors and organizations like UNICEF are using. What support they can offer. If Windows and MS Office are the de facto standards here, you may need to rethink your priorities.
That the charity is running Win 7 is a significant clue. Top 7 OSs in Senegal
a MySQL backend with a Django front-end and run the whole thing from a reliable VPS
Does this really sound to you like something anyone but a geek would understand and be able to maintain?
I assume that if the submitter is planning on building a MySQL and django database system for this charity where nobody else has tech experience, he will commit to moving to Senegal and working for the charity to maintain this db for the next decade+ while the db is in use. All for free.
alternatively, he could build a tool nobody knows how to use, migrate critical data to it, then bail.
Everyone here has an answer. But you seem to be the only one who is asking the right questions.
What do you know about expensive web connections? Power outages? Spelling in societies where few people rely on the written word? What are the chances of getting a laptop stolen? A tablet? a Phone? A visit will surprise and interest you.
Hi, I'm Darren. I built a website at darrencaldwellwebdesign.ca (the area I'm referencing can be found under portfolio->web development) but I'm also a student right now and I wanted to help out the other students so I made darrencaldwellwebdesign.ca/school It explains how to setup your own apache server really easily (if you copy/paste the code it also installs webmin and that has a super easy interface for making databases). I also have articles that show you how to use javascript to pick up a variable like a name, pass it to php, and then write it to a database. I also show how to pull data out, and how to pull data out that has multiple lines like a list of something. There's some other things but that part there should be the meat and potato's of how-to for getting up and getting going in a simple and long term way so you can easily edit and update things because it's all just stock standard HTML pretty much. If anyone else here is reading this, you'll find that all text/code areas can be clicked on, new areas added and all areas can be edited and saved. This allows everyone who wants to help out and update the documents. I like to keep it as a simple clean professional reference area for developers. Please though if you have something to add I'm super eager to learn along with everyone else :)
Friends do not let friends suffer MySQL. Go for Glom or LibreOffice Base over PostgreSQL.
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
Look into NationBuilder - they are exactly what you are looking for. http://nationbuilder.com/
Don't pay for web development of a one-off app.
They have a grant program specifically for nonprofits and a generous community that wants every user to succeed. Objects and fields can be created via point and click. Similar with workflow, validation rules, etc. more complex business logic can be added with custom code.
http://www.salesforcefoundatio...
Be careful building out a donor management system. It is really easy to setup a stripe or paypal donation button these days. But things get complicated when the non profits need refund/void a transaction or to setup recurring donations. Look for an existing solution that works closely with smaller non profits. I work for a great one http://kindful.com/ feel free to reach out. my contact info is in my profile.
If you are an official non profit (501 organization) Google provides free services including their App engine AND will provide up to $10,000 free adwords advertising a month. http://www.google.com/nonprofi...
Open Office is free and comes with a database program. I haven't used it much. I don't think it runs as a server like MySQL though.
H2 Database Engine is free but it requires Java. www.h2database.com
It is easy! Soooo easy, not quite as easy as File Maker Pro, but way more powerful and with better forms. You will NOT be doing them a favor by leaving them with something new to them that has poorer documentation and no support. Please, please think of the end user. Libre Office's Base's objective is to be like Access and the current version has many of the UI features but you find the term 'script' shockingly absent from the Libre Office documentation. All of the real power that is in Access is COMPLETELY missing from Libre Office Base.
Your stated need is -
"I'm doing some volunteering for a street kids charity in Senegal, West Africa, and they need a new database to store all their information for the kids, and to help the funding organizations like UNICEF. The charity staff have a few computers running Windows 7.
Why not check out CiviCRM - it handles all the contact records (like a Customer Relationship Management package should) and is geared for non-profits. It is OSS just in case you need it to do something it doesn't, and it seems to have a good community behind it. It has custom fields, has some fundraising functionality, etc.
And most importantly its interface seems to make sense to people that aren't super tech savvy.
Excel makes a great database. But to avoid any possible confusion, be sure that there is only one copy of the spreadsheet file in existence.
I'll see your senator, and I'll raise you two judges.
CiviCRM and the CiviCase module will do what you want out of the box. CiviCRM is open source and free. While I wouldn't really suggest WordPress to setup CiviCRM, I did get it to work for me. I chose Drupal to put it into because Drupal offered much more customization.
I've set up CiviCRM in Drupal on Linux within a Virtual Box. I use the module CiviCase. You can even get a CiviCRM virtual machine from BitNami.com if you want it as simple as it gets.
If you don't have to import data CiviCase will work perfectly out of the box. Importing data from another database can be a challenge, but there is some help out there. There is a large community of CiviCRM users. Search for "what is civicase" to get an overview.
The people who are designing and developing CiviCRM and CiviCase are doing an incredible job. I studied their database and it is well normalized. I have built a few customer relations databases over the years and will never again have to struggle with designing again thanks to these people. It is designed with non-profits in mind, CiviCase in particular is designed around needs of small clinics.
Microsoft is pretty good at giving away cheap or free licences to charities.
Whether you personally are a "Being a die-hard OSS geek" is as irrelevant
as if you are gay.
Unless you plan to stick around and volunteer for the next decade or
more, or you have a steady supply of "Being a die-hard OSS geek"
volunteers lined up replace each other, dont be an ass and land the
charity in deeper problems.
Are you donating cloud servers for them to use to host the
MySql plus python for the next decade with built in support?
Or do you intend to install it on one of their machines, maybe
with Linux on it, and install the app via docker?
You want a solution that is as easy for non computer people
to use but also to MAINTAIN, to MOVE, to UPDATE.
Access has a lot of issues, but even a volunteer with
little experience can move an access file. if required,
and fill out forms.
If the charity is lucky they will land another geek who
can add some fields to a form and make a new report
something like that.
In fact, a lot of the user would probably prefer to track
the whole thing in a spreadsheet, because its something
they understand.
Having your super duper optimized Mongo db Python
node.js application be super fast, and really OSS, aint
gonna be a good thing when Bob takes over from you
and they need two new reports.
For this kind of charity work KISS: Keep it simple Stupid.
and KIRSS Keep it real simple stupid.
You need to spend more time writing a user manual and
documentation that will live on after you are gone that will
be needed and loved by all than you do inventing a tech
stack and writing software to do a job Access does ok.
Want support for Access? Easy to get.
Want someone to support your Mongo, Python, node.js
application. Hard to get.
Access, probably wont cost them anything
Access, lots of easy ways to get support
Access, its in MS Office, kinda looks a bit like Office, People like Office.
Access, super easy to export data into Excel
Access, built in report generator that might be used by a power user.
Access, made for this use case.
Personally I dont want to touch Access with a ten foot pole,
and consider it evil, but if I am trying to help a charity get
going, raise money and general do good by them, for this
work Access is the best option, even if I have to humiliate
myself to set it up. Its not about you living your OSS dream,
its about helping those in need.
Just use techsoup Their website provides *VERY* inexpensive software licences geared for NFP orgs. It's a little hassle to sign up, but very legit!
TechSoup is a 501(c)(3) nonprofit with a clear focus: connecting your nonprofit, charity, or public library with tech products and services, plus learning resources to make informed decisions about technology.
Our free resources are available to all users. Once registered and qualified with TechSoup, nonprofits and libraries can access donated and discounted products and services from partners like Microsoft, Adobe, Cisco, Intuit, and Symantec.
Office Standard 2013 $24.00
'I don't know what it's called. I just know the sound it makes, when it takes a man's life.' ~ Four Leaf Tayback
Salesforce.com will give you a database, application, user interface, workflow, approval process as part of their platform. If its a registered charity / non-profit they will get a bunch of licences for free - see http://www.salesforcefoundation.org/
If you build something bespoke, ask yourself who is going to support it for them in the long run? Be careful what you create because you could cost them more money in the long run if they have to hire someone to figure out what you have done.
Thank you.
They have computers, they need a db, yet there is no one he can train ?
All the kids in Senegal, eager eager to learn,and he can't fidn one kid to train ???
wtf ?
And also pretty cheap off the streets. This is just pure young OSS guy political idiocy. Great way to make the people he works for hate him and OSS.
you just ask on slashdor for people volunterring for the setting it up, knowing the specific requirements, and thinking about it.
The real question is: is tehre already a MS Access DB?
If yes, then dont touch a running system.
Worth looking into. Good luck.
http://www.microsoft.com/about/corporatecitizenship/en-us/nonprofits/whats-available/
http://www.microsoft.com/about/corporatecitizenship/en-us/office365-for-nonprofits/
Note: Senegal is listed
My general guidelines, for data storage, Fields A, B, through Z by $X records
is $X > 10,000 records? - If Yes use a DB if No see Next Question
Do I need separate out data by type or access, such as Joe can see Name, DOB, Telephone number, Address, Emergency contact info etc. But Jane should only see Name, and Emergency Contact? - If Yes use a DB if No see Next Question
Will more than 1 user need to write data at to this at the same time? If Yes use a DB if No see Next Question
Will more than have users need to read data from this at the same time or will anyone need to read real time changes data? If Yes use a DB if No see Next Question
If you have answered No to all of the above questions, Then use a spreadsheet.
A web app backended by a real database on an inexpensive virtual machine out on the cloud is what I'd do. If we're talking about biographical and resource data on individual aid recipients that has to be maintained over time you need to make sure that the data is protected and will still be accessible even if every machine in that office is taken out by a power spike, or a malware infection. If you don't want to spend time coding something within the Django framework (which is very good), you could look at cooking up a set of simple apps using a tool like phpmyedit (http://www.phpmyedit.org/). Although the charity's staff might not have any IT superstars, they're probably all very smart people. Most importantly, as true believers they're motivated (only executives make any real money working for charity, so the only reason they're probably there is that they actually care about the work). They can be educated to operate, and maybe even extend, whatever you develop. If you pay close attention to designing your solution with rational, coherent, internal standards it will not only be manageable, but be useful long after you've moved on.
I am recommending this without enough information about the problem.
In my case, I wrote my own multiuser access layer on top of SQLite and it works very well. I don't rely in any type of file access control because, as the SQLite documentation says, it could be not reliable.
But if you can make an application that works in only one place within one machine, SQLite is extremely more powerful than MS Access, and uses almost no resources. Also, if you need to backup the data or to send the data to another place, you only need to copy the data file.
There is a Firefox add-on for basic database management, and that's all, you need no other thing to work more than the way to present the data to your users.
****
One comment here.
When we have only hammers to work, we see every problem as a nail.
Depending on how you model your solution, SQLite is just enough as any other database system also, even XML or plain text files.
Other people recommended HSQLDB (Libre/Open Office); as I remember, the database works in memory and have a backup in disk with a statement based storage. When you start your application, this database runs ALL the statements and refill the memory structures. I am not sure if this works for you. In the case of SQLite, it is a standard database system and the database file is analogous to an Oracle datafile or MySQL data structure.
Kexi
Hell I *am* a technical person and I would dearly love for a database that made it as easy to create a simple database as it is to create a spreadsheet.
Are you sure you are "a technical person"?
Sounds like you need some kind of basic CRM system. I'd have a look around for packages that can do 90+% of what you're after and then work out if the remaining 10% is necessary.
Getting Microsoft to give a free license to Microsoft Access for a non-profit is pretty easy. Or find a Microsoft employee who will donate one. If the only reason you don't want to use what might be the best tool for the job is because MICROSOFT, I think you are being stupid.
Should we wait until street kids send us a RFP?
Never underestimate the destructive and creative power of stupidity
Zoho Creator. Online database, drag-n-drop form creation, security etc etc.
I've created a several Access applications, plus several LAMP-based Internet applications. I've interfaced a lot with non-technical people. They don't GET databases. They don't understand normalization or foreign keys or indexes. They don't understand SQL or joins. It's not their area of expertise. They do the actual work of the charity or the company so I'm not in the least bashing them - but they just don't understand databases.
My experience is that after brief training, they'll get spreadsheets. They understand tables very quickly and easily. Explain to them the concept of worksheets. And there's no complexity in opening an Excel file. You just double-click and you are immediately there, looking at the data. Heck, with some thoughtful use of the individual worksheets in an Excel file, you can even get a hint of normalization. Like putting different geographical regions in different worksheets in a single workbook. Having multiple Excel files (workbooks) for different larger groups. People kind of naturally understand that tree-like data structure.
Many people think Access is a toy. But it's still a database and it uses database concepts and SQL. And that is beyond the ken of non-technical types. Spreadsheets are simply much more understandable to them. And ultimately - much more maintainable. And maintainability and understandability is the key here. The charity is going to be here, on the ground, doing their work, long after you've moved back to the States.
There is a fraction of the learning curve with spreadsheets than there is with any relational database, regardless of whether it's a file-based system or a client-server system.
FYI, here are the Excel load limits.
Micorosft SQL Server Express coupled with Visual Studio Express would allow you to knock together a suitable, efficient system in a few days. You could also sync the SQL DB folder and source files to the cloud using the provider of your choice for robust backups. All of this can be done for free, and uses tools which are widely supported. Sure, the charity workers won't be able to do much if something goes wrong, but an appropriately designed application/DB should last years without issue.
I know it's not an open source solution, but it's free, reliable and easy to find free/cheap support in future.
Use Kexi
If they have internet access, for something different, but which I think is exactly along the lines of what you describe, check out a SaaS product called TrackVia (http://www.trackvia.com). It's relatively cheap (you might try to get them to give you pro bono access as a charity) and has all the abilities you describe designed specifically for non-technical people, but is also quite versatile.
Hope that helps!
-- My choice of computing platform is a symbol of my individuality and belief in personal freedom.
It is AFRICA for god's sake. Unreliable electricity, bad water, bad food, few can read/write...
Make the database on paper cards. Large corporations worked like that for hundreds of years. It works.
OK, it is AFRICA, use clay tablets and write in Sanskrit...
Excuse me, but please get off my Pennisetum Clandestinum, eh!
try free tool My visual database
So... if LibreOffice Base is not functional enough... and if a web solution is "too techy" for them... and if other proprietary solutions are too proprietary for you... and if an extant CRM isn't okay for them... and if a single-user single PC solution is acceptable...
Write a standalone Python app that uses PyQt for its GUI, design the forms in the Qt UI form designer, use the Qt database abstraction to use an SQLite DB on a local file.
If this is a solution that is going to be dropped on them and left without support, then you don't need a super-flexible (read "buggy") database-designing framework, so knock it out in PyQt and run.
If you are going to be around to support it, then just use your preferred django/mysql system. I'm sure the org can stretch to a couple of RPi's to run it on. Oh, and backups.
I assume you have an Internet connection. If you want ease-of-use and -modification, check out Zoho Creator https://www.zoho.com/creator/ , a tool that makes it easy to build database-backed web forms
IMHO MS Access is a poor alternative to a database. Poor jokes aside, MySQL or PG are obvious candidates for the backend but the real problem here is agreeing on a front end that lets the user accomplish more than he/she can already do in MS Access. The obvious question that needs to be answered is therefore "what are you trying to accomplish from switching to a different tool?" First decide what to build, THEN look in the toolbox.
Time flies when you don't know what you're doing
From a fair challenge like a chickenshit blowhard http://slashdot.org/comments.p...
Using PostgreSQL is the same as using Access
I've developed databases in both and when developing small custom databases it most assuredly is NOT the same aside from the fact that both are databases.
If you want people who don't know what the fuck tables and indexes are to create tables and indexes, you've fucked up.
You misunderstand. What I want is a MUCH better interface for making tables and indexes and linking them together in basic ways, particularly for small ad-hoc databases. For example my company has a small database we use to track tooling - there are no off the shelf bits of software that can do what we need. We prototyped it in a spreadsheet to figure out the basic structure and now it's implemented using Access which is fine. I could have used PostgreSQL (I've done it before) but that would have been overkill. It's not a complicated database - a few tables and some simple queries plus 3 forms. But the available tools for prototyping and then implementing it are harder than necessary. Hard in the sense of unnecessarily clumsy. Hard in the sense of worrying about too many fussy details that simply don't matter for such a simple project. Hard in the sense that making simple adjustments to such a simple tool requires more technical chops than is economically sane.
Access is "harder to use than it should be" because you're looking at a thing you don't understand and trying to put it to use.
You are making the mistake of confusing criticism with ignorance. I don't criticize because I don't understand I criticize because I am the one who actually has to implement this stuff in the real world in places where IT staffs are simply not available and cannot be afforded. I understand Access just fine and use it with more regularity than I care to think about. I've also had to implement numerous small custom ad-hoc databases in all sorts of companies for the last 15 years. I've spent a good part of my career basically as a work efficiency consultant and I run a small manufacturing company. I'm the person who has to actually implement this stuff in companies that don't have full time IT staff and can't hire a DBA. And what I'm telling you is that the back end of the tools are fine. The development front end for pretty much every single database product SUCKS for making basic tools.
Are you sure you are "a technical person"?
Do you enjoy wasting time needlessly with inefficient badly designed tools?
Think of it as constructive laziness in the sense of the three virtues of a good programmer. I have a lot to do and anything that helps me spend less time screwing around with details that don't matter for the task at had is a Good Thing.
From a fair challenge like a chickenshit blowhard http://slashdot.org/comments.p...
Why a database? Couldn't a well-architected directory structure of either json or just simple text files work just as well? Put a UI on it and write twice as much documentation as you think you'll need, and I bet you can find a few clever kids to take it over from you. My experience in West Africa was that every solution needed to be super simple in order to have any chance at working a year later. If the charity needs to report to UNICEF, get the requirements for that report and code it up, then teach four people how to modify it. Way better use of resources than buying software licenses.
Some of the obvious ones that should be ok.
http://xataface.com/
https://github.com/turnkeylinux-apps/appflower
http://kexi-project.org/
https://www.nubuilder.net/downloads.php
http://en.wikipedia.org/wiki/Wavemaker
You can also use OpenERP, which is now Odoo... I think. Still its a whole ERP or parts of an ERP, by installing the relevant applications. But you can also just install the base version, not install any applications and create models(which creates the database tables) via the web interface, create the views via the web interface and design the forms etc via the web interface. They have a hard time explaining this on the website, as they are more interested in the whole App world. But it's really easy, if you get stuck and want to see a demo, you can contact me here https://twitter.com/mrmangosir. I only mention this one, as I made a database application using this in my company, so I have some personal experience on this :)
"average Joe who knows a tiny bit of sql"? don't see many of those where I live. you must work for a tech company if you think that is normal
check out http://www.techsoup.org
Suneido www.suneido.com is the answer you are looking for,
Microsoft SQL Server Compact 4.0 (free) - http://www.microsoft.com/en-us/download/details.aspx?id=17876
I agree with many of the comments out there saying to use a CRM solution. Microsoft has discounts for non-profits.
CRM Online Nonprofit Pricing*
Professional – $15.00 per-user, per-month (regularly $65)
Basic – $7.00 per-user, per-month (regularly $30)
Essentials – $3.75 per-user, per-month (regularly $15)
https://community.dynamics.com/crm/b/xrm/archive/2014/01/16/microsoft-dynamics-crm-online-discounts-for-charities.aspx
Microsoft will actually give you the access runtime for free. It will let you run a database that has already been built and won't let you edit the design. I did it for my grandpa and it seems to work just fine.
Openoffice / Libreoffice BASE, it uses HSQL and is very similar to Access if you are familiar with it.
As a last resort you could use MS SQL Express with SQL STudio, not FOSS, but a decent DB and rather easy to use if set up correctly.
-- 29A the number of the Beast
And deploy using access runtime. Really slick!
Hello,
You say you are 'a die-hard OSS geek'.
First as UNICEF's advice. Good chance the charity might loses its subsidy with our plans.
I guess the root of the problem is the submitter then. The charity needs to replace them with a less-biased person so the best decision can be made, whether that be OSS or a free-or-cheap charity license for Access.???????????????
I am totally agree with the Dear writer.
Regards
Astrologer Swam Ji
Expert in caste Love back spell and black Magic
"I'm doing some volunteering for a street kids charity in Senegal, West Africa, and they need a new database to store all their information for the kids, and to help the funding organizations like UNICEF. The charity staff have a few computers running Windows 7. Being a die-hard OSS geek I'm more inclined to knock up a MySQL backend with a Django (or similar) front-end and run the whole thing from a reliable VPS. But it needs to be understandable by the non-geeks in the charity — there is no IT expertise here. Is there anything that can allow me to design and edit databases, tables, and forms but doesn't require an MS license?"
I'm not nearly the expert as all the other experts here so maybe someone will explain why this is bad idea. If the database is really small enough it could be handled locally with something like MS Access that it may as well be something that be handled with a SQL front end in HTML to add/edit/delete/view the database details. And for this I personally would use XAMPP portable for windows (no installation required instance of apache/mysql/php).
Store it on dropbox (probably symbolic link that folder back to c:\xampp), setup a a robocopy script to syncronize that directory to a thumb drive (etc) every night at midnight or whatever. For something really fancy create a script to compress the directory to zip file with 7-zip every day/week/month/whatever. Perfect. Done. This way you could move the whole thing to a different PC quite easily, a support person could remotely install and login to that dropbox to synchronize over the whole XAMPP installation for troubleshooting, it's backed up, the world seems flush the MySQL people...and XAMPP is mostly or entirely open source stuff/free-as-in-beer. Other than the initial front end work it seems like the easiest/fastest way to get this all done based on the stated requirements.
"UNIX is very simple, it just needs a genius to understand its simplicity." -Dennis Ritchie