26 Apr 2013

How to get SPUser or SPGroup from Person or Group field

You have person or group field in SharePoint list and you want to programmatically get the user or person.


The below code to gets SPUser from User or Group field in the list 
Multiple choice X
Groups X
 
//get SPUser
SPFieldUser userField = (SPFieldUser)item.Fields.GetField("Users");
SPFieldUserValue userFieldValue = (SPFieldUserValue)userField.GetFieldValue(item["Users"].ToString());
SPUser user = userFieldValue.User;

Multiple choice Y
Groups X

//Multiple choices are allowed
SPFieldUser userField = (SPFieldUser)item.Fields.GetField("Users");
SPFieldUserValueCollection userFieldValueCollection = (SPFieldUserValueCollection)userField.GetFieldValue(item["Users"].ToString());
foreach (SPFieldUserValue userFieldValue in userFieldValueCollection)
{
    Console.WriteLine("     " + userFieldValue.User.LoginName);
}


Group Y


//Group or User are allowed
SPFieldUser userField = (SPFieldUser)item.Fields.GetField("Users");
SPFieldUserValue userFieldValue = (SPFieldUserValue)userField.GetFieldValue(item["Users"].ToString());
//Tries to get SPUser
if (userFieldValue.User != null)
{
   SPUser user = userFieldValue.User;
}
//if the field contain group
else
{
  SPGroup group = web.SiteGroups.GetByID(userFieldValue.LookupId);
}
 
 

24 Apr 2013

SCR

http://web123.vn/hoidap/traloi/67694/van-de-thay-nhot-xe-lead.html

Xe tay ga thường khá đắt tiền, do đó việc bảo dưỡng kỹ xe tay ga không chỉ giúp chủ nhân giữ được xe mới, bền mà còn giúp tiết kiệm chi phí sửa chữa và giảm thiểu những phiền toái.

Bảo dưỡng xe còn giúp xe duy trì được hoạt động thật tốt, bảo đảm an toàn cho người vận hành và giảm ô nhiễm khí thải của động cơ.

Thời kỳ chạy rà máy (Rodage):

Chạy rà máy thường được thực hiện với 2000 km đầu tiên. Trong thời gian này, nên chạy xe với tốc độ không vượt quá 50 km/giờ. Trong 500 km đầu tiên, nên thường xuyên thay đổi tốc độ khi chạy nhưng không nên vượt qúa ½ vòng tay ga. Sau khi chạy được 1 giờ, bạn nên cho xe nghỉ 10 phút. Giai đoạn này nên kiểm tra thêm các bộ phận bôi trơn, thắng, dầu nhớt (nên thay nhớt từ 2 -3 lần trong 2000 km đầu), độ mở xupap, các đai ốc, bulong…

Bảo dưỡng kiểm tra định kỳ:

Chu kỳ bảo dưỡng trong giai đoạn này nên tiến hành thông thường sau mỗi 2000km. Tuy nhiên chu kỳ này có thể ngắn hơn nếu chế độ vận hành của xe quá khắc nghiệt, tải nặng hay điều kiện về hạ tầng giao thông không đảm bảo. Sau đây là bảng tham khảo về chu kỳ bảo dưỡng. Ngoài ra, bạn cũng nên tuân theo những yêu cầu hoặc khuyến cáo khác của nhà sản xuất:
Hạng mục - Chu kỳ

Kiểm tra ống nhiên liệu 4.000 km
Tính năng thao tác tay ga 3.000 km
Thay bầu lọc gió 4.000 km
Ống thông gió cacte 4.000 km
Thay Bugi 8.000 km
Kiểm tra và điều chỉnh khe hở xu pap 4.000 km
Thay dầu nhớt 2.000 km
Rửa lưới lọc dầu nhớt 10.000 km
Điều chỉnh cơ cấu garangti 4.000 km
Kiểm tra dây curoa truyền lực 8.000 km
Thay dây curoa mới 24.000 km
Thay dầu bánh răng hộp giảm tốc 2 năm
Kiểm tra hao mòn hệ thống thắng 4.000 km
Kiểm tra bộ phận ly hợp 8.000 km
Kiểm tra thắng, phuộc nhún 3.000 km
Kiểm tra bánh xe, săm, lốp 3.000 km
Kiểm tra ổ bi tay lái 10.000 km


Việc thực hiện các chế độ kiểm tra trên nên được thợ có chuyên môn tiến hành để đảm bảo các yếu tố kỹ thuật khi bảo dưỡng.

