Dojo Projects

joshk's picture

This group seems to have taken off quickly, which is quite exciting. Just 48 hours after being announced (and getting promoted on the drupal.org frontpage) we've got over 150 subscribers! In the spirit of striking while the iron is hot, I thought it might be good to start a thread for people to talk about projects. Think of this as a time to get some input on your work, and some insight into other peoples' development process.

It's hard to build and retain skills without real-world problems to solve. Part of what separates drupal-dojo from a regular support channel is that it's a learning community, not just a place to get questions answered. As we move forward with "meetings" and/or focused "work time" in the IRC channel, it will be useful to have themes or topics to focus on as a group, as well as projects we get to know and return to over time.

So, what are you working on? What would you like to work on? What do you think the group should work on as a community service project?

Comments

My Projects

joshk's picture

I have a bunch of projects, which should come as no surprise, but the ones that have the most chance of me actually working on them are:

  • My personal site, which has been online since 2001 and is a mishmash of static html, wordpress and drupal. My goals are to move to 5.0, create a decent theme and a front-page that's not just a simple "river of news" (maybe aggregating content from work, other places I post, etc), and to figure out a good way to have wiki/book functionality in addition to the blogging. Eventually I would like to unify all the content.
  • Future Majority a project I have with some friends. We have similar wiki+book+blog ambitions, but this will be a community effort rather than a site I run myself, so there are some additional things to consider such as roles and permissions.
  • I have vague ideas for a good blog community site that I can use to lure all my friends and acquaintences off blogger to join. The keys would be to let people own their own url and have their own theme, but really make it all part of one big site.

In addition to that, I've been noodling a lot with the og2list module for work lately. This is meant to let drupal replicate the functionality of yahoo/google groups, and it's a pretty great challenge.

Looking forward to seeing what everyone else is working on!

http://www.chapterthreellc.com | http://www.outlandishjosh.com

and my projects

kvarnelis's picture

I have two major projects that I'd like to accomplish in Drupal this spring. I am a neophyte when it comes to php and modules although I've had some experience with theming drupal and module mashup (e.g. http://www.docomomo-us.org, http://kazys.varnelis.net, http://netlab.audc.org among others).

My two projects are related. I'm interested in rethinking how we might write books online.

1) To do this, I need stronger wiki functionality in Drupal. I like the book structure and being able to deform it via wikis (see http://audc.org/projects for parts of a book that we created with mediawiki... in this case if we'd could have merged the wiki structure + a drupal type book, we would've been happier). Now that freelinking is updated for 5.0, probably the most crucial thing to make this a reality is to update the diff module to 4.7 and 5.0. I really don't want to head down the road toward another Liquid Wiki or Wikimodule or more code that won't be maintained in the future. Let's just take what we have, fix what's broken and make it work. We're close.

2) I want to implement the Yahoo Comments UI API in Drupal under 5.0. to create a much more sophisticated, side comment system.

e. g. http://www.futureofthebook.org/iraqreport/letter-from-the-co-chairs. This is done in Wordpress and is an implementation of something I saw here: http://www.jackslocum.com/blog/2006/10/09/my-wordpress-comments-system-b...

A Little Confused

JasonMR's picture

Hey Josh

I don't see how this thread differs much from the Introductions thread, where you already asked subscribers to introduce themselves, and mention their Drupal experience/projects. Further I can't see how this thread would encourage a "learning community". Having said this, may I ask what you understand/perceive as being such? Or should I just take this thread as an example? If that is so, I have to admit to having completely misunderstood your intentions.

Bright Regards

JasonMR
(Student of Lifestyle-Design - Real ID)

Bright Regards

JasonMR
(Student of Lifestyle-Design - Real ID)

good questions

joshk's picture

My intention was for this to be more in-depth, perhaps to come up with some things that the group would work on or at least have a kind of shared consciousness about.

Also some introductions just like a link as a project, but don't say much about the intentions. However, if people just continue to use the intro thread to discuss that's fine too.

http://www.chapterthreellc.com | http://www.outlandishjosh.com

Thanks For Your Explanation

JasonMR's picture

Now I can follow Josh, thanks for your explanation.

a kind of shared consciousness

An excellent point, something I hadn't considered or thought about, but which should develop as a central element of the Dojo I believe. After all, there is more to connecting people than just a common interest and/or goal.

My Projects
My Web Home is my private web site, where I will be hosting two projects:

My Observations
A blog for my public comments on topics that either catch my attention, or are of special interest to me. Though, mainly serving as a way to improve my writing skills.
My Drupal Dojo
Best described as an ongoing experiment, in how to use existing Drupal modules to create something that comes close to a virtual class room.
I will use this space for hosting my Drupal Dojo related classes.

My guiding philosophy of learning is centered around two main elements "make mistakes" and "discovery contra feeding", which is heavily influenced by the socratic method. And I hope to achieve a reflection of this with My Drupal Dojo project(s).

Concerning making mistakes, working on My Web Home will somewhat resemble an open heart surgery by a medical graduate. Something one should never do, but done in absence of common sense, and in blind belief in ones own skills. In other words, visitors of my site will most likely witness what can go wrong, when not planning a project, nor adhering to recommended procedures. Hence "private".

I will use this site for testing modules, and "playing around" with Drupal on a live system. So, if something ain't working, no need to be surprised.

