Show By Category

.NET Service (1) 1909 (1) ACTV (1) adidas (47) adizero (1) Admiral (9) Airness (3) Albania (3) Algeria (3) America Mineiro (1) Angola (1) Anta (2) Argentina (2) Armenia (1) Atletico Goianiense (1) Atletico Paranaense (1) Austria (2) Authentic fit (1) Auto Generate from Access (1) Avai FC (1) avoid (2) Bahia (1) Beijing Guoan (1) Belgium (4) Benin (1) Birmingham City (1) Bolivia (1) Boot Configuration Data missing (1) Bosnia (1) Botafogo (2) Botafogo SP (1) Botswana (2) Brazil (4) Brazilian brand (15) Bulgaria (2) Burkina Faso (2) Burrda (3) Bypass traverse checking (1) Cambodia (1) Cameroon (4) Ceara (1) CEWP (2) Chapecoense (2) Chile (3) China (9) Chinese Brand (4) Chongqing Lifan Dangdai (1) Club Deportivo Universidad Catolica (1) Club Universitario de Deportes (1) Clube de Remo (1) Colombia (6) Colombian Brand (1) Congo DR (1) Congo Rep (1) Copa America (3) Corinthians (1) Coritiba (1) Costa Rica (2) Cote d'Ivoire (3) Coventry City (1) Croatia (2) Crop IFRAME (1) Cruzeiro (2) Crystal Palace (4) css (3) Cuba (1) Cyprus (1) Czech Republic (2) Deleting large libraries (2) Denmark (2) design fault (2) Diadora (1) Dragao Premium (1) eagles (1) Ecuador (3) Ecuadorian Brand (3) Egypt (1) El Salvador (1) electrical (2) electrical problems (2) electrocuted (2) England (3) Errea (3) Espanyol (1) Ethiopia (1) Euro 16 (10) Excel 2010 (3) External Content Type (1) FBT (3) FC Porto (1) Fenerbahce (1) Figueirense (1) Finland (1) Fiorentina (1) Flamengo (1) Flickering (1) Fluminense (1) football (233) Fortuna Dusseldorf (1) France (2) futfanatics.net (1) Gabon (1) Germany (1) Ghana (2) Gogoalshop (2) Goias (1) Granada CF (1) Grand Sport (2) Greece (2) Green (1) Guangzhou Evergrande (1) Guinea (1) Guinea Bissau (1) Haiti (1) Heilongjiang Lava Spring (1) Honduras (1) Hong Kong (1) Hummel (1) Hungary (1) Iceland (3) Icone Sports (2) IE Developer Tools (1) India (1) Indian Brand (1) Internal Field Names (1) Italy (2) Jako (1) Jamaica (2) Japan (1) Javascript (6) Jersey (126) Jiangsu Suning FC (1) Joma (5) Kanxa (1) Kappa (3) Kelme (4) Kenya (1) kitchen extractor fan (3) Korea (1) Laos (1) Le Coq Sportif (1) leak (2) Legea (1) Levante (1) Li Ning (3) Local Security Policy (1) Login Problem (1) Lotto (4) Lupo (2) Macron (9) Mafro (3) Mali (3) Man Utd (1) Marathon Sports (6) Marseilles (1) masterpage (1) Meizhou Hakka (1) Mexico (5) Modena Volley (1) Montenegro (1) Morocco (3) Myanmar (1) N98 (1) Naija (1) Nakal (1) Namibia (1) Napoli (1) Netherlands (1) New Balance (2) Newcastle United (2) Niger (1) Nigeria (4) Nike (32) Nike Brasil (1) Nike Brazil (1) Nike China (12) Nike South Africa (1) North Macedonia (1) Norway (1) O'Neills (1) Oldham Athletic (1) Olympikus (1) Olympique Lyonnais (1) Page Viewer WebPart (1) Panama (2) Para (1) Paraguay (2) Penalty (1) Peru (6) Picture Manager (1) Poland (2) Ponte Preta (1) Portugal (2) Portuguesa RJ (1) problem (2) Puma (46) retro (1) review (111) Romai (2) Romania (1) RT Sports (1) Russia (4) Saeta (1) Sampaio Correa (1) Santarem (1) Santos (2) Sao Paulo FC (1) Sao Raimundo (1) scam (2) Score Draw (1) Search List with Count Displayed (1) Senegal (3) Serbia (1) Server Hardening (1) SESI Sao Paulo (1) Shandong Luneng (1) Shanghai Shenhua (1) Shanghai SIPG (1) SharePoint (61) SharePoint Connect to SQL (2) SharePoint Designer (3) Shenzhen FC (1) shirt (232) Sierra Leone (1) Singaporean Brand (2) Six5Six (1) Slovakia (2) Slovenia (1) Slow right click (1) Sondico (1) South Africa (1) Spain (3) SPS Services (2) Spurs (1) SQL Server 2008 (1) SSP User Profile behaviour (1) Super Bolla (2) Sweden (2) Switzerland (2) Taubate Funvic (1) Team GB (2) techfit (8) Thai Brand (3) Thailand (2) Togo (1) Topper (4) track top (13) Travels (1) Trinidad and Tobago (1) Tunisia (3) Turkiye (1) tyro (1) UAE (1) UB (3) UB Electric (3) Ucan (1) UE Llagostera (1) Uganda (1) Uhlsport (2) Ukraine (1) Umbro (18) Umbro Brazil (6) Under Armour (3) Upload Center (1) Uruguay (1) Vasco Da Gama (1) Venezuela (1) Vietnam (1) Villa Nova (1) Villarreal (1) Vitoria (1) volleyball (6) Vozao (1) Wales (1) Warrix (1) water (2) WebClient (4) WebDav (5) West Ham (2) Where to get buy Iceland football shirt in Reykjavik (1) Win 8 (2) Windows 10 (1) Windows Scheduled Task (1) wish list (1) Workflow (1) World Cup 14 (9) World Cup 18 (5) Wuhan Zall (1) Xinjiang Tianshan Leopard (1) Xtep (1) Yanbian Funde (1) Yemen (1) Zambia (1) Zhejiang Greentown (2) Zimbabwe (1)

