Posted
by
timothy
on Thursday November 29, 2012 @02:50PM
from the right-here-in-river-city dept.

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?"

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 p

Take a look at Drupal and the different distributions that are available for download (pre-defined packages of modules and features known to work together). It looks like they have a distribution right up your alley in OpenPublic (openpublicapp.com [openpublicapp.com]).

Take a look at Drupal and the different distributions that are available for download (pre-defined packages of modules and features known to work together). It looks like they have a distribution right up your alley in OpenPublic (openpublicapp.com [openpublicapp.com]).

That is awesome. I was in a similar situation about 3 years ago where I was trying to help my community with their web presence. We tried Drupal, and it worked for the most part. But OpenPublic would have saved us a lot of time and grief.

Well, it kind of does. He wouldn't be starting from scratch; he'd be starting from a deployed, functional CMS ready to receive data.

Alternatively, what about MediaWiki? It's tailored for lots of people editing content, and the page history functions seem completely appropriate for a government website (so that citizens can track document changes over time).

Depending on what you install as the distribution you're both right and wrong. It's true that the core distribution isn't very data ready, but it already comes with premade blogs and forums, for instance (personally the core implementation had never satisfied me, but it's there). If you grab an actual distribution fit for a purpose, you get much more out of the box.

Oh, yeah, I buy that. But until recently I was unaware of any of the "distributions" of Drupal -- I had tried bare Drupal and decided I didn't have time to mess with it. So as far as I'm concerned, *Drupal* is not data ready. OpenPublic, or Trekk, or whatever, based on Drupal, probably *is*, but it's not quite the same thing.

I recomend ShairPoint on Windows 8, and you don't even need the server edition, Win 8 Home should have enough power to tackle a 6000 strong office environmant. You will be able to share all your Microsoft documents And the great thing is the IT support you get from Microsoft - tops bar none.

I would highly recommend Tiki ( http://tiki.org/ [tiki.org] ) as an option as it will probably have every feature you need ready to go. Wiki for main content, forums, article publishing, blogs, forums, chat, calender, data trackers, tons of starter themes, video conferencing, file/image galleries.. the works. The v10 beta is very stable and although it is a bit of a pain to configure initially since the number of options are overwhelming, once it is set up it really rocks. Getting good performance can be a bit tricky,

Joomla is fine for smallish sites. 6000 people in a community is smallish. Drupal is powerful sure enough, but I've found that power also includes (unwanted) complexity. I didn't recommend Wordpress, because I don't really count that as a CMS, though it has CMSy features.

I've used Joomla, WebGUI, Drupal, Wordpress, and even a few Forum (old school) systems as a "website" framework. Each has advantages.

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.

Seriously. More important that "what platform?" is "what scope?" and "whose responsibility?" I am a professional web developer, and IMO going in without firm answers to these questions is just nuts.

You stated there is no budget... what *exactly* will the site do? It will need a webmaster, and if the scope of the project is not clearly limited, you may find yourself in waaaay over your head. A decent website will take hundreds of hours to set up even with the most ideal CMS package. That's without accounting for ongoing maintenance, the expectations of (tech-ignorant) municipal leaders, and the thousand nebulous variables you will end up juggling if you don't clearly define your objectives.

Unless you are talking about a few static pages, this sounds like a bad idea to me. If the municipality wants a website, before you volunteer you need to make sure they:a) understand that a website is a long-term commitmentb) specify exactly what the website needs to do (and understand that changing this is a Big Deal with real consequences for the cost of the site)c) allocate resources appropriately

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.

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.

All those SQL Injection CVEs for both projects all seemed to me like they were in 3rd party addon modules/plugins.

Without any kind of looking into just how many 3rd party addons are available for each project and whether or not the vulnerable ones are ever likely to actually be installed on the average site, it's jumping to conclusions to use that to compare the two projects to each other.

eg for Drupal I looked at how many sites report using those Drupal modules, and got:3423, 30*, 163, unknown*, 1957 for t