I'm also using Drupal for developing a site for my family, which I can not share with others, as I'm actually following due process with this project. Further there are still some unresolved privacy issues, requiring a solution in system design. I will be developing a special module for this site (once I've acquired the Drupal skills needed), as mentioned in my introduction. The ongoing development process will be documented in My Drupal Dojo, to share with others a development adventure from the beginning to, well, until I had enough or need to move on.

Bright Regards

JasonMR
(Student of Lifestyle-Design - Real ID)

Bright Regards

JasonMR
(Student of Lifestyle-Design - Real ID)

My Project

ca_grover's picture

My current project project (well, one of many) is the A.V. Roe Canada Heritage Museum site (http://avro.open2space.com - the dev site). This is a 4.7 site, with a custom theme and with a need for some custom coding to reflect the specialized nature of their data (collections listings, etc.).

I'm interested in how best to integrate that custom coding into the system, and to get the theme set properly. The custom coding is currently PHP code in the body of a page node. This was done so that the custom code gets the same theme applied as the rest of the site. But I'm not sure if this is the best way.

The avromuseum site is really a community site, so I'm also hoping to glean ways we can make the site more open to visitors.

Josh, is this kinda what you were after for this thread?

Very helpful

joshk's picture

This is just the sort of information I'm hoping for!

It's helping me to hear what kind of challenges people are encountering and what kind of methods they're using to get things done in the mean time. For instance, a lot of developers are using code embedded in PHP pages, a perfectly acceptable means of getting things accomplished, but ultimately one that misses out on some of the powerful (and time-saving!) aspects of Drupal.

Taking people's PHP pages and looking at how, what, if and where to modularize would make a great lesson session, I think. In your case I would definitely think about applying a combination of CCK and the views module: it's designed for just this sort of listing-type behavior.

http://www.chapterthreellc.com | http://www.outlandishjosh.com

My project

openplanner's picture

Cheers!

Thanks for spearheading this. I need it!

My wife and I are in the midst of co-founding a non profit dedicated to the creation of open source curriculum development communities for k-12 teachers. See: http://www.openplanner.org

We have been up and running on Drupal since May 2006 and we have actually begun to take ourselves seriously, so I need to get some better chops so I can keep up with the fast emerging needs of our organization...

Specific issues I need to get a better handle on:

  • We use the book module for all collaborative content. This module has major limitations as a per-user, or per-group authoring format because it allows users to plunk their submission into any part of the site's book hierarchy and creates insanely huge select 'Parent' menus. I need to put together a per-group book alternative module and the thought alone makes me rather nervous.

  • I am working heavily with OG, and theming the group homepages and forums is elusive stuff for me. I have hacked together a very complex template.php file for my site that includes all kinds of redefined functions and logic snippets, but I know what I'm doing is ugly and sinful. Save me.

  • I'm also using a very ugly hack to the user module to allow OG roles to operate only on a per-group basis. This is someone else's fix that is working beautifully, but I dread the unsustainability of it and need to find a better long-term fix.

  • We need a way for users to peer review each others' contributions...this may require a custom comment format, which I'll need to develop or lay out spec for.

This is already too much info, too densely delivered.

I look forward to the next tutorial.

Cheers,

Andrew Stillman
Teacher
Co-Founder
Open Educator, Inc.
NYC

ideas on book

dww's picture

a) you should take a look at http://drupal.org/node/81226 it's all about some of these limitations in book.module and what to do about them.

b) sounds like you desperately need OG + book integration. ;) just like the rest of the drupal world. that's something i'd be interested in helping with, too...

my other huge gripe with book is recursive access control for books. so, if you mark a page only visible to a certain group or role (by whatever access control method(s) you have on your site), any children pages should have the same visiblity restrictions.

anyway, let's talk. ;)
-derek

A big +1 on fixing that . . .

oadaeh's picture

my other huge gripe with book is recursive access control for books. so, if you mark a page only visible to a certain group or role (by whatever access control method(s) you have on your site), any children pages should have the same visiblity restrictions.

Oh, yeah! The private site I mentioned in my intro has that problem. There are not yet more than a couple hundred or so pages in books, but I have to modify the perms on a lot of them (after the fact access control), and really don't want to.

outline module

greggles's picture

You may already know about this, but be sure to check out the outline module: http://drupal.org/project/outline

It's goal is to remove the need for the "book module" by generalizing the features into an outline module.

Perhaps the access (and some of these other features) could be implemented into the outline module or a similar related module.

--
Knaddison Family | mmm Beta Burritos

+1

joshk's picture

You could basically do this by making some more granular access control and moving book's functions from core node_hooks to nodeapi. Would be a nice change for d6.

http://www.chapterthreellc.com | http://www.outlandishjosh.com

Department of Psychology Portal

edkwh's picture

I am managing my Department of Psychology's portal, www.bpsych.net. It's using the publicly available Meta Theme, theming is not really my thing :p I'll leave that to my friend whom I influenced to use Drupal :)

Anyway, BPsych.net is like an informal official site for the department. We post news, updates on events, allow students to signup for lecture session and tutorials and activities organized by the department including Psychology Movie Festival and Psychology Colloquium Day.

