text:
You're leaving Wedding Paper Divas to see the Deal of the Day at our parent site, Tiny Prints.
You won't be able to dismiss this by usual means (escape or click button), but you can close it programatically based on user choices or actions.
"I can't say enough about how excellent this invitation is! We ordered them for our winter wedding and they are just exquisite. The paper is heavy and is very good quality, while the silver/grey text matches our wedding colors. All our guests are raving about them! I wish WPD had a wedding program to match this design because we would definitely use it!"
"These arrived last night and I'm simply thrilled with the result.They are for my upcoming winter wedding at a ski resort in British Columbia. I went with rounded edges and paid to have the glossed finished! Perfect!"
"We ordered this in the Pearly White paper with rounded corners - and they truly look elegant, but not over the top. I will say that this invite with both inner and outer envelopes, the enclosure card and the RSVP card requires a 66 cent stamp by .1 ounce. Unfortunate, but still very pretty and high quality."
"This invitation is absolutely amazing! The quality is perfect. I could not have asked for a more perfect invite to set the tone for our formal wedding! And the custom charcoal color came out to match perfectly!"
"This card could be customized, and the pattern was very elegant and classy. The card stock was fabulous, and the invitations actually arrived almost five days ahead of schedule, which was great! A great product and great experience!"


text:
Spalding County, Ga., native is recipient of 2004 History Faculty Scholarship
Presenting Tennessee Tech University's 2004 History Faculty Scholarship is, right, Jeffery J. Roberts, history chairperson. One of this year's recipients is, left, Charles D. Sears. The award is given to entering freshman majoring fulltime in history. Applicants completed a form, submitted a letter of recommendation from a high school history teacher and included a 200-word essay discussing the value of studying history in preparation for their careers. Sears graduated from Griffin High School in Spalding County, Georgia. He is also a member of the TTU History Club and Mortar Board Honor Society.

subset: commoncrawl


text:
Dessert First! by Madame Cocoa - Saturday 2pm-6pm
Let's face it - life is too short to skip dessert. Join Austin's chocolate expert Madame Cocoa on a walk through Central Austin's best places to catch your sugar high. Ever contemplated the differences between ice cream and gelato? Are beignets your morning indulgence or late-night snack? Would you eat Nutella on just about anything? When you select a Mexican food dish, does the chocolate in mole sway your choice? Can you really fry milk for dessert? We go WAY beyond cupcakes in this tempting tour, visiting one of the oldest candy-makers in Texas as well as food truck newcomers. Savory bites along the way help offset your sugar rush. The tour finale is one you will not soon forget, with desserts from one of the most acclaimed restaurants in the country.
Additional Information
Dessert First! is an afternoon walking tour spanning 4-6 city blocks. Your tour of the Rosedale area begins and ends in the shopping center at 4200 North Lamar Blvd. where Taco Deli, Houndstooth Coffee, and Uchiko are located. During the tour we visit 4-6 locations with a generous sampling of:
Sweet Texas history - pecan pralines, a "divine" nougat, and chocolate-caramel candies from a 5th generation Texas confectioner.
La Bella Vita in Austin - authentic handmade gelato and sorbetto tasting while we learn the secrets of an Italian master gelato maker.
Laissez les bon temps roulez - New Orleans style beignets with a food trailer twist.
Holy Mole - a savory break exploring mother of all Mexican sauces, Mole Poblano. Taste local, award-winning, traditional mole tacos - dark, rich, complex, with just a spike of chocolate.
From Mexico to Japan in half a block - Japanese farmhouse dining through acclaimed dessert creations.
Fine Chocolate Tasting - guided dark chocolate bar tasting of American small-batch chocolate, with tips on tasting, pairing, and buying fine chocolate and confections.
Things To Bring
- Your appetite and a sweet tooth - our savory and sweet tastings are generous, so come hungry.
- Comfortable shoes - the walk is not strenuous, but we will be crossing streets and navigating sidewalks and curbs.
- Money - all food and drink tastings are included, but bring cash because you probably can't resist some other stuff.
- A camera - to take pictures of your food like we do and post them on Facebook.
- An umbrella or hat for shade while walking.
All food and drink tastings at tour locations are included in the cost of the tour.
In the tourism industry, it is typical to tip a standard gratuity of 15% to 20% of the retail price of the tour. If you enjoyed your time on the tour, please be sure to take care of our tour guides.
Cancellation Policy
If a cancellation occurs within 24 hours of a tour, a $15 charge per guest will be assessed. No charge will be assessed for any cancellations in advance of 24 hours.
Weather Policy
We will hold a tour unless there is a severe weather warning. In case of severe weather, we will give a full refund to all tour participants. Severe weather includes heavy rainfall and/or thunderstorms. We will contact all guests by noon the day before the tour if we have to cancel due to severe weather.
Saturdays 2:00 pm
Uchiko, 4200 North Lamar Blvd, Austin, TX 78756.
Meet your tour guide on the patio, outside.
Limited Parking available.
Same as meet spot.
Additional Locations
My Order
Have a promotional code?
Click a date to book


text:
About the Speakers
Michael L. Perlis, PhD
Associate Professor of Psychology in Psychiatry, University of Pennsylvania
Director, Behavioral Sleep Medicine Program, University of Pennsylvania
Adjunct Faculty, School of Nursing, University of Pennsylvania
Course Role: Dr. Perlis is the primary lecturer for the Basic Seminar and co-leads the Advanced Seminar with Dr. Posner. The Basic Seminar was developed nine years ago to provide clinicians from all walks of professional life the education and tools they need to provide CBT-I. Dr. Perlis has been continually updating the course material and course offerings since 2005. Over this course of this time the seminar has been given in venues around the world and has attracted increasingly multidisciplinary audiences. The seminar, according to Dr. Perlis, represents his best effort towards a singular goal: "Make CBT-I widely available". The Advanced Seminar (first given in 2014) represents our effort to address more complex practice issues and to do so in a highly interactive manner where attendees and course faculty learn from one another.
Background: Dr. Perlis is internationally known for his work in the area of Behavioral Sleep Medicine (BSM). He is a coauthor of the first text book in this field and he is the senior author of a published CBT-I treatment manual and a larger text summarizing all BSM treatments. His research includes neurocognitive phenomena in insomnia, the cognitive and/or behavior effects of sedative hypnotics and placebos, the development of alternative treatment approaches for insomnia, and sleep in depression. His work has been, and continues to be, funded by the National Institutes of Health and he has published more than 100 articles and chapters on the sleep research related topics.
In addition to his academic endeavors, he has served on the editorial boards of Sleep, the Journal of Sleep Research, the journal of Sleep Medicine Research, and the journal of Behavioral Sleep Medicine. Dr. Perlis has also served as a member, or chair, of several committees and task forces of the Sleep Research Society and the American Academy of Sleep Medicine and he was a founding member of the Society of Behavioral Sleep Medicine and served as the society's first president (2010-2011).
Michael A. Grandner PhD
Instructor, Psychiatry, University of Pennsylvania
Faculty, Behavioral Sleep Medicine Program
Member of the Center for Sleep and Circadian Neurobiology
Member and the Institute for Translational Medicine and Therapeutics (Penn ITMAT)
Course Role: Dr. Grandner is lecturer for the Advanced CBT-I Seminar. He presents a detailed overview regarding the principles and practice of actigraphy.
Background: Dr. Grandner is a licensed clinical psychologist. His research focuses on how sleep and sleep-related behaviors are related to cardiovascular disease, diabetes, obesity, neurobehavioral functioning, mental health, and longevity. He is currently studying how sleep patterns are related to health and functioning, and the social, environmental, and behavioral factors that determine how we sleep. He has extensive experience working with actigraphy with over 10 years in both research and clinical applications.
Donn Posner, PhD
Adjunct Associate Professor of Psychiatry and Human Behavior, Brown University;
Adjunct Associate Professor of Psychiatry, Stanford University
Course Role: Dr. Posner is nationally renowned as a master CBT-I therapist and clinical educator. His role in the Basic seminar is to 1) provide the "in clinic point of view" on the didactic material being presented during the seminar, and 2) highlight and flesh out issues that arise during lectures or during the QnA components of the course. Dr. Posner is also available throughout the Basic Seminar to provide one on one responses to questions and concerns. He co-leads the Advanced Seminar with Dr. Perlis.
Background: Dr. Posner has been actively engaged in the treatment of sleep- disordered patients for the past twenty-one years. He sees a wide variety of patients, including those with Primary and Co-morbid Insomnia, Circadian Rhythm Disorders, Sleep Apnea, and Narcolepsy. In addition, half of his practice is involved with anxiety disorders and the behavioral treatment of such problems as Panic Disorder, GAD, OCD, PTSD, and Social Phobia. For the last sixteen years he has served as the lead supervisor and mentor for a sleep medicine and anxiety disorders rotation in the Behavioral Medicine track of the Brown Clinical Psychology internship. He is a member of the American Academy of Sleep Medicine and became one of the first certified Behavioral Sleep Medicine specialists recognized by that group.
Marnie G. Shanbhag, PhD, PA
Course Role: Dr. Shanbhag joined the Basic CBT-I course in 2010 to share her expertise on practice management, marketing, and billing.
Background: Marnie Shanbhag is a licensed psychologist in private practice in Winter Park, Florida. Dr. Shanbhag specializes in health issues and corporate psychology and divides her time between counseling individuals, couples, and employees and providing consultation services to local companies. Prior to private practice, Dr. Shanbhag served as the Executive Director of a nonprofit agency coordinating maternal and child health systems and taught at the University of Florida.
Dr. Shanbhag graduated from the University of Pennsylvania and earned her doctorate from the University of Florida after completing her psychology residency at the South Texas Veteran's Health Care System in San Antonio, Texas. She is a member of the American Psychological Association, the Florida Psychological Association, and serves on the Board of the Central Chapter of area psychologists. She can be reached at 407-644-5598 or email@example.com.


