31 July 2009

Comparison between Visual Studio & SharePoint Designer Workflows

Here i'm added Key differences between Custom Visual Studio and SharePoint Designer workflow.
----

Authoring:


Visual Studio: >>Full development environment with a graphical designer that produces a template which can be associated with multiple sites, lists, and content types

Designer:>> Wizard-driven interface that utilizes conditions and actions to produce a template that contains a set of declarative rules and is bound to a specific list

Custom .NET code :

Visual Studio: >>Yes

Designer:>> No

Types:

Visual Studio: >>Sequential, State Machine

Designer:>> Sequential only

Completed Workflow:


Visual Studio: >>Workflow markup file and code-behind files are compiled into workflow assembly.

Designer:>> Workflow markup, workflow rules, and supporting files are stored uncompiled in a hidden document library on the site and compiled on demand.

Debugging:


Visual Studio: >>Yes. Visual Studio 2005 debugging except for JIT exceptions.

Designer:>> No step-by-step debugging available

Deployment:

Visual Studio: >>Packaged as a SharePoint feature and deployed to the server by an administrator

Designer:>> Deployed automatically when workflow is completed

Association:

Visual Studio: >>Template must be associated with each and every list before it will be available

Designer:>> Association occurs at design time only

Workflow Forms

Visual Studio: >> Can use any forms technology, such as InfoPath 2007 or ASP.NET 2.0 forms

Designer:>> Automatically generates ASP.NET 2.0 forms, which can then be customized

Create Custom Activities and Conditions


Visual Studio: >>Yes

Designer:>> No. Must use a predefined set of activities and conditions.

Workflow Modification

Visual Studio: >>Executing workflows can be modified.

Designer:>> No modification is possible.

-------

click here For more details..


Special Thanks :Amit Pasalkar.





20 July 2009

Form Based Authentication in SharePoint


(A Step Wise Implementation of FBA in SharePoint)
Here I’m adding this article to implement and extend the existing portal and have accessibility using Form Based Authentication. The article below has step wise implementation from scratch.
--
1. Create SQL Database: using Visual Studio 2005 command Prompt.

2. Use command : ASPNET_REGSQL



3. Please Select “ Configure SQL Server for Application Services
4. Enter the Server Name Authentication and the Database Name

(Please Add the Database Name of our choice :ex-newFBADatabase)


5. Continue till > finish.
6. Check Newly Created Database containing necessary tables and store procedures


7. Extend your web application in any of the prescribed zone (Internet, intranet, extranet, Custom)

a. The original web application is at port 333 (in this case).
b. We have extended to port 332 as shown and selected the zone as extranet.


8. Now In visual Studio (VS) create a web site and add following entries in web.config file.

<!--SQL CONNECTION STRING-->

<connectionStrings>
<
add name="FBAConnectionString" connectionString="Data Source=MYDATABASE;Initial Catalog=FBAUSERS; Integrated Security=True"/>

</connectionStrings>
<system.web>

<!--
Membership Provider For FBA -->


<
membership defaultProvider="FBADemoMember">

<providers>

<add connectionStringName="FBAConnectionString" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed"
maxInvalidPasswordAttempts
="5"
minRequiredPasswordLength="1" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" name="FBADemoMember"
type="System.Web.Security.SqlMembershipProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</membership>

<!-- role provider For FBA -->

<roleManager enabled="true" defaultProvider="FBADemoRole" >

<providers>
<
add connectionStringName="FBAConnectionString" applicationName="/" name="FBADemoRole"
type="System.Web.Security.SqlRoleProvider,System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</roleManager >




9. Select website > ASP.NET configuration in VS



10. Select Security hyperlink



11. Create Roles as needed.






12. Create Roles (Inside Create or Manage Roles)



13. Create Users
14. Create Users(Inside Create Users)




(~) From Central Administration
15. Select Authentication Provider in Application Security in central admin



16. Select the Web Application and select the extended Zone for FBA.


