lundi 2 février 2009

Hide columns on a list form

was remembering the days i had some problems to lead to my object in sharepoint.
and one of them was how to hide fields from the edit or new form in sharepoint lists, so i found how and im gonna share it, also there's a message from Karol who motive me and bring me to the right way of sharing my knowledge, thanx again.
finally, im not sure if it will help you, but for me it does.

first of all, you must open the site in sharepoint designer, go to the desired list and for example check in the EditForm.aspx, and after open it.
Now you will have that view :

Now, you must hide that control to bring another one customized.so to do that, right click on the form, property of the webpart component, a popup will flaunt, go to disposition (second grouping), and check hide option.

after you complete that, in the menu bar, go to insertion, sharepoint controles and go to the fourth choice (customize form list ...), now another pop up will appear, select your list name in the first dropdown and select elemnt in the second, after check how you want sharepoint designer to generate you form (edit, new or disp), and now you will see your form customized and ready to submit any changing from you.
our propose is to hide a field. select the fiel you want to hide, in parallel the code concerned will also be selected, now just delete it or put it as a commentary (between , like in html), now the rendered form will appear without the field :).
finally save the form, and check out.

i hope i come acroos your problems, and it will help you in your career.

jeudi 13 novembre 2008

Permission on columns

One day i found a question on how to lock permission down on columns, for exemple to provide a specific column for update to specific users.
Based on that, i decide to provide that simple exemple who will provide the way to do that.
I admit that we have a list ‘purchase request’ that contain those column :
Complet name, designation, quantity (text)
superior (user field)
statut (dropdownlist[Approve/reject])

The first step :


Customize the pages for hiding the columns that a customer musnt view when creating or updating the request (NewForm.aspx,EditForm.aspx).So ,for that need we’ll add a new custome form to the designed pages:
* Open SPD with the choosen site
* go to the liste above -> right click on NewForm .aspx -> click chek in




* Now open the page -> right click on the webpart inside -> click on webpart properties -> go to disposition -> check the two case there

* Now put your cursor under the webpart -> go to up in the menubar->choose insert->sharepoint component->choose webpart zone


* Now click inside the zone how has been added -> go to up in the menubar->choose insert-> sharepoint component->choose custom form list-> in the window appeared choose the kind of your form(in our case we’ll choose New)


*once the page has been added you could cusomize it as you like (in our case we’ll delete the field ‘statut’)


*once done, we’ll save the modification, go to the page->right click and check out


Now we’ve our new page customized for the customer, we must do the steps for Editform.aspx too but instead of choosing New in the custom form list, we’ll choose Edit


The second step :


Create the Edit page for the superior who will display all the fields(like in DispForm page) except ‘Statut’ field .For that need, we will create a directory ‘SuperiorDashbord’ inside the list, copying EditForm.aspx inside it, rename it(EditForm_superior.aspx) and then customize it as we did for the previous pages.

Note :
to change the display of field to a simple text, you've to put sharepoint tag who present that field between comment tags, and then add the xsl tag for diplay the text(xsl:value-of).


Now we must rely that page to a view that we'll create.
first thing, we'll copy the EditForm_superior.aspx inside the same directory in above, change its name to DashbordSuperior.aspx (for example) and after delete all the content and let just the main zone.

After, we click inside it, and drag and drop the 'Purchase request' list inside it, then right click on the view and select 'convert to xslt'.

After, we'll customize the look and feel of the view by clicking the little arrow in right side of the view then a popup will appear with all the properties of your custome view so you could limit the pagination, filter the view, change the column, sort, hide sharepoint toolbar and so on ....

for this exemple, i hided the SP toolbar, checked data view exemple, filtred the view to let superior see just the request Which they are affect, and who have 'under way' statut :

After that, you must link that view to the EditForm_Superior.aspx to let superiors updating the statut of the request.In this example we'll use the Title field to accomplish the need.
On the view select the code of the Title field(complete name), replace it by the given code :


Now, it remains to edit the view Title "Purchase request [Under way]" and the its appearance.
for that, right click on the view-> webpart compnent properties -> so a window will be displayed and on it you'll edit the look and feel of the view.
All we must to do now, its to remake the steps to create another view "Purchase request [Treated]" who will have the same proporties of the first one except in the filtred mode who will be like follow :
* Statut different of "under way"
And in the url of the link who will be :

At now we're done with the dashbord page, it remains now to put its link in the site and apply the Audience on it to be viewed just by Superiors

vendredi 7 novembre 2008

Printing a form in sharepoint

After a deep search on how to print a form in SharePoint, i led to a solution of javascript integration that will get the whole form and put it on a popup and after will print that popup and close i tat the end.
Here’s the function :
function print_All()
{
var DocumentContainer = document.getElementById('view_all');
var WindowObject = window.open('', "Printing form", "width=800, height=500, top=250, left=345, toolbar=no, scrollbars=no, status=no, resizable=no");
WindowObject.document.write(DocumentContainer.innerHTML);
WindowObject.document.close();
WindowObject.focus();
WindowObject.print();
WindowObject.close();
}
Explanation :
· « var DocumentContainer = document.getElementById('view_all'); » :
Th id (view_all) will be the id that you’ll assign to the tags that include the whole form code, its localised directly ater the tag.



