Document Management System - Architectural Design Question - c#

I need to design an in-house server-based system that will store hundreds of thousands of files (images, spreadsheets, text documents) with users accessing metadata as well as files remotely. What are my options? ASP.Net MVC or WinForms with WCF service? I am really stuck here because I am a newbie.
Any advice will be appreciated. Thanks in advance.

My first advice would be: Don't.
Plenty of people have implemented very complex and feature complete Content Management Systems, so don't reinvent the wheel. Additionally many of them have lots of extensibility points so you should be able to customize it to the needs of your organization.
Take a look at Alfresco, its open source and should provide what you need

Sounds like you need SharePoint ( also SharePoint ).
SharePoint ( WSS ) edition is free and very extensible using .Net.
The new Sharepoint Foundation 2010 replaces WSS 3.0 for Windows Server 2008. It can be downloaded from the Microsoft link above.

Related

Installation Solution Sharepoint Online

I see lot of solution c# for Sharepoint but i have sharepoint online 2013 with microsoft server.
How can i install solution to my sharepoint online ?
For example: https://code.msdn.microsoft.com/Convert-from-HTML-to-PDF-09ce2a1d#content
Normally I use jquery for Sharepoint but i need convert Htlm to pdf and save this to Document Library.
For Information : I use visual studio to develop xamarin applcation and plumsail forms designer to develop sharepoint forms.
Can you help me ?
Thanks.
please explain what kind of Solution it is. You cant install a custom Solution with server side code in sharepoint Online.
You might use a Sharepoint Add in. If you need Server side code you can develop a provider hosted app instead.
Ok, so what you need is a Sharepoint Add In.
You are in the good road looking at some JavaScript solution. Keep looking for a suitable one.

Options for Editing Word Documents Online

What are my options for editing Word documents? We have a hosted business web application (written in C# using javascript libraries and webapi2) and our users would like some basic document management functionality. From within our application they would like to complete documentation which currently resides as Word 2013 documents.
Is there something that would allow us to upload a docx file, convert to some web friendly XML format that would allow online editing or can Office Web Apps be used directly within the browser for Word edits if the client has a valid Word license? Is SharePoint online integration an option? Or, is there an option out there that I am not aware of? Any direction would be greatly appreciated!
To complete your task, you can use the DevExpress ASPxRichEdit and ASPxSpreadSheet controls. They support the most popular rich text and spreadsheet formats (including MS Office documents).
Both controls are web-based (ActiveX isn't required), standalone (you don't need to integrate external services in your application) and work in all modern browsers. Also, they have the built-in filemanager, so you can use them with minimum coding.
Moreover, both controls are distributed as a part of the ASP.NET controls suite, which includes a lot of other web components.
If you're client have the correct licenses and that you already have a solution develop that have the basic document management features like upload documents, download, etc. Then I would opt for the Office Web Apps. This solution requires some reading and a certain architecture (it's own server for instance). But it is probably one of the best Word Document editor currently out there. You can find the basic information of the Office Web App server 2013 here
These approach will let you either use a sharepoint integration or a custom WOPI-Host. I've analysed and searched for different tools and other the Google Docs, this would be the best option currently out there.
If you actually take the Office Web App server approach with a custom WOPI-Host you can find several WOPI-Host samples on the internet:
MVC6 WopiHost based on marx-yu's WOPI host
Building an Office Web Apps (OWA) WOPI Host
As I know, Google Docs can help you on your issues, but you just cannot build it in your web Apps. And aceoffix can be an alternative too, which can enable your web project edit Ms Office documents full functionally.

Editing Documents (.doc) in Browsers

I've been developing a web application with asp.net webforms and in this app I have some documents (.doc, .docx, .rtf files), and my client want to edit these files on browser, they want to open a document in an editor, edit, save it on server (without downloading) and close it. I know it's difficult but I would like to know if it's possible or if is there any easy way to do it. We find something like SkyDrive of Microsoft.
PS: We can pay for components if you can suggest something that really works.
Thank you!
IF the clients have Office installed:
I would recommend http://www.webdavsystem.com/server - this allows you to build a "virtual filesystem" (WebDAV which is based on HTTP) which Office can access thus allowing the client to open/edit/save a document (DOCX etc.) via HTTP(S)... it is pure .NET, integrates nicely with ASP.NET and has even a JavaScript accessible API... esp. the upcoming V 3 comes with a wizard which allows you easily to add that funcionality to your ASP.NET application... (just a happy customer, not affilliated).
IF the clients don't have Office installed then it gets tricky:
To really fully support you would need some sort of Silverlight/Flash/ActiveX/JavaApplet which runs in the clients browser and supports the needed editing features...
I am not aware of such production-quality components except the ones from Microsoft - see http://www.microsoft.com/en-us/office365/online-software.aspx
You could integrate them into your web application although they won't offer the full Office feature set in the browser...

SharePoint Primer

