|
|
|
|
|
|
|
|
|
|
|
3/9/2010
Vandaag is dan eindelijk m'n weblog in WSS3.0 live. Er zal nu dus ook niet meer iets worden geschreven via het 'oude' weblog.
Aangezien met maken van een post in Sharepoint toch iets eenvoudiger en gebruiksvriendelijker is dan in een eenvoudig zelfgemaakt weblog, zal ik ook wat meer posten. Er is namelijk veel waar ik nog iets over wil schrijven.
De performance laat momenteel nog wel wat te wensen over, aangezien de server nog niet de hardware heeft die het zou moeten hebben. Hopelijk wordt dat ergens deze week of begin volgende week geleverd.
Het weblog is ook nog in ontwikkeling. Zo wil ik ook nog een integratie met Twitter in implementeren. Tevens moet het wat eenvoudiger worden om oude posts te zoeken in het archief.
Nog veel te doen dus, maar het begin is er!
Oh ja, de redirect naar weblog.jan-v.mobi is hopelijk tijdelijk. Zodra m'n hosting goed is geregeld zal het weblog weer onder jan-v.nl geplaatst worden. In wat voor tijdsbestek dit gerealiseerd kan worden is nog onbekend. Er zijn nog zoveel dingen die geregeld moeten worden (en een hogere prioriteit hebben), dat dit nog een grote onbekende is.
Ook wel goed om te weten is, is dat er momenteel nog geen accounts gemaakt kunnen worden die op een post kunnen reageren. Dit moet ook nog worden gerealiseerd. Heeft wel een redelijk hoge prio, maar dan zal ik eerst de hardware van de server in orde moeten hebben. 10/30/2009Sinds kort draai ik een 2K8R2 machine met een Hyper-V rol. Voorheen had ik de gewone 2K8 Core versie draaien, maar dat voldeed me niet echt. Nu dus de nieuwste versie met GUI. Sowieso is het een stuk beter onderhouden voor een ontwikkelaar, maar het is ook echt goed voor zover ik na kan gaan.
Wel had ik de laatste tijd problemen dat m'n virtuele Homeserver altijd hickups heeft als je hem wilt benaderen. Soms is de connectie gewoon zo'n 60 seconden weg, bestanden kopieren is een geduldige zaak, etc.
Nu ben ik even aan het zoeken geslagen, maar kon tot op heden niemand vinden met een vergelijkbaar probleem. Vandaag vond ik ineens een KB artikel, KB 974909, die ongeveer hetzelfde probleem beschrijft met wat ik ervaar. Nu heb ik net de hotfix gedownload en zal hem zometeen installeren.
Hopelijk lost dit het probleem op en kan ik de Homeserver weer als een NAS gebruiken.
Link naar de KB is dit: http://support.microsoft.com/kb/974909 Ik had in VS2010b2 een probleem dat er bij javascript geen IntelliSense verscheen. Na het melden van deze bug bij MS Connect hebben ze het geregistreerd en met een tijdelijke workaround gekomen.
Wat blijkt, als je de target wijzigt in bijvoorbeeld XHTML1.1 krijg je gelijk IntelliSense die je wilt.
Wat ook wordt aangeraden is om al je settings te resetten. Op zich kan dat wel natuurlijk, maar dat is niet echt ideaal. Hier gaan ze er op verder: http://blogs.msdn.com/webdevtools/archive/2009/10/23/visual-studio-2010-beta-2-intellisense-issue-in-javascript-html.aspx
Komt er dus op neer dat je bij de 'Import and Export' wizard je settings moet resetten en dan voor Web Development moet kiezen als standaard ontwikkel view.
Op zich is dit natuurlijk niet echt een super oplossing, maar ik vind het wel gaaf om te zien dat er echt iets wordt gedaan met de meldingen van het beta product. Zal binnenkort wat intensiever bezig gaan met VS2010 om te kijken of ik nog wat meer kan vinden. 9/18/2009Vandaag kreeg ik het verzoek om in een view alle gekoppelde medewerkers in 1 kolom te tonen die bij een client horen. Dit kan een behoorlijk lastige klus zijn en ik wist ook niet precies hoe ik zoiets zou moeten gaan oplossen. Een CURSOR zou mogelijk zijn, maar dat gebruik ik liever niet in de view die ik nu moet maken.
Na even zoeken kwam ik achter een nieuwe functie die bij SQL 2005 is geimplementeerd en gelukkig ook in SQL 2008 werkt, namelijk de CROSS APPLY.
Hiermee is het mogelijk om kruistabellen te maken (zo leg ik het maar even uit) en die gegevens in 1 kolom te tonen. Dat is tenminste waar ik het momenteel voor misbruik.
Door bijvoorbeeld een query als volgt op te stellen krijg je 1 kolom met het ID van een persoon en een tweede kolom met daarin alle gekoppelde medewerkers.
SELECT stamtabel.case_id,
hulpverleners = LEFT(o.list, len(o.list)-1)
FROM stamtabel
CROSS APPLY
(
SELECT CONVERT( NVARCHAR(255), hulpverlener) +', ' AS [text()]
FROM medewerkerkoppeltabel bhpc
WHERE bhpc.case_id = stamtabel.case_id
FOR XML PATH('')
) o (list)
WHERE stamtabel.case_id IN (65186, 46443, 57451, 45327)
Het resultaat dat je hier uit krijgt is als volgt:
57451 | 100, 200, 300, 400
65186 | 100, 122, 10
etc...
Precies wat ik nodig heb. Nu moet ik nog wel even de naam van de medewerkers ophalen in plaats van het ID, maar het concept werkt in ieder geval.
Dit is toch een functie die enorm handig kan zijn. Volgens mij misbruik ik de functionaliteit nu wel een beetje, maar dat maakt voor nu niet uit. Het werkt en de verwachting is dat dit ook wel blijft werken. Dat is wat ik vandaag tegen kwam bij het opzetten van m'n domein thuis.
Toch raar, aangezien ik zeker weet dat het domein werkt en de DNS bereikbaar moet zijn.
Dit was ongeveer de melding:
An attempt to resolve the dns name of a dc in the domain being joined has failed. Please verify this client is configured to reach a DNS server that can resolve DNS name in the target domain.
Na even logisch nadenken en de foutmelding wat beter te lezen in plaats van te scannen kwam ik al vrij snel achter de oplossing.
Momenteel staat er natuurlijk nog geen DNS server geconfigureerd op de systemen, of de router staat als DNS geconfigureerd. Op die manier kom ik natuurlijk nooit op de domain controller. Wat ik dus nog moest doen is de DNS op alle systemen instellen dat ze primair m'n domain controller gebruiken en daarna (eventueel) nog een andere DNS.
Nu ik dit heb aangepast kan ik een systeem toevoegen op het domein. Gelukkig heb ik nog niet veel draaien, maar toch handig om te weten. Jammer dat ik de DNS niet in de router zelf kan instellen. Misschien moet ik dan toch eens een luxer model kopen in plaats van een 3Com OfficeConnect. Het kan natuurlijk ook zo zijn dat ik de optie nog niet goed heb kunnen vinden.
9/16/2009Momenteel ben ik bezig m'n server thuis te upgraden naar een Win2k8R2 omgeving. Sowieso omdat deze versie van het server OS veel beter is dan ooit tevoren, maar ook omdat het nieuw is.
Gisteren heb ik m'n homeserver goed kunnen installeren en activeren en ben vandaag bezig met de 2K8R2 omgeving(en). Nu heb ik een guest 2K8R2 en wilde die graag activeren.
Continu kreeg ik de foutmelding dat de activatie niet voltooid kon worden met een errorcode 0x80072EE2. Via Google kwam ik op heel veel hits uit die me zeiden dat de website dan waarschijnlijk down was, omdat het een time-out fout is. Zou kunnen, maar wel raar dat het nu al 2 dagen speelt. Gisteren lukte de activatie me namelijk ook al niet op deze guest.
Na wat verder zoeken kwam ik op een blogpost uit van Derek Mangrum (http://grinding-it-out.blogspot.com/2008/05/error-number-0x80072ee2.html )
Hij stelt dat het een fout is in het OS.
Je moet namelijk een key toevoegen in het register om activatie mogelijk te maken in het guest OS.
I found the solution-- more searching after this post indicated a registry
setting was tweaked but the information given was incorrect. Turns out you
need to put this in the guest VM's registry:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Value(DWORD): DisableTaskOffload = 1
(the incorrect mention was called DisableTaskOffset which I am putting here
in hopes anyone who searches for that will find this as well)
(information obtained from
http://xpworld.spaces.live.com/blog/cns!3110BDF94643CB31!354.entry helped in
this)
Bovenstaande heb ik gedaan, gereboot en daarna geprobeerd weer te activeren.
Dit lukt!
Nu heb ik de omgeving eindelijk geactiveerd gekregen. 7/8/2009Het gebeurd me nagenoeg altijd. Altijd wanneer ik een webpart moet toevoegen aan een pagina, moet het Chrome type worden aangepast, zodat alleen de titel wordt getoond of juist helemaal niets. Dit kost niet enorm veel tijd, maar ik vind het wel vervelend om te doen, aangezien ik hem eigenlijk altijd zet op niets tonen.
Wat blijkt nu, de standaard Chrome instellingen kunnen worden gewijzigd per webpart zone via de onet.xml bestanden. Deze bestanden zijn standaard te vinden in de map /program files/common files/Microsoft shared/web server extensions/12/templates/sitetemplates/../XML.
In dit bestand staat als het goed is een stukje tekst ChromeType bij iedere webpart zone van de template. De waarde bij dit attribuut kan dan worden aangepast. De waarden zijn:
- Default
- TitleAndBorder
- None
- TitleOnly
- BorderOnly
Bron: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.webparts.partchrometype.aspx
Zelf heb ik het nog niet zien werken, omdat ik nog niet de tijd en gelegenheid heb gehad om dit een keer uit te proberen. Het is natuurlijk ook zo dat er meerdere onet.xml bestanden zijn, dus moet je wel weten welke je aan moet passen. Het is uiteraard wel handig om eerst even een backup te maken van de originele bestanden voordat je hierin aanpassingen gaat maken. Onlangs kwam ik een mooie post tegen op een blog. Dit ging over het gebruiken van Linq op de items van een Sharepoint lijst. Het origineel is hier te vinden: http://asadewa.wordpress.com/2008/01/03/direct-linq-to-splistitemcollection/
Volgens de post is het standaard niet mogelijk, maar heeft hij heeft er wel een leuke work-around voor gevonden. Zelf heb ik het nog niet uitgeprobeerd, omdat ik nog niet een goede toepassing heb gevonden/bedacht.
Het komt er in het kort op neer dat je een wrapper schrijft om de SPListItemCollection en daar de item collectie in stopt.
De wrapper ziet er ongeveer zo uit:
public class SPListItemCollectionAdapter : List
{
private SPListItemCollection _listItemCollection;
public SPListItemCollectionAdapter(SPListItemCollection listItemCollection)
{
_listItemCollection = listItemCollection;
Refresh();
}
private void Refresh()
{
this.Clear();
foreach (SPListItem item in _listItemCollection)
{
this.Add(item);
}
}
}
Zoals te zien wordt deze wrapper afgeleid van de List, waardoor je er dus Linq-queries op uit kunt voeren.
In de constructor wordt dan de itemcollectie toegevoegd en kan er dus mee worden gewerkt.
Door deze wrapper kun je nu dus met Linq werken op een Sharepoint lijst item collectie.
Dit kan er zo ongeveer uit komen te zien:
....
//De items ophalen vanuit de lijst
SPListItemCollection itemcol = mossWeb.Lists[listname].Items;
//De opgehaalde item collectie in de adapter stoppen.
SPListItemCollectionAdapter itemsAdapter = new SPListItemCollectionAdapter(itemcol);
//Een Linq-query uitvoeren met het wrapper object
var result = itemsAdapter.Max(x => x[fieldname]);
Om eerlijk te zijn vind ik dit wel een stuk mooier dan gebruik maken van CAML-queries. Het is naar mijn mening namelijk niet echt van deze tijd om 'dynamische' queries in de code-behind te stoppen. Of Linq nu een goede vervanging is, is ook discutabel, maar persoonlijk vind ik het dus wel mooier werken.
Mocht ik in de nabije toekomst dus weer tegen zoiets aanlopen dan zal ik proberen om dit nuttig te kunnen implementeren.
Als we trouwens de performance ook mee gaan rekenen denk ik niet dat dit een echt goede oplossing is om te gebruiken. Zoals je kunt zien moeten eerst alle items worden opgehaald vanuit de lijst en in de itemcollectie worden geplaatst en daarna wordt er in de wrapper nog een foreach-loop gedaan om al die items in het object te stoppen.
Wanneer je dus met grote lijsten aan het werk bent (of hoge performance enorm belangrijk is in je oplossing), lijkt me het dus beter om toch gebruik te maken van CAML. Wanneer het niet veel uit maakt, is dit een mooiere oplossing naar me dunkt. 7/2/2009Sinds afgelopen week ben ik toch maar eens begonnen met de hype van dit en afgelopen jaar, Twitter.
Iedereen heeft het er continu over, zelfs bij Edwin Evers op 538 en nu was een collega van mij er ook aan begonnen. Eigenlijk vind ik het helemaal niets wat je er mee kunt. Het slaat ook helemaal nergens op als je het mij vraagt.
Nu heb ik zo'n 2 dagen een account en moet zeggen dat ik toch (nog) redelijk actief ben. Misschien juist omdat het nergens op slaat.
Ook heb ik nu al wat software geinstalleerd om sneller te kunnen 'Twitteren'. Zo heb ik in FireFox de add-in TwitterFox ( http://twitterfox.net/ ) geinstalleerd om zo via m'n Windows XP machine snel te kunnen reageren. Op m'n Vista machine heb ik Twadget ( http://arsecandle.org/twadget/ ) geinstalleerd om zo ook op m'n werk mee te kunnen doen.
Op zich is het wel een stuk leuker dan de Wie-Wat-Waar van Hyves, maar toch zie ik het licht nog niet echt. Ach, zo lang het nog geen kwaad kan ga ik er maar rustig mee door.
Je kunt me volgen op http://twitter.com/jan_de_v
1/24/2009Thuis heb ik een WHS machine staan en daar wil ik natuurlijk vanaf al m'n machines mee kunnen werken. Op dit moment is er Vista Business 64-bit geinstalleerd op m'n werk laptop en wilde ik daar dus ook de WHS Connector software op draaien.
Dit lukt standaard echter niet, omdat je dan een melding krijgt dat het niet op een 64-bit machine gedraaid kan worden.
Nu kun je dit omzeilen door het volgende in de command prompt in te tikken:
msiexec /i "\SERVER\Software\Home Server Connector Software\whsconnector.msi" WHSMSI="RUNSETUP"
De installer begint nu te draaien en voltooid verder ook zonder problemen. Ik heb gehoord dat het maken van backups niet gaat werken, maar in eerste instantie gaat het me ook alleen maar om het bestanden delen vanaf m'n werk laptop.
Toch vind ik wel dat er in een volgend Service Pack hier iets aan gedaan moet worden, of nog beter, een Homeserver 2008 64-bit maken. Maar ja, dat zal nog wel een paar jaar duren.
|
|
|
|
|
|
|
|
 |
 |
 |
 |
|