After a year of managing the site, I decided to revamp things by making it all tie together:

  • CCK was heavily used to define the various content types: subject, lecture session, tutorial group, movie, movie session, colloquium presentation and colloquium session. Most of the content types are nodereferenced to a particular subject. And then movie ties together with a movie session and there are two colloquium presentation in a colloquium session.
  • Then Views module is used to list out lecture session and tutorial groups which allows students to sign up (using the Signup module). I also embedded these list in each subject's page so everything links nicely together.
  • Psych Movie Fest and Psych Colloquium Day are managed by their own module as I haven't discovered Views at that time. But I think I won't resort to Views as the output are quite customized. For the Psych Movie Fest module, it can already serve as a movie database as all the movies are already there; only movie sessions needs to be added every semester.
  • A small semester_manager module to manage the semester that the system is currently managing. It saves the current semester as a variable. And subjects added needs to be tagged with the current semester name (with taxonomy). Am thinking of having a subjects availability list so the administrative staff can just check what subjects are available for the semesters in the current year and its tagged automatically. I haven't decide if saving this semester information for each of the other content type associated with the subject is required. Also haven't look at how to make the semester tagging system better.
  • The official university student portal somewhat lacks functionality; its main functions are to register subjects, check grades, and download documents uploaded by lecturers. Hence, I written a module that scrapes information from the student portal to get grade information. With that, that module would help count the student's overall CGPA and 'What Ifs..' to determine what would their CGPA be like if they get a certain grade. I am also trying to implement a document notification system that notifies students whenever documents for their subjects are uploaded.
  • I'm also in the process of finishing a nominator module (after obtaining green light from the department head) that allows nomination for posts in the student association. Notifies the user who are nominated and then allows the option to accept or decline, etc2.

That should be all that's going in so far. All these modules won't be released yet however, as I have no idea what other educational institutes require. I have take a look at the DrupalEd group, but nothing much related to what I'm doing so far. Hope to add some timetable generator function or something, but it's somewhere in the future :p And there is also a suggestion to manage documents online; so if that works out, I might work on improving Drupal document management if it isn't already at that time ;)

kinds of projects, kinds of directions, kinds of mastery

victorkane's picture

I just would like to point out that it would be good for us all to differentiate between several key kinds of paths to be taken here, as a way of avoiding confusion and as a way of avoiding lost opportunities.

