Does anyone have experience with modifying Sharepoint Applications? - sharepoint

I am currently working on a call log project. The boss wants me to use Sharepoint as a base, so I set up a virtual machine with an instance of MOSS 2007. I downloaded microsoft's call center template and installed it. I have been playing around with it for a little while now and it seems pretty simplistic. How can I modify this template (or extend it?) to suit my needs? I would also like to know how it works so if the need arises I could create my own application, so any help will be greatly appreciated here.
Thanks!
edit:
I am going to go out on a limb here and say that the aspx files I have found inside this folder:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\
have their code-behind already compiled so there will not be much I can do in terms of seeing how the application functions this way. Am I correct here?

I developed several sharepoint features and webparts. And yes, it's a real pain in the a**.
On your Sharepoint Server look at the Directory
C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\1033
There should be the masterpages and CSS Stylessheet you're looking to modify.

SharePoint development can have a steep learning curve and the product seem to fight against you. This is particularly if you're used to ASP.NET and are used to all the freedom that gives. It's quite a large and sometimes complex product with its own framework and way of doing things. That why I strongly recommend doing some serious reading in conjunction with going in and trying things out with existing applications. A few points:
Support
The primary reason is because you could easily end up with an unsupported installation if you change the file system without realising the impact. This will cause serious problems if it is necessary to install service packs or upgrade to a future version. There is usually a way to deploy updated code to SharePoint without needing to go down this path.
Getting results
Another reason is that unless you know what you are doing, hacking around with little knowledge will usually result in a lot of head bashing and few results. Errors can occur that make little sense or changes that you make won't take affect.
The SharePoint way
Finally, you will seriously waste time trying to get things to work if you don't know the 'SharePoint way' of doing something. Knowing 'the way' can save you so much time and integrate with the product nicely, but if you don't know about it prepare for pain! This includes topics from custom code through to CSS and master pages, through to deployment.
I hope this hasn't put you off as it is possible to enjoy the challenge the product provides and there is some very cool stuff you can do with it. For more reading there are several questions on Stack Overflow about getting started with SharePoint development (this is just one).

My experience with MOSS development has not been pretty. IMO, it is not built for application development or custom code. There are many other portals that fit that need well. For the built in collaboration tools, it is a great tool. Going beyond that, it fights you the whole way.
At least that has been my experience.

What Alex said!
Building a call centre application should be very possible with SharePoint. Personally I'm not a fan of the Microsoft templates but they may help giving you ideas on how to build something like that.
I don't know what your app is supposed to do exactly but by building a few web parts and leveraging the oob lists and workflow features you (or a somewhat experienced SharePoint developer) should be able to create something quickly.
You should not let people with negative experiences throw you off. Like it or not, SharePoint is going to stay and once you get over the learning curve it can be very effective as an application platform.
I can see how installing SharePoint can be a pain if you've got no clue what you are doing but it's a server application; a little learning should be expected.

Related

Best free or paid video training series for learning Sharepoint 2016 from a Beginner/Intermediate level

I am a web developer who will be starting Sharepoint development and hasn't used Sharepoint much at all from an end user or developer side of things. I am looking for a training class to ramp up on it so I can be a better developer and make more informed architecture decisions. I found this course https://www.pluralsight.com/paths/sharepoint-2016-foundations. Any other ideas?
Im gonna be straight forward with you and tell you that a training class will not take you far for SharePoint Development and are boring as heck.
They will help you understand the basic structure and piece together basic ideas of lists/libraries and what not. This will not help you as developer.
Best bet is to tune to peoples blogs and Microsoft Office Dev community.
SharePoint Maven is great for you giving you a run down on what best practices are and he is pretty current. A lot of good content that deals with on-prem and sharepoint online/office365
https://sharepointmaven.com/blog-sharepoint-best-practices/
Marcs blog has recently gear itself more toward O365 bet there is a lot of good content if youre willing to dig.
https://sympmarc.com/
If youre stuck on SP16 on-prem I would stear clear of SPFx for now. They dont update it as reguarly as the SPFx for online, still using Node 8. That being said still check it out. But another alternative is using react/angular/vue apps inside content editors leveraging the SharePoint API. I do this whenever I can. SPjeff introduced me to this and I can't thank him enough. Check out more info
https://www.spjeff.com/?s=Angular
Lots of good stuff here.
https://veenstra.me.uk/
I dont know any good resources for navigating SharePoint designer. I just learned as I went along. Google will be your best friend in this situation.
If youre going to be doing online work. Check out the Microsoft Dev center.
https://developer.microsoft.com/en-us/sharepoint/blogs/
Main points are to tune yourself in to SharePoint happenings and updates. The community for on-prem is shrinking so reach out to the blogs as much as possible. Like anything else you just have to dive in.

Web Design Management programs/resources?

I originally got into programming by learning some javascript while trying to set up a website. I took to programming better than html and CSS and have since been learning more of it. Part of the problem was that I just wanted to do everything myself, all the javascript, CSS, HTML, everything. No external libraries or help. I wanted to understand and do all of it. The general hostility towards WYSIWYG programs from the development community didn't help either.
The amount of work required to do everything completely on my own is what deterred me, though I didn't want to have everything handed to me. A bit down the line from learning programming I decided I wanted to make some simple programs like I kept seeing everyone else make in Visual Studio. With programs, I knew it wouldn't only be difficult, but near impossible for me to do anything but use Visual Studio. As amateur as it feels dragging and dropping buttons and controls and having all the code generated, it's allowed me to work on the more personal aspects of the program and not the nitty gritty and has been a lot more fun.
I've decided that I want to give web development another shot, but this time with a little less ego. Is there any way I can have something like Visual C# for websites?
edit: As of yet, I can't fund my website experiments, so I'm using freehosting. The x10 hosting I use doesn't support asp.net, so I can't use VS for it :(.
You won't be using Visual C# for website design, but you'll use Visual Web Developer. You can download VWD here.
Edit: As per your edit, I would be a bit more concerned with using a technology that you find passion in and feel comfortable with (or at least the foresight to know it's something you want to pursue and dedicate yourself to learning and mastering). Just because you can't host a website application on the internet doesn't mean you should throw the towel in on ASP.NET. Some of the most fun applications are intranet applications. Just get IIS Express up and running and you'll have a blast.
You'd also be surprised at how cheap a webhosting "rental" can be that supports ASP.NET.

No-code or little-code website

What is a (free) technology which requires the least amount of code for creating a website with the following requirements:
Sign-up/login
Form for adding your personal info. which gets databased
Each person can view and edit their own info
Admin can view and edit any
The form needs to be easily customizable and extensible (by the website's owner, not during run-time)
Is there a beginner tutorial for such a thing?
(For me, this question is about a friend who wants me to do this, but I want him to do it himself so I don't have to get roped into maintenance. I also want to keep it more general for the sake of Stack Overflow and future readers.)
Edit: I thought I remembered some ASP.NET tutorials that were mostly drag/drop or things where it was all but made for you from the database schema (which can be made with SSMS's GUI) but I can't seem to find them now.
Responding to posts below requesting specifics: this site will be for potential clients to sign-up and enter their company's info and fill out a form about their advertising needs.
I thought about putting this on SU instead, but since there was likely going to be some coding involved (I assumed no-code was an unreachable goal) SO seemed more appropriate.
Your friend can consider a framework like drupal. It has a bit of a learning code but, you can create a website with everything you ask for without code. You may want to modify it to change the look but there are themes for that.
Also, some hosts like godaddy.com have this installed and you do not have to worry about the complex installation procedures. Just start modifying the content of the site, select a built in template and go...
PhpBB? I think you need to specify what the website is going to be used for before you can get better/more specific answers.
... have a look at Drupal or Joomla, expect a learning curve nevertheless.
Is this friend a programmer as well? If so, I'd suggest building such a site using a PHP framework. Deploying an existing forum/wiki is also an option of course, but will probably have much more features than you describe. But if s/he's not a programmer, I don't see how s/he will be able to develop a site like that in a reasonable amount of time.
Why not using a CMS like wordpress, drupal and co. ?

What is the profile of a SharePoint developer

I have a development team specialized in ASP.NET. So the solutions we provide are web based, running on IIS and using MS SQL server. Everything within the intranet of the company. The team has this expertise, and they are excellent in C#, and .Net in general.
The company is deploying SharePoint MOSS 2007. This deployment is part of a project that I am not involved in, and for which I have very little information. However I know that they have established the "thinkers" layer (those who will say what to do), the integrations layer (the who will configure, deploy and manage the production), and that they need to establish the so called development layer (those who will do things the other two can't).
I am asked to evaluate the possibility to increase my team's expertise by adding SharePoint development. This is the easy part, I just have to find the required training and send my people.
However these days the word development could mean a lot of things and sometimes I discover that configuration is used in place of development.
I don't have any objections to evolve the team by developing new expertise, but I want to be sure to keep things stimulating for my developers.
Secondly I don't want to say that we have SharePoint development expertise, and actually what we do is just modifying css or xml files. Also, I don't think that using wizards to produce a solution is the best path to push a C# developer to follow.
The questions I am asking myself first is : what is the background of a SharePoint developer? how could .Net developers feel if asked to become SharePoint developers?
Any thoughts will be greatly appreciated.
I started in Sharepoint development over a year ago when I inherited a WSS 3.0 solution at my company.
Personally I think it was a great step for me getting to know Sharepoint development a little, there are a lot of problems (e.g. security, load – balance, ghosting) that was good to see how was solved by the WSS team and helps me solve problems in other solutions I‘m working on. But I don‘t work on WSS solutions full time, so others have to anwer how it is working with WSS every day.
WSS and Sharepoint are an extension on the ASP.NET platform, so any experience in ASP.NET and .NET in general should be a good foundation for a developer that is starting creating Sharepoint solutions. I read the Inside Microsoft Windows Sharepoint Services 3.0 book in order to get the basic concepts and wss solution architecuture before I started working on WSS projects.
I quickly found out that you have to have a Virtual Machine environment for Sharepoint development, this is because it‘s a pain working on a client and attaching to a remote process on the server to get in debug mode. Therefore I recommend creating a MOSS virtual machine that has Visual Studio installed that has access to your source control system. Develop solutions on that machine and when finished then check into source control.
I also recommend looking at development tools, such as stsdev and wspbuilder to help you building your solution, these will ease you development process quite a bit. There are also quite a lot of tools available on the web, e.g. codeplex to help you out.
Sometimes it can be a pain developing these solutions, changes can require recycling the IIS pool or a brute-force IISReset, error messages can sometimes by a little cryptic and so on. But you quickly catch on and know where to look. Sharepoint also helps you out a lot, I‘ve had millions of questions from clients that can be solved with standard out-of the box web parts, so that I don‘t have to code anhything to keep my clients happy :)
Sharepoint also expects solutions to be coded in certain way, e.g. 12 hive filestructure so it helps you standardizing your solutions.
There is a serious lack of documentation, so that you have to rely on Reflector and such tools a lot, just to know what is happening within the framework, hopefully this gets better with 2010.
The initial learning curve is high, and a lot of new concepts an technologies to learn ,e.g. Workflows within sharepoint, featuers, ghosting and code access security
There is a lot of Xml configuration that sharepoint uses that developers have to learn, this includes the site definition, list templates and more. There are sometimes days when I‘m stuck in Xml edit mode and can‘t figure out why things don‘t work as they should do
These are just few of my thought, I‘ve been working mainly in WSS development and it would be great if someone could comment regarding web part configuration in Sharepoint, e.g. configuring the search. Which is something I haven‘t been doing a lot of.
From what I have heard around, the SharePoint is a popular technology from the customer point of view, but an object of hatred among developers.
Nice to see you noted Dev and Admin being used "incorrectly".
Although Developing for SharePoint could be purely that, development, like creating webparts etc., I strongly encourage you and your team to get to grips with SharePoint deployment, installation and configuration as well. I am fully SharePoint Certified (WSS Config/Dev and MOSS Config/Dev) and having knowledge of both ends has been invaluable for me.
Knowing what is configured where will help in debugging and troubleshooting along the way. I suggest taking an MCTS WSS 3.0 COnfiguration training / and or a MOSS Config training for at least 1 or 2 of your team. The rest of the team will pick up the essentials as they go along, having those 2 certified colleagues as go to guys concerning config and admin.
IMHO, being a sharepoint consultant entails knowing how to create a piece of functionality as a dev and then being able to deploy, configure and maintain that piece of functionality as an admin (or at least an informed end/power user).
Albert, take a look at this other thread titled Is a sharepoint developer technically “equipped” to do custom app dev and vise-versa. There's quite a bit of info in there about what's involved in making the leap from pure .NET to SharePoint.
My co-worker is studying SharePoint at the moment. Making fun of him all the time. Frequently he gabbles something like "wtf is that??!!". And then i feel a bit sad, because i know - there's a probability that i'll have to learn that stuff too (i guess it's not so easy to get projects nowadays).
I see it more as configuration and customization than software development (something like hunting down fing checkbox for 3 days in a row). You pick up some clay through those crazy sharepoint designers and then endlessly customize it.
For everything i know already - there's a new name (i.e. - spGridView) and unexpected behavior underneath.
Html that gets rendered is bizzare (tables and bunch of serialized viewstate everywhere).
But those configuration xml`s... o_0
Now that's a hurdle i can't get over. Even hardcore SQL stuff starts to seem like a childish game.
Maybe i'm wrong, but as i have heard - Microsoft developed 'spatial columns' (let's you expand count of columns for tables over thousandsomething) for sql mainly because of Sharepoint. That terrifies me.
Of course - my opinion is HIGHLY subjective and a bit offensive. But i hope that helps to better reveal what i think & feel about Sharepoint.
Hopefully developers you are working with sees this different.
In short:
No. I wouldn't like to become a sharepoint developer.
Edit:
I could handle that initial complexity. But the main reason i don't want to - i don't think that development in Sharepoint is the right way to go. I mean - lately people discuss that webforms provides too much abstraction. Then what to say about Sharepoint?
To be a successful SharePoint developer you must have a high threshold for pain and the patience of a Buddha.
thank you all for the answers, they are all really helpful.
from what I read here, I see two things to consider.
First is the context of utilization which I think is an important factor. In some places SharePoint "development" could go very far, and could involve developing really exciting things, in order to satisfy new customers' needs. it could involve writing code and so on. And in some other places it could be just administration and configuration, in order to maintain already established solutions.
Secondly is the personal motivation. It really depends on the person. Some .Net developers with good experience, will prefer not to go in a direction, where they will not code the "SharePoint way", and will like to write code in C# or some other languages. However there will be others that will choose this path and will be happy to have such careers. They will be motivated and thus propose really nice solutions.
For example, from my personal perspective and if I had stayed in development and programming, I would not choose SharePoint development using high level wizards and menus,as a progress path for my career. Even though I am not doing it these days, I still enjoy coding, compiling, debugging etc, but this is just me.

Migrate from VS2005 to VS 2010 directly

Our project is currently developed in C#2 , VS2005.
We were thinking of migrating to VS2008 and C#3.
Do you think it might be a better idea to move directly to VS2010 instead?
We do not plan to release the new version till the end of next year.
Is there any advantage in moving from vs05 to vs08 and then moving to vs10?
thanks!
Well this post implies you can, but certain features of certain projects might get broken:
When you upgrade certain solutions from VS2005 to VS2010, the solution explorer layout can become broken. Some files move up the filter hierarchy. In our large solution, a hundred or so files ended up in the root of solution explorer.
It only seems to affect solutions where the solution explorer filter nesting is more than one deep, the files are not compiled (like headers), and they're excluded from the build in some configs.
Though an answer indicates it was fixed:
We have verified that the header file now gets placed under subfolder rather than directly the header filter. The fix should be available in the next public release of VS2010 (Beta2).
To answer your other point. One advantage of going via VS 2008 is that you can make that migration now (assuming you don't want to risk beta software) and start using the features of C# 3 straight away.
Visual Studio 2010 Beta 2 comes with a "Go-Live" license, so if you are ok dealing with beta software, then why not? I have tried it at work myself, while the other developers continue on 2008, but I have to be careful with the project files, to not check in changes, etc.... I don't use it all the time, yet, because it's a memory hog, but other than that performance is a lot better.
There are also a lot of features that are worth the upgrade. The text editor is in WPF now and scales nicely with a ctrl-click and I find I use it a lot. There are a lot of new addins being built to integrate with the UI because the new framework for the code editor exposes a new addin model that is much easier to develop against.
Being able to split windows across multiple montiors in a more flexible way is great.
If you go for the "Ultimate" versions, there are a ton of new architecture and modeling tools and tools for exploring code. I love the ability to generate a sequence diagram from some method and use that while I am reading some unfamiliar code. Works great.
The list goes on really, I have barely scratched the surface, so yeah move on if you want to learn how to use the new stuff, and no one is stopping you, go for it.

Resources