woensdag 11 mei 2011

ASP.NET button, placed in code behind, isn’t fired at first click

For a project i needed to create a button in my code behind file of my ASP.NET User Control. But when I’ve added the code to the handler of the button’s click event. I noticed that my button didn’t execute my code on the first click on the button.

To find the solution / problem of what may cause this problem I used Google, and I found this interesting article that explained and resolved the problem Article

maandag 9 mei 2011

dagen tussen 2 datums

Vandaag een half uur bezig geweest over iets dat eigenlijk in een minuutje zou moeten kunnen.
Ik kreeg een begin- en einddatum, en moest daar de dagen ertussen (inclusief de 2 gegeven datums) uithalen.
Eerst geprobeerd met een "for each"-loop, dit werkte niet.
Dan met een for i = 0 to ...-loop, maar dan had ik 't probleem dat een "date+1" niet ging.
Dan uiteindelijk gevonden, de functie .addDays() lost veel op:



mlstUitgeleendeDatums.Add(datum)
datum = datum.AddDays(1)
Dim datum As Date = oUitlening.Begindatum.DateWhile datum < oUitlening.Eindtijdstip.Date.AddDays(1)End While

woensdag 4 mei 2011

Een workflow starten met 1 muisklik

Het gemak van onze gebruikers staat altijd voorop.
Daarom zou het gemakkelijk zijn moest onze gebruiker een werkstroom voor een item kunnen opstarten zonder de pagina te verlaten en zijn overzicht te verliezen.

EndUserSharePoint.com geeft hierover een zeer goeie tutorial “4 Clicks or 1? Using jQuery to start a SharePoint Workflow”.

Kort stappenplan
  • Nieuwe ASPX-pagina
  • Voeg een Data Vieuw toe
  • Zorg dat er op het einde een kolom van de workflow staat
  • Voeg volgende code toe in deze kolom
    image
  • Dan dit stukje code in de PlaceHolderMain of indien je wenst in een inhoudseditor
    image

Opgelet!!! Telkens je we workflow aanpast moet je ook de templateId aanpassen aangezien er telkens een nieuwe wordt aangemaakt bij een verandering aan de workflow.

Als je iedere stap volgt van de tuturial door Jason MacKanzie zal dit goed werken.

dinsdag 5 april 2011

problemen met toevoegen van list items via web services

Situatie: een lijst "Uitleningen" met daarin o.a.:
- Opmerkingen: een tekstveld, dat eerst "Title" was.
- Materiaal: verwijzing naar lijst "materiaal", keuzeveld
- Campussen: interne lijst
Bij deze kolommen was er een probleem als ik een lijstitem wou toevoegen.
Bij Opmerkingen was de interne naam "Title", en bij Campussen "Campus2".
Bij Materiaal moest de ID worden doorgegeven,
aangezien het om een lijstje ging!
Dit is dan opgelost door het materiaal te laden in een listbox, en daarvan dan de selected id te gebruiken,
aangezien ze in de zelfde volgorde in de listbox komen te staan :)

Voorts kwam ik nog iets belangrijk tegen:
de "verantwoordelijke" wordt sowieso de naam die op voorhand ingegeven wordt in de code,
in dit geval een default gebruiker.
Deze staat ook zo op het contract dan,
maar vanaf dat de verantwoordelijke de status van de uitlening van "gereserveerd" naar "uitgeleend" verandert, verandert dit gegeven in de naam van degene die het aanpast, dus deze wordt dan verantwoordelijke. Opgelost!

Nog een probleem:
bij het genereren van het contract,
komt er op de plaats van waar normaal gezien het materiaal moet staan het id van het materiaal!
En ik kan niet aan de campussen, omdat deze een interne lijst is in het systeem.
Deze problemen heb ik opgelost door 2 extra lijsten te maken,
eentje voor het materiaal, en eentje voor de campussen (allebei tekstvakken),
en daarin wordt de naam van de campus en het materiaal in opgeslagen,
zodat deze ook correct op het document verschijnen.

Filtering a column while typing

I had the problem that I wanted to filter a column while the filter was being typed in a textbox

animation

This image is a copy from: JVossers codeplex page

How to use this:

Download txt, js or wsp file from codeplex. Instal options are written at the bottem of the page.


When you want to use the Content Editor Web Part, you have to paste the code from the txt file in the source editor and NOT in the RTF editor