· Now you could just use the WindowObjet.document.write(DocumentContainer) directly without adding the tags above, or you could reform your popup by adding the basic html page tags(), and then attach it to a stylesheet for more sweet display or adding javascript to your popup.


for that exemple, i used dispform.aspx content, of course you could apply it to the rest of form.
i hope it will help you on your job or studies, if you have a question or wondering about something releated to that, dont hesitate to contact me about it.

Fill a user/group field with the current user username on page load

hi everyone, today i'll post how to fill a user/group field with the current user username on page load.the solution was built on javascript script, so you've to be a little bit familiar with it, cuz anyway it will bring you a great help on developing web content.


here's the fucntion :


personnaly i put it in the first template call


at the end you must call _spBodyOnLoadFunctionNames.push() function brought by SharePoint to execute you needed function on page load :

_spBodyOnLoadFunctionNames.push("get_CurrentUser");



Now after you did all that, save the file and execute.
i hope i helped you even if a little bit, if there's a question about that or anything else, mail me or comment on the post, i'll be here.

jeudi 6 novembre 2008

Dashboard(KPI) avec SharePoint Designer

Dans ce messagen je vais en un façons donner un exemple sur une methode qu'elle poura vous etre utile pour créer des kpi a travers SharePoint Designer.
Le premier pas c'est de créer une vue de donnée :
1-Créer une page aspx vide dans SPD
2-Faite la herité de la page maitre
3-pointé vous sur la petite fleche du PlaceHolderMain pour le rendre personalisé
4-Aller sur insertion->Controles SharePoint->Zone de composant webpart
5-Dans la zone clické dedan pour inserer la liste que vous voudraiez en appliqué les KPI
6-Une fois la liste ajouter, click droit sur elle et puis clické sur Convertir en vue de donnée XSLT
7-Rechercher le test '{$List}-{$View}', c'est le id de la balise table quio encapsule les titres des
 colonnes de la liste.
8-Ajouter une balise qui contiendra le nom de colonne voulu.

9-Clicker sur le contenu des colonnes, ensuite aller sur le code et puis ajouter votre balise et dans laquelle vous mettriez vos regle d'affichage.

10-Dans cet exemple on prendra un champ 'Stock', si le stock est inferieur à 10 en mettra jaune, si stock est inferieur à 5 on mettra rouge, si stock est superieur que 10 on mettra vert(biensur
 les images doivent etre sur le serveur) :

Enfin enregistré la page et tester.
j'espere que ca vous aidera et n'hesitez pas à me contacter.

samedi 19 juillet 2008

Workflow change field

i'd a specific workflow to build, and i used the workflow brought by SPD.
so when i wanted to update a 'Status' field in the list where the workflow will be executed upon, the field doesnt update.
i past days of searching out for make that work, but no solution for.
then i realise that maybe the requester must have the right to update if i want that his request will be updated too, here i switch to authorisation form into the list, gives the right to the requester to update their data, finally i tested the workflow.
the result was : Amazing because it worked.

mercredi 16 juillet 2008

Custom search attached to a specific list

i encountered a specific need when i was working on a specific Intranet project using MOSS 2007 technologie.
it was about searching for contact on a specific list with these own fields, i tried the ContactTemplate provided by Microsoft team but it was basic, so i began to learn how to customize it to lead to my need.
After a few days of work and insomnia lol, i attained my purpose.
so now there's the steps :

Before all, to realize that you have to combine 2 page:
first with the textbox controle where you'll type your contact name
second where the search will be executed

In this article i'll discuss only the first page content.
1.Go to Form Compnent Webpart in Sharepoint control in insert menu

2.now go through the control inserted and replace the javascript script with that one :
//![CDATA[
//div style="height:400px;"//
//script type="text/javascript"//

function commitSearch(text) {
var frame = document.getElementById("contactFrame");
if (text == "") frame.src = "Results.aspx?ReturnAll=Yes";
else frame.src = "Results.aspx?Search=" + text;
}
//script//

//input type="text" style="border:1px gray solid;" id="contactSearch" name="contactSearch" onkeyup="commitSearch(this.value);"//

//iframe id="contactFrame" style="width:100%; height: 100%; margin-bottom:-30px; padding-bottom:30px;" src="Results.aspx?ReturnAll=Yes" scrolling="auto" frameborder="no"//

//iframe//
//div>]]//
where the result.aspx is the second page that i'll og though after, and remeber the parameter "ReturnAll=Yes" and "Search" because we'll need them after.

the function 'commitSearch' will evaluate the text typed, if its different of empty the cpntent will be transferred to the Results.aspx as value of the parameter Search else the parameter ReturnAll=yes will be the transferred one, and with that the final search result will be performed.
the second page content will be the next post.
Enjoy :)