Customise Admin Forms with .Net Options
Gregorius
Posted: Tuesday, September 19, 2006 2:48:33 AM

Rank: Addict

Joined: 7/29/2006
Posts: 504
Location: Melbourne, Australia
Hey all,

I'm wondering how easy it is to customise the admin interface for umbraco. I'm building a .Net app that will use Umbraco for its presentation layer... it will most likely use nodes in umbraco to act as pointers to the database records in my application. so opening a node will pass the node id to my app, whcih will then return all of the data for that node back to umbraco.

my question is, how would i go about building an admin interface in umbraco, so in the backend i can edit all of the info in my external DB through the node structure in umbraco, instead of building a separate admin interface? is it possible to do without hacking the core?

thanks all
greg


Wishes he could work with Umbraco all the time.
neehouse
Posted: Tuesday, September 19, 2006 5:31:00 AM

Rank: Umbracoholic

Joined: 7/20/2006
Posts: 1,069
Location: Charleston, West Virginia, United States
I am not sure, but creating a datatype may be a solution.

• 2007/2008 MVP • 2008/2009 MVP • Core Developer • Certified Professional Level I & II •
Gregorius
Posted: Tuesday, September 19, 2006 5:52:54 AM

Rank: Addict

Joined: 7/29/2006
Posts: 504
Location: Melbourne, Australia
Datatypes is something i haven't really explored much. I'll investigate more about them and how they can help me.

Any quick links to good references re: data types?


Wishes he could work with Umbraco all the time.
Gregorius
Posted: Tuesday, September 19, 2006 6:41:02 AM

Rank: Addict

Joined: 7/29/2006
Posts: 504
Location: Melbourne, Australia
hmm couldn't find any info on DataTypes in the wiki on Umbraco website documentation... anyone know where i can get more info on what their uses are and how i can use/abuse them to do lots of cool stuff?

Wishes he could work with Umbraco all the time.
neehouse
Posted: Tuesday, September 19, 2006 2:20:17 PM

Rank: Umbracoholic

Joined: 7/20/2006
Posts: 1,069
Location: Charleston, West Virginia, United States
Greg,

Look at the multiple content picker, and media pickers that are floating around. There was also a crop data type floating around at one point.

Hope this helps
Case

• 2007/2008 MVP • 2008/2009 MVP • Core Developer • Certified Professional Level I & II •
Gregorius
Posted: Wednesday, September 20, 2006 1:21:28 AM

Rank: Addict

Joined: 7/29/2006
Posts: 504
Location: Melbourne, Australia
Thanks Case, but i still don't get how these can help me implement admin forms for my separate application through the umbraco admin interface. ??

Wishes he could work with Umbraco all the time.
neehouse
Posted: Wednesday, September 20, 2006 5:08:07 AM

Rank: Umbracoholic

Joined: 7/20/2006
Posts: 1,069
Location: Charleston, West Virginia, United States
Ughhh.. Ignore previous post. Thought pattern was a bit irregular at the moment. (I think I need banned during the early hours of the morning.)

You could go about creating a section for your admin forms, and give users access through the member section selection. An example of this is umbracoBackup.

In the section, you can have the tree menu act as your various controls, data, what ever you desire. The content in the main section is just .net web pages that you can customize yourself.

Overall, adding the section is easy. Working with the menu may be a bit more difficult, but should be simple enough. And creating your own admin forms, you will do fine.

on the front page of umbraco is an example of working with the menu, and implementing your own functionality into the admin interface. It is fairly detailed, and should get you started fine.

You may be able to use other scripting languages, or even remote call an admin interface if one is already built, but security may be an issue.

Later,
Case

• 2007/2008 MVP • 2008/2009 MVP • Core Developer • Certified Professional Level I & II •
Gregorius
Posted: Wednesday, September 20, 2006 5:16:35 AM

Rank: Addict

Joined: 7/29/2006
Posts: 504
Location: Melbourne, Australia
thanks Case... thought i was stretching my brain beyond its limits trying to get on the same train of thought as you. hehehe

What i would ultimately like to do is this:
- my structure will contain umbraco nodes, with very basic info (artist name, artist ID, nodeID)
- within each node's admin page, i would like to add extra tabs for the additional data
- those extra tabs shuld then be able to retrieve and display the additional data from my database, (retrieved usinging nodeID which is recorded against the records in my DB)
- those extra tabs should also be able to update the data in my database.

so basically, i want to extend umbraco to access my separate DB as well as the umbraco DB. Is this asking a bit much?

re: user input, this will be done via the website frontend (users will not get access to the umbraco backend) - autoform to add the umbraco node, then a custom .Net form to write the rest of the data to my DB... unless i can make the above configuration work with autoforms??