17. Select Authentication Type :
a. FORMS,
b. Membership Provider Name : same membership defaultProvider as in web.Config
c. similarly for Role Manager Name: roleManager defaultProviderd.

Enable Anonymous Access optional (depends on requirement)




18.Now Update the Extended Web Application Web.Config Place beneath <>tag in both (original and extended web application) web.config file. Also place & beneath in conjunction with connection string as shown below.



19. Add the FBA User in the original portal/Web Application through People and Groups.


20. Add user in the Defined Role/Groups As you can observe here the user will be present as FBADemoMember:

21. Now Login in the extended Site.
22. Bingo- Welcome the FBA users.



Thanks…..








15 July 2009

SharePoint Installation on VISTA OS

Hey!
Bamboo Nation's has come up with a solution which will allow all the VISTA operating system user to get SharePoint (WSS 3.0) installed on their system.
For more Details click here.



13 July 2009

Active Directory & Sharepoint Users

Including User from Active Directory in sharpeoint internally had few process, However you need to be clear about the difference between SharePoint users used for security and Profiles. These are related.
First Profiles.
1. Moss is setup to import all the users in your AD domain as profiles into the SSP that you create. However, this action is not scheduled. Profiles will not be imported until you either do a manual import or setup the schedule for Full and incremental imports. This imparts no security rights to the user at all.
2. After the profiles have been imported. If a user is deleted in AD then after 3 successive full profile imports there profile will be deleted also. If deactivated their MySite will be cleaned up, but not their profile.

---

Authentication/Authorization (Assuming you are not using any kind of Forms Based Authentication)
1. SharePoint depends on Windows Authentication via IIS to establish the user's identity. (this happens completely external to SharePoint)
2. SharePoint checks the user's AD identity and group membership, as established in #1, to see what the user has the ability to do in SharePoint. You can successfully authenticate and still not gain access to SharePoint.
3. Security Access in SharePoint is dependent on the AD identity or an AD group of which the user is a member being added as a SharePoint user. Or the user or group may be added directly to a SharePoint group. This will allow the user to gain access to SharePoint resources.
4. If the access is through group membership then the user's identity will only be added to SharePoint when the user logs in and submits something to a document library or list. This adds their identity as a user, but doesn't directly re-associate them with specific rights. The rights are still gained through group membership. But they would now show up in the People and Groups list.
5. If the user's account is deactivated or deleted in AD their account in SharePoint is NOT deleted, but they won't be able to use it to access SharePoint anymore because AD won't be able to authenticate them so they'll never get to Authorization. If deactivated, you will still be able to click on their name attached to documents or list items and see their profile. If deleted clicking on these items will normally lead to an error page because the profile isn't there anymore.
6. Removing SharePoint users can be done programmatically, but it is a fairly involved process requiring walking each object in the FARM and looking for the user entries. There are 3rd party products that do this, but I don't normally recommend using them since you are destroying the history of the user in the system.
----

Special Thanks: Paul Stork.

.

09 July 2009

SharePoint : Popfly as Iframe

--SharePoint & Popfly --
Popfly comes with huge functional block and mashup integrated with Silverlight to give a enhanced branding with minimum efforts.
Here is a simple example which will help you to get a connected popfly blocks and later inherit the same into SharePoint environment. Since Popfly is also compatible with Visual studio environment which brings smile to all my developer friends to explore & perform more.
Before you begin make sure you register or use your windows Live ID. As you login this will create special Profile ID which will track all your project created, shared or inherited in popfly.



  1. Popfly provides various functionality while creating such as Game, Mashup, block, data & webpage. Today i'll be Creating a Mashup Block.


  2. To begin we will drag the Block(s) you wanted from various blocks list/groups provided by popfly.

  3. Since we have selected a live Image Search we needed a runtime input parameter hence we have added a input block which is connected as a input for the search block.

  4. Its setting signifies the function and the input staged for each blocks. As there are ample of blocks provided as well as shared by other users which can be user, also custom block can also be create as needed.


  5. Before we Execute (Run) its is suggested to save the project. Once saved Now we can execute and view output by Clicking the Run Button.


  6. Once the Output satisfies our needs we can go ahead with integration with our application(SharePoint) by clicking Share which provides few sharing options, Now click on the Embed option. Since Microsoft Popfly provides this functionality to share this block in our defined application


  7. Now you get is a script tagged in iframe, as my choice of application is SharePoint all I did by adding this Script in the Source Editor of a Content editor web Part .

  8. Thus Popfly Start populated in the sharepoint Enviroment

Go Ahead and Explore..
--

Subscribe in a reader




07 July 2009

Replacing Time field

SharePoint provides date time field in a fixed format, However we can further organized to have a hourly/minute counter to view its last updates/modification.
This can be achieved by using a simple Content Editor Web part[CEWP] and Script for converting "DD/MM/YYYY hh:mm" to minutely incremental field.

Add the following sniplet in the source script section fo the CEWP.

<--Code-->

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
var str = "Last Updated"; //change
this based on col header

var today = new Date();
today = Date.parse(today)/1000;
var a=0;
var headers = $("table.ms-listviewtable:first>
tbody> tr:first th"
).get();
$.each(headers, function(i,e){
x = $(e).contents().find("a[title*='"+str+"']").length;
a = x > 0 && i > a ? i : a;
});
var dArray = $("table.ms-listviewtable:first>
tbody> tr:gt(0)"
).find(">td:eq("+a+")").get()
$.each(dArray, function(i,e){
var d1 = Date.parse($(e).text())/1000;
var dd = (today-d1)/86400;
var dh = (dd-Math.floor(dd))*24;
var dm = (dh-Math.floor(dh))*60;
var time = ((Math.floor(dd) > 0 ? Math.floor(dd) +" days, " : "")+
(Math.floor(dh) > 0 ? Math.floor(dh)+" hrs, " : "")+
(Math.floor(dm)+" min"));
$(e).text(time);
});
});
</script>
Special Thanks: Paul Grenier


25 June 2009

Script for Edit Page & Site Setting.

Hi,
Many folks face problem once the SharePoint portal is authorized; many eliminate the option of removing the site action menu from master page. Many occasions accrue when one is suppose the edit the web parts or the page contents, everything using designer is also not fissile. Here is a simple script which can be added in the required page as a Content Editor WebPart which can help you in further alterations in future.


<!--Code-->
<style>
#ContentTypeToolbar table
{
background-color: #BFDBFF !important;width: 100%;
}
td button
{
padding: 3px 7px 4px 7px !important; border: 1px solid
#A0BECE; font-family: Verdana; background-color: transparent; height:auto; width:auto;
xoverflow:visible; margin: 0px 1px 0px 1px !important;
}
</style>
<div id="ContentTypeToolbar" style="background-color:#93BCF;"></div>
<script>
window.attachEvent("onload", new Function("NewButtons_OnLoad();"));
function NewButtons_OnLoad()
{
try
{
var aTags = document.getElementsByTagName("IE:MENUITEM");
var sToolbar='<table
class="ms-menutoolbar" cellSpacing="0" cellPadding="2" width="100%" border="0" ><tr><td>';
// For Each Menu Item
for(var j=0;j< aTags.length;j++)
{
var aTag = aTags[j];
// Only Process the items from the _New And _settings Menu (ignore Actions)
if(aTag.getAttribute("id").toLowerCase().indexOf("_siteaction")>=0)
{
var BtnText=aTag.getAttributeNode("text").value;
var OnMenuClick=aTag.getAttributeNode("onMenuClick").value;
var IconSrc=aTag.getAttributeNode("iconSrc").value;
var Description=aTag.getAttributeNode("description").value;
// Add the Button with an Image.
sToolbar=sToolbar+'<button class="ms-menubuttoninactivehover"
onmouseover="MMU_EcbTableMouseOverOut(this, true)" onClick="'+OnMenuClick+'" title="'+Description+'"
hoverInactive="ms-menubuttoninactivehover" hoverActive="ms-menubuttonactivehover"><img
style="height:22px;width:22px;" align="absmiddle" src="'+IconSrc+'">'+BtnText+'</button>';
}//end of if
if(aTag.getAttribute("id").toLowerCase().indexOf("_settings")>=0)
{
var BtnText=aTag.getAttributeNode("text").value;
var OnMenuClick=aTag.getAttributeNode("onMenuClick").value;
var IconSrc=aTag.getAttributeNode("iconSrc").value;
var Description=aTag.getAttributeNode("description").value;
// Add the Button with an Image.
sToolbar=sToolbar+'<button class="ms-menubuttoninactivehover"
onmouseover="MMU_EcbTableMouseOverOut(this, true)" onClick="'+OnMenuClick+'" title="'+Description+'"
hoverInactive="ms-menubuttoninactivehover"
hoverActive="ms-menubuttonactivehover"><img
style="height:22px;width:22px;" align="absmiddle" src="'+IconSrc+'">'+BtnText+'</button>';
}//end of if

} // End For
sToolbar=sToolbar+'<td class="ms-toolbar" noWrap width="1%" ><img class="icon"
height="18" alt="" src="../../_layouts/images/blank.gif" width="1"></td><td
class="ms-toolbar" noWrap align="right"><
button onclick="CTWPAbout()" style="background-color:transparent;border:0;cursor:hand;"><img
src="/_layouts/images/helpicon.gif"></button></td></tr></table>';
if (document.location.href.indexOf('codeexport') >0)
{
sToolbar='<textarea rows="5">'+sToolbar+'</textarea>';
}
document.getElementById("ContentTypeToolbar").innerHTML=sToolbar;
} // try
catch (e)
{
window.status=e.description;
} // catch }
function CTWPAbout()
{
var sAbout='by Akshaya\n\nCopyright 2009\n ';
alert(sAbout);
}
Special Thanks: Vinay Patil
--

27 May 2009

Interview Preparation

For the Sharepoint resources looking for a change get an outline here,which is well categorised. hope this blog helps you.
Click here

Special thanks : yagyashree

13 May 2009

Registing Event Handler on a list/library

for Registering the Event Handler following are the steps to be followed:


  1. Add a Console application project in the Event Handler applcation.

  2. Add the DLL of Event Handler in the GAC.

  3. Now include the following code the console application.

<--CODE-->
static void Main(string[] args)
{
try
{

string AssembleInfo="EventHandlerRegister, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d53fad3f8a2d2037" ;
String ClassName="Akshaya.EventHandlerRegister";
RegisterEvent(
http://registerSite/Sites/site, "MYCustomListName", AssembleInfo, ClassName);
Console.WriteLine("Event Registered Successfully......");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}


Function for registering this Handler
<--CODE-->
private static void RegisterEvent(string SiteUrl, string ListName, string AssemblyInfo, string ClassName)
{
using (SPSite mySite = new SPSite(SiteUrl.Trim()))
{
SPWeb MyWeb = mySite.OpenWeb();
SPList MyList = MyWeb.Lists[ListName];
//include the event handler you have overrided in your handler.ex her is Itemadded
MyList.EventReceivers.Add(SPEventReceiverType.ItemAdded, AssemblyInfo, ClassName);

MyWeb.Close();
}
}

now check the list event firing and incorportating those changes.
Thanks: Akshaya

12 May 2009

Creating Sub-Site on List item added using event Handler

Creating a Sub site when a new item is added in the list.
All that needs to be carried is create a event handler with overriding methods ItemAdded or Itemupdated.

<--Code-->
string Url = "http://Site_URL/sites/demo";
using (SPSite oSite = new SPSite(Url))
{
using (SPWeb oWeb = oSite.OpenWeb())
{
SPList projectList = oWeb.Lists["MYCustomList"];
//foreach(SPListItem listItem in projectList)
//{

string projectName =properties.ListItem["Title"].ToString();
SPWebCollection collWebsites = oWeb.Webs;
oWeb.AllowUnsafeUpdates = true;
oWeb.Navigation.TopNavigationBar.Parent.IsVisible = true;
string strWebUrl = projectName;
string siteTitle = projectName;
string siteDescription = "Sub site created by code.";
collWebsites.Add(strWebUrl, siteTitle, siteDescription, 1033, "MyTeamSitetemplate.stp", true, false);

//}
}
}

29 April 2009

Sharepoint Help links

sP links

Sharepoint TODO tips
http://www.dlocc.com/sharepoint-main-menu
http://blogs.msdn.com/sridhara/

KPI in WSS 3.0
http://www.endusersharepoint.com/?p=1011
http://pathtosharepoint.wordpress.com/2008/09/01/apply-color-coding-to-your-sharepoint-lists/

Geo maps/virtual Earth
http://www.batchgeocode.com/
--
http://msdn2.microsoft.com/en-us/library/ms558975.aspx
http://www.sharepointcustomization.com/wss/articles/lists-navigation.htm

fba
http://blogs.msdn.com/joelo/archive/2006/08/22/712945.aspx
membership user
http://msdn.microsoft.com/en-us/library/kx96zecz.aspx
KPI in WSS
http://pathtosharepoint.wordpress.com/2008/09/01/apply-color-coding-to-your-sharepoint-lists/
webpart
http://blah.winsmarts.com//2006-7-Sharepoint_Webparts_AS_-_Connecting_the_WebParts_-_making_an_RSS_Reader_Application.aspx
http://www.codeproject.com/KB/sharepoint/WebParticles.aspx
Web part caching:
http://msdn2.microsoft.com/en-us/library/aa589700.aspx - Important one
http://blogs.msdn.com/ecm/archive/2006/11/08/how-to-make-your-moss-2007-web-site-faster-with-caching.aspx
http://blogs.msdn.com/modonovan/archive/2005/04/27/412505.aspx
http://msdn2.microsoft.com/en-us/library/ms964435.aspx
http://blogs.msdn.com/sharepoint/archive/2007/04/16/how-we-did-it-mission-critical-hawaiianair-com-website-powered-by-moss-2007.aspx
Associating Custom Content Types with a Custom Site Definition
http://geeksconnected.com/muhanad/Lists/Posts/Post.aspx?List=c7e6fc19%2Dbbfc%2D4349%2Db19b%2D500d67afc925&ID=14
java script
http://dotnetlibrary.blogspot.com/2006/10/javascript-faq_116069270867926884.html
Jscript debugging
http://blogs.msdn.com/webdevtools/archive/2007/03/08/jscript-debugging-in-visual-studio-2005.aspx
CSS navigation chart in MOSS 2007
http://www.heathersolomon.com/content/sp07cssreference.htm#LeftNav
Approaches to deploy user controls
http://blogs.msdn.com/davidebb/archive/2005/10/30/487160.aspx
http://www.codeproject.com/useritems/User_Control_ToCustom_One.asp
http://odetocode.com/Blogs/scott/archive/2005/10/06/2326.aspx

Using web deployment projects :
http://msdn2.microsoft.com/hi-in/asp.net/Aa336619.aspx

Usage of RunWithElevatedPrivileges with list item updates
http://www.msdner.com/dev-archive/147/328-1203-1475139.shtm
http://www.mikhaildikov.com/2007/07/runwithelevatedprivileges-watch-out-for.html
http://blogs.msdn.com/edhild/archive/2007/03/03/how-to-create-a-site-collection-in-a-workflow.aspx

Excel services with Excel 2003
http://office.microsoft.com/en-us/excel/HA100217161033.aspx?pid=CH101024611033
http://blogs.msdn.com/cumgranosalis/archive/2006/08/10/694149.aspx

Plan for design - Design Template –
http://heathersolomon.com/blog/articles/148.aspx#SPV3O12
http://technet.microsoft.com/hi-in/bb512933.aspx
http://blogs.msdn.com/andrew_may/archive/2006/06/24/SharePointBeta2WhatAreContentTypeIDs.aspx
http://www.codeproject.com/useritems/SharePointBasics.asp
http://blogs.msdn.com/bowerm/archive/2006/11/29/office-and-sharepoint-training-material.aspx
http://forums.asp.net/p/1121048/1884950.aspx- For session state problem Transactions :
http://weblogs.asp.net/paolopia/archive/2005/01/30/363312.aspx
http://blah.winsmarts.com/2006-8-Transaction_support_in_Workflow_Foundation.aspx

Office server SDK starter kit with examples:
http://www.microsoft.com/downloads/details.aspx?FamilyId=6D94E307-67D9-41AC-B2D6-0074D6286FA9&displaylang=en

Visual Studio 2005 Extensions :
http://www.microsoft.com/downloads/details.aspx?familyid=19F21E5E-B715-4F0C-B959-8C6DCBDC1057&displaylang=en
http://www.microsoft.com/downloads/details.aspx?familyid=3E1DCCCD-1CCA-433A-BB4D-97B96BF7AB63&displaylang=en
– Version 1.1
http://www.u2u.info/Blogs/Patrick/Lists/Categories/Category.aspx?Name=MOSS%202007

Tools:
http://blogs.msdn.com/sharepoint/archive/2007/08/22/just-published-major-update-to-the-moss-and-wss-downloadable-sdks-8-22-2007.aspx

Accessibility Kit for MOSS
http://blogs.msdn.com/sharepoint/
http://blogs.msdn.com/bgeorgi/default.aspx

Sharepoint Report Center and SQL Server Reporting
http://blogs.msdn.com/sharepoint/archive/2007/02/19/microsoft-sql-server-2005-sp2-reporting-services-integration-with-wss-3-0-and-moss-2007.aspx

Sharepoint Developer Reference :
http://msdn2.microsoft.com/en-us/sharepoint/default.aspx
http://msdn2.microsoft.com/hi-in/library/bb530301.aspx

Solution providers for MOSS:
http://blogs.tamtam.nl/mart/SolutionProvidersForMOSS.aspx

Branding :
http://msdn2.microsoft.com/en-us/library/aa830818.aspx

Sharepoint Designer
http://blog.solanite.com/keith/Lists/Categories/Category.aspx?Name=SharePoint%20Designer
http://www.sharepointcustomization.com/resources/presentations.htm
http://office.microsoft.com/en-us/infopath/HA102105871033.aspx
http://blogs.msdn.com/timpash/archive/2006/05/22/603758.aspx

Adding menus to List items
http://msdn2.microsoft.com/en-us/library/ms868274.aspx
http://blogs.msdn.com/jessicagruber/archive/2005/07/27/443895.aspx
http://blogs.msdn.com/bowerm/articles/175691.aspx

Infopath
http://blogs.msdn.com/infopath/

Info on AJAX
Using hidden field with update panel : http://forums.asp.net/p/1119208/1743351.aspx#1743351

SmartPart with AJAX :
http://weblogs.asp.net/jan/archive/2007/02/26/new-version-of-smartpart-now-with-ajax-connections.aspx
General Reading on How UpdatePanel work
http://www.ben-rush.net/blog/PermaLink.aspx?guid=c9bd8cb4-15af-4222-a74a-9d1f4d6baa41&dotnet=consultant
Many solutions on MOSS are available at : http://blogs.devhorizon.com/blogs/reza_on_blogging/default.aspx

Please use DataView to bind to GridView so that we can implement Paging and Sorting.
Please refer to following link for details : http://community.strongcoders.com/content/CSGridViewSortingPaging.aspx
http://www.codeproject.com/useritems/GridViewNeatPaging.asp

Content Type:
http://www.bloggix.com/blogs/microsoft/archive/2008/06/12/custom-list-with-content-type-and-site-column-implemented-with-a-lookup-field.aspx
http://sharepointers.blogspot.com/2008/04/adding-custom-content-type-to-site.html
http://msdn.microsoft.com/en-us/library/ms452896.aspx
http://msdn.microsoft.com/en-us/library/aa543822.aspx

content type without title
http://www.u2u.info/Blogs/karine/Lists/Posts/Post.aspx?List=d35935e0%2D8c0e%2D4176%2Da7e8%2D2ee90b3c8e5a&ID=6

lookup column as feature
http://sharepointnutsandbolts.blogspot.com/2007/04/creating-list-based-site-columns-as.html

List Definition:
http://ari.provoke.co.nz/archive/2007/04/18/creating-a-custom-sharepoint-2007-list-definition.aspx
http://officesharepointpro.com/content/839/Linking-to-documents-in-another-document-library.aspx

book link
http://www.devx.com/webdev/Article/34032/1763/page/3

free video
http://www.trainsignaltraining.com/sharepoint-services-part-2-learn-to-create-a-new-custom-list/2007-10-30/

create graph using sharepoint
http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry

22 April 2009

Hiding "View All Site Content"

Always using Deigner for alteration is really not a recomended approch.
Here is an alternative solution I figured for hiding the "View all site contents " from a site.

[Note: add <>
style>
#ctl00_PlaceHolderLeftNavBar_idNavLinkViewAll

{ Visibility:hidden; }
/style>
Also if you want the "View all site content" should be placed below Site Action button there is an artical published by Mark Wagner Click here to read more on this.

Special Thanks to Laura Rogers & Mark Wagner

FBA Login Name Customization

hi,
Here is an article added by Sridhar in which he has created a WebPart which will allow the user to alter the Welcome Name as needed.
For More Details click here.

Accordion-Style Left Navigation using JQuery

Accordion-Style Left Navigation:
Before
All the Quick link menu provided by sharepoint out of Box has a fixed format and altering its CSS alters is branding.
However we can achieve collapsing and expanding functionality using jQuery provided by Google’s API.

if you want the accordion-style menu for all pages, you should work it into the default.master. For now, i have carried by adding a Content Editor Web Part (CEWP) to the page. Add the code below to the web part’s Content Editor (source). Now your menu should look like this.
Here when you click on the menu header box with the down arrow image, it exposes the submenu below it and swaps the image with an ‘x’. Likewise, clicking the header with the ‘x’ will hide the associated submenu.

<--script-->
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
// Load jQuery
google.load("jquery", "1.2.6");
</script>
<script type="text/javascript">
$(function(){
//initialize menus
var menuRows = $("[id$='QuickLaunchMenu'] > tbody > tr");
var menuHd = menuRows.filter("[id!='']:has(+tr[id=''])");
//set img path for when submenu is hidden
var closedImg = "/_layouts/images/Menu1.gif";
//set img path for when submenu is visible
var openedImg = "/_layouts/images/ptclose.gif";
var cssInit = {
"background-image": "url('"+closedImg+"')",
"background-repeat": "no-repeat",
"background-position": "100% 50%"
}
var cssClosed = {"background-image": "url('"+closedImg+"')"}
var cssOpen = {"background-image": "url('"+openedImg+"')"}
//hide submenus
menuRows.filter("[id='']").hide();
//apply initial inline style to menu headers
menuHd.find("td:last").css(cssInit);
menuHd.click(function () 

{
var styleElm = $(this).find("td:last")
var nextTR = $(this).next("tr[id='']");
if (nextTR.is(':visible')) 

{
nextTR.hide();
styleElm.css(cssClosed);

else 
{
nextTR.show();
styleElm.css(cssOpen);
}
});
});



09 April 2009

AJAX Tags for SharePoint Web.Config


OPTIONAL: ADD SUPPORT FOR ASP.NET AJAX
1. Add a element to the tag:













2. Add a section as a child of the / tag.






3. Add the following tag to the tag, within :





4. Add some new registrations to the end of the section:







5. Add a new registration to the HttpModules section, beneath any existing registrations.






6. Add a SafeControl entry for the System.Web.UI namespace from Microsoft Ajax Extensions, within the /section:





7. add the following configuration tags at the bottom of web.config, near the bottom before the end tag.



















type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>




Adding a ScriptManager into a SharePoint MasterPage
Open up the master page for your site. Typically, this will be located at /_catalogs/masterpage. You can edit this file by opening it in an editor such as Microsoft SharePoint Designer, or directly in Notepad by opening your master page library via DAV (typically \\server\\_catalogs\masterpage.) 1) Add the following into the markup of your page. A recommended location is right beneath the WebPartManager registration (search for ):

2) Add following Script block in master page


28 March 2009

Dyamic DataGrid

This Code is just get you started.

There would still be work to do but this will get the GridView there and gives a general idea of what to do with the columns.

GridView gDocuments = new GridView();
gDocuments.Visible = true;
gDocuments.ID = "gvDocs";
gDocuments.BackColor = System.Drawing.Color.Cornsilk;
gDocuments.BorderColor = System.Drawing.Color.

DarkMagenta;
gDocuments.BorderWidth = System.Web.UI.WebControls.
Unit.Pixel(5);
gDocuments.RowCommand += new GridViewCommandEventHandler(
gDocuments_RowCommand);

ButtonField bf1 = new ButtonField();
bf1.CommandName = "SelectRow";
bf1.Text = "Select This Row";
bf1.ButtonType = ButtonType.Button;
bf1.Visible = true;

gDocuments.Columns.Add(bf1);
pnlLayout.Controls.Add(
gDocuments);
Incase more Help needed let me know..

21 March 2009

Technical document write-up

In this article I will be sharing the key major sections and sub sections which need to be included in Technical Architecture document.

Enterprise Technical Architecture - Document Outline

Introduction

1.0 Project Overview

1.1 Background

1.2 Audience

1.3 References

1.4 Vision and Scope

1.5 Implementation RoadMap

2.0 Enterprise Architecture

Diagram showing all Environments with description

3.0 Development Environment (if applicable)

3.1 Logical Farm Architecture

3.2 Physical Farm Architecture

3.3 Databases Planning

3.4 Software Application Planning

3.5 Capacity Planning

3.6 Shared Services Strategy for Authentication, Search, BDC and Audiences

3.7 Application and Service Accounts

4.0 QA Environment (if applicable)

4.1 Logical Farm Architecture

4.2 Physical Farm Architecture

4.3 Databases Planning

4.4 Software Application Planning

4.5 Capacity Planning

4.6 Shared Services Strategy for Authentication, Search, BDC and Audiences

4.7 Application and Service Accounts

5.0 Authoring/PreProduction Environment (if Needed)

5.1 Logical Farm Architecture

5.2 Physical Farm Architecture

5.3 Databases Planning

5.4 Software Application Planning

5.5 Capacity Planning

5.6 Shared Services Strategy for Authentication, Search, BDC and Audiences

5.7 Application and Service Accounts

6.0 Production Environment (if applicable)

6.1 Logical Farm Architecture

6.2 Physical Farm Architecture

6.3 Databases Planning

6.4 Software Application Planning

6.5 Capacity Planning

6.6 Shared Services Strategy for Authentication, Search, BDC and Audiences

6.7 Application and Service Accounts

7.0 High level Application Technical Design

8.0 High level Application Technical Design

8.1 Business Processes and Application Flows

8.2 Branding and Look & Feel

8.3 Portal Site Topology/Taxonomy Design

8.4 WebParts

8.5 Features

8.6 Search and Indexing

8.7 Security

9.0 Operations and Maintenance

9.1 HelpDesk Strategy [Reference to Operational support document]

9.2 Release management and Deployment Strategy

9.3 Backup/Restore operations

9.4 Installation and Configuration [Reference to Installation & configuration
document for each server role]

10.0 Help System

10.1 User Manuals[Reference to user guide document]

11.0 Key Contacts

11.0 Assumptions
---

Special thanks to: Hemendra Patel

Rate Now: