define project MW node mw_Artist[id] {
("id = ", ano),
(include mw_Works_by_artist_list[id] ),(href mw_add_work_by_artist[ano, name]("[add work]")) ,
(),("Contemporary with: "),
(include mw_Contemporary[ano, birthdate, deathdate]) } , include mw_To_index from artist selected by ano = id node mw_Artist_index("Artist Index") ,
( {
- (href mw_Artist[ano]((name))," (",birthdate,"-",deathdate , ") " , href mw_Works_by_artist[ano] ("[works]"), " (id=",ano,") " ) } ) ,
(href mw_new_Artist("[New Artist]")) , include mw_To_index from artist selected by name <> "unknown" node mw_Artist_name[id] { name }from artist selected by ano = id node mw_Contemporary[a, b,d] { href mw_Artist[ano] (name)," " } from artist selected by ano <> a and (birthdate+20) < d and (deathdate-20) > b order by birthdate node mw_Content_of_exh[ex] // list of all works in a exhibition
( {
( (name ,
() , title),(()), ( href mw_Work[wno]("(Jump)")) )} ) from ex_content, work, artist selected by ex_content.work = work.wno and work.author = artist.ano and ex = exhibition order by name node mw_Countries[a] { (type," ",country) } from art_cnty selected by artist = a order by 1 node mw_Exhibition[ex]
( (" * ",title, " * ")),
("Description") ,
(description) ,("Content") , include mw_Content_of_exh[exno] ,
("Organized by") ,
(organizer) , "
" ,(href mw_select_work[ex] ("[Add a Work]") , " to this exhibition") , include mw_To_index from exhibition selected by ex = exno node mw_Exhibition_index
("Exhibition Index"),
( {
( ( (title) , //
("Description"),
(description) , //("Organizer") ,
("Organized by " , organizer) ) ,(expand href mw_Content_of_exh[exno] ("View Content") , (href mw_select_work[exno] ("[Add a Work]")) ) ) } ) , include mw_To_index ,
(), href mw_new_Exhibition ("[Create an Exhibition]") from exhibition order by exno node mw_Home("Mini Virtual Museum") ,
((href mw_Artist_index("Artists") ),
(href mw_Work_index("Works") ),
(href mw_Exhibition_index("Exhibitions") ) ,
(),("To make changes you must log in as ADMIN (password=x) ", href ADMIN.login["MW.mw_Home"]("[login]")) ) node mw_To_index
(), href mw_Work_index ("[Work index]") , " " , href mw_Artist_index("[Artist index]") , " " , href mw_Exhibition_index("[Exhibition index]") , " ", href ADMIN.login["MW.mw_Home"]("[Change user]") node mw_Work[id] {(
( ( (title),
(c_date),
(href mw_Artist[author] (include mw_Artist_name[author])),
(support," ",height," x ",width), //
(include mw_Owned[wno], ", " , acquired ) ,
(href mw_Works_by_artist[author] ("Works") , " by " , include mw_Artist_name[author]) ),
( (()) ) ) ) , include mw_To_index , "
" , href mw_upd_Work[id]("Update") , " this description" } from work selected by wno = id node mw_Work_image[id] {(()) } from work selected by wno=id /** Exhibitions **/ node mw_Work_index
("Work Index") ,
( {
- ((href mw_Work[wno](title))," (",c_date, ") by ", href mw_Artist[author] (include mw_Artist_name[author]) // , " (id=",wno,") " ) }) , include mw_To_index from work order by wno node mw_Works_by_artist[id] {
("Works by " , href mw_Artist[id] (name) ) , include mw_Works_by_artist_list[id] } ,
(href mw_add_work_by_artist[ano, name]("[add work]")) , include mw_To_index from artist selected by ano = id node mw_Works_by_artist_list[artist] {
((title)," ",c_date, " ", expand href mw_Work_image[wno] ("[open image]") , " " , href mw_Work[wno] ("[details]") ) } from work selected by author = artist order by c_date node mw_add_work_by_artist[a, n]
("Adding a new work") , active href mw_Artist[a] ( //
("Unique identifier: " , set wno = textfield(10)) ,
("Author: ", n , set author = a),
("Title: ", set title = textfield(60) ),
("Support: ", set support = textfield(30)),
("Date: ", set c_date = textfield(10)),
("Height: ", set height = textfield(10)),
("Width: ", set Width = textfield(10)),
("Picture location: ", set picture=textfield(50), " (URL)"), on "Add" do insert work ) node mw_add_work_exh[e, w]
("Add " , work.title , " to " , exhibition.title) , active href mw_Exhibition[e] ( set work = w , set exhibition = e ,
("Comment: " , set org_comment = textarea(10, 30)) , on "Add" do insert ex_content ) from exhibition, work selected by exno = e and wno = w node mw_new_Artist
("Adding a new artist") , active href mw_Artist_index ( //
("Artist identifier: " , set ano = textfield(10)) ,
("Name: ", set name = textfield(60) ),
("Birthdate: ", set birthdate = textfield(10, "1800"), " mandatory"),
("Deathdate: ", set deathdate = textfield(10, "1900"), " mandatory"), on "Add" do insert artist ) node mw_new_Exhibition {
("Creating a new exhibition") , active href mw_Exhibition_index ( // Take a new no. from the mw_seq sequence (Oracle) //
("Unique identifier: " , set exno = mw_seq.nextval , mw_seq.currval) ,
("Title: " , set title = textfield(60) ) ,
("Organizer: " , set organizer = textfield(30)) ,
("Description: " , set description = textarea(10, 50)) , on "Create" do insert exhibition )} node mw_new_Work
("Adding a new work") , active href mw_Work_index ( //
("Unique identifier: " , set wno = textfield(10)) ,
("Title: ", set title = textfield(60) ),
("Author: ", set author = textfield(10) , (" (artist no.)")) ,
("Support: ", set support = textfield(30)),
("Date: ", set c_date = textfield(10)),
("Height: ", set height = textfield(10)),
("Width: ", set Width = textfield(10)),
("Picture location: ", set picture=textfield(50), " (URL)"), on "Add" do insert work ) node mw_select_work[e]
("Select a work to include in the exhibition") ,
( {
- ( href mw_add_work_exh[e, wno]("[Add]") , " ", title, " " , expand href mw_Work[wno]("[Details]" ) ) } ) from work node mw_upd_Artist[w]
("Updating an artist description") , active href mw_Artist[w] (
("Unique identifier: " , ano) ,
("Name: ", set name = textfield(60, name) ),
("Birthdate: ", set birthdate = textfield(10, birthdate)),
("Deathdate: ", set deathdate = textfield(10, deathdate)), on "Update" do update artist[ano] ) from artist selected by ano=w /* node mw_new_Exhibition
("Creating a new exhibition") , active href mw_Exhibition_index (
("Unique identifier: " , set exno = textfield(10), " (a number not in { " , include mw_Exh_numbers , "} )" ) ,
("Title: " , set title = textfield(60) ) ,
("Organizer: " , set organizer = textfield(30)) ,
("Description: " , set description = textarea(10, 50)) , on "Create" do insert exhibition ) node mw_Exh_numbers { exno, " " } from exhibition node mw_add_work_exh[e, w]
("Add " , work.title , " to " , exhibition.title) , active href mw_Exhibition[e] ( set work = w , set exhibition = e ,
("Comment: " , set org_comment = textarea(10, 30)) , on "Add" do insert ex_content ) from exhibition, work selected by exno = e and wno = w node mw_select_work[e]
("Select a work to include in the exhibition") ,
( {
- ( href mw_add_work_exh[e, wno]("[Add to exhibition]") , " ", title, " " , expand href mw_Work[wno]("[Details]" ) ) } node mw_upd_Work[w]
("Updating a work") , active href mw_Work[w] (
("Unique identifier: " , wno) ,
("Title: ", set title = textfield(60, title) ),
("Author: ", set author = textfield(10, author) , (" (artist no.)")) ,
("Support: ", set support = textfield(30, support)),
("Date: ", set c_date = textfield(10, c_date )),
("Height: ", set height = textfield(10, height)),
("Width: ", set Width = textfield(10, Width)),
("Picture location: ", set picture=textfield(50, picture), " (URL)"), on "Update" do update work[wno] ) from work selected by wno=w