Custom Gallery with 3 views, and an admin page for inserting text annotations. Also need support for languages and clean handling of urls.
The gallery is quite standard, the main things I need is xml storage for the text and gallery image, lanuage support and clean urls using url mapping and server.transfer. Using the ListView control and LINQ it should be quite easy to generate the gallery layout, the trickier part is proper handling of urls.
## Deliverables
Gallery Views: (This should be presented reasonably well, but no fancy color schemes or anything required).
Please use the Asp.Net Listview control where applicable this can generate the galleries quite easily. for the language support the xml can be stored in [login to view URL] while languages can be stored in [login to view URL], [login to view URL] for each gallery, all data to generate the gallery should be in the xml file in the subdirectory with the images.
1) All Galleries View :
displays the thumbnails (5 per row)
title of the gallery and the image should both link to Main Gallery View. The list of galleries should be read from an xml (this xml contains the paths of the galleries where the other xml can be found)., a random thumbnail image can be chosen from the gallery.
2) GalleryView:
Displays the title at the top followed by pairs of a paragraph followed by 4 images
e.g.
THIS IS THE TITLE
paragraph with description....
[login to view URL] [login to view URL] [login to view URL] [login to view URL]
paragraphh with description....
[login to view URL] [login to view URL] [login to view URL] [login to view URL]
There is one descriptive paragraph for every 4 images.
3) Gallery Image Full View:
displays the full sized image, the title of the image, the title of the gallery (should link back to the gallery view). There should also be the description paragaph. which belongs to the image. There should also be links to the nex and previous images in the gallery.
4)Admin View:
This is the same as the gallery view in 2 except that all text fields can be modified. images should be displayed as in the 2, but the text should be modifiable through a textbox. The text is stored in the default xml file.
there should be a submit and cancel button.
the admin page can use ?impath=pathToGallery in the url to find the images, thumbnails are store in the subdirectory /thumbs with the [login to view URL] extension. ( I will provide sample).
NOTE: the language translated files will be produced manually so no admin page is necessary. IF a lanaguage xml is not available the default should bs used.
-store and retrieve all data from xml using LINQ to xml
URLs:
for the main gallery the url should be /[login to view URL] : this displays view 1
view2 should be /gallery/galleryPath/[login to view URL]
view 3 should be /gallery/galleryPath/imageName/[login to view URL]
URL should be mapped and then use [login to view URL] in Global in the request handling pre event.
NOTE: I will supply some sample images with thumbnails for testing with the correct size images.
Deliverable:
All source code and
A demo project, which includes two small galleries, which have already been built with any random text.
Also at least one gallery should demonstrate the functioning of the translation capability. e.g. place a link so that the language can be changed to french, set the currentCulture, and the page should update with the xml from the correct [login to view URL]
Important Coding guidelines to be followed:
all asp.net c# code must be in separate code file (not inline in .aspx file).
all business logic for the ASP.NET page MUST be in a separate DLL. The C# code in the ASP.Net section should be mostly static method calls to the separate DLL. The code in the ASP.NET filese should just be getting and setting properties on control or in html. All the work should be done via a static call to a separate DLL. This ensures that there is a good separation between presentation and business.
LINQ must be used for all xml handling, easier to program and easier for me to read.