text:
At Sutra we take great pride in hand selecting the absolute best in the industry to compile our cherished Midtown Mafia. Sutra fosters an environment where professional, creative, health minded individuals can excel at their trade and are given the opportunity to make a difference in our community.
*Skullpt & Yoga Instructors
Seeking motivational, passionate, and authentic individuals to join the ranks of our skillful team. Must demonstrate a supportive, empowering and upbeat attitude and have the ability to be a valuable representative of our studio both on and off the mat. Must be professional, dependable, and have a natural ability to connect with people, a community focused mindset, and the knack to simply have fun. Candidates must be registered or certified in their respected fields and be able to execute their talents with complete confidence while bringing their total badassery to the team.
*Licensed Massage Therapists (LMT)
Seeking experienced, professional, therapeutic therapists trained in multiple disciplines and able to offering exceptional customer service. Must be flexible and dependable and enjoy working in a team environment. (Applicants must be licensed and insured in the State of Arizona)
*Smile Rep
Part-time 'Smile Representatives' to become a member of our fun and lively team. In this position you will be choosing to be part of a fun-loving environment and have a position with loads of responsibility, independence, and people interaction.{This position requires evenings and weekend availability}
At Sutra Midtown customer service and satisfaction are of the utmost importance. The individual filling this position will be the face and voice of Sutra Midtown for our customers. It is required to project a warm, friendly, understanding and kind attitude to every customer that you come in contact with. You will greet customers and check-in classes, both in person and over the phone. You will represent and promote the yoga classes, assist customers in choosing the best class for them, process class registrations and retail transactions. You will be expected to contribute to the continual improvement of front desk organization and business processes, perform administrative tasks such as record keeping, written correspondence, and ordering supplies. You will be required to help maintain a clean, healthy environment.
The ideal candidate will have:
A warm, friendly, helpful demeanor that shines through in face-to-face and phone interactions. Ability to handle customer demands with kindness, compassion and understanding while adhering to specified business practices and policies. Working knowledge of MindBody Online software and be adept with computers. Critical success factors are outstanding verbal communication skills; able to project sincerity, warmth, and excitement; outgoing personality with a pleasant disposition; strong organization and follow-through skills with a proven ability to multi-task; confidence to problem solve and think independently.
The Karma Sutra Initiative is an outreach program that aids in supporting local organizations, non-profits, and neighborhood beautification projects. We cherish those who support the vibrancy of the city and honor their visions of change by assisting them in reshaping our community. Our goal is to raise awareness and gain support for remarkable institutions striving to achieve greatness by offering donation based classes, workshops, and events.
Founded in 2009 by Sutra owners, Matthew & Rebecca Fritz, the Karma Sutra Initiative is a family's quest to put intention behind their behavior by bringing awareness to the Valley's life-changing organizations. Not only as a means to offer guidance to their four children, but as a tool to shine a light on those who make a differnence in our community.


text:
You're leaving Wedding Paper Divas to see the Deal of the Day at our parent site, Tiny Prints.
You won't be able to dismiss this by usual means (escape or click button), but you can close it programatically based on user choices or actions.
"We modified this so the 'Directions' were 'Dress' and made it the same size as the other headings. We also changed the border to match the RSVP and main invite as well as getting the yellow back."
"I was so impressed with this product. I told the designers that I did not need a "directions card" (because everyone uses GPS now), so instead I turned it into a "Reception" and "Accommodations" card, and gave information about both for everyone to have."
"I bought these to go with the Posh Palm invites, since that style didn't have an enclosure card. These were designed to match the font on the PP invites, and we selected the brown lettering color which matched well with the gold that we picked for the invites....together they look wonderful!!"
"I used this item sort of backward and nontraditionally. I made my big invitation for the reception due to inviting everyone there. I wanted to keep the ceremony more private, so I chose to use this Details card as a private Ceremony invite for immediate family. Since I was only getting a small number, I rounded the corners. I chose to keep the background color on front and back. I replaced the white, blaze and baltic colors with bay and ivory on blaze background."
"Overall we are very pleased with our wedding invitations. The enclosure card available with the invitations we purchased are plain. We thought it would have been more memorable and decorative to have some of the features that are provided on the invitation and RSVP."


text:
Durban OPEN
Despite cramps during the Durban Open final match, gold medallist Aleksandrs Samoilovs - with Janis Smedins - showed 2013 was an amazing year on the beach volleyball sands
Durban OPEN
After winning the Phuket Open in November new pair Chen Xue and Xinyi Xia claimed their second gold medal in a row on Saturday at Durban's New Beach by defeating Germany's Chantal Laboureur and Julia Sude (21-18, 21-18) in the final.
Phuket OPEN
The single-gender Open saw China's Chen Xue and Xinyi Xia clinch gold in only 36 minutes!
Xiamen GRAND SLAM
USA's Kerri Walsh and April Ross to win the last FIVB Grand Slam of 2013!
Xiamen GRAND SLAM
Alison Cerutti and Vitor Felipe of Brazil rallied past reigning Alexander Brouwer and Robert Meeuwsen of the Netherlands to win their 1st title together
Sao Paulo GRAND SLAM
The FIVB World Tour is back in Brazil! USA's 10th-seeded April Ross/Kerri Walsh overcame an intense struggle with Germany's 5th-seeded Laura Ludwig/Kira Walkenhorst to claim the women's gold medal!
Sao Paulo GRAND SLAM
What a crowd! Fans of Brazil celebrate Pedro Salgado and Bruno Schmidt victory under the sun of São Paulo
Moscow GRAND SLAM
After last June's great performance (gold in Corrientes, silver in The Hague and Rome), Latvia's Janis Smedins and Aleksandrs Samoilovs came back strong with gold at the FIVB Moscow Grand Slam
Moscow GRAND SLAM
Brazil's Maria Clara and Carolina Salgado claimed their first Grand Slam gold in Moscow. This is their fifth podium finish this season.
Berlin smart GRAND SLAM
Brazil's Talita and Lima broke German hearts when they fought back from four match points down to beat Holtwick and Semmler and win the Berlin smart Grand Slam gold medals
Berlin smart GRAND SLAM
Brazil's Vitor Felipe (here pictured) and Evandro Goncalves claimed the title at the Berlin Grand Slam - their first ever FIVB Beach Volleyball World Tour gold medal in their first final, in their first season together
Anapa OPEN
Russia's Konstantin Semenov and Yaroslav Koshkarev claimed their first gold medal in an FIVB event in front of an enthusiastic crowd
Long Beach GRAND SLAM
In front of a packed house, USA's Phil Dalhausser and Sean Rosenthal defeated Spain's Herrera and Adrian Gavira to win gold on home soil at the FIVB Long Beach Grand Slam, the first World Tour event in the USA in a decade.
Anapa OPEN
Evgenia Ukolova and Ekaterina Khomyakova wrote history becoming the first Russian team to win a gold medal in a FIVB World Tour or Open event on home soil. In the final of the Anapa Open they beat Germany's Teresa Mersmann and Isabel Schneider.
Long Beach GRAND SLAM
Brazil's Taiana Lima and Talita Antunes won their fourth gold medal of the season at the FIVB Long Beach Grand Slam while the silver medal went to anotehr Brazilian pair Maria Clara Salgado/Carolina Salgado
Under 19 World Championships Porto, Portugal 2013
Moritz Reichert and Clemens Wickler claimed the third gold medal for Germany in the 12-year history of the FIVB Beach Volleyball Boys' U19 World Championship
Under 19 World Championships Porto, Portugal 2013
Brazil's Eduarda Santos Lisboa and Taina Silva Bigi claimed the gold medal in Porto - the first for Brazil since 2005. The 14-year-old Eduarda won silver with Thais Rodrigues Ferreira just a few weeks ago at the U23 in her debut year.
Gstaad GRAND SLAM
Vice-world champions Ricardo and Alvaro of Brazil won their first gold medal as a team in Gstaad when they defeated Pedro and Bruno 2-0 (21-16, 21-18). For Alvaro the gold was his first in FIVB senior competitions.
Gstaad GRAND SLAM
Chinese duo Xue and Zhang Xi confirmed their strength and won gold in Gstaad one week after securing the World Championship title in Poland
FIVB Beach Volleyball WORLD CHAMPIONSHIPS Mazury
Alexander Brouwer and Robert Meeuwsen became the first Dutch team to win a World Championships medal when they beat Ricardo Santos and Alvaro Filho to claim gold in Stare Jablonki
FIVB Beach Volleyball WORLD CHAMPIONSHIPS Mazury
22-year-old Alvaro Filho from Brazil won silver alongside Ricardo Santos and was named MVP in Stare Jablonki
FIVB Beach Volleyball WORLD CHAMPIONSHIPS Mazury
Jonathan Erdmann and Kay Matysik earned the biggest prize of their careers by defeating 2011 world champions Alison Cerutti and Emanuel Rego to win the bronze with a 2-0 victory
FIVB Beach Volleyball WORLD CHAMPIONSHIPS Mazury
Top seeds Chen Xue and Zhang Xi from China completed fight back to win world title to add the gold medals to the bronzes they won at Rome 2011 and the Beijing 2008 Olympics and become the first Asian side to be crowned world champion
FIVB Beach Volleyball WORLD CHAMPIONSHIPS Mazury
The tournament's surprise package Britta Büthe and Karla Borger of Germany won silver and became the first European women's team to win a World Championships medal
FIVB Beach Volleyball WORLD CHAMPIONSHIPS Mazury
Brazilians Liliane Maestrini and Barbara Seixas claimed bronze in Stare Jablonki with a victory over USA's April Ross and Whitney Pavlik
Under 21 World Championships Umag, Croatia 2013
Poland's Jagoda Gruszczynska and Katarzyna Kociolek claimed the U21 world title. For Kociolek it was her second Umag gold after she finished first at the U19 World Champs two years ago with Karolina Baran.
smart GRAND SLAM - Rome
Talita and Lima won their third gold medal of the FIVB World Tour with victory in the women's gold medal matchover US pair Kessy and Ross
Under 21 World Championships Umag, Croatia 2013
Brazil's Gustavo Albrecht Carvalhaes and Allison Cittadin Francioni came all the way from the qualifications to the final. In a thrilling two sets they beat Canada's O'Gorman and Nusbaum.
smart GRAND SLAM - Rome
Rosenthal and Dalhausser won their first World Tour gold medals when they beat the Latvians Smedins and Samoilovs to earn Rosenthal his second consecutive gold medal in Rome
The Hague GRAND SLAM
Brazil's Bruno and Pedro claimed their first team gold at the Hague Grand Slam
The Hague GRAND SLAM
Taiana Lima from Brazil dives for the ball as she and Talita Antunes defeated Maria Clara and Carolina Salgado in the all-Brazilian women's final of the Transavia The Hague Grand Slam
Under 23 World Championships Myslowice, Poland 2013
Smiles all-round from the inaugural 2013 FIVB U23 Beach Volleyball World Championships medallists
World Cup Final
The medallists (from left) USA, Brazil, Latvia listen to the Brazilian national anthem of champions Alison Cerutti and Emanuel Rego, World Cup Final, Campinas, Brazil
World Cup Final
Brazil's Talita Antunes blocks Australia's Louise Bawden at the World Cup Final in Campinas, Brazil
Corrientes GRAND SLAM
Latvia's Aleksandrs Samoilovs celebrates victory in the final of Corrientes Grand Slam
Corrientes GRAND SLAM
Corrientes' medallists after the award ceremony: Brazil's Maria Antonelli and Agatha Bednarczuk - silver, the Netherland's Madelein Meppelink and Sophie van Gestel - gold, Brazil's Maria Clara Salgado and Carolina Salgado - bronze
Shanghai GRAND SLAM
Following a well earned victory over the Salgado sisters in an all-Brazilian semifinal, Talita/Taiana went on to beat Austria's Schwaiger sisters in the Shanghai GRAND SLAM women's final
Shanghai GRAND SLAM
USA's Jacob Gibb and Casey Patterson won an entertaining battle against Brazil's Pedro Solberg Salgado and Bruno Oscar Schmidt in the final of the Shanghai GRAND SLAM
Fuzhou OPEN
China's Chen Xue and Zhang Xi thrill the home crowd sweeping gold after defeating Spain's Liliana Fernández Steiner and Elsa Baquerizo McMillan on the final day of the Fuzhou Open
Fuzhou OPEN
USA's Sean Rosenthal and Philip Dalhausser clinched gold after beating Italy's Nicolai Paolo and Daniele Lupo in the final of the Fuzhou Open in China
| London
2012 Olympic Games
Final ranking
Men | Women
Full results
Men | Women
Special Olympic Review in VolleyWorld