Monday 29 December 2014

UB Extractor Rubbish

An update on this piece of junk that I was fleeced into trying.  I regret very much.

UB Extractor Problem

It has now screwed up completely and thats less than a year of rather light usage.  Not exactly industrial usage capacity is it.  ;-)

Guess what as expected the cowboy company won't cover its maintenance even though it is , well what do you expect from cowboys.  And their sad interpretation of why the machine has completely broken down is.

Well you got to laugh, they say the electric board on the panel is broken and it is BECAUSE I cleaned the panel with water so I have to pay for all the parts to replace the electric board. What a joke, imagine if someone came to tell you, we won't fix your washing machine for free while its under warranty period because you cleaned the front panel with a wet cloth.  Amazing how cowboy companies talk and bully us with their tactics.

Well, having learnt my lesson, we decided to just throw this thing away and get a good old traditional Siemens extractor with very standard spec with Siemens' own maintenance and it costs less that the above piece of junk.

Don't believe any salesman offering you this piece of rubbish.  Avoid, stay away even if its built and demo looks impressive.  Don't fall sucker for it.  It is an expensive turd.

Wednesday 10 December 2014

Just what I need to get some JQuery SharePoint list to work in Chrome

I recently came across the same problem where some JQuery Code that I had absorbed from Jan Tielens's example just won't work on a Chrome browser.

Then I came across this http://maxmorrow.wordpress.com/2012/06/17/jquery-caml-query-lists-asmx-web-service/

And it was exactly what I was looking for.

$(xData.responseXML).find(“z\\:row”).each(function() {

to this:


$(xData.responseXML).find(“z\\:row, row”).each(function() {


Tuesday 9 December 2014

Dangers to AD account's username ID being renamed

This has struck us finally, where some users who have had account IDs changed in the AD starts experiencing problems accessing the site.

For example, I was once mydomain\kong kong  now I have had my ID changed to mydomain\kong lo

You might find the problems of logging into SharePoint site becomes intermittent or seems to work but then suddenly stops working.

You will also find that it is possible that adding the old account ID's access can still work. Although sometimes, SharePoint will prevent you doing it by warning the account is not unique.

It is best for situation like this to do an STSADM -o migrateuser command for these users in order to get rid of the the anomaly with the old account ID lying around in SharePoint's site collection user table.

See post below.

http://littletalk.wordpress.com/2009/12/14/the-user-does-not-exist-or-is-not-unique/

However, the thing to be most careful about is if this has happened to a Service Account that is being used to systematically access SharePoint libraries from say a batch program on a Server.

Granting the access to the old now renamed account ID can have fatal consequences for the WebClient Service that runs.  It can crash it and the only way to recover it is to reboot the server or kill it via the task manager after knowing its process ID.

http://support.microsoft.com/kb/2548470

The crash can happen not immediately after granting the access to the old account ID, it can look like all is fine and even files can get written into SharePoint, until all of a sudden may be a Windows Server Audit process runs, it probably flags up the access violation and crashed the WebClient service causing the problem.


Tuesday 25 November 2014

Strange problem with Upload Centre affecting SharePoint and Excel VBA

We were stunned that this had affect a macro that we have written in Excel that simply wrote some files to a SharePoint site.

For some reason, it refused to write the files all of a sudden. It would refuse to write any file to a particular folder.

eg \\mydomain.com\sharepoint\shared documents\mmm

It would error everytime the macro ran.

However, just a change in folder, it would start to work again.

eg \\mydomain.com\sharepoint\shared documents\mmx

We could not work out why until, by chance opening the Upload Center



Guess what, it had previously error-ed on a file that was trying to upload to the same folder in SharePoint.

 \\mydomain.com\sharepoint\shared documents\mmm

It would then start blocking all files to the same location until you delete all of the cached files by pressing the "Delete Cached Files" button in the "Settings".

Really mad that it would block all subsequent writes to the area just because of one previous error.  Anyway, we learned the hard way and now will not forget to check this when we encounter this again.

Monday 10 November 2014

Remove links to Lookup Fields on SharePoint list

Just came across this post

http://bborole.blogspot.hk/2010/09/remove-link-on-lookup-field-in-list.html

It was just what I needed because a user had asked for the lookup fields in a Sharepoint list showing on their department's homepage.

Well the post above gave a solution of placing the following script into a CEWP.

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

_spBodyOnLoadFunctionNames.push("RemoveLookupLinks");
function RemoveLookupLinks()
{
var oP = document.getElementsByTagName('a');//the collection of <a> tags
var flag = false
for(var i=0;i<oP.length;i++)
{
if(oP[i].attributes["href"].value.indexOf("RootFolder=*")!= -1)
{
var linkvalue = oP[i].innerHTML;//value of the lookup field
oP[i].parentNode.innerHTML = linkvalue;//replacing value of the lookup to whole the Anchor tag
flag = true;
break;
}
}
if(flag)
RemoveLookupLinks();
}
< /script>

And it works like a dream.  Just so cool for the author above to share this.

Wednesday 29 October 2014

Filter On SharePoint List - When there is a Count in the View

While working on an idea of just quickly providing a filter search on a list.  I was trying to adapt this technique as passed to me from a colleague of mine

http://kongedagain.blogspot.hk/2013/10/filter-on-sharepoint-list.html

which in turn I think was adapted from the amazing SharePoint Boris site http://www.sharepointboris.net/articles/the-power-of-content-editor-webpart/3-quick-search-in-list-view/#

I was unable to get it work when the list was even grouped, aggregated with a count.

The reason was because the table structure of the HTML that SharePoint writes count is different when the list is aggregated.  There are several more <tbody> tags inside the main table "ms-listViewTable", this causes the JQuery search to fail as it cannot lock onto the correct <tbody> section.

Then came some more googling and guess what someone more amazing has come up with a solution.

http://www.bitsofsharepoint.com/ExamplePoint/Site/ListSearch.aspx

It works really well.  I have extracted the code to place into the CEWP below.

The only minor problem is after a search is done, it hides the count field box which would have been nice to show a count of all that has been filtered.  Also I know lots of people been asking if it can show items that are not on the screen, which happens when you are paging the list.  The answer is not yet, it can only filter whats been displayed on the screen.

<!-- This section covers the Configuration table. -->
<DIV id=configBox>
<TABLE class=table>
<THEAD class=thead>
<TR>
<TH class="thTop th" colSpan=2>List Filter - Configuration</TH></TR></THEAD>
<TBODY class=tbody>
<TR>
<TD class=tdOverview>Overview</TD>
<TD class=tdOverviewField>Here you can change the location of the filter box and add comments that the enduser can see.</TD></TR></TBODY></TABLE>
<TABLE class=table>
<THEAD class=thead>
<TR>
<TH class=th colSpan=2>OPTIONS</TH></TR></THEAD>
<TBODY class=tbody><!--This section outlines the options available to the enduser to change.
    The variable for the script is the derived from the value provided.
    There are 10 listed and commented out till needed.  Uncomment to use.
    Best practice is to use the Rich Text Editor to change the Option, Value
    and Help field vs editing in HTML editor.-->
<TR>
<TD class=tdOption>Option</TD>
<TD class="tdOptionField ">Filter Box Location</TD></TR>
<TR>
<TD class=tdValue>Value</TD>
<TD class=tdValueField id=option1>left</TD></TR>
<TR>
<TD class=tdHelp>Help</TD>
<TD class=tdHelpField>left, center, or right. You can set where the filter box is displayed by entering in either left, center or right.</TD></TR>
<TR>
<TD class=tdOption>Option</TD>
<TD class="tdOptionField ">Comments</TD></TR>
<TR>
<TD class=tdValue>Value</TD>
<TD class=tdValueField id=option2>Comments are optional.</TD></TR>
<TR>
<TD class=tdHelp>Help</TD>
<TD class=tdHelpField>You can add comments for the endusers who use this. Leave blank to have no comments show.</TD></TR><!--This section outlines the jQuery option.  This is required for the solution to work.
    This gives the user the ability to use the default external location or to define
    where the local copy of jQuery has been housed. -->
<TR>
<TD class=tdOption>Option</TD>
<TD class=tdOptionField>jQuery File</TD></TR>
<TR>
<TD class=tdValue>Value</TD>
<TD class=tdValueField id=jQueryJS>http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js</TD></TR>
<TR>
<TD class=tdHelp>Help</TD>
<TD class=tdHelpField>Only change this option if you want to use a local copy of the jQuery file.</TD></TR>
<TR>
<TD class="tdBBorder line" colSpan=2>---- Change only the gray boxes on this page. ----</TD></TR></TBODY></TABLE><!-- This section covers the Do Not change area. -->
<P class=line>Please do not Edit, Change or Add any information below this line.</P>
<HR>
</DIV><!-- This section covers the Solution Info table.  Recommended to change the values
     using the Rich Text Editor. -->
<DIV id=instructions style="DISPLAY: none">
<TABLE class=tableInfo>
<TBODY>
<TR>
<TD class="tdInfoOption ms-vb" colSpan=2>Click <B>Rich Text Editor</B> to change options</TD></TR></TBODY></TABLE>
<TABLE class=tableInfo>
<THEAD>
<TR>
<TH class=thInfo colSpan=2>CEWP Solution Info</TH></TR></THEAD>
<TBODY>
<TR>
<TD class="tdInfoLabel ms-vb">Title:</TD>
<TD class="tdInfo ms-vb">List Filter</TD></TR>
<TR>
<TD class="tdInfoLabel ms-vb">Details:</TD>
<TD class="tdInfo ms-vb">This solution will filter all visible items in a list.</TD></TR>
<TR>
<TD class="tdInfoLabel ms-vb">Site Name:</TD>
<TD class="tdInfo ms-vb">BitsOfSharePoint</TD></TR>
<TR>
<TD class="tdInfoLabel ms-vb">Site URL:</TD>
<TD class="tdInfo ms-vb"><A href="http://www.bitsofsharepoint.com/ExamplePoint/Site/ListSearch.aspx" target=_blank>http://www.bitsofsharepoint.com/ExamplePoint/Site/ListSearch.aspx</A></TD></TR>
<TR>
<TD class="tdInfoLabel ms-vb">Author:</TD>
<TD class="tdInfo ms-vb">Peter Allen</TD></TR>
<TR>
<TD class="tdInfoLabel ms-vb">Version:</TD>
<TD class="tdInfo ms-vb">2.3</TD></TR></TBODY></TABLE></DIV>
<STYLE>
/* This CSS section covers the Configuration table. */
#configBox   { display:none; }
.table     { margin: 1em; border-collapse: collapse; width:95%; }
.th     { padding: .3em; border: 1px #000 solid; border-bottom: 3px #000 solid; vertical-align:top; }
.tdOverview   { padding: .3em; border: 1px #000 solid; border-bottom: 1px #000 solid; vertical-align:top; width: 50px; }
.tdOverviewField { padding: .3em; border: 1px #000 solid; border-bottom: 1px #000 solid; vertical-align:top; }
.tdOption    { padding: .3em; border: 1px #000 solid; border-bottom: 1px #000 solid; vertical-align:top; width: 50px; }
.tdOptionField   { padding: .3em; border: 1px #000 solid; border-bottom: 1px #000 solid; vertical-align:top; font-weight: bold; }
.tdValue    { padding: .3em; border: 1px #000 solid; border-bottom: 1px #000 solid; vertical-align:top; width: 50px; }
.tdValueField   { padding: .3em; border: 1px #000 solid; border-bottom: 1px #000 solid; vertical-align:top; background: #DCDCDC; vertical-align:top; }
.tdHelp    { padding: .3em; border: 1px #000 solid; border-bottom: 3px #000 solid; vertical-align:top; width: 50px; }
.tdHelpField   { padding: .3em; border: 1px #000 solid; border-bottom: 3px #000 solid; vertical-align:top; }
.thTop     { font-size: 1.5em; }
.thead     { background: #6699CC; }
.tbody     { background: #CAE5FF; }
/* This CSS section covers the Do Not change area. */
.line     { text-align: center; font-weight: bold; }
/* This CSS section covers the Solution Info table. */
.tableInfo    { margin: 1em; border-collapse: collapse; width:500px; }
.thInfo    { padding: .1em; border: 1px #E6E6E6 solid; border-bottom: 3px #E6E6E6 solid; border-top: 3px #E6E6E6 solid; vertical-align:top; }
.tdInfo    { padding: .1em; border: 1px #E6E6E6 solid; border-bottom: 1px #E6E6E6 solid; vertical-align:top; }
.tdInfoOption   { padding: .1em; border: 1px #E6E6E6 solid; border-bottom: 1px #E6E6E6 solid; background-color: #E6E6E6; vertical-align:top; text-align:center; }
.tdInfoLabel   { text-align:right; font-weight:bold; width: 90px; padding : .3em; border: 1px #E6E6E6 solid; border-bottom: 1px #E6E6E6 solid; vertical-align:top; }
</STYLE>

<!-- This section checks for jQuery being loaded and if not then loads jQuery based on the option value. 
     Script provided by Paul Grenier from endusersharepoint.com-->
<SCRIPT type=text/javascript>
if(typeof jQuery=='undefined'){
 var jQPath = document.getElementById('jQueryJS').innerHTML.replace(/(<([^>]+)>)/ig,"");
 document.write('<script src="',jQPath,'" type="text/javascript"><\/script>');
}
</SCRIPT>
<!-- This section is where .js and .css files can be loaded from anywhere based on the above option setting. 
     The script was provided by JavaScript Kit at http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml-->
<SCRIPT type=text/javascript>
function loadjscssfile(filename, filetype){
 if (filetype=="js"){ //if filename is a external JavaScript file
  var fileref=document.createElement('script')
  fileref.setAttribute("type","text/javascript")
  fileref.setAttribute("src", filename)
 }
 else if (filetype=="css"){ //if filename is an external CSS file
  var fileref=document.createElement("link")
  fileref.setAttribute("rel", "stylesheet")
  fileref.setAttribute("type", "text/css")
  fileref.setAttribute("href", filename)
 }
 if (typeof fileref!="undefined")
  document.getElementsByTagName("head")[0].appendChild(fileref)
}
// To load a css or Javascript file from options follow the example below.
// You will need to identify the id of the option that has the URL.
// Then identify if it is a JavaScript (js) and a CSS (css) file.
//var srcURL = $('#lyteboxJS').text();
//var hrefURL = $('#lyteboxCSS').text();
//loadjscssfile(srcURL, "js") //dynamically load and add a JavaScript file
//loadjscssfile(hrefURL, "css") //dynamically load and addd a CSS file
</SCRIPT>
<SCRIPT type=text/javascript>
// This displays the Solution Info when the user is in Edit Page mode.
$(document).ready(function(){
 if ($("#edmc2").length > 0){
  $('#instructions').show();
  }
 });
</SCRIPT>
<SCRIPT type=text/javascript>
// This script section identifies the variables and the solution script
// Variables are commented out till needed.
var opt1 = $('#option1').text();
var opt2 = $('#option2').text();
// Below add your JavaScript or jQuery solution referencing the above variables.
$.extend($.expr[":"], {
 "containsNoCase": function(elem, i, match, array) {
  return (elem.textContent || elem.innerText || "").toLowerCase
  ().indexOf((match[3] || "").toLowerCase()) >= 0;
 }
});
$(document).ready(function() {
 // curser on search box
 $('#txtSearch').focus();

 $('#FilterList').css('text-align', opt1);
 var commentShow = opt2;
 if (commentShow !== '') {
  $('#filterOptionShow').show();
  $('#filterOptionShowComments').html(opt2);
 }
 else {
     $('#filterOptionShow').hide();
 }

 var its = $('img').is("img[src*='/plus.gif']");
 if (its === true) {
  $('#addOption').show();
 }

 // execute the search
 $('#ClickSearch').click(function() {
                 $('table.ms-summarystandardbody').addClass('ms-listviewtable');
  // hide all rows
  $("table.ms-listviewtable").children('tbody').children('tr').hide();
  // show the matching rows (using the containsNoCase from Rick Strahl)
  $("table.ms-listviewtable").children('tbody').children('tr:containsNoCase(\'' + $('#txtSearch').val() + '\')').show();
  // show the header row
  $('.ms-listviewtabletr:first').show();
  $(".ms-viewheadertr").show();
  $('#txtSearch').focus();
 });
 $("#clear").click(function() {
  resetSearch();
 });
 $('#txtSearch').keydown(function(e) {
  //alert(e.keyCode);
  if(e.keyCode == 13) {
   $('#ClickSearch').click();
   return false;
  }
 });
});
function resetSearch() {
 // clear the textbox
 $('#txtSearch').val('');
 // show all table rows
 $("table.ms-listviewtable").children('tbody').children('tr').show();
 // remove the cancel search image
 $('#txtSearch').focus();
}
/*
* Copyright (c) 2009 Paul Grenier (endusersharepoint.com)
* Licensed under the MIT (MIT-LICENSE.txt)
*/
$(function(){
 jQuery.groups = {
  collapse : function() {
   $("img[src*='minus.gif']:visible").parent().click();
  },
  expand : function() {
   
   $("img[src*='plus.gif']:visible").parent().click();
  }
 };
 var expandAll = "<a id='clickAll' href='#' onClick="
 +'"'+"this.href='javascript:$.groups.expand()'"
 +'">Expand All Groups</a>',
 collapseAll = "<a href='#' onClick="+'"'
 +"this.href='javascript:$.groups.collapse(),resetSearch()'"
 +'">Collapse All Groups</a>';
 $("span#optionList1").append(expandAll);
 $("span#optionList2").append(collapseAll);
});
</SCRIPT>
<STYLE>
#FilterList   { text-align:right; }
.filterHeader   { font-weight:bold; text-align:right; vertical-align:middle; }
.filterTR     { padding: 2px; }
.filterBold   { font-weight:bold; }
.filterOption  { font-size: xx-small; }
#filterOptionShow { display: none; }
#addOption   { display: none; }
</STYLE>
<DIV id=FilterList>
<TABLE id=tableFilterList style="WIDTH: 500px" cellSpacing=0 cellPadding=0>
<TBODY>
<TR class=filterTR>
<TD class="filterHeader ms-vb" valign="bottom"><NOBR>Quick Staff Name Search:</NOBR></TD>
<TD class=ms-vp><INPUT id=txtSearch maxLength=70 size=25 name=txtSearch>&nbsp;<a href="#" id=ClickSearch>Filter List</a> | <a href="#" id=clear>Clear Filter</a></TD></TR>
<TR class=filterTR id=addOption>
<TD class="filterHeader ms-vb">Option:</TD>
<TD class=ms-vp><SPAN class=filterBold id=optionList1></SPAN><SPAN class=filterOption>&nbsp;&nbsp;(Click to Filter All Grouped Items)</SPAN><BR><BR><SPAN class=filterBold id=optionList2></SPAN><SPAN class=filterOption>&nbsp;&nbsp; (Click to Reset and Collapse List)</SPAN></TD></TR>
<TR class=filterTR id=filterOptionShow>
</TR></TBODY></TABLE></DIV>

Monday 20 October 2014

SharePoint Shared Services Restart Time Stamp

I recently came a across an issue where I suspected someone had restarted the SharePoint Shared Services Service on the WFE Server and may had changed the Log On account for the Service causing some issues for the Job Timers.

While looking around for evidence with an MS Engineer.  I learnt that every time the service restarts, folder is created at the location with a time stamp.

This location is at 



C:\Documents and Settings\All Users\Application Data\Microsoft\SharePoint\Config

Taking the picture above, one can conclude that the last time the Service was restarted was around 7/7/2014 at 2:52PM.


Thursday 16 October 2014

SharePoint Workflow Return field as Lookup Values, Comma Delimited

SharePoint 2010 Workflow lookup

Seems like in SharePoint 2010 they have addressed the issue where if you set up a column where it is a lookup of another table, there is an option to do the match and Return field as "Lookup Values, Comma Delimited"

This saves the need to create a temp variable to store the value that had to be done in SharePoint 2007 in order to do the match.


Friday 19 September 2014

Messing around with Access 2010 to generate SharePoint lists with lookup lists automatically

I recently wanted to experiment with Excel and Access 2010 to generate SharePoint lists.  I found that it would only generate the main table's and the lookup table's list in SharePoint if I had selected the relationship with these settings.

For example, if we had a main table that was say a list of staff members.  There was a field in it called Department and you wanted the field to become a lookup to the table called tbl_Department

In order to get both tables exported to SharePoint when you export the main staff table, here is what I had to follow for it to work, else I found it either:

1.  Would not export and link the lookup table
2. I would loose the data in the Department column in the main staff table.

Firstly, make all of the values in the Department column matches a lookup record in the tbl_department table,  Else this can cause a lost of data.  This includes trailing spaces in the data.  

Secondly, on the lookup table there needs to be a primary key ID auto increment field if there is one.  This is crucial for a link to be created so that it will export the table also to SharePoint with the main table.  However, if there is already data in the table, this seems to always cause a loss of data on the column in the main table after the link is created.  In order to cater for this, copy the table into say Excel, after the link is created and removed the data, use the Excel copy and re-paste the data back into the table.

Then, in the main staff table's design view choose "Lookup Wizard..." on the field that will become a lookup


Then choose first option click Next


Select the correct table.  In this case Departments.  Press Next.



Select the Department field and click Next



Select the Department field to list out for the field in the main staff table.  Hit Next.



The values are listed.  Hit Next.



Hit Finish and the link gets created.



Click Yes to save.


Click Yes as it will now link the table.  It is highly likely there will then be some data lost while the link is created.  This is why it is recommended a copy of the table be made in Excel before this operation.

Save the staff table.

Now open the staff table again you should see the Department field now has a drop down box that can be invoked and is linked to the tbl_department table.  Although most data may be gone and left blank.

Time to copy the column that has been saved in Excel back into the Access table.  If all the values in the lookup table match properly, it should just paste back in without any problems.

Export the staff table to SharePoint and voila you will find its exported and the tbl_Department table gets taken with it and you have both lists created with a lookup field made.

Tuesday 5 August 2014

Screen Flickering on All in One PC. Energy Efficient Intelligence issue?

This is a really crazy situation with a display monitor that I have running Win 8.  It has been flickering a bit I have noticed.  At first, I thought it was a driver issue or may be hardware.  I reverted back to the original drivers that cam with the machine since I know Windows Update has updated it recently with the latest Intel HD Drivers.  But it was to no avail. 

However, what intrigued me was somehow the HDMI in seem to be working flicker free.

I then stumbled upon this http://denis.doublebuffer.net/lablog/2012/11/19/fixing-the-screen-flickering-on-a-dell-inspiron-n5720-and-maybe-many-others/

It offered me an idea what may be wrong.  However, since my machine was not a laptop and cannot run on battery being an all in one, I was a bit lost.

I soon discovered a pattern, the flickering seem to start after a wake up from a machine sleep.  I then played around with the Energy Intelligent module that the machine runs in the background.  


I found if I toggle the settings to High by hitting the button with the leaf in the middle.

 The buttons would glow bright green and the re-toggle back to E mode with the button on the right.


The flickering would subside until the machine sleeps again and wakes up.

Seems like there may be a bug in this Energy Intelligence software, it is affecting the light in the LED when it is trying to save power.  


Wednesday 9 July 2014

A thing that I discovered with SSP Profiles and User properties such as email, seems to Cache at Site Collection

From experience working with accounts in Asia SharePoint is that sometimes an account's email settings can get cached into the SharePoint site collection or SSP's profile.  

For example, you may have a user who you look up and has been double checked by the IDM team to have the correct email address entered into AD and SharePoint people lookup dialog shows it.  However, you find repeatedly you can't pick up their email address in a workflow.

I found that sometimes, you may need to first delete the account from the site collections "All People" view first and then re-insert the user back into all the groups they had belonged to for the changes to get updated.  It can be very time consuming as some users belong to many SharePoint groups  and certainly before you delete the user, you need to make sure at least which important groups they had belonged to as deleting them would shut them out of parts of the system.  If AD groups been used instead then I suppose this problem may be less prevalent but I can't say for sure as in Asia SharePoint, we have had to use SharePoint groups rather than AD groups.

If they have a SSP profile, that profile needs updating and tends to take precedence over their AD settings.  Often the profile import synchronisation service may be turned off to alleviate bandwidth demand, therefore, the profiles may need to be updated manually when required. Once the SSP profile is updated, a background SharePoint job will sync the setting usually on the hour.  

Monday 23 June 2014

Enabling IE Dev Tools Settings if disabled by GPO

Sometimes Network admin policies just get over the top and especially for bods like us who require to have the IE Developer Tools enabled for script debugging etc.

Firstly check whether these 2 registry settings been set 

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\IEDevTools

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\IEDevTools

If they have been to 1, set them to 0 to disable these disabling keys ;-)

However , it is highly likely a Network GPO policy is overriding this setting therefore the trick is if you have admin rights on your local machine.  Create a local user on the desktop machine.  Then assign it as an administrator locally.  

Then login to the desktop eg .\user then password.

Then you should be able to open gpedit.msc from the run command.

Then check this setting below.


Computer Configuration -> Administrative templates -> Windows Components -> Internet Explorer -> Toolbars -> Turn Off Developer Tools = Set to Disable.  

Restart all IE instances and the F12 developer tools under Tools menu should be activated again.

Monday 16 June 2014

Space in Field Names

I think numerous people have mentioned this but it still stumped me for a while when I was trying to code a CAML query in SharePoint where I needed to get de-reference a field that had a space in it.

The field was name "A Type" and because of space or any other unsuitable characters, it will set it as such in its internal field name.

You can always find out what its internal name is by going to the List settings and columns, right click on the field hit properties and in the dialog window's look in the bottom of the Address URL property.

It will show something like this for "A Type" that is "A%5Fx0020%5FType"

Using A%5Fx0020%5FType in the JQuery code will not work as instead 

%dF needs to be underscore

Therefore, it should become A_x0020_Type in the field referencing code.

eg

 <viewFields> \
                 <ViewFields> \
                          <FieldRef Name='Title' /> \
                          <FieldRef Name='A_x0020_Type' /> \
                 </ViewFields> \
 </viewFields> \

And when using ows to get the xml nodes returned.

$(this).attr("ows_A_x0020_Type")

Thanks for this post to point me into the right direction.

http://abstractspaces.wordpress.com/2008/05/07/sharepoint-column-names-internal-name-mappings-for-non-alphabet/

I was scratching my head for a while.

To avoid this, never use space, semi colon or non alphanumeric characters when naming fields. Use underscore for space and this problem just gets side stepped.


Friday 23 May 2014

Portugal Nike shirt WC 14

Now this was what I called a kanny strip.  And Nike can sometimes do it but why can't they do this all the time.  This is so cool.  The pattern is hot and simple.  
The v neck is great and is like a classic shirt.
Badge is comfortably embroidered.
Sleeves and cuffs again nice.  Just the shirt is a bit too big as usual since it is Nike sized.  But it's easy to get altered with their straight seams.
Great looking from the back.  Psychedelic strip...  Shame that Portugal didn't do as well as they could have while wearing this during 14.  Otherwise this must be one of the all time best strips that they have had.  The material is decent but it could have been softer.  

Friday 16 May 2014

CAML Multiple And Conditions.

Ran into some trouble where I wanted to place 3 And conditions in the where clause of a CAML query to a SharePoint list with JQuery.

I kept on thinking it must be like below.  One And and then just add multiple contains.

<listName>Report Names</listName> \
<query><Query><Where><And> \
<Contains><FieldRef Name='Front_Desk_Dept'/><Value Type='Text'>"+myDeptValue+"</Value></Contains> \
<Contains><FieldRef Name='Report_Type'/><Value Type='Text'>"+myReportTypeValue+"</Value></Contains> \                  
<Contains><FieldRef Name='Region'/><Value Type='Text'>"+myRegionValue+"</Value></Contains> \
                         </And> \
                        </Where><OrderBy><FieldRef Name='Title' Ascending='TRUE' /></OrderBy></Query></query> \
<viewFields> \
<ViewFields> \
       <FieldRef Name='Title' /> \
       <FieldRef Name='Front_Desk_Dept' /> \
       <FieldRef Name='Report_Type' /> \
       <FieldRef Name='Region' /> \
 </ViewFields> \
 </viewFields> \



Instead additional And tag must be nested in the layer above.  I found below worked.

<listName>Report Names</listName> \
<query><Query><Where><And><And> \
<Contains><FieldRef Name='Front_Desk_Dept'/><Value Type='Text'>"+myDeptValue+"</Value></Contains> \
<Contains><FieldRef Name='Report_Type'/><Value Type='Text'>"+myReportTypeValue+"</Value></Contains> \
                                    </And> \
<Contains><FieldRef Name='Region'/><Value Type='Text'>"+myRegionValue+"</Value></Contains> \
                            </And> \
                        </Where><OrderBy><FieldRef Name='Title' Ascending='TRUE' /></OrderBy></Query></query> \
<viewFields> \
<ViewFields> \
       <FieldRef Name='Title' /> \
       <FieldRef Name='Front_Desk_Dept' /> \
       <FieldRef Name='Report_Type' /> \
       <FieldRef Name='Region' /> \
 </ViewFields> \
 </viewFields> \

Must thank the post below for pointed out the syntax

http://aasai-sharepoint.blogspot.hk/2013/02/caml-query-with-multiple-conditions.html

However, for some reason, when I added a 4th condition, it would only work is I further nested an And condition like below.

<listName>Report Names</listName> \
<query><Query><Where><And><And><And> \
<Contains><FieldRef Name='Front_Desk_Dept'/><Value Type='Text'>"+myDeptValue+"</Value></Contains> \
<Contains><FieldRef Name='Report_Type'/><Value Type='Text'>"+myReportTypeValue+"</Value></Contains> \
                         </And> \
<Contains><FieldRef Name='Region'/><Value Type='Text'>"+myRegionValue+"</Value></Contains> \
                         </And> \
<Contains><FieldRef Name='Report_Finder_Type'/><Value Type='Text'>"+myReportFinderType+"</Value></Contains> \
 </And> \
                        </Where><OrderBy><FieldRef Name='Title' Ascending='TRUE' /></OrderBy></Query></query> \
<viewFields> \
<ViewFields> \
      <FieldRef Name='Title' /> \
      <FieldRef Name='Code' /> \
      <FieldRef Name='Front_Desk_Dept' /> \
      <FieldRef Name='Report_Type' /> \
      <FieldRef Name='Region' /> \
      <FieldRef Name='Report_Finder_Type' /> \
</ViewFields> \

</viewFields> \

Thursday 15 May 2014

Select Boxes in SharePoint EditForm sometimes looks squashed, how can it be made wider

I think a lot of us had had this problem where in SharePoint the select boxes in its NewForm.aspx and EditForm.aspx looks too small.



There is a lot of workarounds suggested in these posts, all very useful.

http://social.msdn.microsoft.com/Forums/sharepoint/en-US/751b4339-f971-4a9c-afdb-f471ebb2c864/change-the-width-of-the-field-in-sharepoint-display-form-and-edit-form?forum=sharepointcustomizationlegacy

However, here is what I found works but the problem is you must add it in every newform or edit form where you need it.

You could include it in the site's css if you wush to apply throughout.  But in my case, I only needed it in one list's location.  So in the Newform.aspx and EditForm.aspx.

Add

<style type="text/css">
.ms-long 
{
width:900px !important;
}

td.ms-input div
{
width:400px!important;
height:180px!important;
overflow:auto;
}
</style>

This causes the form's fields to generally get wider.  The td.ms-input div width value causes the select's container wrapper to get bigger, which was probably the root cause of it looking squashed.

On IE browser, there was also a need to initialise the target and probably source select box to a certain width if it has nothing in it.

For some reason the select box's background looks a different shade if it's width is not initialised

Simply add a line of code in the page.  Set the width to the same as td.ms-input div.  In this case was 400px.

<script type="text/javascript"> 
document.forms['aspnetForm'].IDOFSHAREPOINTGENERATEDCONTROL.style.width = "400px";
</script>