SitePoint Sponsor

User Tag List

Results 1 to 12 of 12
  1. #1
    SitePoint Addict
    Join Date
    Aug 2005
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Client interface to database?

    I'm a member of an artists' organization that's making a spec for their new website, which we'll put out for RFP. One thing we want to do is keep a database online of members, donors, and people who've bought art at our galleries or signed the guestbook. Access would be password-controlled so only a few authorized people could see it. Obviously, the database could be implemented in MS SQL or MySQL (etc) but my question is about the CLIENT side.

    We want it to be easy for the authorized people to generate email lists or print mailing labels (for gallery-show postcards) using this database. We DON'T want them to have to be geeks or even particularly technical to do it. Are there any off-the-shelf client-side applications for interfacing to an online database which can do simple tasks like printing mailing labels, designed to be used by nontechnical people? We're happy to design our own database but we're hoping to not have to design the client app if we can avoid it.
    My Art and Photography Website - pnArt.com -
    My Blog - blog.nelsondev.net -

  2. #2
    Follow Me On Twitter: @djg gold trophysilver trophybronze trophy Dan Grossman's Avatar
    Join Date
    Aug 2000
    Location
    Philadephia, PA
    Posts
    20,580
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Have whoever develops the site make a button to export the database to an Excel spreadsheet. Then you can use the Mail Merge feature in Microsoft Word to print labels, envelopes, letters, etc. with the customer information on it.

  3. #3
    SitePoint Addict
    Join Date
    Aug 2005
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Dan Grossman View Post
    Have whoever develops the site make a button to export the database to an Excel spreadsheet. Then you can use the Mail Merge feature in Microsoft Word to print labels, envelopes, letters, etc. with the customer information on it.
    Let me re-emphasize what I said in the OP about "non technical". I'm a software engineer myself, but I've worked with all kinds of end-users. People in the geek community constantly forget that many typical end users don't even understand concepts like "files" and "folders". They DO understand "print" and they know how to open desktop applications by clicking on their desktop icons, etc. And if you give them a URL they can get there in their web browser.

    But I've had enough experience working with end users in a variety of fields to know that once you start talking about downloading a file, copying it from some download directory or importing it by browsing to it in a file browsing dialog, their eyes glaze over.

    Maybe it should go like this - The user goes to the website, and . . .
    1. logs in
    2. clicks on the database tab
    3. selects an option to generate a mailing list
    4. selects his criteria (e.g., all people who bought a painting or signed a guestbook at a paintings show in the last 2 years)
    5. clicks "Print"
    6. Sees a message telling him how many mailing-label sheets he needs to put in his printer and OK's it
    7. (after it's done printing) takes his documents off the printer

    The problem is in 5,6, and 7 . What do we need to have on the client side to make that possible?

    Databases on web servers are as common as dirt these days so if someone hasn't already written a client-side application to print out contents from them or create email lists for Yahoo or Constant Contact or Outlook, they're overlooking a major opportunity. Besides the arts organization I'm in, just in the last few weeks I've had conversations with people at a major concert-booking non-profit in Boston, and a classical music organization in New England who both would kill to have an easy way to do this.

    If no one else has already made an app like this, I'll write one myself and start selling it, but, really, someone MUST have already done this, right?
    My Art and Photography Website - pnArt.com -
    My Blog - blog.nelsondev.net -

  4. #4
    Follow Me On Twitter: @djg gold trophysilver trophybronze trophy Dan Grossman's Avatar
    Join Date
    Aug 2000
    Location
    Philadephia, PA
    Posts
    20,580
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    It seems like an awful waste of resources to have someone develop an entire server-side typesetting program to lay out print-ready labels as PDFs (the only way you're going to get something that prints consistently across everyone's computers), when almost everyone has Word already.

    And aren't labels usually printed on, you know, labels? Sticky back and all? Word has all the different types of label paper / spacings pre-programmed into it for selection, while a developer would have to study the entire label paper market and recreate all those options.

    - Cost of training client to download spreadsheet and click mail merge button (2 hours?)
    versus
    - Cost of developer re-implementing abilities the client already has (several man months?)

  5. #5
    SitePoint Wizard
    Join Date
    Jul 2003
    Location
    Kent
    Posts
    1,921
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    This sounds like the sort of thing you should be doing OFFLINE.

    Keeping your database of members, donors and people who buy things online leaves it open to hackers, and you'd want to keep an offline back-up anyway. Offline you have more security. Building an online system just to print labels is silly. I'd bet that Access or something similar has an existing sample database you could use that did everything you wanted. With no custom programming required.

  6. #6
    SitePoint Addict
    Join Date
    Aug 2005
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Dan Grossman View Post
    It seems like an awful waste of resources to have someone develop an entire server-side typesetting program to lay out print-ready labels as PDFs (the only way you're going to get something that prints consistently across everyone's computers), when almost everyone has Word already.
    Are you saying that Word already knows how to connect to a database?

    - Cost of training client to download spreadsheet and click mail merge button (2 hours?)
    This a typical geek thinking: "We don't have to make it intuitively usable because we can fix it in the training". (or documentation - we'll just put it in a ReadMe file)

    The reality is that all three of the organizations are volunteer-staffed non-profits. These are people with other day jobs who aren't interested in learning some technical skill; they just want to have the mailing labels printed up for the next mailing party. The person who did it last time isn't here anymore and postcard mailings are infrequent enough that the 2-hour training was months ago and long-since forgotten.

    I don't have any problem with using Word as long as whatever happens between clicking the Export button on the website and having the document appear in Word is automagical.
    My Art and Photography Website - pnArt.com -
    My Blog - blog.nelsondev.net -

  7. #7
    Follow Me On Twitter: @djg gold trophysilver trophybronze trophy Dan Grossman's Avatar
    Join Date
    Aug 2000
    Location
    Philadephia, PA
    Posts
    20,580
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by plnelson View Post
    I don't have any problem with using Word as long as whatever happens between clicking the Export button on the website and having the document appear in Word is automagical.
    It can be, but you need a software developer, not a web developer. They can grab the data out of the database and get it into Word via COM with a desktop application. As Dr John said, this sounds like an offline requirement, not something that should be part of your web design.

    This "geek" is just trying to get across that replicating all that functionality could be a huge waste of that nonprofit's precious resources.

    "Don't make it intuitively usable because we can fix it in the training" makes perfect sense when making it intuitively usable as part of a web development process could mean paying a $100/hour developer an extra $4000 versus taping 3 lines of what to click up to the side of the monitor on all the volunteer's computers.

  8. #8
    SitePoint Addict
    Join Date
    Aug 2005
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Dr John View Post
    This sounds like the sort of thing you should be doing OFFLINE.

    Keeping your database of members, donors and people who buy things online leaves it open to hackers, and you'd want to keep an offline back-up anyway. Offline you have more security. Building an online system just to print labels is silly.
    Who says it was JUST to print labels? The point is that if the database is online then you need to be able to accomodate that WRT printing labels.

    Why is the database online? So more than one person can access it! The Fundraising committee may want to see how well our last 3 gallery shows did in raising money or attracting donations. Or maybe gather some statistics for a grant-proposal. The Membership committee may want to see if everyone's dues are up to date, and if not, to send reminder emails. The Events committee may want to have a postcard mailing party. Etc. These are all people with day jobs who do this in their spare time.

    Every community has dozens of these small volunteer non-profits - art associations, athletic organizations, music associations, groups to help at-risk kids, political and religious organizations, social clubs, people trying to raise money for some cause, etc. They don't have paid staff or an office building. They just have a bunch of volunteers who come home from a long day at work and need to get a few things done for their committee.
    My Art and Photography Website - pnArt.com -
    My Blog - blog.nelsondev.net -

  9. #9
    SitePoint Addict
    Join Date
    Aug 2005
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Dan Grossman View Post
    It can be, but you need a software developer, not a web developer. They can grab the data out of the database and get it into Word via COM with a desktop application. As Dr John said, this sounds like an offline requirement, not something that should be part of your web design.
    And as I explained to Dr John, it's online for other reasons, but SINCE it's online we need to be able to accomodate that.

    COM is very old, obsolete technology; it was essentially replaced by .NET But many of our members use Mac's and I have no idea how Word on Mac's works. We could download a little Java applet, I suppose, but I'd be worried about the proliferation of languages and technologies that would make this hard to maintain.

    This "geek" is just trying to get across that replicating all that functionality could be a huge waste of that nonprofit's precious resources.
    Sure, if the nonprofit had to invent it themselves. But do you realize that as of last year there were over million registered non-profit organizations in the US? Not to mention lots of small FOR-profits that probably have similar needs. Since I've been involved with a bunch of these entities I've seen this come up again and again.

    So my assumption is that this problem has already been solved and I made this posting to find out where I can buy or try the solution. It's quite possible that the solution involves some sort of wrapper or front-end for Word, so no one has to reinvent that wheel.
    My Art and Photography Website - pnArt.com -
    My Blog - blog.nelsondev.net -

  10. #10
    SitePoint Addict
    Join Date
    Aug 2005
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    versus taping 3 lines of what to click up to the side of the monitor on all the volunteer's computers.
    Yesterday I talked to someone who used to chair a organization of classical musicians in New England who tried an approach like that. She showed me the instructions - it wasn't 3 lines - it was an entire page, with illustrations. Was it that big because they were doing something more complicated? No - what they were doing was very simple, but people on SitePoint take a lot of stuff for granted. For example we all know what the "C:drive" is. We know how to open a file in Windows Explorer, etc.

    She said that despite clear, simple straighforward instructions people still used to call her up for handholding, which she could do because she's a software designer in her day job. But even she couldn't help the people with the Macs.

    So in summary, I think that:

    1. There are compelling reasons to put the database online, for collaboration and sharing, as detailed eariler

    2. In order to perform mundane tasks like printing mailing labels it will probably be necessary to wrap the printing application (e.g. Microsoft Word) in some software that handles the handshaking and file download with the database. I'm not that familiar with Microsoft Office applications - does Word have native ability to access a remote SQL database?
    My Art and Photography Website - pnArt.com -
    My Blog - blog.nelsondev.net -

  11. #11
    SitePoint Author silver trophybronze trophy
    wwb_99's Avatar
    Join Date
    May 2003
    Location
    Washington, DC
    Posts
    10,633
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)
    I've hit this problem a number of times, and usually dumping to excel (or some other well-known format) is the best option at the end of the day. Key thing is it lets users do anything they really want to do without needing to call in the dev team. You can even add the mail-merge templates to the app so users can download that leaving the only thing for them to bother with is actually hooking up their document to the data source.

    That said, there are some pretty neat options here. One way to hit this would be to use SQL Server Reporting services to generate the label "reports." If you have SQL server, you already have this tool. Also can integrated directly to the site if you can't get users directly to the DB server for whatever reasons. Anyhow, the real trick here is to find something that is usable that can generate print quality labels that doesn't cost a small fortune (like many of the PDF generation libraries).

    Now, Word itself can easily attach to the database, but then the trick becomes how to hook it up to the right query and such. Which is why shipping users excel files tends to work much better. Hooking people directly into the DB has some other downsides (security management, change management, etc).

  12. #12
    SitePoint Guru
    Join Date
    Sep 2008
    Posts
    977
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I don't think there is anything wrong with having your db online so long as you have enough security around it. question is... is there ever enough security.

    Maybe I am missing something in your 'project' but I don't yet understand the need to export to excel or whatever.

    Is it possible to make your print button go to a page which displays the data you need to print out? From a technical point, that is possible.

    Imagine (if you will), an A4 page which will print 8 business cards. You could have your 'print page' display the full data for all 8 cards and the css can set it in two columns of 4 rows, as per the 'perforated' page that would be used to cut them out of? It can work for 1 column of 2 rows if your finished product would be about A5 in size.

    I have done this for invoicing before for small business. It seems to work similarly for any printer provided the css is OK.

    Maybe it has so far been a coincidence that they are still using default margins and borders in their printer settings but in case they aren't all doing so, I have made the css output the data as per the dimensions of a standardised letter on the basis that if they are to print out anything on A4, the invoice I have done will do so too. This can be done for A5 or other paper sizes, with the page being specific for the task at hand.

    The other part of your project you mentioned - mailing lists etc, we usually do my email but in the same way, as above, it could be printed and snail mailed but that would bring extra costs all of its own.

    The other bits you mentioned seem to be stats related. that is do-able online as well.
    hth

    bazz


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •