Why Implementing Document Management Properly in SharePoint is Important

Creating SharePoint document libraries isn’t exactly a tough thing. Just throw a bunch of folders together and put the information into each folder, right? Just like you do on your hard drives at home! Well, that is certainly a very common way to implement SharePoint document libraries, but it’s definitely not the ideal way.

One of the biggest goals in creating one of these libraries is to ensure that your staff are consistently using them, thus gaining the maximum efficiencies from SharePoint. But how do you ensure that the users are

Now this next part might seem a little obvious, but as you’ll see throughout this webinar, sometimes the most obvious things are the easiest to overlook. So the first thing you should do when setting up a library is to speak to the people who will be using said library to figure out the best way to have them buy in to using it. For example, your marketing department will need a different setup than your IT department. They’ll be using different content types and have vastly different metadata for their content.

Imagine how much easier it will be for your sales and marketing departments to use the document libraries when you’ve set up a list of predefined templates for them to use whenever they click “New!” Those SOWs, proposals, and one-sheets will all be in the proper format and stored right where they’re supposed to be stored, greatly increasing efficiency.

Plus, so long as you set these templates up with some care, the information entered in the documents can be captured as filterable metadata in the library, making search and retrieval a breeze!

Why are Security Definitions Important in SharePoint?

by Brett Gillin

We recently had a webinar on the top 10 security mistakes companies make in their SharePoint implementations (which you can view here if you’re so inclined). One of the topics that generated the most discussion was regarding the importance of security definitions. Why is it important to have and stick with security definitions in your SharePoint environment? Well, let’s take this story as a perfect example:

This is the story of a multi-million dollar company who has about a dozen users with complete “Administrator” access to SharePoint, meaning each of these users could change literally any aspect of SharePoint whenever they pleased. When one of these employees is fired (for excessive time off) the other administrators made a glaring mistake. They didn’t deactivate the recently fired user’s account!

This allowed the user to go home, log in to the SharePoint site with their still-valid credentials, and delete thousands of documents and empty the recycle bin before someone caught wind. The kicker in this story is that the guy who went in and deleted all these documents was a sales representative for the company, not a technical resource for SharePoint. This employee should have never had this level of access to the SharePoint environment in the first place.

Luckily, the company in this story was regularly backing up their information, and was able to restore most of the deleted documents, but this is just one example of why your company needs to make sure that users only have the access that they need to your SharePoint environment. This is exactly the type of mistake that can be avoided if your company uses proper security definitions for your SharePoint environment.

So if you don’t already have a detailed security definition in place at your organization, what are you waiting for? Contact AAJ Technologies today to get the help you need!

The Follies of Using One Master Account in SharePoint

by Brett Gillin

I’d like to start off this blog post by asking a simple question. Does one single key open every door in your neighborhood? And can that same key be used to open up all the doors and filing cabinets in your office after starting your car and checking your safety deposit box?

If you answered yes, please stop reading this blog, make a copy of that key, and send it to me along with your address, because you live in a crazy utopia that I’d love to visit.

More likely, you see that first paragraph as an insane scenario that no one lives in. But you’d be surprised to find out that a slight variation of that story might be happening at the company you work for!

I’m referencing a common shortcut that many companies make when implementing collaboration tools like Microsoft SharePoint. So many companies use the Domain Administrator account to do just about everything they need in SharePoint. But this causes an enormous problem.

Think about it, if there’s one account that can control everything, and multiple people who know the password to use the account, there’s quite simply no accountability in SharePoint anymore. You completely lose control of figuring out who made what changes to SharePoint. Plus, if a worst-case scenario happens and that account or account password is compromised, you might be looking at a lengthy downtime for your SharePoint environment while you fix the issue. Or, worse yet, you could be looking for a new job because all of your company’s sensitive information just got posted on every blog in the blogosphere!

If you’d like to hear more about this issue, or find out even more common security mistakes people make when implementing SharePoint, join us next Wednesday for our webinar.

Click here to register!

Web application Performance Optimization Part 2: Optimizing CSS

by Mohsin Naeem

In this part of the series, I’m going to share some of the techniques that I used to optimize SharePoint/ASP.NET applications from CSS perspective. All of the following techniques are common for other technologies too.

Use Shorthand Properties

There are few shorthand properties available in CSS that we can use to set several properties at once. Those properties are: background, border, font, list-style, margin, padding, and outline.

Click here to continue reading.

How to Categorize a Survey in SharePoint 2010

by Burhan Ramay

A few days back I got a requirement from a client asking me to show highlighted headings and sub-headings of groups of questions in a SharePoint survey. There is no out of box solution available to achieve this functionality. Thus I did a little trick by using JavaScript to achieve the required survey user interface.

 

Requirement

You’ll need SharePoint 2010 Survey having the interface as showing in below image:

Solution

  1. Follow the below steps to accomplish this task.
  2. Go to All Site Content, click on link Create
  3. Select Survey from List category from left side menu, enter Name of survey and click button Create
  4. Add questions in survey and add Single line of text fields for headings and sub-headings e.g. if heading name is Initiation then enter Initiation under Question and select type Single line of text. Do the same for sub-heading
  5. Open SharePoint Designer and Open Site where survey was created in Step 3 above
  6. In SharePoint Designer select List and Libraries from left menu
  7. On right side click on survey name created in Step 3 under Lists column

8. In SharePoint Designer, click NewForm.aspx from under Forms

9. Select Split mode and click inside div underneath Ok, Cancel buttons as showing in below image

10. Type the below JavaScript in code pane above inside div.

<script type=”text/javascript”>

_spBodyOnLoadFunctionNames.push(“hideFieldsOnStart”);

function hideFieldsOnStart() {

//hide the control at start

var control = getTagFromIdentifierAndTitle(“input”,”TextField”,” Initiation “);

control.parentNode.parentNode.parentNode.style.display=”none”;

control = getTagFromIdentifierAndTitle(“input”,”TextField”,”Decision Making”);

control.parentNode.parentNode.parentNode.style.display=”none”;

changeBackGroundColor(control, “Initiation”, true);

changeBackGroundColor(control, “Decision Making”, false);

}

function changeBackGroundColor(control, labelText, isMainHeading)

{

var rows = control.parentNode.parentNode.parentNode.parentNode.getElementsByTagName(“tr”);

for (i = 0; i < rows.length; i++)

{

if(trim(rows[i].cells[0].innerText) == labelText)

{

if(isMainHeading)

{

rows[i].style.backgroundColor= ‘yellow’;

}

else

{

rows[i].style.backgroundColor=’lightblue’;

}

}

}

}

//this gets the field based on title identifier and tagname

function getTagFromIdentifierAndTitle(tagName, identifier, title) {

var len = identifier.length;

var tags = document.getElementsByTagName(tagName);

for (var i=0; i < tags.length; i++) {

var tempString = tags[i].id;

if (tags[i].title == title && (identifier == “” || tempString.indexOf(identifier) == tempString.length – len)) {

return tags[i];

}

}

return null;

}

function trim(stringToTrim) {

return stringToTrim.replace(/^\s+|\s+$/g,””);

}

</script>

11. In the above code, ChangeBackGroundColor() function with false parameter is used for sub-heading and
true for heading

In this code, questions are used as headings and passing as parameters to functions getTagFromIdentifierAndTitle, changeBackGroundColor. Thses headings should be defined as Questions during Survey definition.

Important factor to share this post is to confirm my approach and will be more than happy to know if some other solution is available.

Adjust the column width of a Project Tasks View of a Project Site in SharePoint 2010

Problem

There is no way to fix a Project Tasks View column width permanently in SharePoint. A column width can be changed from heading by using the Configure Columns option but after navigation to other site/library width goes back to its default value. For example if someone wants to show the Resource Name column width 200 pixels instead of default 100 pixels,  then he will need to change column width again and again from the column configuration. Changed width configuration doesn’t persist forever.

Solution

The above mentioned problem can be solved by using JavaScript. Below are steps needed to add script on a page that will adjust required column(s) width.

  1. Open browser and go to Project Site with Project Tasks view
  2. From Site Actions click Edit Page
  3. On page click Add a Web Part

4. Under Categories, select Media and Content;under Web Parts select Content Editor and click the Add button

5. Select newly added web part and click Edit HTML Source under HTML from top menu

6. In the HTML Source editor,add following code and click OK button

<script type=”text/javascript”>

ExecuteOrDelayUntilScriptLoaded(function(){

var oldGanttControl = SP.GanttControl;

SP.GanttControl = function() {

  • oldGanttControl.call(this);

var oldInit = this.Init;

this.Init = function(jsGridControl, jsRawGridData, params){

  • oldInit.call(this, jsGridControl, jsRawGridData, params);

DoCustomizations(jsGridControl); }; };},”SPGantt.js”);

function DoCustomizations(grid)

{

grid.SetSplitterPosition(650);

grid.SetGanttZoomLevel(grid.GetGanttZoomLevel()-1);

var tabl = document.getElementById(‘ctl00_m_g_98b1d4ed_6602_42da_b393_b4e2781c58cd_ListViewWebPartJSGrid_leftpane_mainTable’);

var row = tabl.rows(0);

AdjustWidth(row, 1, “150px”, “149px”, “140px”);

}

function AdjustWidth(row, cellNumber, cellWidth, divWidth, innerDivWidth)

{

row.cells(cellNumber).style.width=cellWidth;

var divs = row.cells(cellNumber).getElementsByTagName(‘div’);

divs(0).style.width=divWidth;

divs(1).style.width=divWidth;

var innerDivs = divs(1).getElementsByTagName(‘div’);

innerDivs(1).style.width=innerDivWidth;

}

</script>

7. In above code function  AdjustWidth(ROW, COLUMN_NUMBER, NEW_COLUMN_WIDTH, NEW_CELL_WIDTH, NEW_DIV_WIDTH);  is calling other function to adjust width of column according to the passing column number as parameter. Other parameters are adjusting cell width and div width contains this cell

Hope this post will give you an idea on how we can hook up the Gantt Control in startup and adjust the column width.

SharePoint Performance Optimization Best Practices

by Mohsin Naeem

SharePoint uses page ghosting technique to allow a server farm to scale out to tens of thousands of pages across all the sites within a farm. Page ghosting is valuable because it eliminates the need to transfer the contents of a page definition file from the SQL Server content database to the front-end web server. Page ghosting also makes it possible to process the default page instance for thousands of different sites by using a single page template that is compiled into an assembly DLL and loaded into memory in the IIS worker process just once per web application. This optimization technique is a key factor in the scalability of SharePoint in high-traffic environments running thousands or tens of thousands of sites.

Click here to continue reading

Improvements in SharePoint 2010 from the Business Perspective – Part 2

By Mohsin Naeem

This is the second post in a series of blog posts on SharePoint 2010 improvements. If you’ve missed the first post, you could read it here.

Audience Targeting

In SharePoint 2010 users can target Web Part content in two ways:

  1. Configuration Web Parts Pages to display different Web Parts based on audience membership.
  2. Configure Web Parts to display different content based on audience membership.

Document Management

SharePoint 2010 includes a broad collection of new capabilities that simplify and streamline how companies manage documents.

Click here to continue

SAP SharePoint Integration as a Pharmaceuticals Industry Solution

by Qasim Mehmood

I had an experience with a large enterprise solution for a huge pharmaceutical company. This particular company was facing major difficulties in managing administrative and training requirements and cost for SAP. Especially due to the recession, that time cost was becoming a huge factor in their overall operations!

New employees are joining the organization and old employees have marriages and other life changing events and when they need to use SAP bases HR system, it’s really complex, less intuitive and the company needs to train their users regularly which costs a lot. This is even more critical when your organization have couple of hundred thousands of employees.

Proposed Solution

I worked with them to design a generic solution which integrates SAP with SharePoint. This solution uses Infopath forms which guide users via a wizard approach to help fill out the form. We also designed a self-service application for SAP software. This application is basically an enterprise human resource software application that combines Microsoft Office SharePoint with the integration and control of SAP software. The solution simplifies the use of line-of-business systems while preserving data integrity and compliance with corporate policies.

Cost Saving

By going with this approach, the client reduced training cost and maintenance, costing less than a SAP solution!

Read more about SharePoint here!

A Marketing Professional’s View of SharePoint 2010 Part V

or
How I Fumbled Through My First Two Weeks on the Job

By Brett Gillin

Part V (Don’t worry, it’s the final part. You can read Parts I, II, III, and IV here)

I’ll skip the time and place stuff on this blog post, mostly because that doesn’t matter here. It would only matter if I had a definite start and end to this problem, but I don’t. Perhaps you, super-loyal reader and undying fan of this blog, will be able to help clear this up for me. It’s a spacing issue and it confounds me.

While I’m in editing mode, the copy and content looks to be perfectly spaced. Single spaced body-paragraphs with a double space between the headers and paragraphs and between copy-paragraphs without headers. But once I save and publish (and I’ve learned my lesson in checking in and out of pages!) the spacing suddenly changes. Between some paragraphs, there looks to be 1.5 spaces, some of the headings look to be double spaced or more, and even some of the copy paragraphs look to have .75 spaces between lines.

I went back and deleted all the spaces, held SHIFT and hit Enter to ensure the spacing would be consistent throughout the page, but upon saving, those pesky spaces would come back. Pasting the content into Word, correcting the formatting there and then pasting them back into SharePoint 2010 also didn’t seem to work. The only work-around we could figure out worked for sure was putting the content into Notepad, deleting everything on the SharePoint content page and pasting it back in.

With that, I’m satisfied that at least we’ve found something that works, but I can’t help but feel there’s something I’m missing. Why is SharePoint adding these extra partial spaces? And why is it only doing this on certain pages and not consistently throughout the site?

I would literally love to hear your feedback on this issue. Feel free to comment below and tell me how some dumb little thing I’m missing is causing me these headaches.

Read more about SharePoint here!