vrijdag 1 april 2011

Verbonden lijsten

Hoe kan je 2 lijsten maken, waarbij de ene lijst afhangt van de selectie van een andere lijst?
En dat dan nog zonder code?
Met sharepoint!
Gewoon de 2 lijsten maken, de ene dan verbinden met de andere lijst,
de juiste kolom aanwijzen waar de andere lijst van afhankelijk moet zijn,
en klaar is kees!

How to deploy a custom web part in SharePoint 2007

Build you created web part in VS2008. Using Windows Explorer you go to you Debug  or Release map from your project:

… \Documents\Visual Studio 2008\Projects\TestSPWebPart\TestSPWebPart\bin\Debug\

Afterwards you copy the .dll file to the bin map from you SharePoint server (C:\inetpub\wwwroot\wss\VirtualDirectories\80\bin\)

Now you have to open the web.config file (location: C:\inetpub\wwwroot\wss\VirtualDirectories\80\), in that file you have to enter a SafeControl in the correct format,

<SafeControl Assembly="<Assembly name>" Namespace="<namespace of the assembly>" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>

For instance:
<SafeControl Assembly="TestSPWebPart" Namespace="TestSPWebPart" TypeName="*" Safe="True" AllowRemoteDesigner="True"/>

When you have don that you open the root page of your SharePoint site, this is also accessible using localhost. When Internet Explorer opens the page you go to the Site-Actions in the upper right of the corner and open all the Site Settings – afterwards you choose for Web Part under Galleries.

image

There you choose “New”, normally on the bottom of that list you will find your web part, then after you have selected the web part you go back to the top and click “Populate Gallery”.

 

imageimage

After you have populated your gallery of web parts, you can use the web part in a all pages, even in other sites.

maandag 28 maart 2011

Using CAML Query with JQuery

When you want to have a filtered lookup with your CascadeDropdowns or other from JQuery, you can use the CAML Query. With this query you can “tell” the list dropdown list what items it has to contain.

A very useful program to create CAML Query is U2U CAML Query Builder

Naamloos

For instance (personal usage):

I wanted that my dropdown list only contained who where available for loan, my products needed to be filtered by what type they are part of, so I used the Cascade Dropdown service from JQuery.

My code that realizes my needs:

These following script tags  pinpoint to the 2 files that enables the JQuery usage

<script type="text/javascript" language="javascript" src="../../../JQuery Library/jquery-1.5.1.js"></script>
<script type="text/javascript" language="javascript" src="../../../JQuery Library/jquery.SPServices-0.6.0.js"></script>

The following script bloc is the code that I’ve placed in my newItem.aspx

<script type="text/javascript" language="javascript">

$().SPServices.SPCascadeDropdowns({
                relationshipList:"Toestellen",
                relationshipListParentColumn:"Toesteltyp",
                relationshipListChildColumn:"Title",
                parentColumn:"Type toestel",
                childColumn:"Toestelnaam",
                CAMLQuery:"<Eq><FieldRef Name='Status' /><Value Type='Choice'>Beschikbaar</Value></Eq>",
                promptText:"Kies een {0}",
                debug:true
            });

</script>

zondag 27 maart 2011

Developing for Microsoft Office SharePoint Server 2007 (64-bit)

After I’ve installed  the SharePoint server 2007 64-bit and Visual Studio 2008. I’ve tried to create a Web part. But no options were available in VS2008 for SharePoint server 2007 64-bit. Afterwards I’ve, alongside VS2008, I’ve installed VS2010. But there it was possible to create something for SharePoint Server 2007 32-bit, not for the 64-bit version.

When you tried to create a Web part for instance you get following error:

fout visual studio

After checking out the internet for this problem, I found on msdn from Microsoft and on the msdn blog. That it was impossible to create a part for SharePoint Server 2007 64-bit. My boss then found a installer on the Kamp’s Blog. But after installing it didn’t work.

Our final solution was to reinstall Windows Server 2008 and SharePoint Server 2007 but everything in 32-bit modus.

vrijdag 25 maart 2011

JQuery DisplayRelatedInfo & RequireUnique

JQuery heeft zo weinig code nodig om zo krachtig te zijn.

Ik heb informatie gevonden om bestaande informatie op een formulier  te behouden wanneer ik terugkom van een nieuwe list-item toe te voegen (SPRedirect with ID) maar ik heb het nog niet kunnen uittesten.
Ervoor zorgen dat mijn users de juiste dingen ingeven was vandaag belangrijker.

Ik heb gewerkt met SPRequireUnique om ervoor te zorgen dat mijn lijsten niet super lang zullen worden met dubbele informatie.

image

Maar ik heb ook iets gevonden om mijn users wat extra informatie te geven bij het invullen van hun formulier, namelijk SPDisplayRelatedInfo.
Nu kiezen mijn users het bedrijf en zien meteen of het wel het juiste bedrijf is. image

Ik heb nog enkele webpagina’s gevonden over JQuery Tabs waardoor ik mijn formulier beter zal kunnen organiseren. Zeker iets om uit te proberen.

donderdag 24 maart 2011

JQuery LookupAddNew

Stel je voor: de user vult een formulier in en merkt dat het item dat hij nodig heeft nog niet in de lijst voorkomt.
Nu moet hij volledig stoppen en zoeken hoe hij dat item kan toevoegen. Zeer simpel SPLoopupAddNew voegt een link toe onder het veld.image

Het is even simpel in te voeren als de CascadeDropdowns maar opgelet dat je bij de lookupColumn de displayname gebruikt en niet de staticname.
image

Bij het doorklikken kan je nieuw item in de lijst toevoegen en keer je automatisch terug naar je origineel formulier. NADEEL: de reeds ingevulde velden zijn nu blancoSad smile, maar ook daarvoor bestaat er een oplossing.

Wordt vervolgd…

Stagedag 23 en 24-03-2011

23-03 heb ik in wat problemen gehad met het installeren van een SharePoint server op een Windows Server 2008. Ik had in eerste instantie niet de correcte ISO’s om deze te installeren, heb dan maar zelf op zoek geweest naar de laatste versie van SharePoint Server. Verder had ik in de ochtend was uitgeprobeerd met JQuery.

Vandaag(24-03) bespreking gehad met Dries Laperre. Is zeer tevreden met de huidige vorderingen in het project. Hebben tijdens de vergadering op een mogelijke menselijke fout gevonden. Dit was dat er een klant was verwijdert van de server, deze kon natuurlijk opnieuw worden aangemaakt, maar er was twijfel over de hoeveelheid credits er nog aanwezig was op de rekening. Doorheen de rest van de werkdag nog wat verder gewerkt op het gebruik van JQuery in SharePoint.

JQuery CascadeDropdowns

Een afstudeerrichting is afhankelijk van de geselecteerde opleiding.
Een lijstje dat zich aanpast met de selectie is dan ook handig om geen ellelange lijsten te gaan zoeken.

JQuery SPCascadeDropdowns is zeer handig en krachtig voor de javascript die je maar schrijft maar ik heb toch enkele aandachtspunten ondervonden:

  • De sluitingstag van je script moet je volledig schrijven, geen short-cuts!!image
  • De kolomnamen waarop de lijsten dan afhankelijk zullen zijn moeten de namen zijn die je ingegeven hebt toen je de kolom aanmaakte en niet de displaynaam (die je nadien eventueel kan aanpassen).
  • Indien het een verplicht veld is dat relatief is van een andere selectie, zal de promptText niet zichtbaar zijn.

En nog een tip tijdens het uittesten van je werk, zet bij alles “debug:true”

Dit was het resultaat op het einde van een dag haar uittrekken:
image

woensdag 23 maart 2011

Stagedag 22-03-2011

Ik had in het begin problemen met mijn klantenlijst, had een een bepaalde kolom nodig en vond deze niet terug. Dit kwam doordat ik problemen had met een van de content types die gebruikt wordt in die lijst. Ik heb dit opgelost door de lijst volledig opnieuw te maken en de contenttypes opnieuw aan te maken. Verder heb ik nog een aantal weergaves aangemaakt.

dinsdag 22 maart 2011

Maandag 21 en dinsdag 22 maart

Maandag veel veranderd, en lang vast gezeten op een fout:
Elke keer als er een uitlening veranderde, werd er een workflow in werking gezet, maar die gaf elke keer de zelfde fout: error updating item, listitem not found.
Ik keek m'n hele workflow na, debugde met mails, maar lette niet op het feit dat het sowieso aan een deel moest liggen waar er een item werd geüpdatet!
Toen ik dat doorhad was de fout snel gevonden.
Ik heb ook een extra veld "IDuitlening" bij de ljist "uitleencontracten" gezet, om zo gemakkelijk te kunnen vergelijken wat er veranderd is aan een uitlening, indien er een verandering is gebeurd.
Dinsdag zeer lang bezig geweest met web services, kijken hoe dit ging, maar verdorie, 't is moeilijk!
Morgen verder doen! :)

maandag 21 maart 2011

Stagedag 21-03-2011

Vandaag heb ik een workflow aangemaakt die een automatische e-mail verstuurd met een bijlage, in dit geval de factuur, wanneer er een aankoop gebeurt van materiaal. Vervolgens heb ik de GUI grotendeels uitgetekend voor de verschillende onderdelen van het programma. Ook heb ik een aantal gedeeltes van de GUI geïmplementeerd.

Voor morgen staat er de verdere uitwerking van de GUI op het programma.

SharePoint Sending an e-mail with an attachment to a member of an Active Directory

I had the problem that when for instance a bill was created, I want to have it sended to the e-mail of the salesman and to the e-mail from the customer.

The problem I faced was that I’ve had selected the customer from a combobox who’s filled not with users / groups but with a simple string.  And also that i wanted to add the created file in the attachment of the e-mail.

The solution:

I’ve used Send E-mail with HTTP file attachement from the actionslist from a WorkFlow that is connected to a Directory

  • Destination:
    • I had to select the column where my customer is placed
  • Sender:
    • just put an e-mail adres, doesn’t have to exist
  • Name of the attached file:
    • Give it a general name
    • add to the end of the name a . and a Lookup of the FileType / Bestandstype
  • HTTP-URL of the file:
    • Just use the Encoded Absolute URL / Gecodeerde absolute URL and the file will automatically be selected

The action isn’t a standard from SharePoint, it’s a custom action from SPDActivities

zaterdag 19 maart 2011

Stage vrijdag 18/03

Vandaag vooral veel veranderd. Aan de workflows, die nu opgesplitst zijn in een workflow "uitleninggemaakt" en "uitleningveranderd". Ook aan de schema's in visio gewerkt, er moeten ook nog wat aanpassingen gebeuren. Ook bij de lijsten "uitleningen", en vooral "uitleencontracten" zijn er extra kolommen toegevoegd, om informatie goed te kunnen doorgeven.

vrijdag 18 maart 2011

stagedag: 18-03-2011

Vandaag de laatste loodjes gelegd aan de lijsten, verder nog een aantal workflows ingevoerd waaronder die van wanneer een klant een aankoop doet dat de stock word aangepast, dat het krediet van de klant wordt aangepast en dat er een factuur wordt gemaakt per product die men koopt. Er is ook een workflow geïmplementeerd bij de lijst van de ontleningen die wanneer er een ontlening wordt toegevoegd dat er een document wordt gemaakt.

donderdag 17/03

Vandaag veel gewerkt aan de workflows, flowcharts, en genereren van word-document.
Een paar problemen gehad:
-Bij Windows 2003 kan je geen documenteigenschappen invoegen,
hierdoor waren er wat problemen met het genereren van een word-document.
Dit is opgelost door een word 2007-template op te slaan en te gebruiken.
Er klopt nog altijd iets niet, maar daar wordt naar gekeken.
-Ik heb een extra veld "verantwoordelijke" bij de uitleencontracten gezet,
die verwijst naar de "gemaakt door" van de uitleningen.
(Via een workflow)
Hierdoor kan dit ook doorgegeven worden in het word-document.

donderdag 17 maart 2011

stagedag: 17-03-11

Vandaag heb ik na een tweede samenkomst met Dries Laperre, de volledige flow van het programma uitgewerkt. Hierbij heb ik alle benodigde data, wat er moet worden ingevoerd door de gebruiker en wat er nadien door het systeem wordt uitgevoerd in kaart gebracht. Verder heb ik nog de lijsten grotendeels uitgewerkt die benodigd zijn om het systeem correct te doen werken.
Voor morgen staat er de afwerking van de lijsten en het implementeren van de benodigde workflows.
Bij het maken van de document heb ik hulp verkregen van een collega, want dit principe had hij al geïmplementeerd, daarvoor heb je collega's.