text:
- 21st Century Health
- Amazing Grass
- Bluebonnet
- California Xtracts
- Carlson Labs
- ChildLife
- Country Life
- Doctor's Best
- Eclectic Institute
- Enzymatic Therapy
- Enzymedica
- Gaia Herbs
- Garden of Life
- Healthy Origins
- iHerb Brands
- Jarrow Formulas
- Life Extension
- Madre Labs
- Natrol
- Natural Factors
- Nature's Answer
- Nature's Plus
- Nature's Way
- New Chapter
- Nordic Naturals
- AnneMarie Borlind
- Aubrey Organics
- Avalon Organics
- Aveeno
- Azelique
- Badger Balm
- Derma E
- Desert Essence
- Earth Mama Angel Baby
- Ecco Bella
Customer Reviews
5 people found the following review helpful
Posted by HealthyGuy From Canada on Nov 24, 2010
Purchased at iHerb
I find this Nutritional Yeast a bit too sour for my liking. I prefer the NOW brand.
Good nutrition for dog
3 people found the following review helpful
Posted by Reviewer2831360 From Iowa on Dec 22, 2009
Purchased at iHerb
I got these to add to my dog's diet - she has alot of allergies and I found a recipe in a book that included this ingredient. Not that easy to find so was glad to find it here and at a reasonable price. Its a good source of B vits for her and I mix it in her food. Seems like it would be easy to mix into many recipes. I do believe this recipe is helping her skin problems. I'm glad it comes in a big box! I will order it again.
1 person found the following review helpful
Posted by Reviewer2295762 From California on Apr 09, 2010
Purchased at iHerb
One of the best tasting nutritional yeasts out there. I've tried a few others that were more bitter and not as tasty!
Yeast Flakes
1 person found the following review helpful
Posted by Reviewer2124006 From Australia on Aug 22, 2010
Purchased at iHerb
I had a very pleasant and smooth transaction when ordering my product. It came in the mail within the time frame that was mentioned and I was very happy indeed with the whole process. My product is also excellent and it helps me to make a yummy sauce for fettechine that is creamy and almost like cheese. wonderful!!
I buy this product monthly!
1 person found the following review helpful
Posted by Reviewer1510790 From Pennsylvania on May 05, 2011
Purchased at iHerb
Being Vegan, you tend to use alot of Nutritional yeast... therefore, KAL is great because it is tasty, cheap on IHerb, and big enough to last a month or so!


text:
Dictionary definitions
- Enter a word for the dictionary definition.
From The Collaborative International Dictionary of English v.0.48:
Orient \O"ri*ent\, n. 1. The part of the horizon where the sun first appears in the morning; the east. [1913 Webster] [Morn] came furrowing all the orient into gold. --Tennyson. [1913 Webster] 2. The countries of Asia or the East. --Chaucer. [1913 Webster] Best built city throughout the Orient. --Sir T. Herbert. [1913 Webster] 3. A pearl of great luster. [R.] --Carlyle. [1913 Webster] .
From The Collaborative International Dictionary of English v.0.48:
Orient \O"ri*ent\ ([=o]"r[i^]*[e^]nt), v. t. [F. orienter. Cf. Orientate.] 1. To define the position of, in relation to the orient or east; hence, to ascertain the bearings of. [1913 Webster] 2. Hence: To acquaint with new surroundings or a new situation. [PJC] 3. Fig.: To correct or set right by recurring to first principles; to arrange in order; to orientate. [1913 Webster] 4. Same as Orientate, 2. [Webster 1913 Suppl.] 5. To place (a map or chart) so that its east side, north side, etc., lie toward the corresponding parts of the horizon; specif. (Surv.), to rotate (a map attached to a plane table) until the line of direction between any two of its points is parallel to the corresponding direction in nature. [Webster 1913 Suppl.] .
From The Collaborative International Dictionary of English v.0.48:
Orient \O"ri*ent\ ([=o]"r[i^]*ent), a. [F., fr. L. oriens, -entis, p. pr. of oriri to rise. See Origin.] 1. Rising, as the sun. [1913 Webster] Moon, that now meet'st the orient sun. --Milton. [1913 Webster] 2. Eastern; oriental. "The orient part." --Hakluyt. [1913 Webster] 3. Bright; lustrous; superior; pure; perfect; pellucid; -- used of gems and also figuratively, because the most perfect jewels are found in the East. "Pearls round and orient." --Jer. Taylor. "Orient gems." --Wordsworth. "Orient liquor in a crystal glass." --Milton. [1913 Webster]


text:
Students of Catholic Junior College may be greeted by the sight of a new school crest by the end of the year.
Its principal, Mrs Christine Kong, said a survey has been sent out to all stakeholders of the school to gather feedback on some proposed changes, the most significant of which is the replacement of the dove in its current crest with a flame (above).
Alumni and current students The New Paper spoke to were mostly against the change.
Change for the sake of change, or change with a reason, or change due to whimps and fancy, or change in the name of image, or change because it is part of the game, or change to keep everyone on their toes, or......what?
Have the people behind the change give a thought to the following:-
"Will the change make the school any different? Just like if you call a Rose by any other name, would it look different or smell different?"


text:
Smartraveller: The Australian Government's travel advisory and consular assistance service
Latest travel advice updates
- Kenya - updated 24 April 2014
- Bahrain - updated 24 April 2014
- Vietnam - updated 24 April 2014
- Solomon Islands - updated 23 April 2014
- Burundi - updated 23 April 2014
- Cameroon - updated 23 April 2014
- Samoa - updated 23 April 2014
Latest travel bulletin updates
- Middle East Respiratory Syndrome Coronavirus (MERS-CoV) - updated 24 April 2014
- Anzac Day 2014 - Gallipoli, France and Belgium - updated 21 April 2014
- Ebola outbreak in West Africa - updated 08 April 2014
Other news
- New business travel advice includes information about overseas travel risks that employers and business travellers should consider, and case studies of risk mitigation measures applied for short and long-term overseas travel.
- Natalie Hensby, a young Aussie who was pulled unconscious and seriously injured from the water after a horrifying boat crash in Thailand, features in our latest Smartraveller TV ad. Thanks to her comprehensive travel insurance she received the best possible medical care and made a full recovery. "Travel insurance didn't just save me $100 000, it saved my life".
- Volunteering overseas can be a very rewarding experience. Take a look at our tips for ensuring your volunteering experience is safe ethical and worthwhile.
- Our advice on partying safely overseas has been updated. Take a look at our latest tips for staying safe and keeping out of trouble.
- Smartraveller is now on Twitter! Follow us for travel advice updates and other hot tips for staying safe and well overseas. You can also join us on Facebook and check out our videos on YouTube.
- News archive


text:
About Us
Castlevania: Lords of Shadow 2
The Wolf Among Us – Episode 3: A Crooked Mile
Warlock II
Super League Football
Vizio 54" Soundbar 3.0
Diablo III: Reaper of Souls
Dark Souls 2
Kinect Sports Rivals
GN Unplugged
Hooked Up
Indie Spotlight
Now Loading
Pixels & Bits
Defunct Games
Russell Archey
Tom Bitterman
Sean Cahill
Nathan Carter
Nathaniel Cohen
Sean Colleli
Jeremy Duff
Dave Gamble
Travis Huinker - updated
Charles Husemann
Randy Kalista
Dan Keener
Jeff Kintner
Cyril Lachel
Cary Lange
Matt Mirkovich
Sam Stewart
John Yan
My Settings
posted 1/3/2007 by
Randy Kalista
other articles
by Randy Kalista
One Page
Gothic 3
is the trueborn successor of this series' uninterrupted bloodline of audacious system requirements, die-and-die-again combat ethics, and penciled-in queues of Post-It Note mission objectives. While free-range gameplay has strode ahead confidently in every gaming genre,
'slineage has always been unfocused somewhere in the backdrop, shoulders slumped in a constant game of catch up, offering a mumbling array of fixes and apologies but generally losing its bearings in this post-
world we now live in.
On paper, it sounds like the Piranha Bytes production team gets everything right: An enormous and seamless world to explore, classless character development, and one helluva fork-in-the-road choice regarding the story's outcome. But when it comes to execution, Piranha Bytes look like they're recreating gameplay mechanics assembled from rumors and hearsay. Its ambition outstrips its resources at every overreaching turn. Since fantasy fiction (ironically) relies so heavily on established archtypes, getting those archetypes
and utilizing them
becomes that much more difficult of a task. And -- in
Gothic 3
's case -- since the game designers and story writers share the same credits, I suspect they're now just realizing that designing a
and writing a
require two dissimilar skill sets. They fill out differing (but not necessarily opposed) lines on a resume.
Keeping your sense of humor intact is the number one rule of survival in
Gothic 3
. Finding out what your character is and isn't capable of doing allow for moments of unintentional hilarity and/or head scratching. Can I pilfer this chest or help myself to the goods displayed on that table? I didn't mean to draw my blade -- will the mage
talk to me again for that infraction? And I can understand why his guard kicked my ass for unsheathing my weapon, but did he have to pick my pockets while I was unconscious, too? Never mind, he seems okay with me sleeping until noon in his bed so I can heal.
This level of experimentation will cull several reloads out of you, but the load screens are so long that you can also finally make significant progress on your third rereading of the Dragonlance Chronicles Trilogy. The
Gothic 3
story sidesteps a few typical RPG tropes by not making your basic orc horde a shapeless threat … they're actually society's
ruling class
in the land of Myrtana. And you, our nameless, unskilled, and death-prone hero, have a cliff-hanging decision to make. Do you rally with the orcish empire, or dig in with the human resistors?
Whomever you choose as an adversary, combat plays a ubiquitous role over every square kilometer of the map. Fights are furious and endurance draining, though enemy health and the overall damage-dealing model seeps into nebulous territory. The "free-range" aspect is only a thin and unsubstantial veil over the escalating ferocity of your enemies; you'll know the
moment your overly-courageous antics have stepped beyond their level boundaries.
Even if you conquer an encounter, superficial methods are in place to invite you back needlessly to old locales, namely with treasure chests that are too difficult to unlock considering your current skill level. But it all pans itself out as an unnecessary exercise in rote memorization. What could
be so fantastic in that admittedly unremarkable chest that would entice you to solidify its map location in your brain to return at a later chapter? Can collecting on these past-dated goods
be worth the time and effort in a game already taxing all of your time and effort?
Page 1 of 2
Previous Page
Go to page
of 2
Next Page
Gaming News
Copyright © 1997 - 2014 Gaming Nexus.
All rights reserved. All trademarks are properties of their respective owners.


