Ask Slashdot: What Web Platform For a Small Municipality?
First time accepted submitter r3dR0v3r writes "I have the opportunity to help improve / replace the website of my small U.S. town (~6000 people). The town leaders are open to most any suggestions, and are open to the idea of having the website facilitate a more open government — by being a place at which town documents, meeting agendas, meeting minutes, legal forms, ordinances, etc. can be found in an organized way and downloaded. And of course the site should provide general info about the town, it's services, recreation opportunities, etc.. Now, we have no budget, so we'll be looking at free/open software. I've considered options such as Drupal, but I'm doing this as volunteer work so I don't want to start from scratch and spend overly much time. Thus, I'm looking for advice about any existing platforms made specifically for municipalities as a great way to get a jump start. I'm guessing there are other slashdotters that have helped their communities in this way. Your suggestions please?"
Drupal, Joomla, Wordpress are all viable options... just go with whatever you are comfortable with...
Use a CMS like Joomla, Drupal (or any other similar)
Or, if you're a glutton for punishment, Sharepoint. (yes, that is a joke)
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
Drupal with CiviCRM. Perfect for what you've described.
Make sure to have a clear support contract, paid or otherwise. This could become an unpaid time sink unless you set clear time and other boundiaries NOW. You may not notice if you do,but you will pay if you don't.
Silence is a state of mime.
Do not listen to this advice. RoR is totally fail. It sucks at performance, scaling and pretty much every other metric that is important.
Starting of with Drupal is probably good. It should more than handle the load on without too much trouble if you need more horsepower. You can pretty easily setup up and configure users to add content and its not exceptionally difficult to code extensions or find a developer to hack something together. I think the fact that power users can make it do 80% of the work means you will save time on all but the most complex stuff.
LAMP... well acronym for the grammar Nazis
That would be lexicology Nazis, you semantics-insensitive clod!
Sincerely yours,
lexicology Nazi.
Ezekiel 23:20
Drupal is an excellent choice for whipping up a sophisticated website. It has modules for doing all sorts of things from event calendars to forums and whatnot. Also, unlike Wordpress, Drupal does a pretty good job keeping up security. You can put together the basics of a functioning website in a matter of hours.
There are also lots of free themes available, including ones that provide easily extendable frameworks so you can come up with your own theme if you're so inclined.
All that being said, the bulk of the effort will NOT be making the website. The bulk will be in entering the content, and server management/security. For content, your best bet will be to use a wysiwyg editor module that is capable of handling copy-and-pasted word documents. I suggest installing the wysiwyg module, along with CKEditor or TinyMCE. Security is something you'd have to do reading up on, as there are no magic bullets.
Actually, joomla and wordpress both have multiple free extensions that handle Facebook comments, Disqus comments, twitter feeds, etc.
This is where I pitch www.codeforamerica.org and see what it may offer!
Colin Dean Go a year without DRM
google docs might take care of some of this
no budget, no money for onsite servers means cloud
even then for such a small environment there is no reason to buy your own hardware and code everything from scratch when someone has probably done all the work for you in a hosted solution
If the base beneath your CMS is not fast and secure your CMS will be compormised. Also check out Magnolia it is a powerful and interesting CMS that is java servlet deployed.
Because 300 connections to the database to display a picture of your cat can't be wrong.
For the type of things you're looking for, I'd recommend LocalWiki. While so far it's been used mostly by communities vs municipalities, it includes robust permissions, is under active development, and is built w/ some nice geo-extensions for where that's applicable. It's very easy to get up and running and you could run a micro EC2 instance to test out for (practically) free.
I'd also suggest that you try to connect w/ others that are doing similar things. There's a large community of civic hackers. For those working directly w/ municipal govt, check out the Code for America Brigade, a community that's all about that and can provide help/support for exactly this sort of thing. You may want to check out their deployable app list, and maybe also check out CfA's github repository which has a lot of projects that may be useful, and their Civic Commons project which gathers the sw/infrastructure that cities are using.
...harder than it has to be.
Google Sites + Drive
The primary purpose of the site is to share information. This would also make it easier to have the town update/work with the site themselves.
with info about the town that does not change (name, location info, some pictures, etc)
2. Create the town's Facebook page, populate it with dynamic data, and hand over control of the account to the town manager (or whoever)
3. Embed Facebook data into your static html page
You can go Drupal or Joomla but do you really want to be responsible for security and upkeep? Joomla in particular gets hacked a LOT. Drupal is a nightmare to train newbs how to use.
If you have no budget, keep it all on paper.
Seriously, anything you pick, at all, will need ongoing long-term maintenance, security monitoring, etc ... the only thing worse than no system is an abandoned system.
If the town thinks its valuable, they should fund it appropriately (no matter what technology you use). Or get the scouts to run a bake sale or something.
Based on your stated requirements (no budget, not wanting to start from scratch etc) I'd suggest using one of the many pre-configured Drupal distributions like OpenPublic (http://drupal.org/project/openpublic) which is built specifically for the needs of government.There are many other distributions available at http://drupal.org/project/distributions. Using one of these will save you a lot of time.
The increased staffing required to develop and maintain it will drive your little town's population up to 20,000 in short order. Best of all, most of those new jobs will be for highly paid SharePoint consultants, so the town should get a lot more property tax revenues!
To see the mess this turns into in a few years. Relying on a volunteer using a platform and all products that they choose, none of with will have any sort of actual support model behind them is a recipe for disaster as soon as you become disenfranchised with it all. Seriously, take a look at the number of projects out there that start off and then die on the vine as soon as interest is lost, which in something like this will be very quickly once you get something running and interest wanes.
Oh yeah, I forgot only h4xx0rz know |337...
It seems that everyone who says "I ignore trolls." really means "I ignore you if you disagree with me."
This is not pessimism; it's realism: stop while you're ahead, or at least hammer out an agreement in writing.
Doing any sort of web development for a large community, and gods forbid a government agency, is going to eat up a lot of your time -- time you've already said you don't have. Worse, though, is that it will never end... your involvement will become increasingly needed and even demanded as services fail or need to be expanded, or your site is hacked. How much liability are you assuming in designing what amounts to the PR page for a group of professional, elected lawyers?
You absolutely need to make sure that there are clearly-defined boundaries at every level of your involvement, preferably in the form of a contract, even if the work is completely voluntary.
It's not always cost-effective to host your own platform - you need hardware, power and cooling, a reliable internet connection with good upload speed, maintenance, backup, etc. and you get to live with a pager, There are plenty of cheap Linux hosts out there where all the possible software is available. As an example there is Bluehost where the $5/month hosting plan comes with a SimpleScripts subscription which allows you to deploy just about any application in a jiffy (including all the CMS, blogging and social media stuff you can think of, including Drupal). Of course for that price you can't expect stellar performance, there will be hundreds of other websites on the same machine.
If you want something more robust and you are open to other things than FOSS than have a look at Microsoft Azure. It's more expensive than cheap Linux hosting but for $25-$50/month you can have a very robust cloud setup (load balancing, backup, etc) and no additional license cost. And the nice thing on Azure is that you can deploy an configure a new CMS (like Joomla or DotNetNuke) using a click wizard, it's even more user-friendly than SimpleScripts, you get to choose the various options, not just the admin password. Also with Azure you get a 3 months free trial to see if you like it. And if you somehow can't sleep with the idea of a .Net webapp you can deploy PHP stuff - you can even host a Linux VM and run whatever you want on it but that would kinda defeat the purpose of using cloud services.
Whatever you do make sure you don't become the "owner" of a local setup. People will start to have unrealistic expectations and will be mad at you when "your" server is down because of a power or internet failure. If you really can't afford a few dollars a month go see an elected official and ask for guidance, I'm sure they can find a federal program to get you pennies.
lucm, indeed.
I would use CiviCRM [1] and WordPress if there were no other constraints. I am of course assuming that your town wants to be able to do email outreach, has events, and likely could use case management to handle citizen requests. If not, then there is little point in using CiviCRM or anything besides a plain CMS.
I personally would prefer seeing town meeting summaries as blog posts then PDFs (which is what most towns seem to do currently).
Although if you really have NO budget, then I guess WordPress.com hosted or Google Sites.
[1] http://civicrm.org/
Just a few questions to see if you've even bothered to think about this beyond "Websites are cool, open is awesome!"...
These questions all come from firsthand experience.
1) Who will maintain the data on the site?
a) Does the city have the budget for them to do this?
b) Will there be resistance to the amount of work they have to do / training they have to take?
c) Will you train them?
2) What do the solicitors think? Will they even let you post what you want on the site?
3) Do the departments want the information available? Are they going to push back if they don't?
4) You have no budget. Who pays for or does the hosting? Registration? Admin stuff? Maintenance?
5) Do you actually have buy-in from the people you need it from, or are they just humouring you?
6) Are you being used? This is the sort of thing that municipalities (Yes, even your small one. Look at its tax roll sometime) can easily justify dumping $20k+ into
7) They have done a feasibility study, right?
8) How familiar are you with accessibility standards? Are there some you legally must meet to even put the site up?
9) Who is responsible for the site itself?
10) Are you prepared to have this project drag on for over a year?
11) Finally, the hardest one - are you certain you know the scope of the project?
Good luck, but don't get yourself in trouble...
Out of the box, it has probably more than what you want. http://openpublicapp.com/
--Steve
Also, RoR is a framework for creating a website from scratch, which is exactly what the poster did not want to do. There may be CMS packages written in RoR, but Ruby by itself will take a lot more work than he wants.
WTB [sig], PST!!!
They went with a hosted solution though. Their harvest festival pages were especially quick.
How in the hell does that address any part of the submitters question?
I went to eat some animal crackers and the box said, "Do not eat if seal is broken." I opened the box and sure enough..
WordPress recently started a service specifically for municipalities: http://en.blog.wordpress.com/2012/11/14/wordpress-for-cities/ Even with their paid upgrades, you would probably be saving money on development and you are paying for hosting or (bandwidth/power) anyway.
... outsource the hosting.
sig has been sent away for a few small repairs...
You aren't going to make any money doing this, and it will be a time sink.
Get a Wordpress blog setup from one of the zillion different providers that offer that. Problem solved.
My small town of ~5,000 uses http://www.govoffice.com/ and it does everything you speak of.
for a minute i thought the my clean pc guy was back
---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
Perhaps try some rented build-a-site web service so that you don't have to install and babysit a physical box. You may be willing to do such, but if you move or get sick, they may not have a replacement technician.
Table-ized A.I.
Even better word is...VM. There are several Linux distros with VM support built in and VMWare has several LAMP builds already set up and ready to go.
Why a VM?because its pretty obvious that if this guy is going to ask Slashdot he has little to no experience at the task at hand (because if he did he'd already have preferences) so he is gonna make mistakes and with snapshots he can just roll back the image if he makes a boo boo without wasting all his previous efforts. So the smart move would be a minimal distro with VM support and one of the prebuilt LAMP setups from some place like VMWare, its the choice with the fewest risks.
ACs don't waste your time replying, your posts are never seen by me.
Yes -- VM appliances rock, and they're scalable, at least to the point where you can copy the VM across to a larger machine whenever you want, and boot it up there. They're also easy to recover. Plenty of them on Sourceforge. I used to use Dekki (now Mindtouch I think) for a portable wiki, as a consultant. Great for gathering data and disseminating it to my peers. Proved the appliance theme for me.
Do not mock my vision of impractical footwear
Since, in a gig like this, you can never enforce your own conditions (like saying you won't amend the design on every whim) you have to let the tools enforce this for you.
If I was ever to try this again I would opt for an easily user-editable, hosted solution. Wordpress will be ideal: http://en.blog.wordpress.com/2012/11/14/wordpress-for-cities/ You can cast your role as advising them on how to run it: information architecture; doing the limited number of graphics and showing people how to use the editor. Your role is not to continually re-design (just customise the template), nor to populate the whole thing. You'll also not have to put up with a 2am phone call from the Mayor to say your site is flagged as having malware and is littered with anti-city comments. Wordpress will deal with that for you.
I have used Drupal (and CiviCRM) for other sites and they are phenomenal tools...I just think for a 6,000 grouping they are overkill. And remember if the city wants personalisation, user accounts, billing, consultations etc. online then they really should be paying for someone to develop it for them (perhaps using those tools).
Hosted Wordpress will also help you see whether they are ready to run their own online affairs.
http://elgg.org/ A simple setup social network that can handle everything you've listed almost right out of the box. A couple of community plugins for additional features, slap a theme on there to make it look pretty and you're on your way. If/when you have a budget or some time to invest you can customize it pretty much any way you can think of.
Thats a tough question since whatever you choose, you would want ...
Security. Whatever package you choose, make sure it is secure and that you stay on top of security updates. Small municipalities are a great target for vandals/activists/hackers who want to strike against a target that has some semblance of government.
Wordpress, Joomla, etc are very susceptible to hacks. Do your homework and make sure you're using the most secure version or add-ons that you can get.
BTW, congrats on giving back to your community. I hope it turns out to be a great project and that you get paid work as a result of local businesses seeing what you've done.
No budget, and relying on you for (free) voluntary support? My only recommendation is to walk away as fast as you can.
Remember the ADA when coming up with your solution. If you use CAPTCHAs, make sure you provide one that has both audio and video. If you are using image links, make sure you support screen readers with the alt tag.
If people are posting documents make sure they are in an open format. Many municipalities use MS Office and will just post docx or xlsx files without thinking about it. I
Johnkoerner.com
Wow, Argument from incredulity on teh interwebs.
I've written rails apps that supported a very large newspaper's site, which got well over 15 MILLION pageviews per month. Never once did my apps stumble or crash.
Like anything else, you have to know what you're doing, boychik. Now go read pp 14-16 of the Pragmatic Programmer and learn a little.
Yeah, right.
Some people have mentioned Joomla or Drupal - forget it.
Have a look at Atlassian Confluence, they have hosted options also. Atlassian University for training is both modestly priced and effective.
Trees of pages for agendas / minutes / can handle attachments with ease / export sections to PDF. Easy to customise layout and look/feel. Integrates with popular directory servers.
$0.02
I'm from Canada, you insensitive clod!
The question asker isn't timothy...
First, get written specifications from a town official who has the authority to approve the results. The specifications should indicate the sources of content and how the town expects the Web site to be hosted. The specifications should be testable; that is, it should be possible to determine whether or not the result indeed implements what was wanted. You definitely do not want to put in any effort that will then be rejected. If you get a negative response, you want to point to the specification as justification for what you created.
Second, read what experts have said about proper Web design. The most important thing is to adhere to W3C specifications; see http://www.w3.org/. That way, any problems by end-users in viewing the result can be attributed to the users' browsers and not to your creation. Also peruse Jacob Nielsen's Web site at http://www.useit.com/, especially his http://www.useit.com/alertbox/9605.html and http://www.useit.com/homepageusability/guidelines.html. While the Viewable with Any Browser Campaign at http://www.anybrowser.org/campaign/index.html is somewhat dated, much of it is still relevant. Finally, there are my own "Professional" Web Developers at http://www.rossde.com/internet/Webdevelopers.html (where I dissect the errors committed by professional Web developers) and My Web Page Design Criteria at http://www.rossde.com/internet/web_design.html (where I describe how I design my own Web pages). In my "Professional" Web Developers, pay special attention to Accessibility to make sure you do not violate the Americans with Disabilities Act. My two Web pages that I cite here contain links to external Web sites with more information that may prove quite valuable.
Third, test your results. Use the W3C validators. Use http://validator.w3.org/ to make sure you have no HTML/XHTML errors. Use http://jigsaw.w3.org/css-validator/ to make sure you have not CSS errors.
"I have the opportunity to help improve / replace the website of my small U.S. town (~6000 people).
The website for our small home town library is maintained by a four-county cooperative. Its appearance and resources are far better than we could have hope to achieve on our own.
It makes sense to work with your neighbors. To budget and staff a project realistically.
Download a copy of Wordpress to an outsourced web server hosting account (many secure options available for ~$100/year). It takes 3 minutes to setup.
Wordpress's backend interface is the easiest to use and understand for folks who just need to share information and documents with others. There isn't the level of complexity (out of the box, but it's available if needed) that other CMSs have (like Drupal). Drupal is not recommended if you're not already familiar with Drupal.
Then pick one of the attractive themes from the thousands available, load in a few helpful plugins, and give accounts to folks who may be responsible for different areas of content.
Wordpress can easily grow if your needs grow. But out-of-the-box, it's so easy to use and manage, it's the no-brainer choice.
--
Psych Central
http://psychcentral.com/
The Web page at http://openpublicapp.com/ has 85 HTML errors and 92 CSS errors. How many errors will OpenPublic leave in the town's Web site? How will different browsers treat those errors? Will any of those errors adversely impact audio browsers used by the blind and thus cause the town to violate the Americans with Disabilities Act?
http://en.wordpress.com/cities/. Its as easy to use as anything out there. There are more ways to extend it (without writing code) than anything else out there.
The submissive are always in control. It's the nature of the beast. At the end, she got extactly what she wanted, didn't she? That said, no reason you can't enjoy it now, for it looks like you are comfortable in your new role. Good luck.
Open Public: http://openpublicapp.com/ (Open source Drupal like whitehouse.gov) Achieve City http://www.achievecity.com/ (SaaS version of Open Public tailored for muni) City of DeLeon http://www.cityofdeleon.org/ (WordPress theme developed by Luke Fretwell of GovFresh) +100 to all the folks who said to be sure you have a long term service plan
Recently, I spent 3 months as a maintainer of about a dozen production Drupal websites.
That job was, by far, the worst job I've ever had in 11 years as a PHP programmer.
Drupal is a horrible, terribly programmed piece of shit that makes life extraordinarily difficult for everything from install to administration to development to deployment. It is BEYOND bloated, dogged slow, kludgy, broken, insecure, half-baked, lacking in good community support, and generally awful through and through. It is an ugly bitch to code in on multiple levels--massive byzantine array structures to do anything, slow variable functions, the object orientation it has is pointless, obnoxious database schema and proprietary SQL (yes, really), the Javascript Drupal object...
I could go into further detail...I came up with 39 reasons as part of my regular venting in that job why I will NEVER touch it again or so much as own up to having used it in the past.
Trust me, do NOT deal with that crap. Even worse than using it would be to throw that white elephant on a third party (the municipality) that has no concept of how to deal with it, and would very likely have to pay out the ass for the rare PHP programmer that specializes in Drupal to deal with it when you've moved on.
"[T]he single essential element on which all discoveries will be dependent is human freedom." -- Barry Goldwater
If you do not wish to dig a hole for yourself, under no circumstances follow the parent's advice. Plan your site first, know what it will be doing, know the beginning and the end, and divide that into phases (feature a,b,c in phase 1, d,e,f in phase 2, etc ...). It's called scope, and you need to keep it at bay if you wish to have a life outside of working constantly on that site. Absolutely think this through IN THE EARLY STAGES. You should not even touch a computer untill you know what you'll be doing, and what the end result is supposed to look like. Whiteboards are your friends, and paper makes a good aquaintence. Yes, as you develop you will have to adjust. This is minimised by, yet again, upfront planning. This will also help you resolve what platform to choose. If wordpress makes your life easier by supplying with just the right plugins, then go for it. Drupal has a few neat tools to cover a good 90% of use cases -- in my experience (Drupal favours the tool kit approach, so you build things out as you wish, rather than relying on packaged behaviour -- see views and panels for reference).
I always get frustrated when I have to dig deep and manually read over scanned non-OCR'd PDFs.
Honestly, all I want is for all the documents and laws to be available. I would think that SVN with a web component would be great to be able to see the current laws, including the ability to 'go back in time', and it would work for posting minutes and agendas as well.
I'm not overly concerned with -presentation-, having the data available in a digital form alone is a major step forward, and you can build out from there.
"Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
It's not Tuttle, Oklahoma is it?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Were you sitting on a fence chewing a cornstalk while you were writing that?
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
I give the parent post 8 out of 10.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Why are you doing this for free?
Never underestimate the power of stupid people in large groups.
If the town leaders like to go "more open" as in "more direct democracy", have a look at Liquid Feedback.
As a reference you might refer them to the German district Freisland. (The decision to implement LF has been made meanwhile)
Visit here:
http://openpublicapp.com/
one of the available Drupal sites might inspire you AND give you a contact in a municipality to bounce questions off of.
You're just looking to (essentially) display data right? Wordpress is the way to go. Unless your application needs to be able to control the city's traffic and water pump systems, you really wouldn't need a web framework.