I recently started working on my first SharePoint (2007) project (C#), so I was wondering if anyone can point me to some good resources that will get me up and running with SharePoint programming basics quickly. I'd like to have a deeper understanding of the various terms I'm hearing such as Features, Lists, wsp, etc.
One of the best resources is Ted Pattison's Inside Windows SharePoint Services 3.0. Great resource, especially if you are okay with purchasing a book.
this should help
Sharepoint Best Practices
sharepoint 2007 trainning kit
http://www.microsoft.com/downloads/details.aspx?FamilyId=7BB3A2A3-6A9F-49F4-84E8-FF3FB71046DF&displaylang=en
Office SharePoint Server 2007 Training
http://www.microsoft.com/downloads/details.aspx?familyid=673DC932-626A-4E59-9DCA-16D685600A51&displaylang=en

Sharepoint intranet portal

Migrating (rewriting) a whole portal originally made in .net to shareopoint doesn't seem like a very easy thing to do.
I've been assigned such task and now i'm just learning, planning and starting to get things practical in order to accomplish it faster.
It's not exactly a question, it should be a discussion about it and may help others who might get to do the same job further on.
1 - There's something like a "message board" in the current portal, which i'm planning on building with a blog site kind, what do you sugest?
2 - as asked in another question, i have to manage users, and the local active directory is organized and reliable, so i guess that's what i'm going to use
3 - There's got to be a way to store files, images, documents and having version controlling in some of them.
4 - There's got to be a customization in design and a cleaning in the default controls of sharepoint masterpage (which may be useless for the desired purposes)
5 - About 30 local users and being accessible from the internet (local server) in case our consultors have to access it from clients
6 - i have available a version of the Visual Studio 2010 (already with the graphical webpart designer) because the company i work is MS gold partner.
7 - I'm going to program webparts in c#, and the designing part is still a mistery to me, since i'm not that familiar to shareopint yet.
I'd like some tips, links and answers.. i'm going to be watching this question from now on and answering any other information.
1.) SharePoint 2007 has some blog/wiki/board functionality but it's very immature. I tried to get my team to use them but the user interface is lacking and it is challenging to enhance those elements. SP2010 might offer a better experience though.
2.) User management in SharePoint is easy to perform but difficult to manage. Establish processes for adding/modifying end users and keep the number of people with that ability to a minimum. Otherwise it gets out of control and you end up not knowing who has access to what. I would also suggest relying on AD groups as opposed to giving individuals specific access in sites.
3.) Document storage is SharePoint's forte, I think you'll be impressed.
4.) SharePoint branding will require some time but other people have it down to an art form. Note that some pages (referred to as Application pages) shouldn't be fully controlled. Also note that you don't want to remove controls from the master page as some functionality in SharePoint assumes the controls are there - rather it is better to hide them using CSS.
5.) This sounds like a bad idea. SharePoint exposed to the Internet is supposed to be severely locked down - but if you lock it down (i.e. remove access to Application pages), the functionality that you seek won't be available. Have you considered an intranet and separate extranet?
6.) Should be okay, VS2010 is supposed to be a better development experience with regards to SharePoint.
7.) Keep your branding and functionality separate and be sure to deploy them using solution files (as opposed to working directly with the file system). Also, never ever read/write the database directly.
I think you'll find that replacing a custom intranet with SharePoint is a common task but there will be a learning curve. The hard part will be branding and data migration. End users will reject the new system if it is slow - so be sure to get the architecture and configuration right before launch (might require a consultant).
1 - There's something like a "message
board" in the current portal, which
i'm planning on building with a blog
site kind, what do you sugest?
SharePoint discussions are perfect for what they are intended ... small targeted discussions. A forum is very different. It is a centralized area with multiple threads with different topics. You can try CodePlex (which is your friend)
SharePoint Forums
2 - as asked in another question, i
have to manage users, and the local
active directory is organized and
reliable, so i guess that's what i'm
going to use
AD is perfect if you already have it ... nice thing is that you can use the Profile page to update AD information which syncs ... you have a lot of capability with this. But, one of the main benefits is that SharePoint can support multiple authentications. You can extend a SharePoint site and plug in a different authentication (like SQL Auth) and then multiple sets of users can interact on the same sites with different permissions. Not to mention that SharePoint doesn't just provide site access but you can make security granular all the wat down to individual items in a list or library.
3 - There's got to be a way to store
files, images, documents and having
version controlling in some of them.
This is where SharePoint has the most capability OOB.
4 - There's got to be a customization
in design and a cleaning in the
default controls of sharepoint
masterpage (which may be useless for
the desired purposes)
We have a completely customized MasterPage complete with code behind. You need to know about Feature Stapling and Feature Receivers. Also use Heather Solomon's website
5 - About 30 local users and being
accessible from the internet (local
server) in case our consultors have to
access it from clients
SharePoint seems almost overkill for this number of users.
6 - i have available a version of the
Visual Studio 2010 (already with the
graphical webpart designer) because
the company i work is MS gold partner.
Get the Visual Studio Extensions for SharePoint
7 - I'm going to program webparts in
c#, and the designing part is still a
mistery to me, since i'm not that
familiar to shareopint yet.
Look into Application Pages instead of WebParts ... Application pages are way more flexible for custom forms than web parts. Web parts are only usefull for when functionality needs to be available on an ad hoc basis so that you can allow users to drag the functionality onto a page or if you need to restrict functionality to specific sets of users (since layout pages are available to all sites).
The answers to this person's similar but not identical question may be helpful: Sharepoint for a C# Asp.net Developer
There's a lot of help available in other existing SO questions. Just click on the "sharepoint" tag, then sort by votes, and you'll find a lot of interesting reading.
Regarding 7 - Programming web parts:
Have a look at SmartPart on CodePlex. This is a fairly easy way to create simple web parts especially if you have some ASP experience.

Categories