text:
Rihanna Search Results
Rihanna | Celebrity | Wonderwall - MSN EntertainmentEverything you ever wanted to know about Rihanna on Wonderwall.com, the fun interactive celebrity destination from MSN...Wonderwall
Rihanna courts controversy with joint pictures | Story ...Rihanna has courted controversy by posting pictures of herself posing with what appears to be two giant marijuana...Wonderwall
The Shortlist for May 14 | Gallery | WonderwallEat your heart out, "Swamp People." On Saturday, Rihanna took to Facebook to share a series of behind-the-scenes photos...Wonderwall
Rihanna cozying up to another rapper? | Story | WonderwallFor some reason, the rumor mill loves the idea of Rihanna dating a rapper, and for at least the third time this year,...Wonderwall
Rihanna on Chris Brown: 'He Was the Love of My Life ...In spite of everything, Rihanna still has a soft spot for Chris Brown. During her candid conversation on the Aug. 19...Wonderwall
Rihanna, JWoww, and more stars with sexy bikini selfies ...By Katie Mathewson What big change happens on social media between spring and summer? Those selfies that celebs are so...Wonderwall
Rihanna: People Need To Support Chris Brown | Gallery ...Entertainment Tonight. Rihanna has come under fire for reuniting with her ex, Chris Brown, given their very public...Wonderwall
Rihanna: A guide to her tattoos | Gallery | WonderwallBy Rebecca Silverstein Happy 26th birthday, Rihanna! What better way to celebrate this tattoo-loving singer's big day...Wonderwall
Rihanna | Celebrity | WonderwallEverything you ever wanted to know about Rihanna on Wonderwall.com, the fun interactive celebrity destination from MSN...Wonderwall
Rihanna is Committed to Chris Brown, Dreams of Becoming a ...Wonderwall Editors. The world freaked out plenty when Rihanna rekindled her relationship with Chris Brown, an...Wonderwall
From Elle
From Crowd Ignite


text:
Gardening Equipment
Find a great selection of gardening equipment, including sprayers, garden hoses, wheelbarrows and more.
Gilmour Oscillating Sprinkler 7900PM$9.99
- 15 spray jets
- works with high or low pressure
- no hesitation resists clogs
- quick-set watering coverage
- easy connection swivel nut
Gilmour Multiple Pattern Nozzle 417$9.99Product Features
- Easy Grip
- Built-in flow control
- Curved design for better hand fit
- All metal body and handle
- Versatile 8 pattern dial
Gilmour Short Gentle Spray Water Wand$10.99Product Features
- Adjustable head angle for ease of use
- Versatile 8 pattern dial
- Comfort Pistol Grip
- Convenient size
- 16 inches long it has more reach than ordinary nozzles
Gilmour Hose Faucet Extention FX6$9.99Product Features
- Flexogen hose extends faucet 6-feet to front of hedge for easy connection to faucet
- Heavy-duty 500 PSI burst strength
- Faucet designed for easy operation
25' Pocket Hose - As Seen On TV$9.98
Introducing the As Seen On TV Pocket Hose, the garden hose that's small enough to fit in your pocket, then expands automatically to a giant full sized hose! Just turn on the water and watch this mini hose grow to maximum length like magic! Pocket Hose is super lightweight and easy to handle, making it convenient to hang or store anywhere - even in your pocket! And, when you turn off the water to the Pocket Hose, it shrinks back to its original mini size, practically putting itself away. Best of all, it never kinks, twists or tangles like ordinary hoses! The secret is Pocket Hose's expandable accordion design that helps it grow long and strong enough for any tough job. Perfect for gardens, terraces, patios and more, you just turn on the water and watch Pocket Hose grow and grow and grow!
- Small enough to fit in your pocket when collapsed
- Long and strong enough for any job when expanded
- Expands up to 25 feet long
- Kink, twist and tangle proof
- Super lightweight and hangs or stores anywhere
Apex, 5/8 X 25' Never Kink, 8605-25$9.99Product DescriptionNTS Reflex Mesh is a patented manufacturing process that makes the hose straighten itself. Guaranteed NOT to kink, twist, or tangle. Solid brass octagon coupling provides a wrench-tight no-leak connection. Protective collar reduces kinking at the faucet. MicroShield antimicrobial protection guards against mold and mildew. Available in 5/8" diameter. Green. Lifetime replacement guarantee.Product Features
- Guaranteed not to kink or tangle
- Long lasting, solid brass couplings
- Contains Microshield to prevent mold & mildew
- 5/8" x 25'
Gilmour Adjustable Rotary Lawn Sprinkler 184SPB$9.99Product Features
- Rotary
- Square Spray Pattern
- Durable, rust resistant poly sled base.
- Three arm rotary head provides adjustable square watering pattern.
- Water coverage up to 50 square feet. High impact poly construction.
Gilmour Telescoping High Rise Sprinker 894$9.99
- Water coverage up to 50 ft.
- Adjustable aluminum pole telescopes from 24" to 40"
- Metal screen filter prevents clogging
- Impact resistant, rustproof polymer head and spike
Gilmour Flat Weeping & Soaking Hose 27050G$11.99Product Features
- Very efficient watering
- Great for new plantings
- Keep your plants looking beautiful
- Flexible and easy to handle
- 50 feet in length
Natura Grass Shears 12.5"$9.99
- For trimming and edging
- Durable stainless steel blades
- Self-sharpening serration blade


text:
by Work It, Mom! Team |
1603 views |
0 comments
Rate this now!
Now there's some news to make you smile -- people who have more and closer friendships live longer, are less stressed, and are able to take on challenges easier.
No comments yet.
Check out our best tips for balancing work and home life.
Browse our favorite quick and easy recipes, perfect for busy moms.
What working moms are talking about on our question board!
The Same But Different
Mom On A Budget
Family Craft Ideas
© 2014 June Media Inc All rights reserved


text:
Bad investors v. good investors in the California housing market
Justin Sullivan/Getty Images
A foreclosure sign sits in front of a home for sale.
This is from AP (via the Washington Post):
A new federal report shows that speculative real estate investors played a larger role than originally thought in driving the housing bubble that led to record foreclosures and sent economies plummeting in Nevada, California, Arizona, Florida and other states.
Researchers with the Federal Reserve Bank of New York found that investors who used low-down-payment, subprime credit to purchase multiple residential properties helped inflate home prices and are largely to blame for the recession. The researchers said their findings focused on an "undocumented" dimension of the housing market crisis that had been previously overlooked as officials focused on how to contain the financial crisis, not what caused it.
The story goes on to point out that less swashbuckling investors in Nevada are now buying foreclosed, abandoned homes, "fixing them up" and selling them.


text:
Fall Clark Fellow Lectures Conclude November 29 with University of Florida Professor Melissa Hyde
For Immediate Release
November 15, 2005
The Research and Academic Program of the Sterling and Francine Clark Art Institute concludes its fall series of free lectures by Clark Fellows with Melissa Hyde discussing "Self-Portraits of Others in Eighteenth-Century French Painting" on Tuesday, November 29 at 5:30 pm. The public is welcome to attend Clark Lectures, in which visiting scholars present recent research to the academic community. The lecture will be accompanied by refreshments.
Hyde is associate professor of art history at the University of Florida, where she teaches 18th- and 19th-century European art. She has published extensively on gender and visual culture in 18th-century France. Her most recent work is Making Up the Rococo: François Boucher and his Critics (2006), a book that challenges perceived notions about Boucher and the "femininity" of the rococo style with which he is associated. At the Clark she is laying the groundwork for her next book, with two essays that examine how competing conceptions of gender inflect the painterly identities and practices of several 18th-century French artists, including Boucher and his pupil Fragonard, as well as lesser-known painters. Hyde's lecture will examine how some of these artists figured their artistic identities at moments of particular tension about the understandings of the differences between men and women.
The spring Clark Lecture series begins February 14, 2006 with Alice Jarrard of Harvard University.
The Clark announced 14 Clark Fellows for the 2005-06 academic year. Fellowships are awarded to national and international scholars, critics, and museum professionals whose work extends and enhances the understanding of the visual arts and their role in culture. The program encourages a critical commitment to research in the theory, history, and interpretation of works from all periods and genres.
The Clark is located at 225 South Street in Williamstown, Massachusetts. The galleries are open Tuesday through Sunday from 10 am to 5 pm (daily in July and August). Admission is free November through May. Admission June 1 through October 31 is $10 for adults, free for children 18 and younger, members, and students with valid ID. For information, call 413-458-2303 or visit www.clarkart.edu.


