2 # Builds an initial database
3 # make sure you set the appropriate values in cgi-bin/modules/Constants.pm
6 use lib '../cgi-bin/modules';
9 use Constants qw($DSN $UN $PW $CGI_URI $SHOP_URI $ROOT_URI);
10 use BSE::API qw(bse_init bse_cfg);
11 use BSE::Util::SQL qw(now_sqldate now_sqldatetime);
13 bse_init("../cgi-bin");
15 my $securlbase = $cfg->entryVar('site', 'secureurl');
16 my $nowDate = now_sqldate();
17 my $nowDatetime = now_sqldatetime();
21 # the section that represent's the index page
25 displayOrder=>100, # doesn't matter
26 title=>"My site's title",
30 release=>"$nowDate 00:00:00",
31 expire=>'9999-12-31 23:59:59',
32 lastModified=>"$nowDatetime",
34 template=>'index.tmpl',
36 admin=>$CGI_URI.'/admin/admin.pl?id=1',
37 threshold=>10000, # needs to be high
38 summaryLength => 1000, # should be ignored
39 generator=>'BSE::Generate::Article',
46 lastModifiedBy=>'system',
47 created=>"$nowDatetime",
53 inherit_siteuser_rights => 1,
62 # the invisible subsection for what's hot
65 displayOrder=>100, # doesn't matter
66 title=>"[index subsection]",
70 release=>"$nowDate 00:00:00",
71 expire=>'9999-12-31 23:59:59',
72 lastModified=>"$nowDatetime",
74 template=>'index2.tmpl',
76 admin=>$CGI_URI.'/admin/admin.pl?id=1',
77 threshold=>10000, # needs to be high
78 summaryLength => 1000, # should be ignored
79 generator=>'BSE::Generate::Article',
86 lastModifiedBy=>'system',
87 created=>"$nowDatetime",
93 inherit_siteuser_rights => 1,
107 body=>'You can buy things here',
109 release=>"$nowDate 00:00:00",
110 expire=>'9999-12-31 23:59:59',
111 lastModified=>"$nowDatetime",
113 template=>'shop_sect.tmpl',
114 link=>$securlbase.$SHOP_URI.'/',
115 admin=>$CGI_URI.'/admin/admin.pl?id=3',
116 threshold=>1000, # ignored
117 summaryLength=>1000, # ignored
118 generator=>'BSE::Generate::Article',
125 lastModifiedBy=>'system',
126 created=>"$nowDatetime",
132 inherit_siteuser_rights => 1,
144 title=>'[shop subsection]',
146 body=>'', # don't set this - set the shop body instead
148 release=>"$nowDate 00:00:00",
149 expire=>'9999-12-31 23:59:59',
150 lastModified=>"$nowDatetime",
152 template=>'catalog.tmpl',
154 admin=>$CGI_URI.'/admin/shopadmin.pl',
155 threshold=>1000, # ignored
156 summaryLength=>1000, #ignored
157 generator=>'BSE::Generate::Catalog',
164 lastModifiedBy=>'system',
165 created=>"$nowDatetime",
171 inherit_siteuser_rights => 1,
183 title=>'[sidebar subsection]',
185 body=>'', # don't set this
187 release=>"$nowDate 00:00:00",
188 expire=>'9999-12-31 23:59:59',
189 lastModified=>"$nowDatetime",
191 template=>'common/sidebar_section.tmpl',
193 admin=>$CGI_URI.'/admin/admin.pl?id=5',
194 threshold=>1000, # ignored
195 summaryLength=>1000, #ignored
196 generator=>'BSE::Generate::Article',
203 lastModifiedBy=>'system',
204 created=>"$nowDatetime",
210 inherit_siteuser_rights => 1,
222 title=>'[formatting guide]',
225 anchor[basic] b[Sample basic formatting:]
226 indent[link[/a/1.html|regular link text]
228 b[link[/a/1.html|bold link text]]
230 i[link[/a/1.html|italic link text]]
232 i[b[link[/a/1.html|bold italic link text]]]
234 link[http://www.google.com|link to external web site]
237 align[center|Align center text (NB: American spelling)]
239 align[right|Align right text]
241 This is how you can make an email link: link[mailto:adriann@devbox.org|email us here!]
243 hrcolor[100%|1|#CCCCFF] anchor[font]
244 b[Sample font sizing:] (use numbers 1 - 7 only)
245 indent[fontcolor[7|#FFCC33|This is font size 7 and colour]
247 font[6|This is font size 6]
249 font[5|This is font size 5]
251 font[4|This is font size 4]
253 font[3|This is font size 3]
255 font[2|This is font size 2]
257 font[1|This is font size 1]
259 (but they can be plus or minus numbers too)
261 font[+2|This is font size +2]
263 font[+3|This is font size +3]
265 font[-2|This is font size -2]
267 font[-3|This is font size -3]
270 b[HINT:] The default font size for your body text is size 2 and the headings are size 4 Bold.
272 hrcolor[100%|1|#CCCCFF] anchor[indent]
273 b[Sample indenting and bullet points:]
274 indent[This is a simple indent and bullet list
275 ** Add a bullet point to this line
276 ** Hit enter and type another
277 ** And now one final bullet
279 ## And this is a numbered list
280 ## It's very easy to format lists now
281 ## Now we can count to three]
283 hrcolor[100%|1|#CCCCFF]
286 table[bgcolor=#999999 width=170 cellpadding=1 cellspacing=0 |table[bgcolor=#FFFFCC width=100% cellspacing=0 cellpadding=5
287 |fontcolor[2|#000000|Background - #FFFFCC]
289 table[bgcolor=#FFFF99 width=170 cellpadding=5
290 |fontcolor[2|#000000|Navbar - #FFFF99]
292 table[bgcolor=#FFCC33 width=170 cellpadding=5
293 |fontcolor[2|#000000|Sidebar Title - #FFCC33]
295 table[bgcolor=#CCCCFF width=170 cellpadding=5
296 |fontcolor[2|#000000|Title Panel - #CCCCFF]
298 table[bgcolor=#333399 width=170 cellpadding=5
299 |fontcolor[2|#ffffff|Crumb Panel - #333399]
301 table[bgcolor=#999999 width=170 cellpadding=5
302 |fontcolor[2|#000000|Outlines - #999999]
304 table[bgcolor=#FFFFFF width=170 cellpadding=5
305 |fontcolor[2|#000000|Item Panel - #FFFFFF]
308 hrcolor[100%|1|#CCCCFF]
309 b[Sample links to an anchor:]
310 indent[link[#basic|Jump to "Sample basic formatting"]
311 link[#font|Jump to "Sample font sizing"]
312 link[#indent|Jump to "Sample indenting and bullet points"]
313 link[#table|Jump to "Making a table"]]
316 hrcolor[100%|1|#CCCCFF] anchor[table]
319 BSE has special tags to create simple tables, but if you wish to do anything more complicated, we recommend you develop the table in HTML and insert the raw HTML into the body text field.
326 table[bgcolor=#CCCCFF width=90% cellpadding=5
327 |align[center|link[/a/1.html|this one]]|is
332 table[width=100% cellpadding=5
333 |b[font[2|Project Management]]|font[2|Project management services for buildings, infrastructure, technology and environment, relocations.]
334 |b[font[2|Events]]|font[2|Event marketing and management, overlay works, venue management.]
335 |b[font[2|Property]]|font[2|Property development management and advisory.]
336 |b[font[2|Management Consulting]]|font[2|Business improvement, change management, market testing, outsourcing, contracts and relationships, industrial relations, safety, asset management.]
337 |b[font[2|Quality Assurance]]|font[2|Independent 3rd party audits, quality systems, certification, OHS&R programmes.]
341 hrcolor[100%|1|#CCCCFF]
343 b[Inserting a plain HTML table:]
345 Use an HTML editor to create table like this, then paste the generated HTML code into the text body area as you would any normal text.
348 <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#999999">
351 <table width="100%" border="0" cellpadding="5" cellspacing="1">
352 <tr bgcolor="#FFCC33">
353 <td width="25%" height="18"> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">PROJECT
354 MANAGEMENT</font></b></td>
355 <td width="25%" height="18"> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">MANAGEMENT
356 CONSULTING</font></b></td>
357 <td width="25%" height="18"> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">PROPERTY</font></b></td>
358 <td width="25%" height="18"> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">EVENTS</font></b></td>
360 <tr valign="top" bgcolor="#FFFFCC">
363 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">
364 Project assessment and initiation</font></li>
365 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Project
367 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Distressed
368 project recovery</font></li>
369 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Construction
371 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Relocation
372 management </font></li>
377 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Business
378 improvement </font></li>
379 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Change
380 management</font></li>
381 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Market
382 testing and Outsourcing</font></li>
383 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Information
384 management</font></li>
385 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Employee
386 relations</font></li>
391 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Development
392 management and packaging</font></li>
393 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Property
394 asset strategy</font></li>
395 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Property
397 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Property
403 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Event
404 management</font></li>
405 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Sponsorship
406 and marketing</font></li>
407 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Event
408 overlay works</font></li>
409 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Venue
410 management</font></li>
411 <li><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Special
412 event consulting </font></li>
416 <tr valign="top" bgcolor="#003366 ">
417 <td colspan="4" bgcolor="#CCCCFF"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">This
418 could be a subtitle</font></b> </td>
420 <tr valign="top" bgcolor="#FFFFCC">
421 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Contract
422 and commercial </font></td>
423 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Asset
424 management </font></td>
425 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Project
426 Marketing</font><font face="Verdana, Arial, Helvetica, sans-serif" size="-2">
427 Contract </font></td>
428 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Sponsorship</font></td>
430 <tr valign="top" bgcolor="#FFFFCC">
431 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Project
432 information systems</font></td>
433 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Risk
434 management</font></td>
435 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Project
436 Marketing</font></td>
437 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Event
438 management</font></td>
440 <tr valign="top" bgcolor="#FFFFCC">
441 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Independent
442 certification</font></td>
443 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Business
445 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Feasibility
446 financial modelling</font></td>
447 <td width="25%"> <font face="Verdana, Arial, Helvetica, sans-serif" size="-2">Event
448 overlay works</font></td>
456 release=>"$nowDate 00:00:00",
457 expire=>'9999-12-31 23:59:59',
458 lastModified=>"$nowDatetime",
460 template=>'common/default.tmpl',
461 link=>'/a/format_guide.html',
462 admin=>$CGI_URI.'/admin/admin.pl?id=6',
463 threshold=>1000, # ignored
464 summaryLength=>1000, #ignored
465 generator=>'BSE::Generate::Article',
472 lastModifiedBy=>'system',
473 created=>"$nowDatetime",
479 inherit_siteuser_rights => 1,
491 title=>'[rss generation]',
494 This body text is not used.
496 This article generates RSS as used by some sites.
499 release=>"$nowDate 00:00:00",
500 expire=>'9999-12-31 23:59:59',
501 lastModified=>"$nowDatetime",
503 template=>'common/rssbase.tmpl',
505 admin=>$CGI_URI.'/admin/admin.pl?id=7',
506 threshold=>1000, # ignored
507 summaryLength=>1000, #ignored
508 generator=>'BSE::Generate::Article',
515 lastModifiedBy=>'system',
516 created=>"$nowDatetime",
522 inherit_siteuser_rights => 1,
534 title=>'[sidebar logon]',
537 This body text is not used.
539 This article puts a registration/login bar in the sidebar
542 release=>"$nowDate 00:00:00",
543 expire=>'9999-12-31 23:59:59',
544 lastModified=>"$nowDatetime",
546 template=>'sidebar/logon.tmpl',
548 admin=>$CGI_URI.'/admin/admin.pl?id=8',
549 threshold=>1000, # ignored
550 summaryLength=>1000, #ignored
551 generator=>'BSE::Generate::Article',
558 lastModifiedBy=>'system',
559 created=>"$nowDatetime",
565 inherit_siteuser_rights => 1,
575 my $dbh = BSE::DB->single->dbh
576 or die "Cannot connect to database: ",DBI->errstr;
577 my @columns = BSE::TB::Article->columns;
578 $dbh->do('delete from article')
579 or die "Cannot delete articles: ",$dbh->errstr;
580 $dbh->do('delete from product')
581 or die "Cannot delete from product: ", $dbh->errstr;
582 $dbh->do('delete from image')
583 or die "delete from image: ",$dbh->errstr;
584 my $sql = 'insert into article values('.join(',', ('?') x @columns).')';
585 my $sth = $dbh->prepare($sql)
586 or die "Cannot prepare $sql: ",$dbh->errstr;
587 for my $art (@prebuilt) {
588 defined $art->{linkAlias} or $art->{linkAlias} = '';
589 $sth->execute(@$art{@columns})
590 or die "Cannot insert row into article: ",$sth->errstr;