open source
Summer of Code 2008
Submitted by billfitzgerald on Thu, 03/27/2008 - 14:54.The planning for the Summer of Code is well underway.
This summer, we're working within the Drupal community, and with the Open Source Labs.
If you're a student, and want to get involved, read over the project lists (linked to above), and submit a proposal. Students receive 5,000.00 for their work.
So, if you're a college or university student anywhere on the planet itching to expand the amount of freely available code in this world, sign up and make a proposal.
Building a Student Portal -- Response to a Question from Miguel Guhlin
Submitted by billfitzgerald on Thu, 03/27/2008 - 07:12.Over on his blog, Miguel Guhlin asks:
Anyone have suggestions on how to respond to this question? I welcome all brainstorming ideas...
We are ready to implement a student portal (with teacher and parent portals to follow) for our 1:1 campuses. We would like for this portal to be a web-based, searchable, "pretty"
While "pretty" is subjective, this is one place where spending a little time with either an ID or a graphic designer, or both, will benefit your site. "Pretty" has a frequently overlooked cousin, "Usability" -- sorting out your navigational structures (done in Drupal using the core block and menu items), and making sure your theme enhances these architectural decisions, will often get you both Pretty and Usable, which is a winning combination. Starting with a solid base theme, like Zen, helps you theme your site in a time-efficient way, particularly if you and your team are learning how to design/theme in Drupal. Drupal can be themed pretty effectively via css alone; if you have someone on staff who can work in php, there really isn't much you can't do. Also, if there is one element you decide to outsource, the theme is a pretty good choice.
container for all of the learning materials that we've purchased and/or created for students, including audio books, legal MP3 music files,
The Audio module -- it can generate iTunes compliant feeds, has an embedded flash player, and can be used to create playlists.
clip art, videos and animations,
The Embedded Media Field module (used along with Content Construction Kit, or CCK) allows you to embed and play media from within your site, and embed videos from external sites, such as the Internet Archives/etc. If you want more robust video handling (ie, something that will convert various formats into flv video) use the Media Mover or the FlashVideo modules. In very general terms, Media Mover is designed to work as a media processor with a full harvest --> process --> store workflow; FlashVideo works in a similar way, but has scaled down flexibility for storing media on external locations. Either FlashVideo or Media Mover will get you a site that, to the end user, feels like a YouTube clone.
For most cases, Embedded Media Field does all that's needed.
documents, presentations, and such.
For images, use ImageField (along with CCK), Imagecache (for on the fly scaling of images) and Lightbox2 (for a clean image gallery functionality). This combination will let you store full size originals while generating thumbnails and scaled down versions of the image, and displaying the images inside a clean gallery, all from one upload.
For documents, the easiest thing is probably a content type where you upload files. If you are uploading pdfs/word docs/ppts/etc you can create a text description to simplify finding the doc via searching. If you want to get into coding, there are ways you can extract text from various other formats and expose that to the search index, but that is an added level of complexity that, depending on your goals, may or may not be worth it.
Edit, March 29, 2008
For Drupal 6, it looks like there is now a module for this -- the Search Files module "allows searching through the text of PDF, MS Word, plain text, and other types of files in given directories of the server."
End Edit
We have all of these now on a shared server on our Windows network and the students can access them fine. However, it is not easily searchable and does not provide a way to include a description of each resource, along with other pertinent information (thumbnail sketch, Lexile reading level, etc.).
For each of the resources listed above, you can include full text descriptions, alongside controlled keywords (for things like lexile level, etc), alongside freetag folksonomies (a la delicious). Additionally, using CCK, you can create custom forms/storage mechanisms via the web browser, without writing a single line of code.
And, using the Views module (bascially a web-based query builder/display tool) you can choose how/to whom/where/when you display your data, and filter on keywords.
We have looked at several "document management" solutions, but I don't really feel like they are as broad as what we would like to use. We've also looked at Microsoft SharePoint
Ahh, Sharepoint. Recoil from the functionality; run screaming from the expense :)
, but are frightened by how expensive it is on both a one-time and a recurring basis. We have a Moodle server already, but this doesn't seem to really fit well there as we are not interested in running "classes" right now.
Within Drupal, you could also allow specific users (as defined by role) to create informal working groups using Organic Groups. These groups can be fully public (both in content and enrollment), fully private, or some mixture in between.
Drupal also gives you tools for flagging inappropriate content, setting up publishing workflows (allowing, for example, a submission --> review --> edit --> publish workflow for a newspaper/magazine), setting up private content between users, setting up social networking, online portfolios, etc, etc, etc.
Since some of these materials are purchased and so have user limits, we would also need for this system to use Active Directory to authenticate our users.
LDAP Integration module.
What are you using to run your student learning portals? How is it working? How much did you have to spend up front?
Everything I have listed here is freely available on drupal.org.
- Combined cost, Purchase and Licensing: 0
- License Renewal Fees: 0
- Pricing structure based on number of users: none -- as many users as you want.
I could go on...
Like any system, Drupal has a learning curve, and this is also an area where getting outside help to streamline building internal capacity can save you person-hours, and therefore money. When working with an outside person, always make sure there is a mechanism for archiving the content of these trainings, so that the process of training also jumpstarts the process of creating a body of documentation about your system.
How much maintenance is required?
Server maintenance is pretty standard, and I'd recommend a LAMP stack. For the Drupal codebase, I'd plan on 1-2 hours a month for module upgrades. These can generally be scheduled, and the upgrade process can be made fairly painless by setting up three sites: your production site (the one where everybody is working); your QA site (the one where you experiment); and your backup verification site (where you make sure that your backups work). The QA and the backup site can be run on the LAN, on a pretty anemic machine.
Feel free to ping back with any questions.
LiveBlog of Matt Mullenweg Keynote -- Northern Voice
Submitted by billfitzgerald on Sat, 02/23/2008 - 19:09.LiveBlog of Matt Mullenweg's Keynote --
Streamed at http://ustream.tv/channel/nv08 (at least some of it)
Note: This liveblog is rough -- just notes, no editing
Beginning blog platforms --
Open Diary -- 1998
LiveJournal -- 1999
5 years ago -- based on B2
Over 7 million downloads
MM on what Bloggers want -- "Bloggers hierarchy of needs"
1. Expression
The most important tab on the WP blog is the Presentation tab -- allows people to change the theme
A lot of successful web 2.0 companies are successful because they protect users from spam communication
2. Public -- privacy is important, but publically available should be the default -- things that make it easier to connect/follow can have an exponential effect on growth/readership
3. Validation -- check stats to get a sense of readership
4. Form Dictates Writing wrt blogs
Exhortations:
1. Remove the Friction -- make the software 100% invisible
Prediction: volume of posting will blow away all predictions --
4 million pages created on WP.com every month
Wikipedia has 2.1 million pages
Not a shortage of information -- need to filter --
"Two Public Service Announcements"
Achilles Heel of Web 2.0 is spam
FaceBook spam
Content used to be most valuable thing -- attention now the most valuable thing
Exhortation #3 (I missed 2 -- whoops) -- Kill the megabrands
"Matt's Third Law of Social Media -- Unfiltered interaction is worthless at scale -- ie, it doesn't work
Used YouTube example of recommended content
1st generation social networks about creating connections
2nd generation (Web 2.0): people congregating around social objects: Youtube -- Videos; Flickr -- Photos; etc.
Data needs to be filtered to add value to the experience of social networking/social media
Transition to Open Source
Ask Not What Your Software Can Do For You
How to impact OS without coding:
Documentation
Taste of Freedom -- the tools we use in our lives are better than "enterprise" solutions --
Mentions 4 freedoms of social software: http://www.gnu.org/philosophy/free-sw.html
What matters is that we get the data architectures running systems running on open standards
A wiki for every bill: see who made what changes, and when
Create Open Source alternatives that are better
Can I Be Your Friend?
Submitted by billfitzgerald on Fri, 07/13/2007 - 16:42.It looks like Ning has got some new friends -- I first saw the news at everybody’s favorite home for digital whispers, and Marc Andreessen confirmed it on his blog.
Marc Canter has something to say about it, and Diego Doval responds.
Although the exchange started with news of Ning’s newfound booty, Marc Canter brings the conversation back to an important place: the relative openness of social networks. My comment on Marc’s post pretty much sums up my feelings on the matter:
Hello, Marc,
While I agree that it would be *great* to see Ning do the right thing, they will only do the “right thing” if it aligns with their business plan — the open standards you describe (like OpenID 2.0’s attribute exchange) will become increasingly important in how people use the web, and companies that don’t use them will become increasingly irrelevant.
As innovation within open source communities fuel the type of data portability/identity portability many of us have described (along with functions currently absent in Ning, etc,) the real question investors will be asking is, what have I bought for my 44 Mill?
What I find most interesting, however, is this excerpt of Diego’s response to a comment I left on his blog.
RE: "I will look in more detail at the OpenID AX stuff and get back on that (I need to think about namespace and privacy issues)"
Both of these issues feel like red herrings at best. OpenID is designed to give the end user control over their private data, and what data gets shared with what sites. Every site (like Ning) that involves membership already has at least a rudimentary means of dealing with both privacy and "namespace issues" (think about what happens when you try and join a site with a username that is already taken). The means of addressing namespace issues would be a pretty good AP Computer Science project, but really shouldn't be cited as an obstacle by a company with a newfound 44Mil in the kitty.
I also enjoyed the links that explained how Ning is open -- seen here, here, here, and here. While I think it's great that Ning is offering to support these forays into what it calls "openness," these docs don't really lend themselves to the non-technical user. For example, most people don't know what FOAF is, and these instructions really lay a firm welcome mat for the non-technical:
To achieve this, you need to have your own copy of the code (which you can request from developer (at) ning (dot) com) and then make a few changes that will enable this functionality.
Some familiarity with the structure of the code for the Social Network is recommended to follow this example, but even if you’re just starting it shouldn’t be hard to follow these instructions and get this functionality going.
There are two things you’ll need to do to add FOAF feeds for network members:
1. Create the feed action in the Profile module
2. Expose the feed, ie Link to it from the Members page of the network as well as each Member’s individual profile.Ready?
You betcha.
Any user for whom these instructions make sense already has a broader array of tools available to them. Developers will reap a greater return (and have access to more functionality) putting development hours into a truly open platform like Drupal or Plone than into a closed service like Ning.
OpenID lays the groundwork for a unified identity on the web. Open standards allow for data portability. Most end users who think about these things want them to Just Work (ie, people don’t want to create a new username and password on every site they join, and they want content they create on one site to follow them to “their” space). This level of innovation is currently taking place within open source communities, and at a much lower cost than 44 million. Remaining closed -- or placing artificial barriers in the way of openness -- might attract investors, but it won't retain users (On the other hand, perhaps attracting investors is the goal). The main question I see waiting to be answered is which of the current content silos on the web -- the Nings, the Facebooks, the MySpaces, the Second Life’s (yeah, that’s right, I said it) -- will become the Web 2.0 equivalent of AOL.