The home page for Code for America has 9 CSS errors. The HTML could not be tested because it appears to have used HTML 5, which is still under development, unstable, and not yet approved for general use. I say "appears" because the DOCTYPE declaration fails to indicate an HTML or XHTML version.

If that home page is a sample of what you get with Code for America, you will be revising and revising again as the specification for HTML 5 changes, until that specification is finally approved. Furthermore, the C

For the type of things you're looking for, I'd recommend LocalWiki [localwiki.org]. While so far it's been used mostly by communities vs municipalities, it includes robust permissions [readthedocs.org], 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 [localwiki.org] 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 [codeforamerica.org], 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 [codeforamerica.org], and maybe also check out CfA's github repository [github.com] which has a lot of projects that may be useful, and their Civic Commons [codeforamerica.org] project which gathers the sw/infrastructure that cities are using.

For the type of things you're looking for, I'd recommend LocalWiki [localwiki.org]. While so far it's been used mostly by communities vs municipalities, it includes robust permissions [readthedocs.org], 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 [localwiki.org] and you could run a micro EC2 instance to test out for (practically) free.

LocalWiki is the outgrowth of the amazingly successful http://daviswiki.org/ [daviswiki.org] which spawned http://wikispot.org/ [wikispot.org] Encouraging and supporting this type of local non-commercial wiki is great for any community.

Yeah, they're currently Knight Foundation funded (a Knight News Challenge winner) and a big part of CfA Brigade's current Race for Reuse [codeforamerica.org] project encouraging community deployments - there's are bunch of communities adopting LocalWiki, which is awesome. Also, I met Philip, the lead dev recently and he's very sharp.

That being said, for a volunteer project for a small town without any support or resources, a Google Site w/ Google Docs links that an AC suggested probably is the best way to go - it's not sexy, b

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.

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.

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).

Don't go with Bluehost, I myself tested them a few months ago and I just moved a client off them last month. I don't think I've ever seen a system load below 20 on their machines (at least they do provide SSH access) and I've seen it get scarily close to 100. The performance is exactly what you would expect on such a loaded server.

I'm now doing reseller hosting for some clients. I can get you a very decent hosting setup, and customize it to your needs, and install a CMS for you, for $10 monthly. It would be

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).

Don't go with Bluehost, I myself tested them a few months ago and I just moved a client off them last month. I don't think I've ever seen a system load below 20 on their machines (at least they do provide SSH access) and I've seen it get scarily close to 100. The performance is exactly what you would expect on such a loaded server.

I'm now doing reseller hosting for some clients. I can get you a very decent hosting setup, and customize it to your needs, and install a CMS for you, for $10 monthly. It would be comparable to what you'd pay about double that anywhere else, and honestly, resource-wise it will seem like you've got just about the whole server to yourself. Email me, my Gmail username is the same as my Slashdot username.

Here is my current system load, unedited right off the server:$ uptime

20:58:34 up 9 days, 10:57, 1 user, load average: 0.16, 0.15, 0.11

Ok so basically the guy would have to pick:1) an established provider that is hosting millions of domains (says them) in their 50,000 square ft data center in Utah for $52) some dude who is doing fly-by-night reselling for an unknown host and is advertising his 9-day uptime server for free on Slashdot and of course offers better performance (says him) for $10

I don't have a dog in this fight but if I had I'd go with the Mormons and use the $5 I saved to keep a mirror site on another cheap provider.

Ok so basically the guy would have to pick:1) an established provider that is hosting millions of domains (says them) in their 50,000 square ft data center in Utah for $52) some dude who is doing fly-by-night reselling for an unknown host and is advertising his 9-day uptime server for free on Slashdot and of course offers better performance (says him) for $10

I don't have a dog in this fight but if I had I'd go with the Mormons and use the $5 I saved to keep a mirror site on another cheap provider.