phew. that was a mouthful. does it make sense? is it possible or a pipe dream (i'm good at them)?

Wishes he could work with Umbraco all the time.
neehouse
Posted: Wednesday, September 20, 2006 5:17:37 AM

Rank: Umbracoholic

Joined: 7/20/2006
Posts: 1,069
Location: Charleston, West Virginia, United States
Actually, after re-reading the original post, my train of thought came chugging back. (bad puns).

You mentioned that you would have a node for each of the items in the database. My thought was that the node would have a data type that allowed you to select the data from the database, and store the identifier in umbraco.

As for the editing portion, my thought was that if a user clicked onto the node in umbraco, they would get the standard umbraco interface, with a custom control that would have all the fields showing from the remote db for the record associated to that node.

Upon save or publish, you would invoke your own save routine for your database. (through an even handler would be my guess, but there may be a built in interface for the datatypes - not sure, as I have not ventured into datatype creation yet.)

So, basically, your custom datatype stores an ID in umbraco, but has a bunch of fields that read/update your database as well. You could even go into deleting the remote data by watching the document type by using the event handlers as well.

As for creating, I would just go with a manual method on the datatype control that you would create.

Hope this makes sense. I know how powerful umbraco is, but this conversation has made me think how much more powerful it is with customization such as this.

--Any of the more adept developers have any comments on this approach?

Case

• 2007/2008 MVP • 2008/2009 MVP • Core Developer • Certified Professional Level I & II •
Gregorius
Posted: Wednesday, September 20, 2006 5:20:44 AM

Rank: Addict

Joined: 7/29/2006
Posts: 504
Location: Melbourne, Australia
sorry, i should clarify what i mean by 'user'

a 'user' is a website visitor who signs up for an account - a member basically. most of my website content will be entered by 'users', and i want them to be able to do this via the frontend (autoform or directly into my DB after the initial node is created via autoform)

a 'administrator' is the person with access to umbraco backend. the admin(s) will need to have access to all of the data too, for moderation/ editing/ authorisation processes. this will all be done via backend interface.

ooh, just got another msg from u ... reading that now...

Wishes he could work with Umbraco all the time.
neehouse
Posted: Wednesday, September 20, 2006 5:22:51 AM

Rank: Umbracoholic

Joined: 7/20/2006
Posts: 1,069
Location: Charleston, West Virginia, United States
Dude, you are sitting on top of the email tonight... :D

Read the above post. This would allow you to have your details on the other tabs, etc. You may have to get creative on your datatypes, but I think it can be done.

The trick is going to be tying the data stored in umbraco to the data stored in your other database.

Just be careful with your save/update logic.

• 2007/2008 MVP • 2008/2009 MVP • Core Developer • Certified Professional Level I & II •
Gregorius
Posted: Wednesday, September 20, 2006 5:25:57 AM

Rank: Addict

Joined: 7/29/2006
Posts: 504
Location: Melbourne, Australia
Casey Neehouse wrote:
I know how powerful umbraco is, but this conversation has made me think how much more powerful it is with customization such as this.

Yup, i think i'm really pushing the limits of the framework here. And i must say, its holding up amazingly well.. i've never come across a framework as flexible as Umbraco... so far nothing i've needed to do has been impossible. Just how best to do it is the question to answer.
Casey Neehouse wrote:

--Any of the more adept developers have any comments on this approach?

Yeah - how can we get them involved? Maybe i'll send niels an email.. maybe he can offer some advice. :)

Wishes he could work with Umbraco all the time.
neehouse
Posted: Wednesday, September 20, 2006 5:26:49 AM

Rank: Umbracoholic

Joined: 7/20/2006
Posts: 1,069
Location: Charleston, West Virginia, United States
Greg wrote:

sorry, i should clarify what i mean by 'user'

a 'user' is a website visitor who signs up for an account - a member basically. most of my website content will be entered by 'users', and i want them to be able to do this via the frontend (autoform or directly into my DB after the initial node is created via autoform)

a 'administrator' is the person with access to umbraco backend. the admin(s) will need to have access to all of the data too, for moderation/ editing/ authorisation processes. this will all be done via backend interface.

ooh, just got another msg from u ... reading that now...



Ohh, then use a Usercontrol and Macros for the front end. When they submit the data, you create the node and add the data to your database at the same time.

The backend will be more on the lines of the datatype thing.

--I may be over-complicating things, so...



• 2007/2008 MVP • 2008/2009 MVP • Core Developer • Certified Professional Level I & II •
Gregorius
Posted: Wednesday, September 20, 2006 5:29:49 AM

Rank: Addict

Joined: 7/29/2006
Posts: 504
Location: Melbourne, Australia
Casey Neehouse wrote:
Dude, you are sitting on top of the email tonight... :D

Yup, i'm at work and its my lunchtime. i really should eat something though (after this post) :)

Casey Neehouse wrote:
Read the above post. This would allow you to have your details on the other tabs, etc. You may have to get creative on your datatypes, but I think it can be done.

Awesome, i'll look into datatypes for sure. it does sound like a good approach. thanks for that.
Casey Neehouse wrote:
The trick is going to be tying the data stored in umbraco to the data stored in your other database.

Well i figure i'll just put UmbracoNodeID into my DB as a foreign key for every record. See anything wrong with that?
Casey Neehouse wrote:
Just be careful with your save/update logic.

yup that might get a little tricky. hehehe.

okay, definitely gotta get some lunch... thanks heaps mate... doh, another message! and you reckon I'm on top of the emails!?!?! :P
Greg



Wishes he could work with Umbraco all the time.
Users browsing this topic
Guest


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.