Need an advice on design approach. I spent couple of hours googling and still cannot come to a conclusion. Task at hand:
design intranet app that will have access control. Users should be given rights to access it.
C# is a preferred design language
app can be a simple form with some text fields and some fields as dropdown boxes from a DB
app will send SOAP request upon form completion
there should be a couple more forms like db search, preferably with sorting ability for columns
There is a Sharepoint I can get access to. Can it easily solve the access rights management or or should create a separate app on the same IIS or perhaps I shold request a separate IIS created and deal with access rights via DOTNET solutions? What is the quickest way to design this in your view?
Our SharePoint is 2010, and professional edition of VS2013 available for development.
Thank you
About SharePoint:
There is a permission management in SharePoint. You can set user permissions up to individual items, files and pages. You can read about it here: User permissions and permission levels in SharePoint 2013 and here: Fine-grained permission reference for SharePoint Server 2013. You can use differend authentication providers (AD, FBA, Oauth etc): Authentication, authorization, and security in SharePoint 2013.
You can create customization declaratively (no code), ะก# or javascript. There is built in object model (client and server) and web services (REST for 2013 or SOAP for 2010). More about SharePoint for developers
You can use built in form web parts or create custom with server code (C#) or with just HTML and javascript. All you can do with asp.net - you can do in SharePoint with custom web parts. But you can do most of things just with HTML and javascript.
You can request web services from server code (C#) or from javascript - just like in asp.net apps.
You can do db search with javascript or server code, using your prefer datagrid controls.
I think most easy way is using SharePoint 2013 Foundation (it's free if you have Windows Server license). And using javascript and HTML - in this way you don't need to know anything about deploying solutions in SharePoint etc. But you can do it via custom web parts - in this way you may do it like common asp.net development. But it's not a best way.
Related
I have a small question which ends in a big topic.
Is it possible - and yes how - to use C# code in a SharePoint 2013 Hosted App?
I tried to have a .asmx file within my project.
Then I get this error.
#"Error 1
CorrelationId: 9c1ea930-a131-4f5b-bff5-8a1a61fe34d9
ErrorDetail: There was a problem with activating the app web definition.
ErrorType: App
ErrorTypeName: App Related
ExceptionMessage: Microsoft.SharePoint.SPException: Exception from HRESULT: 0x81070964 ---> System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x81070964
And then I tried a few tutorials like...
http://chuvash.eu/2012/02/13/custom-httphandler-in-sharepoint-for-getting-dynamic-javascript-code/
http://blogs.msdn.com/b/kaevans/archive/2010/08/04/deploying-an-asp-net-httphandler-to-sharepoint-2010.aspx
http://social.technet.microsoft.com/wiki/contents/articles/24194.sharepoint-2013-create-a-custom-wcf-rest-service-hosted-in-sharepoint-and-deployed-in-a-wsp.aspx
But sometimes I didn't understand correctly or sometime I have other problems during compile everything.
I had a problem with getting assembly id/name, too. Because there was no compiled DDL File for the project.
What I want in general?
A .app file with a SP Hosted App (for SP 2013) which includes a web service for SP Client Object Model.
So I thinking about using the "default.aspx" with CodeBehind. So I could execute scripts "behind" the aspx. But then it couldn't find the assembly... Or there was something else.
Could anyone help me? If you have some ideas you could !please! provide them to me. Thank's!
SharePoint hosted Apps doesn't allow server side code to be excuted on the server, this is the whole idea of SharePoint Apps, nothing should be executed in the SharePoint Front End Servers. Unlike Farm solutions, SharePoint Hosted Apps runs on the client and can only access SharePoint resources through a predefined set of services that can be called either using REST or JSOM.
If you need a custom code, you can create a WCF service, deploy it under ISAPI and call it from your App, but this will not be doable in SharePoint online.
As for your question, you can use ASPX pages of course, but you will never put a code behind for it, as these pages are stored in a Pages Library and by design, it is stored in the content DB, so any code execution is denied.
Only aspx pages that are stored on hard disk like the _layouts pages can have a code behind.
SharePoint App runs in client context. You can create SharePoint App just using JS, HTML, CSS, JSOM. You cannot use C# for App (excluding CSOM, you can use it for creation remote event receiver for example)
If you need to implement some functionality to on-premise version of SharePoint, use traditional server-side solutions, not App.
It's important to understand the difference between SharePoint-hosted Apps and Provider-hosted Apps:
SharePoint-hosted Apps
SharePoint-hosted apps, or apps where all components are hosted on either an on-premises or Office 365 SharePoint farm. SharePoint-hosted apps are installed on a SharePoint 2013 website, called the host web. They have their resources hosted on an isolated subsite of a host web, called the app web. The App is created using HTML/JavaScript with CSOM or REST calls
Provider hosted apps
Provider-hosted apps for SharePoint include components that are deployed and hosted outside the SharePoint farm. They are installed to the host web, but their remote components are hosted on another server. The App run in a server that is external to SharePoint's. It has its own infrastructure and the Provider is responsible for keeping it running. They allow you to use Server Side code and uses the .NET CSOM.
This image will give you an overview of different Hosting solutions:
Visit the following link for more information:
https://msdn.microsoft.com/en-us/library/office/fp179887(v=office.15).aspx
The SharePoint Add-in model uses ASPX pages, which can also include ASPX controls. However any methods called are restricted to client-side scripting - i.e. JavaScript and SharePoint's JSOM (JavaScript Object Model), which is a subset of the Client Side Object Model.
I've had a look around and can't seem to find what I'm looking for (unless I have and didn't realise...)
I have been tasked with creating a basic CRM web based app so that it can be used on any device.
I am using MVC 5 to do this using SQL server to store all the required tables.
What I need to do know is be able to sync with an outlook exchange server so that the user can log in and their list of contacts/scheduled tasks are taken from the outlook information as well as be able to create/edit/delete etc the contacts + scheduled tasks and be able to post them back to the outlook server. ie without having to open a local Microsoft Outlook application.
Is this possible and if so does anyone know where I may be able to find a good enough source to help me learn this further.
thanks...
Tewr's comment is right on the spot as this is a scenario suited for EWS (Exchange Web Services).
If you're using MVC 5 to develop this application, it may be the most helpful to use EWS Managed API to access the Exchange server as it allows you to all of it in C#.
Managed API - http://msdn.microsoft.com/en-us/library/office/jj220499(v=exchg.80).aspx
Working with contacts - http://msdn.microsoft.com/en-us/library/office/ee693004(v=exchg.80).aspx
I am new to SharePoint development. I wanted to know what is the difference between a SharePoint site and .NET site. When to use SharePoint and when .NET?
SharePoint is a massive "application platform" -- Intranet Portal, External Website, Collaboration Tool, Business Intelligence Agent, Content Management System, Document Retention System, etc -- that utilizes ASP.NET. (SP comes standard with hundreds, if not thousands, of ASPX pages.)
On the other hand, a plain ".NET" site does not need to have SP installed: just IIS with any required ASP.NET extensions.
You use SP when you need it and/or are told to use it. It's Okay -- but generally not teriffic -- at what it does (and it does a lot). But it's big and expensive. (Microsoft "recommends" something like a minimum of 7 servers for a "basic" SP Farm, but it can run as a single instance.)
That's it. Really.
As others have pointed out, SharePoint Foundation is "Free" insomuch as there is no SharePoint CAL or SharePoint server fees. Do not, however, discount the cost of any additional requirements..
SharePoint is a web based collaboration tool built using ASP.NET. The .NET framework (and ASP.NET) is a toolset that allows you to build applications / websites + more.
You can build on top of SharePoint / Dynamics CRM 2011 using the underlying application as a framework providing goodies such ad Security, Logging, Workflow, Persistence, File Storage, Alerting, etc.
SharePoint is an enterprise information portal, from Microsoft, that can be configured to run Intranet, Extranet and Internet sites. Microsoft Office SharePoint Server 2007 allows people, teams and expertise to connect and collaborate. A SharePoint enterprise portal is composed of both SharePoint Portal and Windows SharePoint Services, with SharePoint being built upon WSS. WSS is typically used by small teams, projects and companies. SharePoint Server is designed for individuals, teams and projects within a medium to large company wide enterprise portal.
With ASP.net you have a very well documented, battle-hardened, mature and stable platform with a good API. ASP.net is more reliable, Simpler to customise look and feel. Pages render faster in native ASP.NET rather than being hosted in SharePoint. Server requirements are reduced as SharePoint services are not running/not required. Simpler development and deployment model and debugging (no .webpart & GAC deployment required).
Howdy,
I'd like to create a website with c# and ASP.NET. This Website should feature a front end which is accessable by all visitors - and then I'd like to create a backend which is only accessibly after the user logged in ... however I'm facing a couple problems since this is my first web project in C# and in general.
I think I have to create at least 3 classes:
Page - ( every page should inherit this page )
holds if the page should be an open or closed page
Loginpage
Membership Page
Checks if the user is really logged in and which user it is.
I have no clue if this is the right way to do it - and how I should do. I would be really grateful 4 help.
Take a look at the MembershipProvider. ASP.NET comes with some pre-rolled controls for logging users in and out, as well as several mechanisms for checking whether a user is logged in and what roles they have. You can secure resources programmatically by checking on what roles the current user has and make decisions in code, or in the web config by requiring specific user names and/or roles to access a given resource (such as a page).
Here's an intro link to get you started:
http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx
Once you're done getting a general feel for what the MembershipProvider is, here's a video to walk you through setting up a SqlMembershipProvider:
http://www.asp.net/general/videos/how-do-i-set-up-the-sql-membership-provider
This sample is so useful.
Review it.
Project Description MyWSAT aka ASP.NET
WSAT is a WebForms based website
Starter Kit for the ASP.NET Membership
Provider. It is a feature rich
application that takes care of all the
basics to save you time. Use it as a
template to start your websites.
MyWSAT v3.5 PROJECT OVERVIEW:
MyWSAT aka ASP.NET WSAT is a WebForms
based Website Starter Kit for the
ASP.NET Membership Provider with Forms
Authentication. It provides you with
all the security features required for
a site out of the box so you start
focusing on building your pages. It
allows you to manage membership users
online once your site is deployed. It
features complete administrative
back-end functionality and designed to
manage users, as well as admin pages
for users to manage their own user
data.
MyWSAT works with the default
membership provider database tables to
manage membership users, roles and
profiles and uses a few specially
crafted stored procedures for
efficient paging of any amount of
records... and a few more things as
you will see. It consists of simple
procedural programming with neatly
organized and commented code. The
programming methodology is geared
toward the beginning developer to help
quickly gain some practical every day
development knowledge. MyWSAT has been
used in many production environments
(personal and enterprise) and is
reliable and secure. A perfect starter
kit for your next Blog, CMS,
E-commerce or any project that
requires security and user management.
Tip: You can save this website as a
template and use it to create new
sites based on it.
TECHNOLOGY USED:
This application was created in Visual
Web Developer 2008 Express (works with
2005 and 2010) with SQL Server 2008
Express , .NET version 3.5 and C#.NET.
This release is not available in
VB.NET.
Since you are using ASP.NET, there is a lot of existing infrastructure here you can take advantage of. Look into:
Microsoft ASP.NET Membership API: http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx
Login Controls: http://msdn.microsoft.com/en-us/library/ms178329.aspx
Forms authentication
Microsoft has pretty much fully solved/written all of this for you. Now you might still prefer to avoid their implementation for whatever reason, but it's still worth looking into.
I would like to upload some files on a server Share Point.
My questions are:
1) I started developing my project as a Windows Service but I read several parts of this WebService. It's mandatory that it's be a WebService?
2) I added the references to. Dll take it from my SharePoint Server (as seen in most discussions) but a little read more shares can not be tested if not solely on where you installed SharePoint Server. Right or there are alternative methods to do this? And also, when we deliver the service, can I install the latter on a machine where SharePoint is not installed (it seems a trivial question, but it seems strange not being able to test
but you install it).
You can only reference SharePoint 2007 assemblies from code that is running on the machine where SharePoint is installed (if you were using SharePoint 2010, you could take advantage of the Client Object Model).
Only the part of your solution that is directly interacting with SharePoint has to be created as a web service. You should create a web service with basic methods like UploadFileToLibrary, deploy it to SharePoint machine and then call these methods from the client (it can be an ASP.NET page or desktop application).
As Kit Menke pointed out in a comment below, it is possible that built-in SharePoint web services will be sufficient for you needs and you won't have to create a custom one:
Upload a file to SharePoint through the built-in web services
Copy.CopyIntoItems method