I'm sure that he has more choices than that! But if he is on a budget I can happily help him, in fact I'll happily give any slashdotter an account to try for a month or longer to test. Just email me (Gmail username same as slashdot username) and I'll set up an account. That goes for the OP or anyone savvy enough to be reading/..

By the way, google me. I'm known in the open source community for over a decade, and I've been on/. since about 1998 or 1999 (under a different username, though). I might be unknow

But he'll be one of a few sites on the server, not one of hundreds. And the sites on this server are mostly maintained by professional developers, not some guy installing an outdated Joomla or vulnerable PHP in 24 Hours code. Admittedly, my goal is to get more of the little guys on the server and thus there will be more vulnerable code on the server, but it is nowhere near the mess that is running on Bluehost servers (yet).

So what you describe is a situation where the value of your service will go down as your sales go up... At least you deserve some credit for being honest!

So what you describe is a situation where the value of your service will go down as your sales go up... At least you deserve some credit for being honest!

Yes, that is the nature of spreading out a finite resource among users. And why shouldn't I be honest? It is exactly the expectation that the people that we deal with _won't_ be honest that I rebel against.

To be clear, should the need arise and the server become crowded, I will happily upgrade it or add another server. That is in everyone's interest.

I didn't mean to disparage Bluehost, as I've mentioned when I was using cheap hosting they were the best choice around. However, I don't recommend 'cheap hosting' for a website of any value, because in the web hosting industry, unless one is paying $25 or over monthly he is to expect poor service and an overloaded server. That is why I offered my services: because I can give him real service on a well-provisioned server in a real datacenter for less.

Most cities, even the small ones, will have some form of technology infrastructure in place. If you need to get a new server in, then they should have the budget to maintain it. Any companies that start to provide services to a city will need to get picked through an RFP process, which generally cuts out the budget web hosting services.

This is not correct. In any level of government there is a threshold under which there is no need for a costly RFP process, and since the OP is basically saying they don't have money, there is no point in going that route. Anyways no decent provider will waste time responding to a personnalized RFP for a webhosting kind of budget, it would have to be included in a bucket of IT services and that's a whole other story.

I made it clear in my comment that I would advise a full-scale cloud provider (such as Azure

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.

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.

Five years ago my local area ("Parish" in the UK) asked for my help. I realise the question is about a 'platform' but really do have to side with the process people here. I developed a site on Textpattern, and editable at the back-end. Three main things happened:

1. The design was critiqued by committee...move this picture here; have links this colour; can we have this scrolling etc. Indeed I was asked by separate members of the committee to do contradictory things!

2. The content became my responsibility: I was handed paper photos; old documents and asked to get them online. The few things I was emailed were in Word documents and when I tidied them up I was challenged about why my fonts had been lost

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/ [wordpress.com] 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.

Might not be over kill, we have some clients that constatnly harrass us this way. We block this based on budget, but more often than not we simply talk them out of stupidity. We are professionals, so we insist on being treated professionally by our clients. Granted, it's a bit different to have a structured team to handle this, but I doubt this should be different for a one man op either. Bottom line is that you cannot allow yourself to be walked over like a doormat. Unfortunately, unless this is strickly e

Posted too fast. It may not be overkill if you need the flexibility of some of drupals more popular modules such as views. It also leaves the door open to make something useful out of the basic site at the beggining.

Fifthed. Don't work without some sort of contract or agreement, and especially don't volunteer without doing so. Trust me, ten years from now, you'll still be getting calls to fix their latest website problem. I speak from experience.

Remember the ADA [ada.gov] 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

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 jus

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.

Open Public:
http://openpublicapp.com/ [openpublicapp.com]
(Open source Drupal like whitehouse.gov)
Achieve City
http://www.achievecity.com/ [achievecity.com]
(SaaS version of Open Public tailored for muni)
City of DeLeon
http://www.cityofdeleon.org/ [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.

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 t

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.

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.

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.

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.

The Web page at http://openpublicapp.com/ [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?

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, an