Đây là Kinh nghiệm quan trọng khi dùng xe ga


Không nên đề nổ máy rồi vận hành ngay, tránh lạm dụng phanh trước hay thường xuyên vệ sinh phao xăng là những kinh nghiệm nên biết khi sử dụng xe ga.

Nếu bạn muốn sử dụng xe ga đúng cách và giữ cho xe bền lâu thì hãy cố tránh những thói quen xấu sau:

1. Đề nổ máy và vận hành ngay

Giống như xe số, chủ của những chiếc xe tay ga cũng luôn mắc phải thói quen này. Tuy nhiên, đối với xe tay ga, thói quen này có sức "tàn phá" lớn hơn nhiều. Thông thường, xe tay ga luôn có vòng tua máy cao hơn so với kiểu xe số.

Chính vì vậy tại thời điểm khởi động, nếu không áp dụng phương pháp nổ galanti chờ ban đầu, những tiếng động lách cách hoặc thậm chí "rào rào" phát ra từ hệ thống supap của động cơ sẽ khiến chủ xe phải tốn khoản tiền khá lớn để khiến chiếc xe nổ êm trở lại.

2. Lạm dụng phanh trước


Với thói quen thuận tay phải, rất nhiều chủ xe quen thực hiện thao tác bóp phanh trước khi bị giật mình. Việc sử dụng phanh trước với xe ga xảy đến rất nhiều nguy hiểm do đường kính vành xe nhỏ, hành trình giảm xóc ngắn. Hãy luôn sử dụng đồng thời hai phanh sau và trước để đảm bảo an toàn nhất. Trên một số loại xe ga đời mới, hệ thống phanh đồng thời CBS luôn cho phép người sử dụng chỉ cần dùng một phanh trái là có thể dừng xe bằng cả hai phanh.

3. Xe ga như đi... xe số


Thực hiện những cú "ga thốc" cho xe vọt nhanh rồi sau đó phanh gấp sẽ khiến cụm côn ly hợp và dây cô roa truyền động nhanh bị hỏng hơn. Ngoài ra, khi thực hiện kiểu "ga thốc" và phanh liên tục cũng đồng nghĩa với việc bạn đang "ném" từng "cốc" xăng của mình đi một cách vô ích.

Khi thốc ga, chiếc xe cung cấp cho bạn một gia tốc lớn và mạnh để có thể di chuyển dài hơn. Thế nhưng khi bóp phanh gấp, xe giảm tốc độ đột ngột khiến bạn sẽ phải tiếp tục "nạp" một lượng xăng tương ứng để đi tiếp. Hãy luôn giữ tốc độ và tay ga được đều nhất có thể, điều này sẽ mang lại độ bền cho bộ ly hợp, dây cua-roa và tiết kiệm nhiên liệu hơn.

4. Không vệ sinh phao xăng

Đối với nhiều chiếc xe tay ga đời mới, nhiều xe như Honda Sh, Honda SCR... đều sử dụng kiểu phao xăng được thiết kế kèm theo một lưới lọc hình "chiếc lá" bao bọc lấy ống hút xăng. Cụm phao xăng nằm ngâm ngay trong bình chứa nhiên liệu.

Rất nhiều chủ xe đã bỏ qua chi tiết này khi tiến hành bảo dưỡng cũng như khi sử dụng. Điều này khiến cho tấm lưới lọc sau một thời gian sử dụng sẽ xảy ra hiện tượng mạt sắt và chất bẩn bám chặt vào lọc xăng dẫn tới tắc ống hút xăng, hỏng bơm xăng, hoặc "nhẹ nhàng" hơn là khiến chiếc xe không đạt được công suất và tốc độ tối đa do thiếu xăng. Vì vậy hãy luôn kiểm tra phao xăng vào những kỳ bảo dưỡng toàn bộ để chiếc xe có thể vận hành được tốt hơn

5. Không chờ đèn tín hiệu phun xăng FI tắt đã khởi động

Mang lại khả năng tiết kiệm nhiên liệu và vận hành êm ái, phun xăng điện tử mang lại nhiều ưu việt hơn loại chế hòa khí (bình xăng con) thông thường. Tuy nhiên, hệ thống phun xăng điện tử cũng cần phải được sử dụng đúng cách mới có thể vận hành tốt. Chính vì vậy, sau khi bật khóa điện, hãy chú ý chờ đèn tín hiệu FI tắt rồi hẵng bấm nút khởi động.

Nếu làm đúng cách này, hệ thống bơm nhiên liệu sẽ có thời gian nạp đủ nhiên liệu vào vòi bơm. Đồng thời hệ thống phun xăng cũng có khoảng thời gian để hoàn tất khâu khởi động nhằm phun nhiên liệu được chính xác và bền hơn. Còn nếu làm ngược lại cách này, hệ thống bơm nhiên liệu sẽ rất dễ bị hỏng. Ngoài ra, bạn cũng nên lưu ý việc bảo dưỡng làm sạch kim phun định kỳ theo hướng dẫn của nhà sản xuất.

6. Vận hành xe ở tốc độ chậm

Đa phần tầng lớp thanh niên và phụ nữ cũng như người lớn tuổi đều "thích" vận hành xe ga một cách chậm rãi để có thể nói chuyện, "ngắm phố phường" hoặc để an toàn. Tuy nhiên, với những chiếc xe ga sử dụng két nước, điều này vô tình gây ra tình trạng nhiệt độ xe tăng cao và xe tốn nhiên liệu hơn.

Khi vận hành những chiếc xe ga có sử dụng két nước, bạn nên đi ở một tốc độ trung bình khoảng trên 40km/h tùy mức độ an toàn cho phép của đoạn đường vận hành. Việc vận hành chiếc xe nhanh hơn một chút sẽ giúp lượng gió làm mát cho két nước được nhiều hơn và đỡ tốn nhiên liệu hơn.

Ngoài ra, không nên điều chỉnh cảm biến nhiệt độ kích hoạt hệ thống làm mát muộn hơn hoặc sớm hơn so với nguyên bản. Bởi động cơ khi quá nguội hoặc quá nóng đều không thể làm việc tốt. Nhiều trường hợp do thợ sửa xe điều chỉnh quạt làm mát khởi động sớm nhằm...tiết kiệm điện đã vô tình làm động cơ trở nên nóng hơn, nước sôi ở nhiệt độ cao và tăng khả năng sinh cặn tại két nước. Hãy luôn vệ sinh két nước và thay mới nước làm mát trong quy trình bảo dưỡng toàn bộ xe.

7. Xe ga có khả năng lội nước

Nhiều chủ xe nghĩ rằng, với thiết kế dạng "phi thuyền" những chiếc xe tay ga có thể lội nước một cách dễ dàng và an toàn. Tuy nhiên, thiết kế của động cơ lại trái ngược lại suy nghĩ này. Với thiết kế động cơ đặt thấp, cụm truyền động với nhiều lỗ thoát khí và hệ thống côn sử dụng kiểu "bi văng", nước là kẻ thù "không đội trời chung".

Những lỗ thoát khí trên cụm truyền động và bầu lọc gió đặt thấp luôn là những nơi mà nước có thể thâm nhập dễ dàng nhất. Và khi nước đã "nhiễm" vào cụm côn văng đồng nghĩa với việc chiếc xe sẽ đứng ì một chỗ trong khi động cơ vẫn đang "gào rú" do trượt bi côn.

Và chỉ một thời gian sau, hệ thống côn văng sẽ rất dễ bị han rỉ dẫn tới hiện tượng xe bị giật (hiện tượng này cũng xảy ra khi cụm côn xe bị bụi bẩn - PV). Đừng biến chiếc xe trở thành "ca nô bất đắc dĩ" và vệ sinh cụm truyền động thường xuyên sẽ giúp chiếc xe luôn vận hành được êm ái.

8. Dùng dầu nào cũng được

Với tâm lý "dầu nào rẻ thì thay" và "dầu nào cũng là dầu" của nhiều chủ xe sẽ khiến cho động cơ hay gặp trục trặc và độ bền giảm đi. Trên thị trường hiện nay, có rất nhiều loại dầu được bày bán với công dụng và tính năng khác biệt. Vì vậy, lựa chọn đúng loại dầu sử dụng cho xe ga là điều quan trọng.

Có nhiều cách để tìm đúng loại dầu cho xe mình, cách tốt nhất là hãy đọc kỹ loại dầu sử dụng cho xe được ghi trong sách hướng dẫn sử dụng mỗi khi mua xe mới. Khi thay dầu xe, hãy đừng "tiếc tiền" bởi dầu xe ga luôn đắt hơn xe số thông thường. Hãy hỏi kỹ loại dầu dùng cho xe ga trước khi thay dầu. Cách đơn giản nhất, trên mỗi chai dầu dùng cho xe ga luôn có chữ "scooter" ghi trên nhãn hộp.

9. Lắp còi báo động không ảnh hưởng tới xe

Vấn nạn mất cắp xe luôn là điều khiến nhiều chủ xe đau đầu, đối với những chiếc xe đắt tiền như Honda Sh, Piaggio LX, Honda Spacy... luôn là mục tiêu hàng đầu của bọn trộm. Rất nhiều chủ xe đã phải lắp đặt hệ thống báo động cho xe của mình. Nhưng với chất lượng và nguồn gốc xuất xứ không rõ ràng, trình độ thợ có tay nghề thấp có thể khiến xe của bạn gặp những hiện tượng như: cháy xe, chập điện, ổ khóa từ phát hiện "nhầm" khiến IC khóa từ khóa toàn bộ hệ thống điện trên xe dẫn tới việc chủ xe phải bỏ ra số tiền lớn để thay mới toàn bộ hệ thống IC và ổ khóa từ mới.
Việc lắp đặt thêm hệ thống báo động đòi hỏi chất lượng cũng như kiến thức và tay nghề của người thợ lắp đặt ở mức cao. Đối với những chiếc xe sử dụng ổ khóa từ như Piaggio LX, Honda Sh300i... Việc lắp đặt thêm hệ thống báo động là hết sức nguy hiểm đối với hệ thống điện trên xe. Cách tốt nhất, hãy luôn gửi xe ở nơi có người trông giữ. Điều quan trọng là luôn có sự cảnh giác cũng như cẩn thận cho chiếc xe mới mang lại sự an toàn tối đa chứ không phải do bất kể thiết bị hiện đại và tiên tiến nào.

10. Xe ga đắt tiền sẽ bền hơn và ít phải bảo dưỡng hơn

Sở dĩ có điều thứ 10 bởi người viết bài đã từng chứng kiến không ít những chiếc xe tay ga vốn đắt tiền thậm chí còn khá mới phải ở trong tình trạng "bổ máy" làm lại toàn bộ động cơ do những lầm tưởng về giá trị chiếc xe đi kèm với độ bền!

Nhiều chủ xe coi thường việc bảo dưỡng đúng quy trình và thời gian biểu cho chiếc xe của mình. Đối với một chiếc xe ga, việc bảo dưỡng thường xuyên và đầy đủ là điều hết sức quan trọng. Nó quyết định độ bền, tính kinh tế và vận hành êm ái, thoải mái khi sử dụng. Vì vậy hãy luôn chú ý tới các ghi chú mà nhà sản xuất đã đề ra và dành một chút thời gian để chăm sóc chiếc xe của mình một cách thường xuyên.

17 Apr 2013

Move/Migrate Sharepoint 2010 list based workflow

http://gavinmckay.wordpress.com/2011/08/29/howto-move-or-migrate-sharepoint-2010-list-based-workflows-between-sites-and-site-collections/


HOWTO Move or Migrate SharePoint 2010 List-based Workflows between Sites and Site Collections

I’ve experienced this issue a lot when trying to migrate workflows between test SharePoint 2010 farms and production farms, in particular with workflows attached to lists. When moving a workflow to another site collection or server farm, the association to the list is broken and the workflow cannot be attached to the list. You also cannot use SharePoint designer to fix this via the standard methods as the unattached workflow cannot be reattached to the list.
List-based workflows are tied to three different lists – the “main” source list where the data is held (such as a Forms library or custom list), a task list, and a workflow history list. The latter in particular is tricky, because it is a hidden list and cannot be viewed via the normal interface.
The fix for this is to modify the source workflow files to force the workflow to reattach to the list. The following method assumes that your new site/location that you are moving the workflow too does not yet have any workflows already attached to any lists on the site. When a workflow is created in a site for the first time, a Tasks list and a Workflow History list are automatically created/used by the workflow. These lists must exist before you can force your migrated workflow to attach to the list.

Step 1 – Create a Blank Workflow

  1. Using SharePoint designer, connect to your destination site
  2. Create a new list-based workflow called “test” (or whatever), attaching it to your migrated list
  3. Create one condition (i.e. if 1 = 1)
  4. Create one action (i.e. add comment “hello”)
  5. Save and publish the workflow
After this step has been completed, your site will now have a Tasks list and Workflow History list.

Step 2 – Get the list ids for your new workflow

The list ids are required to configure your migrated workflow.
  1. Using SharePoint Designer, connect to your destination site
  2. in the left-hand side, in Site Objects, select All Files
  3. in the All Files list, select Workflows
  4. Select your new workflow that you just created (in this example, “test”)
  5. You should see (at least) four files:
    text.xoml
    test.xoml.rules
    test.xoml.wfconfig.xml
    test.xsn
  6. Right-click on test.xoml.wfconfig.xml and select Open With, Notepad
  7. Look for the tag in the xml:
  8. Record the Guid entries for ListID, TaskListID, and HistoryListID