To become a Drupal "project master" (and the "must read" 12 IBM articles ( http://www-128.ibm.com/developerworks/ibm/osource/implement.html ) are a kind of "report from the other side", unfortunately not a pedagogical roadmap, rather a report of what it feels to have gotten over to the other side), there are several bodies of knowledge, areas of mastery, that must be attained:

Module mashup mastery

Theme mastery

Module reuse/creation mastery

Javascript and AJAX mastery

Forms mastery

Information Architecture and Software Development Process

... if not mastery, enough to avoid the prevailing high index of project failures...

Taking briefly as possible each one in turn:

Module mashup mastery

This is the kind of project practically everyone is talking about here in the group. Given a kind of site (ecommerce, educational, community networking), what are the permutations and combinations of modules and themes and theming which need to be invoked to acquire the necessary critical mass of functionality needed for the site. This is probably an important first start, and we will spend a lot of time here, and should (in order to create "best practices") but what I would like to point out that the effort of the group should not be exhausted in this one area, now dominating practically all comments.
But even here, we should evolve best practices, or at least a few schools of thought:

  • The "don't be silly, do it with CCK and Views" school of thought
  • The "don't be silly, do it with this shiny new module" school of thought
  • The "use this tried and proven mix of modules" school(s) of thought

Theme mastery

This is not necessarily design graphics. It is an area usually postponed by the Drupal community, as mentioned many times. Even the fact that you can postpone it speaks extremely highly of Drupal: the famed "MVC" approach ( model (data) view (presentation layer) controller (logic and business objects) separates the presentation layer pretty cleanly from the others, and allows you to follow the best practice of developing the functionality first, and then the appearance.
If you read only one of the IBM articles, it should be "Getting started with Drupal" http://www-128.ibm.com/developerworks/ibm/library/i-osource5/ , which explains, in its incredible "Node-building sequence" diagram, but also in detail, how a view operation renders a page. Here you can see many things, and important for theme mastery is that the "theme" actually does two things for the presentation layer: with PHP it refines the model into div's (which data goes into which individual areas) and it provides styles (CSS) for refining the layout and appearance of those areas. Every Drupal Master (or at least one guy in the group) has got to be guru in this area.

Module reuse/extension/creation mastery

Here is where the group seems to be getting the short end of the stick; but this is natural, since most of us are beginners. But there should be sample projects relatively early on for us to know

  • How to write a module
  • How to refactor "theme" code to the module (i.e. affects all themes) level
  • Erm... where do I put the code?

Javascript and AJAX mastery

jQuery, maybe script.aculo.us (what happened to that module???)

Forms mastery

Forms api, fQuery... wow, a lot to learn

Information Architecture and Software Development Process ... if not mastery, enough to avoid the prevailing high index of project failures

JasonMR has already posed the question of Software Development Process, in his post http://groups.drupal.org/node/2195#comment-5836 , where he stresses "Planning" and "Gathering Requirements" as key topics.
I couldn't agree more.
But I feel that an archetypal Drupal Master (and there are probably very few indeed at the current time) should be proficient, that is, swim like a fish, in the following waters (and by extension, Drupal itself should be the first Drupal Master and have modules to wizard us through these areas):

  • Business Modeling
  • In what business processes is the proposed web application to be inserted? What is the business/organization/group/individual user doing now to get the job done? Is using the project web application going to be much better? What does the web app have to interface to? Does data need to travel much from the outside in, or from the web app out?

  • Agile web application approaches
  • Planning yes, but not top heavy planning. What are the best lessons about highly iterative and heavily prototyped processes where the code that is running, the system being built is the center of attention and not the planning; and yet there is planning enough to get the job done without getting lost (or knowing when you have finished)... get the global picture, write a few user stories, persona paragraphs, storyboards, site maps, use cases, wireframes... then list them in order of priority (the ones that get your ducks in a row as quickly as possible go first: risk mitigation)... then do them one at a time, writing an acceptance test before you start.
    In a nutshell: avoid working without planning; and avoid planning without working.

  • Test driven environment
  • There should be unit tests (each module, inc, script, each piece of code should have a "driver" that tests it; the devel module and macro could be sufficient for this) if possible automated. Since PHP is a compiled language, there is no "build" process per se, but there is a build process in the release generation in the project module... can unit testing and regression testing (automated testing it again after you have refactored code to make sure you haven't introduced new bugs) and acceptance test scripts be included in that module, to be run as an automatic part of the generation? Or as a part of the commiting process?
    The acceptance tests, ideally written before the coding (configuring) starts by the the end user(s) and the technical people, are particularly important in order to answer the following infrequently answered questions:

    • Are we building what the users really need and have requested? Are we implementing the requirements?
    • Does the site that is running have anything to do with what the users asked for?

    • Are we done yet?
    • Drag the creative genius away from the keyboard.

  • Change and configuration management
  • Here we are talking about two main fields, namely, version control, on the one hand, and software to manage changing requirements, anomalies, feature requests, etc., that is, change, on the other.
    Again, can the project and project issue tracking module be tweaked for this? Already we have "pretty good" tracking; but the interface with the version control system is a) only concerned with getting the release out; and b) woefully inadequate; and c) not very extensible to non-CVS forms of version control, such as SVN and, increasingly, git ( http://git.or.cz/ ) (git would be great for drupal, but I would settle for SVN as a first step)!

  • Environment
  • How to set up development, test, production sites, what tools (editor, debugger, build and packaging tools, etc.) to use; how to have skeleton Drupal installation (profiles?) (s) at the ready; how to avoid dreary and error prone repetition in basic configurations of new sites/projects; how to be able to come up (build) different versions of projects for different projects/customers.

  • Usability
  • Don't make me think! http://www.sensible.com/chapter.html (read the sample chapter then explore the whole site). Definitely worthy of a class!!!

  • Train the trainer
  • Docs, on-line help, that plethora of boxes all over Drupal admin labelled "... guidelines".
    Training people in administering their own sites so they don't wake you up at night.
    The first Dojo Lesson promises to document itself, this is a great step forward.

Anyway, we should have a "process" thread here in the group in order to make sure the global view of things and the overall objectives don't get lost in the shuffle.

Victor Kane
http://awebfactory.com.ar

Important for everyone, so why say it here?

mjolley's picture

My only point here is that members of this group are a small percentage of Drupal users. I generally agree with what you're saying. In fact, my whole world would change if your ideas got implemented. Is your plan to get more people into this group, or to get your point out there?

Computing and Information Science Department website

jswaby's picture

As being the University of Guelph Computing and Information Science department webmaster, I was given the job of making the department website better. The previous webmaster did not do a good job the first time around so I have to make it something people can look at and enjoy using. The current system is built using Drupal 4.5 and I am scared to touch any backend code because I am positive that the previous developer hacked core to get it working the way he wanted it to work.

I am building the department website to be a pseudo social networking took to keep people in the department (staff and students) informed of what is going on and to get feedback from students. In addition, I want to design it to attract perspective talented students to our department. We are currently the smallest department in the College of Physical and Engineering Sciences so we tend to get the least amount of funding from the school. I hope that with a more attractive and usable website, we can attract more students and let people know our school is serious about computing and information science education.

What I want to do is do the complete development cycle for the new website:

  • Requirements gathering and documentation
  • System design from start to finish
  • Implementation using Drupal 5.x
  • User and administration manual
  • Optimal server setup for Drupal 5.x from start to finish (LAMP w/ mod_rewrite)

Moreover, I need everything documented because there will be people coming in and out of the position. I came in with no documentation and I do not want the next person to be stuck in the position I was in a year and a half ago.

I am hoping this Drupal Dojo will help me in my endeavours and I can contribute back to the community with the knowledge I have gained in the last year of Drupal finagling.

Project

Larry Ludwig's picture

Josh - Everyone - Hello

My test site is a family web site, just installed, and represents my first Drupal exercise.
Blogging and photo sharing will do for now, but there's more to come - which explains selecting Drupal.
I'm interested in nodes and node types - especially creating new ones -
I will also need to generate new blocks and control which nodes and node types load which blocks.
Basic stuff - most of which the handbooks deal with.

But, what are we going to do here? I checked out Annie's lesson plan, read the Bryght guide and started thinking how valuable that series would be for me personally. Learning to use the tools built into Drupal very well seems like great place to start. Annie seems to support a focus on basics also, but most of the discussion is higher up the ladder.

Considering the level of proficiency of most of the Dojo group members, we should fly through Annie's lessons 1 thru 4 and arrive very quickly at Lesson 5 :: Modules ::
Which seems to be on everyone's wishlist (mine too).

Do we know yet? I'll spend the interim absorbing Taxonomy.

Thanks for the time you're investing - all of you.

You mentioned a community service project. Community as in the Drupal faithful, or John Q et al?

My Project http://www.citizensreview.org/

sarvi's picture

This is a great group. And I have already found it to be very useful. It helped me get quite far along in setting up my development environment already.

Project:
I maintain http://www.citizensreview.org/ I would like to evolve to an online collaborative environment for driving government review in India.

My Experience: I have been a software developer for the last 15 years, but drivers and middle ware. Absolutely no web experience, PHP, databases etc.
I have been learning on the run these last 6 months. And I would classify myself as a beginer with respect to developing on drupal and PHP etc.

One of the pointers on this thread to an IBM article series was of great help. With that, this weekend, I was able to setup my development environment.

My Future Work:
I will be using CCK modules to development to develop some a very custom wiki like pages.

What this group could do.
The IBM article series is very good start, with step-by-step help that has got me going really well.
But a few things that I am still struggling with now, that would be very useful as a tutorial/article would be the following.
1. Now that I have a development environment setup, with eclipse et. al. What the best convenient way to hookup my development environment with Drupals code CVS or subversion code base, so that I can fetch and install new modules as well as get updates and check in code back to drupal woudl be. An article like the IBM series that covers this would be very helpful.
2. I am not sure how best to sync up my development environment with my live site. I tried to copy the entire directory structure and database from my live site and import it into my development environment. That got my development environment look like my production site. But it seems to have quite a bit of problems. I suspect its because, not all the files in all the directories or for that matter all the tables in the database lend itself to duplication into my development site. An article on what tables, entries or files/directories should be ignored when syncing up the development site to the production site or the otherway round would be useful.

Thx,
Sarvi

A Long, Partial List Of Projects . . .

oadaeh's picture

Here are most (because I might have forgotten something) of the items (in no particular order) I personally have as things I would like to accomplish in the future:

  • Update and improve on the stock market modules in the contrib repository:
    • stockapi:
      • Update and convert the API to be more stock service agnostic and add some functionality that does not yet exist to support new modules.
        Creating and updating APIs is not something I've done before (I've only ever used them), so I'm a little foggy on how to proceed, and it's been a bit of a stumbling block for me in moving forward with some of the other things. Maybe it's not so tough as I'm making it out to be, and the details might work themselves out if I just dived in.
      • Update to 5.0.
    • stock_chart (the module I created):
      • Convert to use the stockapi module.
      • Change to use it's own database table, rather than the variables table, and add access permissions, so that individual users can have their own charts and chart settings.
      • Add some new functionality:
        • If the stock module is installed, add chart icons to the stocks listed, for "quick links" to the stock's chart.
        • Add the option for having a second chart displayed for contrasting and comparing.
      • Update to 5.0.
    • stock:
      • Update it to 5.0.
    • stock_portfolio:
      • Khalid and Roberto started work on this back in 4.6, and I think it would be a good idea to complete it and make it available. I've only done a cursory glance through the code, so I have no idea how much work it will be to get it into shape.
      • Update it to 4.7?
      • Update it to 5.0.
    • stock_scanner:
      • I'm still not sure how feasible this would be, but it's an idea that's been brewing in my brain. Basically, it would be a module that would go scan stock information (probably during a cron run) based on some user input and report likely candidates to check out. It might solidify more as I complete the above areas (or I may end up scrapping the idea).
  • Complete the theme I've created (already in it's third version :^)):
    • Adding themeing for "other core content types": blogs, books, forums & polls.

      There's big, black holes in the documentation with using PHPTemplate on some of the core stuff, and the exploring and experimenting I've done has provided only small insights.

    • Forking the theme to add borders around boxes. Fairly basic and partly done, I'm just waiting for the finalization of the theme to finalize the fork.
    • Add the optional ability to use the 5.0 color picker. A little bit trickier and another big, black hole.
    • I'd also thought about giving my theme the option of creating multiple saved color schemes (w/o copying the whole theme) and allowing the selection of them with an admin interface, but I have yet to find out how to do that.
  • Use Drupal to create an application for managing a medical office, specifically a home health care agency.
      This is currently a big, wide-open area. I have lots of experience with this market, so I have some fairly good ideas on where to go with creating an application (and a lot of really good examples of what not to do). What I need to do is to evaluate the best way to use Drupal to accomplish my goals. While I think that install profiles, CCK & Views can be a big help with creating this, I'm wondering if that's the best way to go. I actually just need to set aside some time and really experiment with different approaches to see which one is best. Of course, lack of time and lack income while doing the work makes it difficult to proceed. This is probably something that would benefit greatly from Victor's software engineering stance.
  • Use Drupal to create a groupware-type application.
      Pretty much the same as the item above.
  • Create, update, convert and/or improve several websites within my sphere of control. Some of them are (I left several out for your sanity):
    • http://www.oadaeh.net/: adding my completed theme, posting content a little more often, adding project or case_tracker functionality w/organic groups so that clients can keep tabs on my progress.
    • http://www.oadaeh.com/: adding my completed theme, posting content, adding the stock modules for public consumption and as a demo.
    • http://www.troop256.com/: converting to Drupal, adding some functionality for tracking troop resources, adding documentation for new scouts and parents, building up & improving the community usage, basic improvement in communications.
    • http://www.graceefreelv.org/ (my first Drupal site that started out with 4.4): needs a serious make-over with a new theme and some SEO updates, an easy to upload & update audio UI, some other community building functionality improvements.
    • http://www.vivapastorsacademyofdance.com/ (currently waiting for DNS issues to resolve): convert to Drupal, add more multimedia content, add & update news & info.
    • http://www.flattfamily.com/: adding content and a couple of things I started locally on my PC that I would like to move to a more public profile, like a chili reference database.
    • My wife comes up with something like a project a month for me to do for her (she handles something like 10 domains), so there's a whole list there. They usually sound like worthwhile goals to pursue, either in community building or programming experience, but my time is limited, so I don't get to them. (As an aside, I kept telling everyone who asked me what I wanted for Christmas to give me a 26-hour day. I didn't get what I wanted.)
    • I have several other sites with lots of possibilities for trying out different things w/Drupal.
  • And something Drupal specific: update or modify http://api.drupal.org/, or create a new site, that has examples of how to use the various Drupal API functions. I know Angie Byron mentioned this also (I don't remember where or I'd link it), with the additional comment that the idea of displaying what the function does is good enough. It would really help me a lot, however, if there were also samples of how to use them. Sometimes the other two demonstrations don't help me to actually understand how to use the function.

That's what I'm working on and what I'd like to work on. I think that last item might be a good project to serve the Drupal community.

You're the stock guy?

mjolley's picture

I just posted in the "Stocks" group about my new "Trading" group. We have many goals in common, though I'm more into futures than stocks.

So far I've written no code, but have used modules like Views, workflow, and CCK to build a site into a good trade journal to track my progress. I plan to turn this site into something like E-Trade, though I'll probably just be dealing with friends and family. One thing that Drupal seriously needs is a module that adds real accounting features to user "accounts". There might be something like this in the ecommerce arena.

Another thing that was mentioned is charting. Currently I'm uploading GIFs from my charting package with img_assist and the image field CCK thing. It would make a whole lot more sense to generate charts in-browser with Java or something.

This will require databasing tons of financial data on the server from multiple sources, and I've been looking into various ways to do this, This data accretion is critical, and I would love to know how people like Yahoo are doing it instead of reinventing the wheel or piggybacking off Yahoo's data.

I'm thinking that my project will eventually become a distro, since my requirements are pretty well beyond those of the average Drupal community site.

I also started the "Multisite" group for talking about using that feature. I use it and love it, and will probably start putting up mass quantities of affiliate sites with it.

Hope to hear from you guys soon :)

