I am looking to integrate version control feature in my current .Net project. I am not sure if Umbraco could do that. I have a list of files, zip files, images and if some changes (new, modify) occured to any of these file then it should be logged in history and a new version should be available. Rollback feature would be nice to have. I am using .Net 2.0 framework, JavaScript, XML etc.
I have following questions:
1) Does Umbraco have a document management function that will allow the users of our site to upload office documents and other file types into a file library available from the site? If
2) Does it allows to keep multiple versions of a same file/document/html etc? If so how does it do? Does it use database or something? Can it shows what are the diffrences in two different version?
3) Does it provide check out/check in capability (like sourcesafe) and keep track of versioning based on the check out / check in capability.
Umbraco has versioning for content but not for files. The media section of Umbraco doesn't have any versioning and therefore no rollback functionality. The Content section has full versioning control and rollback functionality including support for running Diffs against the different versions. Umbraco is a content management system, not quite a document management system, though i suppose there could be some packages that would support this better.
There's been some discussions about versioning the media section so it will most likely happen sometime in the future.
As for checkin/checkout support I think that Concierge/Courier will support this in the next version (this months from memory) which would require an Umbraco Pro license.
Remember that as you can use the Upload datatype in the content section you could in effect have a (simple) Document Management system from there. This also makes listing the files easier.
1)
Does Umbraco have a document management function that will allow the
users of our site to upload office documents and other file types into
a file library available from the site? If
You would need to create your own. This is possible as Umbraco has an API that allows you to create nodes from your code.
2)
Does it allows to keep multiple versions of a same file/document/html
etc? If so how does it do? Does it use database or something? Can it
shows what are the diffrences in two different version?
When a file is uploaded it is stored in a folder structure based on the meta data properties database id (e.g. /media/1234/your image.jpg). Differences between the metadata of each node is possible (like who edited it, where is the new file, whats the name change, etc), but it will not show you the differences in the uploaded files.
3)
Does it provide check out/check in capability (like sourcesafe) and
keep track of versioning based on the check out / check in capability.
Nope. However I implemented a similar solution where you code (written in point 1) would update a 'status' property on the document/node. This would change the document to either Checked In, Checked Out or New.
The files are stored in a generic files folder. This folder then contains sub folders based on current DB id of that property. The db id increases (and therefore changes) with every save of the content node. You could create a custom data type that saves the files in a different folder structure.
You can restrict the content node based on the current logged user, but the files folder (domain.com/media) is accessible to all and if you know the url of a file you will be able to access it. To stop this you would need to redirect all file (*.doc, *.pdf) requests through .NET and perform your own security checks.
So... it's all possible, but not without some code to fix these issues.
I've created a similar solution to protect media files from unauthorized downloading (it's structured in folders for which you can set what groups are able to download). It's 'feature' complete (altho not that big a project, but have recently finished the functionaltiy) and can be downloaded from Codeplex at http://pm4umbraco.codeplex.com
Currently working on an install package and documentation.
If, however, you need some more info about this utility (might take a while before package/docs are ready), contact me at dirk[@]netaddicts[.]be
I've just released a media protect package, which allows you to protect media in the same simple way as you protect content in Umbraco. No additional configuration needed. Just install the package and it works.
Does Umbraco has version control feature?
I am looking to integrate version control feature in my current .Net project. I am not sure if Umbraco could do that. I have a list of files, zip files, images and if some changes (new, modify) occured to any of these file then it should be logged in history and a new version should be available. Rollback feature would be nice to have. I am using .Net 2.0 framework, JavaScript, XML etc.
I have following questions:
1) Does Umbraco have a document management function that will allow the users of our site to upload office documents and other file types into a file library available from the site? If
2) Does it allows to keep multiple versions of a same file/document/html etc? If so how does it do? Does it use database or something? Can it shows what are the diffrences in two different version?
3) Does it provide check out/check in capability (like sourcesafe) and keep track of versioning based on the check out / check in capability.
Any help, suggestions?
Umbraco has versioning for content but not for files. The media section of Umbraco doesn't have any versioning and therefore no rollback functionality. The Content section has full versioning control and rollback functionality including support for running Diffs against the different versions. Umbraco is a content management system, not quite a document management system, though i suppose there could be some packages that would support this better.
There's been some discussions about versioning the media section so it will most likely happen sometime in the future.
As for checkin/checkout support I think that Concierge/Courier will support this in the next version (this months from memory) which would require an Umbraco Pro license.
Remember that as you can use the Upload datatype in the content section you could in effect have a (simple) Document Management system from there. This also makes listing the files easier.
1) Does Umbraco have a document management function that will allow the users of our site to upload office documents and other file types into a file library available from the site? If
You would need to create your own. This is possible as Umbraco has an API that allows you to create nodes from your code.
2) Does it allows to keep multiple versions of a same file/document/html etc? If so how does it do? Does it use database or something? Can it shows what are the diffrences in two different version?
When a file is uploaded it is stored in a folder structure based on the meta data properties database id (e.g. /media/1234/your image.jpg). Differences between the metadata of each node is possible (like who edited it, where is the new file, whats the name change, etc), but it will not show you the differences in the uploaded files.
3) Does it provide check out/check in capability (like sourcesafe) and keep track of versioning based on the check out / check in capability.
Nope. However I implemented a similar solution where you code (written in point 1) would update a 'status' property on the document/node. This would change the document to either Checked In, Checked Out or New.
As far as the document management goes: So the files are stored in a folder you specify, is that right? Not just a generic files folder.
Is there a way to make it so users can only see files that they, or their group, uploaded? Or even give each group their own file folder?
The files are stored in a generic files folder. This folder then contains sub folders based on current DB id of that property. The db id increases (and therefore changes) with every save of the content node. You could create a custom data type that saves the files in a different folder structure.
You can restrict the content node based on the current logged user, but the files folder (domain.com/media) is accessible to all and if you know the url of a file you will be able to access it. To stop this you would need to redirect all file (*.doc, *.pdf) requests through .NET and perform your own security checks.
So... it's all possible, but not without some code to fix these issues.
Hi Dan,
I've created a similar solution to protect media files from unauthorized downloading (it's structured in folders for which you can set what groups are able to download). It's 'feature' complete (altho not that big a project, but have recently finished the functionaltiy) and can be downloaded from Codeplex at http://pm4umbraco.codeplex.com
Currently working on an install package and documentation.
If, however, you need some more info about this utility (might take a while before package/docs are ready), contact me at dirk[@]netaddicts[.]be
Cheers,
/Dirk
Just a post for everyone who is interested.
I've just released a media protect package, which allows you to protect media in the same simple way as you protect content in Umbraco. No additional configuration needed. Just install the package and it works.
Check out the projects page for more info and a fully functional trial download.
Cheers,
Richard
is working on a reply...