text:
Boom or Bust: Will Melvin Ingram thrive where Larry English failed?
The San Diego Chargers have been down this road before, of course.
Three years ago, at the 2009 draft, the Chargers drafted Larry English out of Northern Illinois, with the hope that his pass-rushing ability would translate to stardom at outside linebacker in the NFL. It hasn't happened — at least not yet. English has had one disappointing season after the next, culminating in 2011, when he played just five games and finished with seven tackles and two sacks.
So, San Diego hit the reset button with the 18th pick and selected Melvin Ingram from South Carolina.
The similarities are obvious: English runs at 6-foot-2, 255 pounds; Ingram 6-2, 264. Both guys played primarily along the defensive line in college, then faced a move to linebacker in the Chargers' 3-4. At one point or another leading up to the draft, English and Ingram were each compared to Pittsburgh's LaMarr Woodley.
The difference — or, at least, what the Chargers hope is the difference — is that Ingram already has shown the versatility to line up just about anywhere, which should make his shift to an OLB spot that much easier.
Examples? You got 'em:
First and foremost, here's one of Ingram as a traditional 4-3 defensive end. On the play pictured he was matched up against a tight end as the left tackle pulled — Ingram blew through that block and got to the running back.
That alone is a good sign for the Chargers, since, if Ingram lines up as a wide linebacker in the 3-4 and everything goes according to plan with San Diego's defensive linemen, Ingram could find himself dealing with plenty of one-on-ones against tight ends.
He has the size to engage them physically, but also brings enough quickness to the table to blow past them.
Example No. 2 is as eye-popping a piece of evidence as you'll find regarding Ingram's raw ability. Here, he's lined up as a defensive tackle — remember, 6-foot-2 and at a playing weight of around 275 last season — and shoots the "A" gap between the center and guard to bring down the ball carrier.
A player of Ingram's size simply is not supposed to be able to do that, and it speaks to some of the different ways that San Diego might be able to use him. While his best days are ahead of him as a rush linebacker, it's far from out of the question that he slide down and play with a hand in the dirt up front. In fact, a lot of Ingram's production during his senior season came from the tackle spot.
Contrast that with Jerel Worthy, whom we looked at on Tuesday — he was mostly a 4-3 defensive tackle in college, but his size (6-3, 308) means he could be in for an adjustment period as he, most likely, shifts to an end spot in Green Bay's 3-4.
We're talking about Ingram, at 30-40 lighter than Worthy, being able to take on similar tasks. Amazing.
Now, two looks that put Ingram in a position more like what he'll see in San Diego. This is still technically a 4-3 front from South Carolina last season, but the way in which Ingram is utilized converts well to a 3-4.
He's standing up wide on the left side of the Gamecocks' line, then rushes straight upfield after the snap.
Here's another shot of Ingram in a stand-up spot — on this particular play, he showed blitz, then dropped back into coverage before eventually converging on the quarterback on a rollout.
Assuming San Diego uses Ingram as a rush linebacker, he'll probably slide even further out, but his experience at South Carolina gives him a pretty solid base to start from. It is that versatility that made Ingram such an attractive first-round prospect.
The main knock on him was that he has short arms, which can be a problem for players trying to get past NFL-caliber linemen. San Diego figured he was well worth the gamble anyway.
With all that information on the table, what is Ingram's outlook for 2012?
Best-case scenario: Ingram immediately carves out a spot on defense, at the very least as a replacement for new Chargers LB Jarret Johnson on passing downs. He also carries that collegiate adaptability to the pros, giving San Diego the freedom to experiment with him as a 3-4 lineman, both on the interior and at end. He makes those Woodley comparisons look completely accurate.
Worst-case scenario: Ingram struggles to adjust to playing the majority of his downs as a 3-4 linebacker, and his short arms lead to him being dominated when San Diego tries to play him up front. He reminds San Diego fans, in all the negative ways, of English and only sees action in sporadic spurts.
2012 prediction: English's failures no doubt have Chargers' fans holding their breath over this one. Everything that Ingram has shown on tape, though, indicates that he'll be able to make the leap the pros and continue to be a dominant, disruptive force. He's definitely an upgrade on passing downs over Johnson, a terrific run defender who has averaged about 2.2 sacks per season in his nine-year career. Given the chance, Ingram will succeed. Let's set the line for 2012 at 30 tackles, six sacks, two fumble recoveries and one interception.
[...] And for anyone who is still lamenting the choice of Coples over Mel Ingram, read the following article: http://nfl.si.com/2012/05/02/boom-or-bust-will-melvin-ingram-thrive-where-larry-english-failed/ [...]