Intro to myself

mjolley's picture

I did some reading further down this thread, and it looks like this Group is set to become a real mini community. I guess I should introduce myself.

I'm a UIUC math/CS bachelor and my expertise is C++. I worked as a C/C++ programmer for 8 years for WMS Gaming, which mostly makes video slot machines for casinos. You might know the company as Williams, which used to make pinball games and other coin-op machines. I took on a lot of roles in that company including CVS admin, requirements guy, team lead, etc.

I got laid off in Feb. 2005 and couldn't find a good job. After a couple of months I decided to make money on the Internet, and document my progress at OnlineHonesty.com. I wish I knew about Drupal (or any CMS) at the time.

I started the site with the crappy WebsSite Tonight site-builder. I nipped that in the bud after a few days and started hand-coding my HTML with NVu. I'd recommend Nvu as an HTML editor, if that's what you want to do, I'll probably keep using it for static pages like sales letters.

I've launched a bunch of Drupal sites, a few of which are still running. I tried Drupal after renting a VPS and installing it from CPanel. I immediately became pretty much devoted to it. I compared it to all the other CMSs out there. I registered cms-samples.com and installed all of the CPanel CMSs on it (with Drupal as the master). I was less impressed with the others compared to Drupal, though some of them might be good for certain jobs.

Anyway, I love Drupal. I still haven't really learned PHP or SQL but I've done a lot of hacking and tweaking. I haven't really given back to the community yet, but I can't wait to do so. Maybe my trading project will help.