Step 3 – Update the migrated workflow

  1. Still using SharePoint Designer, All Files, Workflows, this time select your migrated workflow
  2. You should again see (at least) four files. Right-click on “your-workflow.xoml.wfconfig.xml” and select Open with SharePoint Designer (As XML)
  3. Find the Association tag and very carefully change the Guids so that your migrated List IDs are the same as the “test” workflow List IDs.
  4. Save the file
  5. Close SharePoint Designer
  6. Open SharePoint Designer again and open your site
  7. Instead of All Files, this time click on Workflows
  8. Select your workflow
  9. Save the workflow
  10. Publish the workflow
Your workflow should now be reassociated with your list on your new site.



16 Apr 2013

Microsoft.SharePoint.Portal.WebControls.TaxonomyPicker' issue in eventlog

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



9 Apr 2013

Using a date column in a sharepoint online web chart web part

I added a "web chart" web part to a sharepoint online page from the browser interface.

Next, I decided to run the Data connection wizard to connect my chart to an excel services. In the step 3 of the wizard (Retrieve and filter data), I can preview the Data.

There comes the problem: my Date column display five-digit integers instead of dates. I've tried to change the format of the column in the source excel book to YYYY-MM-DD, is does not solve my issue.

Go into page edit mode for the web part and select Advanced Properties. Click on the link for Series and scroll down to the Data section. Set either the XValueType or YValueType from Auto to Date and click Finish.

Chart web part with Excel services

http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/09/02/how-to-use-the-chart-web-part-with-excel-services.aspx

Using the Excel Services 2010 REST API


Discover Items in a Workbook
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model

Retrieve Various Items in Different Formats
http://myserver/mywebsite/_vti_bin/ExcelRest.aspx/Shared%20Documents/Sales_Report.xlsx/Model/Range




http://msdn.microsoft.com/en-us/library/ff961897(v=office.14).aspx

8 Apr 2013

Working with SharePoint 2010 Projects on Visual Studio Without Installing The Server


After spending unreasonable amount of time searching through the internet, reading blog posts and forums the only answer that I found to solve this problem was, “it is not possible, you have to install sharepoint server 2010 on your machine”, and if your operating system is windows 7, then the best thing you have to do is to find and install the beta version of sharepoint server 2010.
First step, from server machine (production server) run regedit and export the folder
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Shared Tools/Web Server Extensions/14.0]
Second step, on your local development machine, import the regedit file that you exported before or you can just only double click on exported regedit file. it will create a “Web Server Extensions” folder and the 14 hive registry for you.
 Finally, You will now be able to create a Sharepoint Project in Visual Studio 2010. When asked where the Sharepoint server is, tell Visual Studio it’s on your local machine. You will not be able to deploy locally (unless you actually *do* have Sharepoint installed), but you will now be able to create Sharepoint projects, and will be able to build package them.
NOTE: to be able to work on sharepoint developmentm for sure you will be need to add some sharepoint server assemblies to your project which will be not on your development machine like Microsoft.Sharepoint.dll.
I suggest you to copy those assemblies from your server machine (production server) and add them as references to your projects.
All SharePoint Server 2010 assemblies can be found under:
C:Program Files/Common Files/Microsoft Shared/Web Server Extensions/14/ISAPI
 Testing the environment
Create a project. To test, I simply created a Blank Sharepoint Project (first one was sandboxed, second one was full trust (farm)), and added a webpart with a label displayed.

protected override void CreateChildControls()
{
      base.CreateChildControls();
      Label l = new Label() { Text = "BLAH!" };
      this.Controls.Add(l);
}
Build the solution (so that you generate .pdb files) and then right click on the project in the Solution Explorer and choose “Package”. This will generate a .wsp file.
Now deploy your sandbox and the farm solutions as usual and see the results.

7 Apr 2013

Missing microsoft.sharepoint.dll in Visual Studio 2010 on client Win7 Pro64

Copy microsoft.sharepoint.dll from C:\Program Files\Common Files\microsoft shared\Web Server Extensions\14\ASPI on Sharepoint Server to C:\Program Files (x86)\Common Files\microsoft shared\Web Server Extensions\14\BIN on Win7 Pro64 then reference it from solution.

Total Pageviews