Fog Creek Software
Discussion Board




Knowledge Base
Documentation
Terry's Tips
Darren's Tips

Dumb question

I've been evaluating CMS for a specific purpose, and came across CD.

The objective is to build a semi-professional site offering a significant amount of information (1000s of articles, indexed, searchable etc). 

However all articles will adhere to only two or three basic formats. The most important format goes

<heading, subheading>
<variable length text>
<table with three columns, variable number of rows, filled with text>

The latter seems to be the issue. From other threads here I gather there's no reasonable method for a "user" to insert and edit tables into an article (my father who will enter and maintain all the content is not computer savvy. Editing an article is fine but doctoring with HTML is completely out of the question. Pasting from Word appears to be pretty messy plus I definitely don't want to keep the information there) and no commitment from FogCreek to do anything about this in the foreseeable future.

Perhaps I'm barking up the wrong tree though.

If CD allowed creating custom "article templates" (no, CD's "publishing templates" are of no help here I think)  that would appear instead of a blank document upon pressing the "New article" button then I could create such a template using HTML and my father would simply fill in the text.

Is there such a feature, or any other way to resolve this issue?

Thanks in advance!

Vic
NB While I have an IT background I'm not particular web-technical.

Vic
Saturday, August 23, 2003

There has been discussion about tables here before.  You might want to click on Terrys tips (to the left of this page) and search his excellent archives.

How many rows will these tables end up having at the maximum?  Once the page is built, do you need to keep adding rows to the table over time?

Joel Goldstick
Saturday, August 23, 2003

Yes, CD allows you to create new article tempates, but you don't even have to. Each article should be one row of your table and you will pull it all together with CityScript like this:

<table>
{$foreach x in (folder "rowsOfTable") $}
<tr><td>{$ x.body $}</td></tr>
</table>

That's a simplified example.

Joel Spolsky
Saturday, August 23, 2003

Joel,


cheers for the fast reply.


The number of rows will vary mostly between 1 and 20, but may occasionally reach 50.

Yes, the capability to add and delete rows is required as part of the content management ("user") function.

In case this makes any difference, the table serves to display text in a tabular format, rather than to present say numerical data/ statistics.


Thanks for the hint to look at Terry's tips. At first glance I couldn't find any silver bullet there either though.


Vic

Vic
Saturday, August 23, 2003

Joel S.


thanks for your reply too. Interesting.

Say I have around 1000 articles, each with one table averaging 10 rows (times three columns).

Do I understand your solution correctly in that I should (in addition to the articles containing the body text) create 1000 folders, each averaging 10 articles, plus a CityScript accessing the folder corresponding to the desired article topic, and pulling together the articles within that folder into a single table?  If so...

... how would I have to setup the articles that represent a single row in order for CityScript to separate the text into  three columns?

... will CityDesk handle well with such a great number of distinct articles?


Could you point me towards some info on how to create article templates?


Thanks!!

Vic

Vic
Saturday, August 23, 2003

Remember that a browser needs to pull lin the entire table to show its contents. Could be long.

John Cesta
Saturday, August 23, 2003

If you have experience with php or asp server side coding a reasonably simple solution could be found.  I wonder if you really need tables. 

You have lots of articles.  Here's a thought.  Download the free version of CD.  It is restricted to 50 articles.  In about 30 minutes you can try out what Joel Spolsky wrote above.  The help files are very helpful on how to write the scripts.

The Pro edition doesn't have a limit to files, so, if CD seems right for you, buy the pro version.

Joel Goldstick
Saturday, August 23, 2003

Vic, It's nice to generate tables with a script but it's probably not your silver bullet. One thing I've wanted to do is to generate sports schedules for a high school: Date in column 1, time in column 2, home team in 3, etc. If I put the date in body, time in teaser, home team in sidebar, etc., I can CityScript a table out of it. But I can't see the whole schedule until I preview. To change the game time, I've got to open the right article, switch article views, edit, save, and preview. Plus I'd have an article for each game.

Well, it leads to a lot of messy build up in comparison to one table in one article. I do see the risk doing wysiwyg tables; a contributor could cause trouble.

tk
Saturday, August 23, 2003

Dear all,


thanks again for the replies. 

In the meantime I've tried Joel S.'s suggestion, and indeed, CD generates a table from a series of articles stored in a folder.  Alas it only creates a single column.

So if I were to follow down that road to its end I'd either have to find a way for CityScript to "parse" each article (for some special separation character I suppose) to create the columns.

Alternatively, the user would have to create/ maintain articles for each individual CELL rather than ROW...

Let's see, 1000 articles*10 rows*3 columns... 30000 distinct articles... sounds like a content management nightmare rather than a solution?


tk's post on sport schedules very much echoes my sentiment. 


This looks like a "common world" issue... yet how to solve it?



Thanks

Vic

(NB No, my technical skills have long aged - I cannot program php or asp...)

Vic
Saturday, August 23, 2003

For each row in your table, write the major text in the body section.  Write the two other columns in extra1 and extra2

Do this for each row of your table.  Data entry -- boring, but necessary no matter how you get your stuff on the web.

Create 1 index article.  In that index, put the script that Joel S. proposed above with the following additions:

<table>
{$foreach x in (folder "rowsOfTable") $}
<tr><td>{$ x.body $}</td>?<td>{$x.extra1}</td><td>{$x.extra2$}</tr>
</table>

Each time you need to add a row to the table, create an article in your rowsOfTable folder, fill in the 3 fields, and you are done.  Not so hard really at all.

Joel Goldstick
Saturday, August 23, 2003

What we do in such a case is to write the data for the table into the body of an article, data being delimited, such as

hans,178,brown,ABC
fritz,166,beige,BCH
marlin,218,blue,HJC

...etc. Then we have a javascript script which generates the HTML-formatted table when the page loads. Easy to edit, a complete table handled in one article.

Regards

Patrick Thomas
www.telepark.de

Patrick Thomas
Saturday, August 23, 2003

Thanks again for the responses.

If my understanding is correct, Joel G is suggesting a clever workaround that manages to squeeze a table row into a single article by using the "Extra" fields thereby keeping the total number of articles in my planned site to 10000 rather than 30000.

Though technically viable, I'm not overly thrilled by this method.  First it means data entry will be everything but user-friendly. It requires the user to add an article for each row, and then to edit individual cells without seeing any context (not even the neighbouring cells), and into fields with labels providing no guidance. Reviewing the context will only be possible upon publication.

It is limited as columns cannot be added at will (not a problem at this point, but...).

It also appears that CD doesn't allow variable names following the "folder" key word, so I might have to edit the script for each main article - which would again defeat the purpose of keeping content maintenance at the user level.


Patrick's method looks interesting for tables with actual pieces of data in there. I like the way it eliminates the need to create articles for the sake of it.  Alas I think from a usability point of view it wouldn't work that well in my case (table cells are pieces of [often lengthy] text rather than data) so there wouldn't be any hint of a table structure visible prior to publication.  Also I'd would have to dig into JavaScript.


In my search for a CMS, I've downloaded a lot of trial versions.  I liked CD best the way it is "intelligent", sleak, and allows me as an amateur to build sites with ease.

However, it looks like both the builder and user are being forced to jump through hoops in order to work around a lack of a simple and common world feature (tables). 

I can hardly see this as a salient point for the software. 

Am I being unfair here?

Vic
Sunday, August 24, 2003

Native table support is missing in CD, no question about it, but it is vastly offset by all the other positive aspects of CityDesk.

And, its so easy to set up, format and edit tables in MS Excel and then to just paste them into CD (actually much easier than any web-editor-type table editor we have seen so far), that our clients can easily live with that.

In fact, they actually prefer keeping their tables in Excel.

Regards

Patrick

Patrick Thomas
Sunday, August 24, 2003

Patrick :re "And, its so easy to set up, format and edit tables in MS Excel and then to just paste them into CD (actually much easier than any web-editor-type table editor we have seen so far), that our clients can easily live with that."

Glad to read that ... My experience with copy and paste from MS Word [XP] into the CD article editor has been fraught with very minor [but annoying] problems ... I'm going to give your Excel suggestion a try and see if the "presentation" integrity is maintained when CD publishes the Excel tables and if so that would be cool and a real time saver for me :-). Thanks.

David Mozer
Sunday, August 24, 2003

It's funny.  I've often wondered why there isn't some stripped "table document" editor to play "Excel" to WordPad's "Word."  Some one-sheet, limited calculation, no macros thingy.  It seems like 99% of the "spreadsheets" (Excel workbooks) I see contain a single sheet and are used for nothing more than laying out text in tabular form.

Gee, looking at what I just wrote maybe I understand now.  A Windows-bundled simple "SheetPad" might kill half or more of the Excel market.

Oops!

Bob Riemersma
Sunday, August 24, 2003

FWIW, following some more pondering I've decided to create a number of dummy articles acting as "new article templates" for the user. 

I'm setting up articles named Table5, Table10, Table20 etc.,  containing empty tables (handcoded in HTML) with the corresponding number of rows, for the user to copy/ paste into the articles he creates, and to subsequently fill in the information. 

Yeah I know, not pretty (some blank rows, row inserts after initial creation will require going into HTML view at some point), but still the workaround with the best usability overall for this particular purpose. 

Plus, there's a chance for this to turn into a great solution if/ when FogCreek decides to support tables natively ;-)

Vic
Tuesday, August 26, 2003

Vic, I use dummy articles for myself because I tend to forget important thinngs when creating new ones from scratch.

If the dummy table is already there, in time you can probably teach most folks how to go into HTML view and eliminate blank rows.

tk
Tuesday, August 26, 2003

*  Recent Topics

*  Fog Creek Home