Well, that's me, nice to meet y'all.

Mike

Projects...

eljustino's picture

Man, after reading some of the others here, I'm starting to wonder if this is really the best place for me at this point after all, or if I should be looking more for a Playskool MyFirstDrupalDojo group instead...

My projects are generally pretty low key and personal. For instance, we have a site (http://www.anibella.net) that's dedicated to spreading the word and, hopefully, raising funds for our daughter. Right now, it's just a simply WordPress blog and that seems like it's working ok. Not sure if moving that over to Drupal would make it better/stronger/faster or would just add an unnecessary layer of complexity.

Another one I've been meaning to work on, though, I think would benefit greatly. The plan is to create a site that would essentially act like IMDB, but specifically for banned books throughout the world. My general idea would be to create something that's pretty data intensive, allowing users to report banned or challenged books in their area, then accumulating and parsing that data into some meaningful information. Maps of areas where books are typically banned, the types and titles of books banned/challenged most often, etc. This would probably be the project I'd use for the Dojo.

Finally, the last one is more for the day job. Our web designer moved our company site over to Drupal several months ago and it works like a champ. Nature of our business is changing, though, to offer more and more of our content online and we're in the process of creating an online community for our customers. As that evolves, we've found the need to bastardize some elements of Drupal to meet specific needs. For instance, we created a survey that, for reasons I can't recall right now, didn't work right with the modules our web designer found at the time. As a result, we created some custom code to handle that survey, record the data, make some of the results available to people who've taken it, show the rest to us, and display certain text only when users were logged in. I imagine that we'll probably run in to many more of those little things as the site evolves.

Wordpress is cool!

joshk's picture

Wordpress is a fantastic tool for word-spreading and personal publishing, and seems like a good fit for your daughter. On that I would also recommend checking out ChipIn, one of the best social-fundraising services I've seen. I used it recently to help my roommate pay for surgery for his dog and it was very successful.

The other two projects sound like great Dojo topics. A Banned Book database would be a great task for learning views, and if your business is running Drupal (and evolving as a business) it can't hurt to brush up on general development ninja skills!

http://www.chapterthreellc.com | http://www.outlandishjosh.com

ChipIn!

eljustino's picture

Thanks for the tip about ChipIn! I just checked it out and it looks fantastic, perfect for this need.

And you're right about the work side of things. Just today, our web designer and I needed to flex some of those muscles to get the phpbb module working with PostgreSQL. In fact, that's another long term project I'd like to eventually see happen... A concerted effort to help make as many 3rd party modules pgsql friendly. It's a pain to have to tweak them all the time to get them working with our database of choice. Wouldn't mind being a part of that one.

PGSQL!

joshk's picture

There was someone else on here who had the same idea... I should see if I can track 'em down.

http://www.chapterthreellc.com | http://www.outlandishjosh.com

Music/media-centric profiles and distributions for Drupal

gusaus's picture

Let me try to bring together what I touched on in the intro and other places...

Current focus
I'm looking to form/join a collective of like minded Drupal developers who could properly build out and benefit from a music/arts-centric distribution (very similar to this). This distribution would be available to the entire community and could be used for purposes such as:

  • building sites for your business or personal use
  • providing sites to clients and/or business partners
    • out of the box or custom versions
    • downloadable or hosted solutions

Current piece I'm working on
I've been working on the next version of PepperAlley (project page - test site), a Los Angeles music community site. While this will eventually be part of a music centric distribution, it can also serve as a ‘live test bed’ and provide several opportunities to raise awareness and funds for Drupal.

  • produce podcasts, radio shows, articles, events, and other forums that would engage and/or provide spotlight on the development community
  • provide advertising/sponsorship opportunities in content we produce and/or aggregate
  • act as a conduit for NPR/public broadcasting style fundraising efforts
    • Provide a means for individuals and organizations to donate directly to Drupal (possibly thru the Drupal Association?)
    • Possibly this type of organization, in turn, could coordinate with, and compensate those involved in the ongoing development/ maintenance of the profiles/distributions, as well as the modules, themes, documentation, tutorials, etc.

The completed distribution (and content/presentation style) could form the basis for an independent network of music/arts/culture-centric online communities and other niche sites (see examples). Each could generate funds and attention for Drupal.

My role in development
Being that most of my design/programming skills (or lack therof) are built on the 'figuring it out as I go' principals, it'll take a few more qualified folks to contribute to the effort. In addition, I've got plenty of marketing, funding, and content ideas (on top of what's already been established).

Projects and/or issues I think are important?
While I need to go back and update/consolidate, you'll notice a few key issues in the forums, drupal groups, and drupal.org.

As these projects should directly benefit/be available to the Drupal community, it would be great to build them openly in this type of forum.

Gus Austin
Director of Chaos and Confusion
PepperAlley Productions
What am I trying to do with Drupal?

Gus Austin

Calgary LinuxFest 2007

ca_grover's picture

The Calgary Linux Users Group will be hosting a LinuxFest in the fall of 07. Tonight I heard they have a web host and domain set up, but need a volunteer to set up the website. I'm going to volunteer and put Drupal in place. So, this will be a brand new site with lots of room for "trying things out". I'm looking forward to learning more and gaining feedback from this group. :)

But in addition, I have my own sites as well to work on - http://avro.open2space.com and http://grover.open2space.com. (I think I've mentioned these before in this thread though..)

Can't wait till tomorrow night (first lesson).

Shawn

Headfirst Plunge

dasil003's picture

I'm a long-time PHP developer. For actual web applications I prefer Ruby on Rails, and for mostly static sites I have developed my own uber-lightweight templating system which could loosely be described as HTML normalization (if you understand DB normalization). However, what drew me to Drupal was the need for a content management solution to provide boilerplate functionality on the cheap while still providing the ability to customize as necessary. The Drupal codebase is the best PHP I've ever seen, so it was really a no-brainer.

However, the real catalyst for me was taking a job at a local agency which has been using a half-baked in-house framework for a couple years, and was in desperate need of something better. In the past month I've quickly rolled out my first Drupal site which was a 'quick' conversion of an existing static site to be administrated by the client. I did this by writing a custom module from scratch (well actually I based it on the poll module just as a source of example code).

Now I have two projects on the horizon. The current project is a directory website featuring paid listings. For this project I'm jumping head first into taxonomies, CCK, and Views, none of which I used on the first project. The major challenges I'm facing are:

  • Creating an ecommerce plugin to support periodic listings (ie. each listing has to be renewed yearly).
  • Create an advanced search form. There's not much documentation on this and I feel like there's a lot of pieces to grok to make it work.

As an experienced web developer jumping headfirst into Drupal, I'm finding my knowledge of HTTP and PHP only provide half the skills necessary to develop customized drupal sites and modules efficiently. Unlike simple frameworks, there's a whole extra layer of functionality above and beyond basic HTTP interaction that needs to be mastered. I was really excited to find this group because typically my questions in the drupal.org forums are very technical and go unanswered.

drupal for peoples' organization

rbahaguejr@drupal.org's picture

i am a php developer and a database manager in a local company here in the philippines. but my encounters with drupal is for supporting various peoples' organization here to develop their own web portals. We mainly do trainings and hands-on.

I am much willing to help in developing modules for drupal.

rick

drupal for a library intranet

natalief's picture

We are evaluating all sorts of things for an intranet.
We are currently working with an ancient intranet built in FrontPage. I have built a system for staff to enter news and events that manages how these pieces get put on the public site, as well as allowing our editor to proofread and our graphic designer to pull the info she needs in the format she wants. While this system is much improved over the way information was getting around before and keeps it in a centralized place, it could be streamlined a little more, and is not as extensible as it could be. I consider myself more on the end of web design than web programming

Other procedures and forms are starting to be suggested as items that can be managed from the web, instead of using paper or excel spreadsheets, so that all staff can have better access to this information. The new intranet would be a place for staff to communicate and collaborate online, as well as be a place where staff can manage content to the public page, such as the news, events, book lists, and blogs.

I believe that Drupal will give us the kind of control and flexibility that we need, however, the problem we are running into is that we have a windows box running IIS, and it is more than likely going to stay that way. We have not been able to get drupal up and running to try to get a prototype set up. The reason why a prototype is so important is that people are a bit wary of open-source, so getting something running the way we want it would support our case.

n00bie mode - breaking all the rules

BAMaustin's picture

I'll be the first to agree that I am doing this the wrong way. The right way to implement a website is with a proper design phase founded on extensive research. But in these days of instant gratification, those steps present a pretty big obstacle. I needed a quicker (cheaper!) way to get a proof-of-concept section running to win over the bosses in very small operations.

Given my recent experience, I think we may missing out with a large number of the hobbyists and small businesses hoping to graduate from their first foray into the web - a static HTML website. They want an incremental approach to avoid burning manpower on a mistake.

After a dozen years of doing all my markup stuff by hand in Notepad, I started looking at CMS systems in November. Drupal looked like the best choice after comparing the features and activity levels of the open source CMS communities. I spent MANY hours trying to determine what the core tasks were going to be. Overwhelmed by all the conflicting information, I decided to just dive in and find out if I could swim.

Setting up a minimal Drupal implementation took several tries and I ended up crippling my existing personal webspace in the process. My hosting service has their own MySQL management tools which added to the fun.

I wanted to start out by just extending the static HTML content that was already posted with an added menu item leading to a Drupal powered forums subsection. (Figured that the forums are something most static website owners will lust after.) However, I couldn't find the way to avoid having Drupal at the root and as the homepage. So I just added a comment to the main page and imbedded a hyperlinked Thumbnail of my original layout. Adding the Front_Page module was the solution to this issue. I overlooked it because I assumed it was the way to integrate Microsoft's monster. I was told about it last night and I am MUCH happier with Drupal this morning. I have my original home page back and the entry point into Drupal driven pages is unobtrusive yet functional. I am not artistic and dreaded messing with Themes and modifying CSS. Now that can wait until later.

Anonymous forums (without any log-in) would have demo'd a lot more impressively. I also found that my regulars who loved to surf my site had no intention of registering for yet another website. I needed to win them over with an anonymous forum and convert them when the bots started to strike. But then I saw a series of horror postings about users messing with the log-in stuff and not being able to get back to the admin tools. So I spent a lot of time setting up permissions and dummy users. I haven't found the solution yet here.

Once I saw the default editor for posting comments I realized they would be utter unimpressed with the demo. The requirement for typing HTML tags scared the daylights out of non-coding friends. So I had to find a WYSIWYG interface to layer on top. It looked like TinyMCE was the tool of choice but I would have to extend it several times to get something suitably impressive. So I chose FCKeditor and hoped none of my ultra "politically correct" users would ever read the Admin section too quickly.

These few pieces can be installed quickly and allow Drupal to integrate nicely into an existing website. They demo impressively and the Admin section implies a kind of power that people are willing to invest in. I expect that I can get my clients to agree to invest in a 2 stage implementation. First, I'll transition their existing content over to a Drupal driven section. Once they get a taste for the ease of content management and realize the potential, they'll be willing to have a complete redesign done "the right way."

Last night, I went to my first Drupal User's Group meeting in Austin. (The BarCamp meeting last month at SXSW [South By SouthWest] doesn't really count since it was more of a presentation... like at a tradeshow.) Walt & I discussed the possibility of building a "Portable Drupal" testbed under XAMPP & PostgreSQL on a thumbdrive for those of use without the luxury of access to a spare server. (See PortableApps.com) We could experiment without risking our personal computer or live websites. And if (when!) we screw it up, we can just flush the folder, drop in a fresh copy of the portable Drupal folder and start over. Even without posting it to a webserver, you can testflight the implementation on a friend's computer just by plugging in that thumbdrive.

Installing Update status by default will increase the longevity of the tool. Posting a downloadable Portable Drupal would be easy and a great way to grab a lot of new users. This could become a great sitebuilding tool if some way could be found of synchronizing the Portable Drupal module installations, database configuration and admin settings to a live site without touching content. Content synchronization is a whole different animal.

That's my experience with Drupal so far...
Brian


I've been beta testing so long that doing the wrong thing has become almost instinctive.

Social Networking for Pets

billmurphy's picture

Hi, and sorry for the delay in answering to this post, but getting to know how Drupal works while developing various client sites is a bit stressful... (thanks Drupal Dojo community for the help!).
Some clients i´ve adapted Drupal for in the last few months include a real state agency, a catering company, a group with EU founding, a language services company and several advertising companies.

A few months ago I started my own Drupal project, in part to see the real power of Drupal, and in part to offer something that the Internet lacked of, a place to find possible crossing for your pets. And that's how www.PetLove.eu was born...

I built it a la social networking, because of the trend in web pages nowadays, besides, this way it seems funner and with more possibilities.
Probably it can´t be categorized as a community service project, but would love to get active help from the Dojo.

I am also setting up a company based in Spain, it´s aim is to promote and develop free software solutions, and Drupal is one of the first products the company will offer actively!

Drupal Dojo

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week