text:
Posts Tagged 'SPS'
SP 2010: Web Application settings (web.config) modifications in SharePoint 2010 via code
September 7th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
I've been getting some questions lately about modifications to web.config files and SharePoint 2010 – is it possible to automate so that the administrator don't have to manually edit those files on each WFE?
Yes, that's the easy answer. This was possible in SharePoint 2007 as well.
In this article I'll quickly demonstrate how you (using a Web Application feature) can make modifications to web.config automatically.
Please note that this is just a getting-started point which you'll have to work deeper into to tweak it to your likings for updates and removals from the web.config file.
Automatic web.config changes using a SharePoint 2010 feature
Basically, if you want to get some type of change into the web.config, it oftentimes has to do with adding custom settings or values that you'll later reference in your applications.
In this scenario, we'll add the following key into web.config using a Feature Receiver, so we don't have to do it manually after/before deploying our solutions:
<add key= "isAwesome " value= "1 " />
So, in order to achieve this programmatically without actually editing the web.config by hand – you could utilize the class called SPWebConfigModification something like this:
public override void FeatureActivated(SPFeatureReceiverProperties properties)
var value = 1; // We want to set the key isAwesome to the value "1"
var webApp = properties.Feature.Parent as SPWebApplication ;
var mySetting = new SPWebConfigModification
Path = "configuration/appSettings",
Name = string.Format("add [@key='isAwesome'] [@value='{0}']", value),
Sequence = 0,
Owner = "Zimmergren.SP2010.WebConfigModifications.Awesomeness",
Type = SPWebConfigModification.SPWebConfigModificationType.EnsureChildNode,
Value = string.Format("<add key='isAwesome' value='{0}' />", value)
By executing this cute snippet of code you will actually add the setting called isAwesome to the web.config of your web application. (This will be persisted to all the WFE's of course).
Please note: You will need to tweak your code quite a lot to make the sweet SPWebConfigModification class behave the way you want on activation/deactivation of the feature. This should at least give you a starting point :-)
In this short introductory article about web.config modifications I've talked a bit about how you can automate the process of altering your web.config files without actually opening them on the file system.
Nothing fancy, but a good starting point for those of you who requested some info on the topic.
- Posted in Technical
- 13 Comments
- Tags: SharePoint, SharePoint 2010, SPF, SPS, Web Config Modification
SP 2010: Find error messages with a Correlation ID token in SharePoint 2010
September 3rd, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
In SharePoint 2010, you've got some new capabilities for error reporting and logs. One of the most noted features for me as a developer is that whenever you bump into an error message – you'll be presented with a correlation ID token.
In this article I will try to explain how you can fetch that token from SharePoint, and also provide a small snippet of code to be able to build your own "Log Searcher Web Part" for your administrators.
Correlation ID, what's that?
In SharePoint 2010, you get a Correlation ID (which is a GUID) attached to your logs/error messages when something happens. This ID can then be used to lookup that specific error from the logs.
This Correlation ID is used per request-session in SharePoint 2010, and if you are in the process of requesting some information from SharePoint and bump into some problems along the way – your Correlation ID will be the best starting point for searching for what went wrong along that request!
You might get an error message like this in SharePoint 2010 (don't worry, if you haven't seen one like this one yet – just hang in there, sooner or later you will.. )
Search for the log messages based on the Correlation ID token
So if you've gotten such an error message and want to find out more information about the actual error and don't have the time to go around poking in the logs and searching – there's a few methods you can do this rather easily, as described below.
Using PowerShell to lookup a log message based on Correlation ID token
One of the quick-n-awesome ways to do this is to simply hook up a PowerShell console (SharePoint 2010 Management Shell) and then just write the following command (replace the <GUID> with the Correlation Id):
get-splogevent | ?{$_Correlation -eq "<GUID>" }
This will give you the details about your specific error like this in the console:
You might want to be more precise and get more specific details out of your query, then you can try something like this:
get-splogevent | ?{$_.Correlation -eq "<GUID>"} | select Area, Category, Level, EventID, Message | Format-List
This will give you the details about your specific error like this with some juicy details:
Finally if you would want these messages to be put into a text or log file instead, you could just add the classic "> C:Awesome.log" after the command like this:
get-splogevent | ?{$_.Correlation -eq "<GUID>"} | select Area, Category, Level, EventID, Message | Format-List > C:Awesome.log
On MSDN they have an overvoew of using SP-GetLogEvent which I would recommend!
Using SQL queries to find log message based on Correlation ID token
You can utilize the SQL logs database to fetch the specific error message based on Correlation id as well. In your logging DB (usually called WSS_Logging, but can be called something else if you've changed it) there is a view called ULSTraceLog which you can query with a simple SQL query and fetch the results.
I've created a query to fetch the items from the logging database like this:
select [RowCreatedTime], [ProcessName], [Area],
[Category], EventID, [Message]
from [WSS_UsageApplication].[dbo].[ULSTraceLog]
where CorrelationId=< pre>'B4BBAC41-27C7-4B3A-AE33-4192B6C1E2C5'
This will render your results in the SQL Query window like this:
This can of course be implemented in a Web Part for your convenience as well (I've created a bunch of diag. and logging web parts that I've got deployed to Central Admin) that could look like this (this way you don't need physical access to the ULS logs all the time, but can do a quick lookup from the web part):
Get the current Correlation ID by using code
I got this piece of code from my good friend Wictor's blog post. Thanks Wictor – this made my Logging-project more satisfying!
With the following code you can fetch the current Correlation Id of a request.
Create a method (in my case called GetCurrentCorrelationToken()) to wrap up the functionality of returning the current token like this:
public class CorrelationId
[DllImport ("advapi32.dll")]
public static extern uint EventActivityIdControl(uint controlCode,ref Guid activityId);
public const uint EVENT_ACTIVITY_CTRL_GET_ID = 1;
public static Guid GetCurrentCorrelationToken()
Guid g = Guid .Empty;
EventActivityIdControl(EVENT_ACTIVITY_CTRL_GET_ID, ref g);
return g;
Then from wherever in your code you can simply call it by using this approach:
protected void Button1_Click(object sender, EventArgs e)
Label1.Text = CorrelationId .GetCurrentCorrelationToken().ToString();
(Normally you might want this in a try/catch statement or something like that)
This article should give you (administrator and developer) an insight in how you easily can track the specific errors your users encounter in their/your application(s). If a user gets an error message in SharePoint 2010, they'll also see the Correlation ID.
If you can train your users to write down that Correlation ID along with a few simple steps on how the error might have been occurring, you're going to have a much easier way to find the details about that specific error than ever before.
- Posted in Technical
- 20 Comments
- Tags: Correlation ID, Debugging, Logging, SharePoint, SharePoint 2010, SPF, SPS, ULS
SP 2010: Developing with the Word Automation Services in SharePoint Server 2010
August 30th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
In SharePoint 2010, there is a new Service Application called Word Automation Services. This Service Application is used to convert documents from Word to different formats.
Word Automation Services can open about the same formats as Windows Word 2010 can:
Filetypes it can open include:
.docx, .docm, .dotx, .dotm, .doc, .dot, .rtf, .mht, .mhtml, .xml (Word xml)
Filetypes it can save as include:
.docx, .docm, .dotx, .dotm, .doc, .dot, .rtf, .mht, .mhtml, .xml (Word xml), PDF, XPS
In this article you'll see an example of how you can utilize the Word Automation Services in order to build a custom solution that takes care of converting documents (as listed above) into PDF documents.
Programmatically work with Word Automation Services in SP 2010
Note: You cannot deploy a solution working with the API's in the Word Automation Services in the Sandbox. Rather you'll need to target your application as a Farm Solution.
There's not really a whole lot to it. Just follow along with these few steps and you'll be fine!
In the API for Word Automation Services you'll find a few different ways to convert documents including:
In the following example I'll demonstrate how to use the AddLibrary() method in order to convert the contents of an entire document library into PDF documents! (Yes, that is way awesome)
1. Add the Word Automation Services API reference to your project
The following reference needs to be added to your project:
It can be found here:
2. Add the proper using-statements
using Microsoft.Office.Word.Server.Service;
using Microsoft.Office.Word.Server.Conversions;
3. Create a job to convert an entire Document Library to PDF's
First, fetch the WordServiceApplicationProxy object (so we don't have to hard-code the service app name..). This first line requires the Word Automation Service Application to be added to the default proxy group.
Second, we instantiate a new ConversionJob class and shoots in your WordServiceApplicationProxy as a parameter:
var wordAutomationProxy =
(WordServiceApplicationProxy )
SPServiceContext .Current.GetDefaultProxy(typeof (WordServiceApplicationProxy ));
var conversionJob = new ConversionJob (wordAutomationProxy);
Next we need to specify a UserToken for the job to tell the job under what credentials to run.
We also need to specify a name for the job.
Finally you can add whatever Settings you want for your job, I've chosen that I want my files to be output as PDF's.
conversionJob.UserToken = SPContext .Current.Web.CurrentUser.UserToken;
conversionJob.Name = "Zimmergren.SP2010.WordAutomationDemo Conversion Job" ;
conversionJob.Settings.OutputFormat = SaveFormat .PDF;
Next we will simply specify a library where the original .doc or .docx files reside and point out the destination library like this, and start the job by adding it to the timer job queue:
conversionJob.AddLibrary(origLib, destinationLib);
This is the sample code in one snippet
protected void btnConvert_Click(object sender, EventArgs e)
SPList origLib = SPContext .Current.Web.Lists[ddlLibraries.SelectedValue];
SPList destinationLib = SPContext .Current.Web.Lists["PDFLibrary" ];
var wordAutomationProxy =
(WordServiceApplicationProxy )
SPServiceContext .Current.GetDefaultProxy(typeof (WordServiceApplicationProxy ));
var conversionJob = new ConversionJob (wordAutomationProxy);
conversionJob.UserToken = SPContext .Current.Web.CurrentUser.UserToken;
conversionJob.Name = "Zimmergren.SP2010.WordAutomationDemo Conversion Job" ;
conversionJob.Settings.OutputFormat = SaveFormat .PDF;
conversionJob.AddLibrary(origLib, destinationLib);
Label1.Text = "Conversion job started!" ;
Label1.Visible = true ;
catch (Exception ex)
Label1.Visible = true ;
Label1.Text = "Error:<br/>" ;
Label1.Text += ex.Message;
So what's the results?
When you've created a new ConversionJob, it'll be added to the Timer Job schedule to be run by SharePoint. When the job has been run, it can look like this:
Original Document Library, filled with some Word documents:
These files will then be converted to PDF's and put into my PDFLibrary like this:
To get started with the Word Automation Services, you don't really need to do a lot of coding. Just specify the references, hook up a reference to your service app and create a new ConversionJob and you're up and running.
This article demonstrated how to convert an entire library of documents to PDF's with a single click.
Awesome. Enjoy!
- Posted in Technical
- 20 Comments
- Tags: SharePoint, SharePoint 2010, SPS, Word Automation Services
SP 2010: Introduction to programmatically working with Taxonomies in SharePoint Server 2010
August 28th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
One of the coolest new set of functionality for SharePoint 2010 is the Taxonomies (Term Store, Term Sets, Terms) that you can easily create using the amazing Managed Metadata Manager service application.
In this article I'll talk briefly about how you can utilize the SharePoint API to programmatically work with Taxonomies and create terms and fetch the terms in your term store. This should give you some nice ideas on how to get going!
A simple example of a taxonomy
Let's say we've got a taxonomy worked out and implemented in SharePoint. It could look something like this (I'm using some made up samples below):
So, if you've got a taxonomy configured in your Managed Metadata Service Application, you can work with those programmatically – and that's what this little tip is about.
Work with the taxonomy API's programmatically in SP 2010
In this article I will talk about some of the basics to get started with taxonomies in SharePoint 2010 programmatically. First, of course, we need to create a new project and add the references for the Taxonomy API.
Preparing for development
First of all, create a new project (In my case, I chose to create a Visual Web Part project).
You'll need to add the following reference to your project:
You'll find this reference here:
C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14ISAPIMicrosoft.SharePoint.Taxonomy.dll
So, the first thing we would like to do is to learn how we can read the taxonomies we've got in our store. To do this, we utilize Microsoft.SharePoint.Taxonomy.
There's a few good-to-know classes in this namespace that we're going to work with:
- Microsoft.SharePoint.Taxonomy.TaxonomySession
- Microsoft.SharePoint.Taxonomy.TermStore
- Microsoft.SharePoint.Taxonomy.Group
- Microsoft.SharePoint.Taxonomy.TermSet
- Microsoft.SharePoint.Taxonomy.Term
The above classes are stated in their hierarchically correct order, meaning means that you start out with the TaxonomySession which contains the TermStore, which contains the Groups.. and so on.
Reading the Metadata store (Managed Metadata Service) programmatically
Sample code from my Visual Web Part's user control (I have a control called tvMetadataTree in the user control):
public partial class TaxonomyWebPartUserControl : UserControl
protected void Page_Load(object sender, EventArgs e)
SPSite thisSite = SPContext .Current.Site;
TaxonomySession session = new TaxonomySession (thisSite);
TreeNode treeNode = new TreeNode ();
treeNode.Text = "Metadata Awesomeness" ;
foreach (TermStore termStore in session.TermStores)
var tsNode = new TreeNode (termStore.Name, null , null , "" , null );
//treeNode = tsNode;
foreach (Group group in termStore.Groups)
var node = new TreeNode (group.Name, null , null , "" , null );
//treeNode = node;
foreach (TermSet termSet in group.TermSets)
node = new TreeNode (termSet.Name, null , null , "" , null );
treeNode = node;
foreach (Term term in termSet.Terms)
AddTermSet(term, treeNode);
void AddTermSet(Term term, TreeNode treeNode)
var node = new TreeNode (term.Name, null , null , "" , null );
treeNode = node;
foreach (Term t in term.Terms)
AddTermSet(t, treeNode);
The end result will be a simple TreeView control filled with the Metadata structure from the store, looking something like this:
That's about what you would need to get started with this!
Alright, so I wrote this small article up due to some students asked me for some taxonomy sample code a while back. I hope everyone enjoys this tip on how to programmatically work with the Taxonomies in SharePoint Server 2010!
As always, enjoy!
- Posted in Technical
- 5 Comments
- Tags: How-To, SharePoint, SharePoint 2010, SPS, Taxonomy
SP 2010: SharePoint Server 2010 – Creating a custom Document ID provider
April 13th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
In this article I will talk about how you can create your custom Document ID provider for your SharePoint Server 2010 installation. Sometimes I've been getting the question weather or not it's possible to change the behavior or change the way the Document ID's are generated, and some people have a tendency to say no to that question, just because there's no interface or out of the box functionality to do so.
I'll give you a quick walkthrough of how you can extend your Site Collection by adding a custom Document ID provider, that will automatically generate custom ID's based on your own algorithms entirely!
Recommended reading about Document ID's before proceeding:
Document ID overview
This section will give you a very brief conceptual overview of Document ID's in SharePoint Server 2010.
What is Document ID's?
Document ID's in SharePoint Server 2010 provide you with the ability to tag documents with a unique identification number. Something a lot of my clients have done manually or by implementing custom solutions to take care of in SharePoint 2007. With this new feature, you get all the required functionality to tag documents with unique identification numbers based on a specific pre-set formula with a custom prefix.
See this sample screenshot for an example:
Where do I enable Document ID's for my Site Collection?
In order to enable Document ID's in your Site Collection, you'll need to activate the Site Collection Feature called Document ID Service.
See this screenshot for an example:
How do I change the way my Document ID's are generated?
If you want to alter the way the Document ID's are generated for your documents in your Site Collection, you can do that by navigating to:
Site Actions – Site Settings – Document ID Settings, like so:
From this new settings page, you'll get the possibility to tell SharePoint how it should generate your unique ID's. You can specify a prefix for all the generated ID's:
I want to take it one step further!
If you're not quite satisfied with the way SharePoint 2010 generates your Document ID's for you, then you should most definitely follow along with the rest of this article as I will guide you through the steps to create your very own Document ID provider to generate exactly the kind of ID's you want – based on your very own code/algorithms!
Bring it on!
Learning about a SharePoint 2010 Custom Document ID provider
This section will give you an overview of what you will need in order to create a custom Document ID provider for SharePoint Server 2010!
Note: As of this writing MSDN isn't fully updated on these new SharePoint Server namespaces. Some details may or may not change when SharePoint Server 2010 is released into the wild (RTM)
The namespace Microsoft.Office.DocumentManagement contains a class called DocumentIdProvider, which will be the base for our upcoming project!
This is the class we will derive from when creating our custom provider. It contains three (3) abstract methods and one (1) abstract method that we need to implement:
- GenerateDocumentId (Method)
- GetDocumentUrlsById (Method)
- GetSampleDocumentIdText (Method)
- DoCustomSearchBeforeDefraultSearch (Property)
A description of each of these methods and the property will be made inline in my code in the samples!
Creating a SharePoint Server 2010 Custom Document ID provider
Let's code this little piece of functionality, shall we. The final project (very basic) will look something like this:
So, let's get coding.
1. Create a class and derive from DocumentIdProvider
public class CustomDocumentIdProvider :
// Method to generate the actual document ID. Awesomeness lives here!
public override string GenerateDocumentId(SPListItem listItem)
// In this method we will tell SharePoint how it should generate
// the unique ID we want.
// In my case, I've just created a dummy-generator.
// Normally you would perhaps want to fetch this from another system or
// generate it properly instead of like this..
// Points to a method I've created that generates foo-ID's
return FooSampleIDGenerator.GetFooUniqueID();
public override bool DoCustomSearchBeforeDefaultSearch
// If set to true: It will call the GetDocumentUrlsById method before search
// If set to false: It will use SharePoint Search before custom methods
get { return false; }
public override string[] GetDocumentUrlsById(SPSite site, string documentId)
// Returns an array of URLs pointing to
// documents with a specified DocumentId
// An empty string array
// This is where you will implement your logic to find
// documents based on a documentId if you don't want to use
// the search-approach.
return new string[] { };
public override string GetSampleDocumentIdText(SPSite site)
// Returns the default Document ID value that will be initially
// displayed in the Document ID search web part as a help when searching
// for documents based on ID's.
// This should correspond with the way you've designed your ID pattern
return "AWESOME-12345-67890-SharePointRules";
2. Create a Feature Receiver to hook up your custom provider with your Site Collection
public class ProvisionCustomDocIdProviderEventReceiver : SPFeatureReceiver
public override void FeatureActivated(SPFeatureReceiverProperties properties)
DocumentId.SetProvider(properties.Feature.Parent as SPSite,
new CustomDocumentIdProvider());
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
DocumentId.SetDefaultProvider(properties.Feature.Parent as SPSite);
Actually, you're all done with the code for now.
3. Go to Document ID Settings page and see this message appear
This basically means that your custom provider has been successfully enabled (as per our Feature Receiver).
4. See that the Document ID's on your documents now is using your custom provider
(Please allow for some time to pass so the Timer Jobs can do their magic, or manually go into Central Admin and run the timer jobs instantaneously)
Behold, awesome custom Document ID provider in action:
Summary and Download
What did we just do?
What we just did was to create a custom Document ID provider that generates our very own custom Document ID's based on whatever algorithm or pattern we want. There's no need to follow the built-in format for your generated IDs – which some people have presented in their seminars and blogs. So there you go, step by step!
This could be especially awesome if you've got an external system generating Document ID's already, and you want SharePoint to use those ID's alongside whatever other system is running. Use your own imagination as to what can be done. The code is in your hands, Obi Wan Coder!
Download project
Enjoy, and please don't be afraid to leave comments!
- Posted in Technical
- 11 Comments
- Tags: Document ID, How-To, SharePoint, SharePoint 2010, SPS
SP 2010: Certification exam details for SharePoint 2010 published
March 28th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
Microsoft has published the two developer-oriented certifications for SharePoint 2010 on Microsoft Learning.
Personally, I think there is a huge improvement now as we're not only getting the MCTS-credit but can now also become an MCPD (Microsoft Certified Professional Developer) on the SharePoint platform. Something I've been waiting for a long time ;-)
SharePoint 2010 exams
For us developers/solution architects there are two certifications of interest (of course you should do the IT-pro tracks as well, but let's start here with the developer ones):
- 70-573: TS: Microsoft SharePoint 2010, Application Development
- 70-576: PRO: Designing and Developing Microsoft SharePoint 2010 Applications
SharePoint 2007 Exams
Way back in 2007 I wrote about passing all 4 certifications for SharePoint 2007 (link here). For SharePoint 2007 there is four certifications for the 2007 product-line:
- 70-541 – TS: Microsoft Windows SharePoint Services 3.0 – Application Development
- 70-542 – TS: Microsoft Office SharePoint Server 2007 – Application Development
- 70-630 – TS: Microsoft Office SharePoint Server 2007, Configuring
- 70-631 – TS: Microsoft Windows SharePoint Services 3.0, Configuring
So, keep an eye out on those two new certifications and be well prepared when they arrive – should be a fun ride :-)
- Posted in Technical
- 3 Comments
- Tags: Certification, SharePoint, SharePoint 2010, SPF, SPS
SP 2010: Dynamically displaying messages to your users with the Notification and Status bar areas in SharePoint 2010
March 17th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
With the new version of SharePoint comes a full set of new and awesome features that you'll have to indulge and learn. One of the small things that makes my day much more fun is to display messages to your users in the Status- and Notification areas.
Example of a message in the Status bar area:
Example of a message in the Notification area:
How do we make this magic happen?
In order to display these messages, you really (really) don't need a lot of code. I'll lay out the simple code I used to display the messages you saw in my screenshots.
It's all JavaScript based, so get ready to dig out those old JS skills you know you've got lying around somewhere ;-)
Oh wait, you don't need skills to do this, it's just that easy!
Show me a Status bar!
function ShowStatusBarMessage(title, message)
var statusId = SP.UI.Status.addStatus(title, message, true);
SP.UI.Status.setStatusPriColor(statusId, 'yellow'); /* Set a status-color */
HTML, call the JS method:
<a onclick="ShowStatusBarMessage('Title'!','Awesome message!')">
Display Status Bar message!
Show me a Notification popup!
function ShowNotificationMessage(tooltip, message, sticky)
SP.UI.Notify.addNotification(message, sticky, tooltip, null);
HTML, call the JS method:
<a onclick="ShowNotificationMessage('I am cool!','This is a cool message',false)">
Display Notification!
Actually, there's no need for a summary. It's way too easy.
- Posted in Technical
- 6 Comments
- Tags: SharePoint, SharePoint 2010, SPF, SPS, UI
SP 2010: LINQ to SharePoint – What CAML lies behind my query?
February 19th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
The two following questions are quite popular in my SharePoint 2010 developer training classes, so I ought to answer them right here.
- "What does LINQ to SharePoint really do?"
- "Can I see the CAML query generated by the LINQ to SharePoint query?"
The answer is simple: Yes, you can see the results of your generated LINQ query by using the Log property of your DataContext object.
What CAML lied behind my LINQ to SharePoint query?
In order to fetch the CAML query that lies behind your LINQ query, all you need is to work with the .Log object of your DataContext.
See this simple example, which simply outputs the CAML query to an XML-file for easy reading:
This will essentially generate the following content in the file C:MyEntitiesDataContextQuery.xml:
As you can see, the LINQ to SharePoint query is automatically turned into a CAML Query.
Yep, all you need is the .Log property to fetch the CAML query from your LINQ statement. In my sample I'm outputting it to a file called C:MyEntitiesDataContextQuery.xml.
You could of course output it in any other way you want – not just a physical file on the file system. The Log property is of the type TextWriter.
- Posted in Technical
- No Comments
- Tags: CAML, LINQ, Queries, SharePoint, SharePoint 2010, SPF, SPQuery, SPS
SP 2010: Getting started with LINQ to SharePoint in SharePoint 2010
February 19th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
In SharePoint 2010 you now have the ability to use LINQ syntax to fetch items from your lists instead of using the "traditional" approach of CAML queries. (Including SPSiteDataQuery and SPQuery objects)
In this article I will give you a brief introduction to how you can get started using LINQ queries in SharePoint, also known as LINQ to SharePoint.
Basics of LINQ?
As a prerequisite to this article, I'm going to imply that you know what LINQ is and how to write basic LINQ queries in any .NET application already. I'm not going to dive into the details about LINQ or the syntax itself here – please see MSDN for that!
LINQ to SharePoint!
In order to work with LINQ in SharePoint 2010, we need use a tool called SPMetal.exe which resides in the 14bin folder. This tool is used to generate some entity classes which Visual Studio 2010 can use to get IntelliSense, and allows for LINQ-based queries to be performed on your lists.
- LINQ to SharePoint queries are translated to proper CAML queries
- CAML queries are in turn later translated to SQL queries
Using the tool called SPMetal, we generate our entity-classes that are needed to perform these object oriented queries toward our SharePoint server.
These are the required steps to get hooked up:
- Launch a cmd-window and navigate to C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14bin
- Run the following command to utilize the SPMetal.exe tool with the following syntax:
- Now navigate to C: (or wherever you chose to output your file) and make sure the file has been generated:
- Open up the file and take a look at the content that SPMetal now have provided us with:
Note that the class name is now MyEntitiesDataContext. It's based on the name you specify as your code file in the SPMetal.exe command line tool.
If you were to use /code:C:Awesome.cs instead, it would generate a class called AwesomeDataContext.
With that done – all we need to do is import it to one of our projects and use it!
Visual Studio 2010 – Let's create a sample Web Part that utilizes LINQ to SharePoint
In this sample I will create a simple Web Part that will use LINQ to SharePoint syntax to fetch some information from the Announcements list. A basic sample I use in my training classes as well, and should be fairly easy to grasp!
- Create a new project (I'm going to create a new Visual Web Part project)
- Import your DataContext-file by choosing your Project -> Add -> Existing Item:
- Specify your file (mine is called MyEntities.cs):
- Make sure it's properly placed in your project structure – then we're good to go:
Alright – that's easy enough. Thus far we have created an entity file using SPMetal.exe and now we have successfully imported it into our project.
Add proper references
Now in order to use LINQ to SharePoint, you also need to reference the Microsoft.SharePoint.Linq assembly. Point to references, right-click and choose "Add Reference" and select the Microsoft.SharePoint.Linq.dll file:
In your code, reference the assemblies:
Ready to code?
What you should've done up until now is this:
- Generate your entities using the SPMetal.exe tool
- Reference the newly created file from your SharePoint project
- Make sure you're using the proper references for System.Linq and Microsoft.SharePoint.Linq
- Be ready to code :-)
In my example I will have a Visual Web Part that will use LINQ to SharePoint to fetch all Announcements from my Announcement-list and work with those results. If you want to see the entire project, look at the bottom of this article where you can download it.
While you code your queries using LINQ to SharePoint, you will now have access to IntelliSense, which you did not have with CAML queries:
I'm going to leave it at that – very (very) easy to get started with LINQ to SharePoint, and all you really need to know is to start using the SPMetal tool to generate your entity classes and hook'em up with Visual Studio to start coding.
Summary & Download
As you can see, there's not a lot of things you need to do in order to work with LINQ in your SharePoint applications with your SharePoint-data.
I've been pinged plenty of times on how you can get started with this, and there you have it. More in-depth articles to come later – this is just to get your wagon rolling!
To download the sample project, click here: [Download]
- Posted in Technical
- 37 Comments
- Tags: How-To, LINQ, SharePoint, SharePoint 2010, SPF, SPS
SP 2010: Programmatically work with External Lists (BCS) using the Client Object Model
January 21st, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
Article 3 in the small BCS-series:
1. SP 2010: Getting started with the Business Connectivity Services (BCS)
2. SP 2010: Programmatically work with External Lists (BCS) in SharePoint 2010
3. SP 2010: Programmatically work with External Lists (BCS) using the Client Object Model
In my previous article in the series, I talked about how easy it is to fetch information using the standard SharePoint server API-approach. In this article I will talk about how you can access data in your BCS data source, by utilizing the Client Object Model.
Client Object Model code to read from the external list
Just like I described in my previous article, you now have the awesome ability to work with data in your External Lists (connected to a data source using BCS) – namely, you can use the standard SharePoint APIs.
Since I've shown you how you can do this using the Server Object Model, I thought I could take another spin at it and show you the code for doing basically the same with the Client Object Model.
The underlying data
As with my previous article, I'm still using the same data source as I set up in my first article – the "ProductList" table in my SQL Server database called "Zimmergren_DB"
As seen in the SQL Server Management Studio:
Let's fetch the data using a Windows Forms application that utilizes the Client Object Model!
I've designed a Windows Forms application to utilize the .NET Client Object model (in contrary to using the Silverlight client object model or JavaScript client object model).
When you click the fancy button called "Get External Data", it will use the Client Object Model to fetch the records from the external list (from the SQL server) and display them in a DataGridView. Nothing fancy.
The code!
With no further delays or chit-chat, here's the simple code!
// Define the Client Context (as defined in your textbox)
SP.ClientContext context = new SP.ClientContext(tbSite.Text);
SP.Web site = context.Web;
var ProductList = site.Lists.GetByTitle(tbList.Text);
SP.CamlQuery camlQueryAwesomeness = new SP.CamlQuery();
IQueryable<SP.ListItem> productItems =
IEnumerable<SP.ListItem> externalList =
// This is where we actually execute the request against the server!
// Retrieve the products from the product list using some fancy LINQ
var productListData = from product in externalList
select new
// We're never pointing to the field at the 0-index
// because it's used by the BDC Identity itself. Hence our elements start at 1.
ProductID = product.FieldValues.ElementAt(1).Value.ToString(),
ProductName = product.FieldValues.ElementAt(2).Value.ToString(),
ProductDescription = product.FieldValues.ElementAt(3).Value.ToString()
// Simply clear the rows and columns of the GridView
// Add the columns we need (ProductID, Name, Description)
gvProducts.Columns.Add("ProductID", "ProductID");
gvProducts.Columns.Add("Name", "Product Name");
gvProducts.Columns.Add("Description", "Product Description");
foreach (var product in productListData)
// For each product in the list, add a new row to the GridView
References and recommended reading
- Getting Started with the Client Object Model in SharePoint 2010
- Getting Started with Business Connectivity Services in SharePoint 2010
Summary & Download
At this point, I've showed you three short articles in which I describe how you can set up a Business Connectivity Services data source – then utilize the Server OM or Client OM to fetch information from that external data storage.
Worth to note is that this is still a Beta product, which of course means that it may differ in functionality and performance in comparison with the final (RTM) version of SharePoint 2010.
Download the complete Visual Studio 2010 project here: [ Zimmergren.SP2010.ClientOM.BCS.zip ]
- Posted in Technical
- 6 Comments
- Tags: BCS, Client Object Model, SharePoint, SharePoint 2010, SPF, SPS
SP 2010: Programmatically work with External Lists (BCS) in SharePoint 2010
January 19th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
Article 2 in the small BCS-series:
1. SP 2010: Getting started with the Business Connectivity Services (BCS)
2. SP 2010: Programmatically work with External Lists (BCS) in SharePoint 2010
3. SP 2010: Programmatically work with External Lists (BCS) using the Client Object Model
In my previous article I talked about how you can set up a simple BCS configuration to fetch and work with external data in SharePoint 2010. In this article I will talk about how you can utilize the SharePoint 2010 object model to work with that external data, directly from the SharePoint API. It's all really simple!
Working with data in an External List using the SharePoint Object Model
The code in this sample doesn't really differ from the way you fetch information from any other list in SharePoint (2007 or 2010). This – of course – is very welcomed news, as we do not need to learn any new frameworks or tools to work with the data in our external lists. It simply works as any other SPList, basically.
Retrieving external data, made simple:
When fetching items from an external list, you can simply do that by utilizing the good-old SPList object. We do not need to work with any other types of namespaces or frameworks in order to do this.
In my SQL Server I've got a table called "ProductList".
This list is filled with the following data:
Fetching some items from the external list, and displaying them in a console app:
// Product List is my external list, that is working with data in the SQL Server!
SPList list = web.Lists["Product List"];
SPQuery q = new SPQuery();
q.Query =
"<Where><IsNotNull><FieldRef Name='ProductID' /></IsNotNull></Where>";
q.RowLimit = 100;
SPListItemCollection col = list.GetItems(q);
foreach (SPListItem item in col)
This will render the following result (fetched from the database):
The things you see in the console windows is fetched straight from the SQL Server (using a BCS connection through the External List).
Writing data to the External List (hence, writing to the SQL Server)
Seriously, this is way too easy as well…
// Get the external list
SPList list = web.Lists["Product List"];
// Use the traditional approach to create SPListItems and hook it up with the list
SPListItem item = list.Items.Add();
item["Name"] = "Sample Product Wohoo";
item["Description"] = "Sample Description Wohoo";
Upon running this code in your SharePoint application, it will create the SPListItem object and add a Name and Description. When you hit .Update() it will push this data through the data source connection, to your SQL server.
Here's what the updated data looks like:
We're running a Beta-product!
As you can imagine, there's a ton of new cool things to work with in SharePoint 2010 – where the BCS is one. This article discuss the very basics of how you can retrieve information from these lists using the normal API-approach.
At the time of this writing (during Public Beta) there isn't any measures on performance and what impact it has on the server in comparison to alternative ways to fetch and work with the data.
As time goes on, there will be probably be some new information on this – I'll keep you posted when I know more.
As you can see, working with external data from the SharePoint API isn't very hard to do. What you need to make sure is to have an external list set up somewhere (see this article for how you can do that) and then you can simply use the normal SPList object from the SharePoint object model to work with the external list and it's external data from the SQL server (in my case).
So if you haven't already: Get on the SharePoint 2010 wagon and enjoy the ride!
- Posted in Technical
- 28 Comments
- Tags: BCS, External List, SharePoint, SharePoint 2010, SPF, SPS
SP 2010: Getting started with Business Connectivity Services (BCS) in SharePoint 2010
January 18th, 2010 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
Article 1 in the small BCS-series:
1. SP 2010: Getting started with the Business Connectivity Services (BCS)
2. SP 2010: Programmatically work with External Lists (BCS) in SharePoint 2010
3. SP 2010: Programmatically work with External Lists (BCS) using the Client Object Model
BCS in SharePoint 2010 is an awesome refinement of the Business Data Catalog from MOSS 2007. With BCS – or Business Connectivity Services – you get the possibility to connect external data and work with it from SharePoint.
In this article I will not cover the basics of what BCS is all about (MSDN/TechNet does this very well) – I will rather give you a walkthrough of how you can setup a BCS connection to an external database, and then work with this information directly from a SharePoint list – without the user actually knowing anything about the connection to the database.
BCS Poster: Business Connectivity Services Poster
BCS Team Blog: http://blogs.msdn.com/bcs/
A sample SQL database
I'll just show you how my sample database is set up – simply create a new database in your SQL Server and have it filled with some example data. In my case, this is the data in my SQL database, called Zimmergren_DB:
In this sample database, I've added a table called ProductList which in theory will represent some products in this database, like this:
I'm filling the database with some sample data, so we will be familiar with this data when we later watch this information from SharePoint:
Alright – we have some sample data in our SQL Server. Nothing fancy, just some very simple data. Great, let's get going with the fun stuff!
Creating an external content type
The most effective and easy way to set up a simple BCS connection, is to use SharePoint Designer 2010. You heard me, we can now get up and running with BCS by using SPD instead of modeling complex ADF files and things like that.
In order to do this, we need to create a new External Content Type!
Here's how do create our External Content Type and hook it up with our database, step by step:
- Open the site you want to work with using SharePoint Designer 2010
- Select "External Content Types" in the left hand navigation:
Loading this page might take some time, be patient!
- Click to create a new External Content Type like this:
- Click the link that reads: "Click here to discover external data sources and define operations":
- Click "Add Connection"
- Select "SQL Server" as your Data Source Type:
- Enter the details about your connection to your SQL Server:
- When the connection is made, your Data Source Explorer will be filled with the database you have specified. Now choose the table you want to work with, and right-click and select "Create All Operations":
You'll be presented with a wizard-like dialog where you can specify the operations, elements and other properties for your BCS connection.
- Click "Next" to get to the Parameters page
- Select the field that you want to act as an Identifier. In my case I've selected my ProductID just to get on with it:
- Click "Finish"
- You'll be presented with a list of operations that your External Content Type can do, like this:
That's it. A few points, a few clicks – and you're done. Let's create an external list (using the Browser to show how simple it is..) and hook up our external content type with it!
Creating an external list
There's a few ways to create an external list in SharePoint 2010. We will create it using the Browser UI to show you how simple it can be.
- Open your site and choose Site Actions - More Options…
- Select the External List template, and click Create
- Enter a name for your list, e.g. Product List
- You'll see a field in this list called External Content Type, click the browse-button beside it:
What is really awesome here, is that you're now presented with a dialog where you simply can choose the data source for this list. That means, you'll select the data source you've created (mine is called Zimmergren_DB). Then your list will automatically work against the SQL database, but still have the look and feel of a SharePoint 2010 list.
- Select your data source and click OK:
- Now simply click the button called Create:
Would you look at that! You're now working with external data, from your (what looks to be) normal SharePoint list! This is brilliant!
You now have the ability to create new items, update existing items, delete items and do all your normal CRUD-operations (CRUD = Create, Read, Update, Delete) straight from the SharePoint 2010 list.
Proof of concept – Adding a new product
Let's just for the fun of it add a new product called "Awesome Product 1.0" like the following screenshot:
Now go to your SQL Server and see the changes take effect immediately. The data is NOT stored in SharePoint, it's stored in your SQL Database.
This is what my table now looks like in the SQL Server, after adding a new item in the SharePoint list:
With a few points, followed by a few clicks – you've set up your external data connection. Basically it's that simple.
Of course there's a lot of things to consider when doing these configurations – and you might not want to auto-generate the CRUD-operations, but rather create them one by one and specify more fine-grained permissions etc.
This is merely a sample to show you how easy it is to actually get up and running with the SharePoint 2010 Business Connectivity Services (BCS) and work with external data!
- Posted in Technical
- 26 Comments
- Tags: BCS, How-To, SharePoint, SharePoint 2010, SPF, SPS
SP 2010: Presentations from SharePoint & Exchange Forum in Sweden
December 4th, 2009 by Tobias Zimmergren
Author: Tobias Zimmergren
http://www.zimmergren.net | http://www.tozit.com | @zimmergren
At the SEF 2009 Conference in Sweden I delivered a session about SharePoint 2010 development. The sessions from SEF are now available for download from the SEF web site.
Unfortunately the presentation I did was required to be in Swedish, and I haven't done any translation to English for this particular presentation.
Download sessions from SEF
My session on SharePoint 2010 Development Introduction:
Tobias Zimmergren – SharePoint 2010 Development Introduction
Download all other presentations from http://www.seforum.se/Pages/200910362748747.aspx, including great speakers like:
- Eric Schupps
- Göran Husman
- Joel Oleson
- Penny Coventry
- Steve Smith
- Todd Klindt
- Wictor Wilén
- and more…
- Posted in Misc
- No Comments
- Tags: Conference, Downloads, SEF, SharePoint, SharePoint 2010, SPF, SPS
SharePoint 2010: Developer Documentation and Protocol Documentation
July 14th, 2009 by Tobias Zimmergren
Just like the previous posts, this is just going to be a short "heads up" on some new documentation and links that just showed up on the Microsoft Download Center site:
2010: Microsoft SharePoint Products and Technologies Protocol Documentation
2010: SharePoint Products and Technologies: 2010 (Technical Preview) Developer Documentation
- Posted in Misc
- No Comments
- Tags: Documentation, Downloads, SharePoint, SharePoint 2010, SPF, SPS
SharePoint 2010 Sneak-Peak videos are officially out
July 14th, 2009 by Tobias Zimmergren
So, if you haven't heard it already, http://sharepoint.microsoft.com has updated some information and now let us in on some details about SharePoint 2010.
Take a look at the preview/sneak-peak videos and be amazed! I'm stunned. Wow!
You'll find the videos here: http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx
Have fun :-)
- Posted in Misc
- No Comments
- Tags: SharePoint, SharePoint 2010, SPF, SPS