Our Umbraco is our community hub, bringing together over a hundred thousand people every month sharing knowledge in the forum, documentation, blogs, packages and much more.
If you can’t make it to CodeGarden, that doesn’t mean you have to miss the chance of hanging out with the Umbraco community. You can do just that through the many local user groups and meetups
Fanø is a Danish island in the North Sea off the coast of southwestern Denmark, and is the very northernmost of the Danish Wadden Sea Islands. Fanø municipality is the municipality that covers the island and its seat is the town of Nordby.
Congratulations on getting up and running with Umbraco and the “Fanoe” starter kit. The idea with this starter kit is to let you explore some of the simple things Umbraco can do for a typical content powered website using “The Grid” feature.
\n
To get the most out of this starter kit and get started on the right foot, make sure to watch the “Grid” tutorial on Umbraco.TV which will take you through how the entire starter kit was made. From implementing the HTML mockups in Umbraco and using the powerful features in the Grid to give maximum freedom and flexibility for editors - without compromising the design.
",
+ "editor": {
+ "name": "Rich text editor",
+ "alias": "rte",
+ "view": "rte",
+ "icon": "icon-article"
+ }
+ }
+ ]
+ }
+ ],
+ "styles": {},
+ "config": {
+ "class": "light"
+ },
+ "id": "3f0013b7-f55e-cdd9-6ed9-7ad2f8696157"
+ },
+ {
+ "name": "Article Wide",
+ "areas": [
+ {
+ "grid": 12,
+ "allowAll": false,
+ "allowed": [
+ "headline",
+ "abstract",
+ "code",
+ "quote",
+ "embed",
+ "media",
+ "media_text_right",
+ "rte",
+ "paragraph"
+ ],
+ "controls": [
+ {
+ "value": "While walking around on Fanø, you will notice that almost all traditional houses have a little window above the front door with a model boat.\nThis is a very traditional good luck charm for the men away at sea. The economy of the island was almost entirely based on fishing and every family home has the model boat to ensure the safe return of sailors",
+ "editor": {
+ "name": "Quote",
+ "alias": "quote",
+ "view": "textstring",
+ "icon": "icon-quote",
+ "config": {
+ "style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-variant: italic; font-size: 18px",
+ "markup": "
While we recommend everyone to get an Umbraco.TV subscription to learn the ins and outs of Umbraco, maybe you prefer a more traditional tutorial or detailed technical documentation.
Umbraco uses Razor - a templating engine from Microsoft - as the main way to generate pages. If you’ve never used it before and in particular if you’ve never used ASP.NET before, It might seem a little daunting, but fear not. The template editor in the back office provides snippets and a Query Builder to get you up to speed.
\n
Once you know the basics, it’s also nice to know that there’s cheat sheets covering the most common methods - ready to print out for office decoration.
\n
Extend with the API
\n
If you want to extend Umbraco even further, you can use our .NET API to programmatically create Content, Media, Members and anything else that’s possible through the back office. For a quick start, you can follow this tutorial and for full reference, don’t miss the thorough documentation on Our.
The masterclasses are ran by either the Umbraco HQ or by the most experienced community heroes and use thoroughly tested materials to ensure you’ll return as a fully skilled Umbraco craftsperson.
While Umbraco is a simple tool, it’s important that you use it the right way. The Level 1 master class is designed to make sure that any Web Developer - also with no previous ASP.NET knowledge - can create advanced multi-lingual sites by the end of the course.
\n
\n
Become an expert
\n
Once you know the basics, you can step up your game by attending the Level 2 master class. While the first masterclass is focused on implementing a site, this Masterclass will teach you how the .net APIs work and how to integrate and extend Umbraco. Whether that’s creating content programmatically or integrating a third party e-commerce engine or CRM.
\n
\n
Worth the investment
\n
All attendees at the official Umbraco Masterclasses receive a certification which is the best way to make yourself noticed in the Umbraco ecosystem. So whether you’re looking to move up in the ranks of your company or are a free agent, you shouldn’t be doing Umbraco without becoming certified. The investment will come back many times, so make sure to keep an eye out for a Masterclass near you.
Our Umbraco is our community hub, bringing together over a hundred thousand people every month sharing knowledge in the forum, documentation, blogs, packages and much more.
If you’re stuck in your Umbraco project, the friendly forum is the place to visit. We take pride in keeping a friendly atmosphere in our forums despite the rapid growth of the project, so remember that the easier and friendlier you ask the more likely you are to get a quality reply.
\n
\n
Karma
\n
On “Our” we have a virtual currency called “Karma” - think of it as likes worth counting. When you give people help, they can appreciate this by giving you a virtual high five. In addition to the joy of knowing that your help meant something, you also get karma points and while money doesn’t buy you happiness, a little bit of karma can.
\n
In other words, don’t forget to say thanks - it doesn’t cost you anything!
\n
\n
Give back
\n
Once you’ve become better at Umbraco, remember to set aside a little bit of time to be the help you got. It’ll keep the snowball effect rolling and by pulling together as a community, it doesn’t take much effort from everybody to make Umbraco community the best in the industry when it comes to get a fast and friendly quality response.
but today we like to think of it more as a “festival”. Lasting three days from early mornings to late evenings, it’s packed with a combination of learning everything about Umbraco to the who’s who in the community in a laid back atmosphere where you’ll feel at home.
\n
Great sessions
\n
At Umbraco you’ll find sessions that’ll take your skills to the next level. From large-scale implementation to highly specialized sites, you really shouldn’t miss out on the opportunity to learn from those who have come before you.
Aside from the regular sessions and workshops CodeGarden also provides a unique approach to conferencing. It is called Open Space Technology and is all about networking, problem solving. This means you are not just limited to the scheduled topics but can put your own passions on the agenda and influence the future of the project.
\n
Loads of fun
\n
In the community we value having a great time, so CodeGarden evenings are packed with social events. From canal tours of Copenhagen (with free beer and champagne) to evening parties and the infamous Umbraco bingo and dinner which can’t be described in words.
\n
Get your ticket
\n
CodeGarden always ends up selling out, so make sure to reserve your ticket. The earlier you order the cheaper it is and if you’re on a stretch budget there’s a big chance that a friendly local Umbracian will have a couch to spare.
If you can’t make it to CodeGarden, that doesn’t mean you have to miss the chance of hanging out with the Umbraco community and finally - if you can’t come to the community, why not have the community come to you by starting a local user group?
From London to New York, from Denmark in the north to Australia in the south - there’s local Umbraco User groups all over the world that arrange regular meetups. The format is usually a laid back atmosphere where people share their knowledge and new people are always welcome. So make sure to check out Meetup.com for a local group and if you’re not lucky, why not start one - it’s not that hard.
\n
\n
Local Festivals
\n
Inspired by CodeGarden, there’s more and more annual local Umbraco events. Originated from the community in the United Kingdom, there’s “Umbraco Festivals” going on in many countries around the world. These are one day events packed with sessions that often combine advanced Umbraco topics with discussing how local awareness can be improved. And as they are driven by the community and often sponsored by local Umbraco partners, they’re usually very inexpensive events to attend.
At the Umbraco HQ we employ 15 full-time employees to ensure that the core is of the highest quality and constantly evolves. As we believe in keeping great ideas sustainable, we’ve never taken outside investment, but solely rely on income from products that enhance - but don’t limit - the open source core. We believe this is the best, long term solution and we hope you agree.
From complete e-commerce platforms to integration with 3rd party services such as MailChimp and YouTube to developer tools that’ll boost your productivity.
\n
While you can download the packages on Our, you can also browse and install them directly from within the backoffice - called the “Package Repository” (yes, we should find a sexier name!). Those packages are filtered to ensure they’ll work with your Umbraco installation (based on version) and only packages that have been approved by at least 15 community people make the cut.
"
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "styles": {},
+ "config": {
+ "class": "yellow"
+ },
+ "id": "a01e8642-d4a9-30d4-d8ef-ae31a0f7f83e"
+ },
+ {
+ "name": "Article Wide",
+ "areas": [
+ {
+ "grid": 12,
+ "allowAll": false,
+ "allowed": [
+ "headline",
+ "abstract",
+ "code",
+ "quote",
+ "embed",
+ "media",
+ "media_text_right",
+ "rte",
+ "paragraph"
+ ],
+ "controls": [
+ {
+ "value": {
+ "focalPoint": {
+ "left": 0.5,
+ "top": 0.5
+ },
+ "id": 1120,
+ "image": "/media/1038/screen-shot-2014-12-01-at-121327.png",
+ "paragraph": "Once you’ve installed a package, make sure to give feedback. Whether the install was successful or not, it’ll help the next person trying to give it a go. At Our Umbraco you can report compatibility with a few simple clicks.",
+ "headline": "Give feedback"
+ },
+ "editor": {
+ "name": "Image w/ text right",
+ "alias": "media_text_right",
+ "view": "/App_Plugins/Grid/Editors/Views/media_with_description.html",
+ "render": "/App_Plugins/Grid/Editors/Render/media_text_right.cshtml",
+ "icon": "icon-picture"
+ }
+ }
+ ]
+ }
+ ],
+ "styles": {},
+ "config": {
+ "class": "light"
+ },
+ "id": "96916694-116a-637c-2319-a5b077e80bd9"
+ }
+ ]
+ }
+ ]
+}]]>
+
+
+
+ 1
+
+ Tall trees have deep roots\n
You may think of Umbraco solely as the piece of software that runs the website you’re currently viewing. But like impressive trees, it would be nothing without the roots that bring it to life - and in the case of Umbraco, it’s our community.
date back to 2003 where the first version of Umbraco saw its light. Back then nobody could predict what it would become and especially not Niels Hartvig who simply designed and built Umbraco as a tool to quickly produce sites for his freelance clients and make sure they had a user-friendly way of updating it.
\n
But in 2004 he decided to open source the work and with help of friends Kasper Bumbech and Anders Pollas with whom he shared office space, the first version of Umbraco as open source saw the light of the day on February 16th 2005.
\n
In the early days, the community was purely virtual and since it was the days before Facebook and Twitter, the early adopters communicated through a Yahoo Mailinglist. From the seeds of talking Umbraco via email, the idea of an Umbraco conference surfaced and in March 2005, CodeGarden was born…
thousands of people have attended what is considered a must experience event for any “Umbracian”; it’s where everything Umbraco comes to life. From seeing the latest progress, sharing knowledge with fellow community members, having memorable times in the wonderful city of Copenhagen and returning energized with new knowledge and inspiration.
\n
But more than anything, it’s the special vibe that has always been a keystone in everything that surrounds Umbraco. As coined by Hudson Maul back in 2006 - it’s “The Friendly CMS”.
including its share of drunk uncles, scary mothers in-law, supercilious grandfathers and loud kids. Yet, while some may prefer sticking to their own class, it’s exactly the diversity that makes us great.
\n
Without diversity, status quo becomes king. At Umbraco we don’t believe in the status quo. We believe it’s the sum of our differences - whether designer, developer or editor, whether nationality, religion or gender, heck, whether Apple or PC - that it’s the nutrition for moving forward.
\n
When you open your eyes for the qualities in other people, you open up an astounding opportunity to learn. Our world - and our differences - is a buffet of eye-opening knowledge just waiting for you. So make sure to treat everyone friendly and with the highest respect. Don't be the judge.
A Danish comedy duo once said that “adults are just kids gone insane” and maybe it’s not all wrong. Somewhere between the confused teenage years and growing up as responsible adults we do tend to go a little mad. We forget to play, to experiment, to risk.
\n
Yet, we all dream about - and need - a little adventure every now and then. At the Umbraco community we praise those who dare to play and take risks. At the many Umbraco events around the world, brave people share their ideas through opinionated talks and at Our Umbraco courageous coders share their packages that extend the feature set of Umbraco.
\n
You should as well. After all, what do you really have to lose? Nothing compared to what you have to gain: becoming a better craftsperson, inspiring others and the satisfaction of seeing the download number of your work increase week after week. If we don’t strive for moving forward - whether professionals or amateurs - then what’s the point?
We have created a bunch of 'how-to' videos, to get you easily started with Umbraco. Learn how to build projects in just a couple of minutes. Easiest CMS in the world.
The Umbraco community is the best of its kind, be sure to visit, and if you have any questions, were sure that you can get your answers from the community.
+
+
+ @RenderBody()
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/Views/Partials/BottomNavigation.cshtml b/Blog/Views/Partials/BottomNavigation.cshtml
new file mode 100644
index 0000000..94dea9a
--- /dev/null
+++ b/Blog/Views/Partials/BottomNavigation.cshtml
@@ -0,0 +1,50 @@
+@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
+@{
+ var home = Model.Content.AncestorOrSelf(1);
+}
+
+@if (home.Children.Where("Visible").Any())
+{
+ @* For each child page under the home node, where the property umbracoNaviHide is not True *@
+ foreach (var childPage in home.Children.Where(c => !c.GetPropertyValue("umbracoNaviHide")))
+ {
+
+}
+
+@helper childPages(IEnumerable pages)
+{
+ @* Ensure that we have a collection of pages *@
+ if (pages.Any())
+ {
+ @* Get the first page in pages and get the level *@
+ var naviLevel = pages.First().Level;
+
+ @* Add in level for a CSS hook *@
+
+ @foreach (var page in pages)
+ {
+
+ @page.Name
+
+ @* if the current page has any children *@
+ @if (page.Children.Any())
+ {
+ @* Call our helper to display the children *@
+ @childPages(page.Children)
+ }
+
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Blog/Views/TextPage.cshtml b/Blog/Views/TextPage.cshtml
new file mode 100644
index 0000000..1d56b07
--- /dev/null
+++ b/Blog/Views/TextPage.cshtml
@@ -0,0 +1,6 @@
+@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
+@{
+ Layout = "Master.cshtml";
+}
+
+@CurrentPage.GetGridHtml("content", "fanoe")
\ No newline at end of file
diff --git a/Blog/Views/Web.config b/Blog/Views/Web.config
new file mode 100644
index 0000000..5bcb14a
--- /dev/null
+++ b/Blog/Views/Web.config
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/Web.Debug.config b/Blog/Web.Debug.config
new file mode 100644
index 0000000..2e302f9
--- /dev/null
+++ b/Blog/Web.Debug.config
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/Web.Release.config b/Blog/Web.Release.config
new file mode 100644
index 0000000..c358444
--- /dev/null
+++ b/Blog/Web.Release.config
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/Web.config b/Blog/Web.config
new file mode 100644
index 0000000..4f84817
--- /dev/null
+++ b/Blog/Web.config
@@ -0,0 +1,314 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Blog/bin/AutoMapper.Net4.dll b/Blog/bin/AutoMapper.Net4.dll
new file mode 100644
index 0000000..bed09d3
Binary files /dev/null and b/Blog/bin/AutoMapper.Net4.dll differ
diff --git a/Blog/bin/AutoMapper.dll b/Blog/bin/AutoMapper.dll
new file mode 100644
index 0000000..7f04cdc
Binary files /dev/null and b/Blog/bin/AutoMapper.dll differ
diff --git a/Blog/bin/AutoMapper.xml b/Blog/bin/AutoMapper.xml
new file mode 100644
index 0000000..cd74154
--- /dev/null
+++ b/Blog/bin/AutoMapper.xml
@@ -0,0 +1,1479 @@
+
+
+
+ AutoMapper
+
+
+
+
+ Main entry point for AutoMapper, for both creating maps and performing maps.
+
+
+
+
+ Execute a mapping from the source object to a new destination object.
+ The source type is inferred from the source object.
+
+ Destination type to create
+ Source object to map from
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to a new destination object with supplied mapping options.
+
+ Destination type to create
+ Source object to map from
+ Mapping options
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to a new destination object.
+
+ Source type to use, regardless of the runtime type
+ Destination type to create
+ Source object to map from
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to the existing destination object.
+
+ Source type to use
+ Dsetination type
+ Source object to map from
+ Destination object to map into
+ The mapped destination object, same instance as the object
+
+
+
+ Execute a mapping from the source object to the existing destination object with supplied mapping options.
+
+ Source type to use
+ Destination type
+ Source object to map from
+ Destination object to map into
+ Mapping options
+ The mapped destination object, same instance as the object
+
+
+
+ Execute a mapping from the source object to a new destination object with supplied mapping options.
+
+ Source type to use
+ Destination type to create
+ Source object to map from
+ Mapping options
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to a new destination object with explicit objects
+
+ Source object to map from
+ Source type to use
+ Destination type to create
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to a new destination object with explicit objects and supplied mapping options.
+
+ Source object to map from
+ Source type to use
+ Destination type to create
+ Mapping options
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to existing destination object with explicit objects
+
+ Source object to map from
+ Destination object to map into
+ Source type to use
+ Destination type to use
+ Mapped destination object, same instance as the object
+
+
+
+ Execute a mapping from the source object to existing destination object with supplied mapping options and explicit objects
+
+ Source object to map from
+ Destination object to map into
+ Source type to use
+ Destination type to use
+ Mapping options
+ Mapped destination object, same instance as the object
+
+
+
+ Create a map between the and types and execute the map
+
+ Source type to use
+ Destination type to use
+ Source object to map from
+ Mapped destination object
+
+
+
+ Create a map between the and types and execute the map to the existing destination object
+
+ Source type to use
+ Destination type to use
+ Source object to map from
+ Destination object to map into
+
+
+
+ Create a map between the object and types and execute the map.
+ Source type is inferred from the source object .
+
+ Destination type to use
+ Source object to map from
+ Mapped destination object
+
+
+
+ Create a map between the and types and execute the map.
+ Use this method when the source and destination types are not known until runtime.
+
+ Source object to map from
+ Source type to use
+ Destination type to use
+ Mapped destination object
+
+
+
+ Create a map between the and types and execute the map to the existing destination object.
+ Use this method when the source and destination types are not known until runtime.
+
+ Source object to map from
+
+ Source type to use
+ Destination type to use
+
+
+
+ Initializes the mapper with the supplied configuration. Runtime optimization complete after this method is called.
+ This is the preferred means to configure AutoMapper.
+
+ Initialization callback
+
+
+
+ Configuration starter for specific source types
+
+ Source type
+ Configuration options
+
+
+
+ Creates a mapping configuration from the type to the type
+
+ Source type
+ Destination type
+ Mapping expression for more configuration options
+
+
+
+ Creates a mapping configuration from the type to the type.
+ Specify the member list to validate against during configuration validation.
+
+ Source type
+ Destination type
+ Member list to validate
+ Mapping expression for more configuration options
+
+
+
+ Create a mapping configuration from the source type to the destination type.
+ Use this method when the source and destination type are known at runtime and not compile time.
+
+ Source type
+ Destination type
+ Mapping expression for more configuration options
+
+
+
+ Creates a mapping configuration from the source type to the destination type.
+ Specify the member list to validate against during configuration validation.
+
+ Source type
+ Destination type
+ Member list to validate
+ Mapping expression for more configuration options
+
+
+
+ Create a named profile for grouped mapping configuration
+
+ Profile name
+ Profile configuration options
+
+
+
+ Create a named profile for grouped mapping configuration, and configure the profile
+
+ Profile name
+ Profile configuration callback
+
+
+
+ Add an existing profile
+
+ Profile to add
+
+
+
+ Add an existing profile type. Profile will be instantiated and added to the configuration.
+
+ Profile type
+
+
+
+ Find the for the configured source and destination type
+
+ Configured source type
+ Configured destination type
+ Type map configuration
+
+
+
+ Find the for the configured source and destination type
+
+ Configured source type
+ Configured destination type
+ Type map configuration
+
+
+
+ Get all configured type maps created
+
+ All configured type maps
+
+
+
+ Dry run all configured type maps and throw for each problem
+
+
+
+
+ Dry run single type map
+
+ Type map to check
+
+
+
+ Dry run all type maps in given profile
+
+ Profile name of type maps to test
+
+
+
+ Clear out all existing configuration
+
+
+
+
+ Globally ignore all members starting with a prefix
+
+ Prefix of members to ignore. Call this before all other maps created.
+
+
+
+ When set, destination can have null values. Defaults to true.
+ This does not affect simple types, only complex ones.
+
+
+
+
+ Mapping engine used to perform mappings
+
+
+
+
+ Store for all configuration
+
+
+
+
+ Mapping execution strategy, as a chain of responsibility
+
+
+
+
+ Performs a map
+
+ Resolution context
+ Mapping engine runner
+ Mapped object
+
+
+
+ When true, the mapping engine will use this mapper as the strategy
+
+ Resolution context
+ Is match
+
+
+
+ Extension point for modifying list of object mappers
+
+
+
+
+ Member list to check for configuration validation
+
+
+
+
+ Check that all destination members are mapped
+
+
+
+
+ Check that all source members are mapped
+
+
+
+
+ Ignore this member for validation and skip during mapping
+
+
+
+
+ Custom mapping action
+
+ Source type
+ Destination type
+
+
+
+ Implementors can modify both the source and destination objects
+
+ Source object
+ Destination object
+
+
+
+ Main entry point for executing maps
+
+
+
+
+ Options for a single map operation
+
+
+
+
+ Construct services using this callback. Use this for child/nested containers
+
+
+
+
+
+ Create any missing type maps, if found
+
+
+
+
+ Defines a naming convention strategy
+
+
+
+
+ Regular expression on how to tokenize a member
+
+
+
+
+ Character to separate on
+
+
+
+
+ Options for matching source/destination member types
+
+
+
+
+ Naming convention for source members
+
+
+
+
+ Naming convention for destination members
+
+
+
+
+ Source member name prefixes to ignore/drop
+
+
+
+
+ Source member name postfixes to ignore/drop
+
+
+
+
+ Destination member name prefixes to ignore/drop
+
+
+
+
+ Destination member naem prefixes to ignore/drop
+
+
+
+
+ Source/destination member aliases
+
+
+
+
+ Allow mapping to constructors that accept arguments
+
+
+
+
+ For mapping via data readers, enable lazy returning of values instead of immediate evalaution
+
+
+
+
+ Assemblies to search for extension methods
+
+
+
+
+ Extension point to provide custom resolution for a destination value
+
+
+
+
+ Implementors use source resolution result to provide a destination resolution result.
+ Use the class for a type-safe version.
+
+ Source resolution result
+ Result, typically build from the source resolution result
+
+
+
+ Converts source type to destination type instead of normal member mapping
+
+ Source type
+ Destination type
+
+
+
+ Performs conversion from source to destination type
+
+ Resolution context
+ Destination object
+
+
+
+ Contains profile-specific configuration
+
+
+
+
+ Indicates that null source values should be mapped as null
+
+
+
+
+ Indicates that null source collections should be mapped as null
+
+
+
+
+ Generic-friendly implementation of
+
+ Source type
+ Destination type
+
+
+
+ When overridden in a base class, this method is provided the casted source object extracted from the
+
+ Source object
+ Destination object
+
+
+
+ Get all configured type maps created
+
+ All configured type maps
+
+
+
+ Find the for the configured source and destination type, checking the source/destination object types too
+
+ Source object
+ Destination object
+ Configured source type
+ Configured destination type
+ Type map configuration
+
+
+
+ Find the for the configured source and destination type
+
+ Configured source type
+ Configured destination type
+ Type map configuration
+
+
+
+ Find the for the resolution result and destination type
+
+ Resolution result from the source object
+ Configured destination type
+ Type map configuration
+
+
+
+ Get named profile configuration
+
+ Profile name
+
+
+
+
+ Dry run all configured type maps and throw for each problem
+
+
+
+
+ Dry run single type map
+
+ Type map to check
+
+
+
+ Dry run all type maps in given profile
+
+ Profile name of type maps to test
+
+
+
+ Get all configured mappers
+
+ List of mappers
+
+
+
+ Creates a based on a source and destination type
+
+ Source type
+ Destination type
+ Type map configuration
+
+
+
+ Fired each time a type map is created
+
+
+
+
+ Factory method to create formatters, resolvers and type converters
+
+
+
+
+ Configuration for profile-specific maps
+
+
+
+
+ Allow null destination values. If false, destination objects will be created for deep object graphs. Default true.
+
+
+
+
+ Allow null destination collections. If true, null source collections result in null destination collections. Default false.
+
+
+
+
+ Creates a mapping configuration from the type to the type
+
+ Source type
+ Destination type
+ Mapping expression for more configuration options
+
+
+
+ Creates a mapping configuration from the type to the type.
+ Specify the member list to validate against during configuration validation.
+
+ Source type
+ Destination type
+ Member list to validate
+ Mapping expression for more configuration options
+
+
+
+ Create a mapping configuration from the source type to the destination type.
+ Use this method when the source and destination type are known at runtime and not compile time.
+
+ Source type
+ Destination type
+ Mapping expression for more configuration options
+
+
+
+ Creates a mapping configuration from the source type to the destination type.
+ Specify the member list to validate against during configuration validation.
+
+ Source type
+ Destination type
+ Member list to validate
+ Mapping expression for more configuration options
+
+
+
+ Recognize a list of prefixes to be removed from source member names when matching
+
+ List of prefixes
+
+
+
+ Recognize a list of postfixes to be removed from source member names when matching
+
+ List of postfixes
+
+
+
+ Provide an alias for a member name when matching source member names
+
+ Original member name
+ Alias to match against
+
+
+
+ Recognize a list of prefixes to be removed from destination member names when matching
+
+ List of prefixes
+
+
+
+ Recognize a list of postfixes to be removed from destination member names when matching
+
+ List of postfixes
+
+
+
+ Add a property name to globally ignore. Matches against the beginning of the property names.
+
+ Property name to match against
+
+
+
+ Create a named profile for grouped mapping configuration
+
+ Profile name
+ Profile configuration options
+
+
+
+ Create a named profile for grouped mapping configuration, and configure the profile
+
+ Profile name
+ Profile configuration callback
+
+
+
+ Add an existing profile
+
+ Profile to add
+
+
+
+ Add an existing profile type. Profile will be instantiated and added to the configuration.
+
+ Profile type
+
+
+
+ Supply a factory method callback for creating formatters, resolvers and type converters
+
+ Factory method
+
+
+
+ Disable constructor mapping. Use this if you don't intend to have AutoMapper try to map to constructors
+
+
+
+
+ Seal the configuration and optimize maps
+
+
+
+
+ Mapping via a data reader will yield return each item, keeping a data reader open instead of eagerly evaluating
+
+
+
+
+ Performs mapping based on configuration
+
+
+
+
+ Execute a mapping from the source object to a new destination object.
+ The source type is inferred from the source object.
+
+ Destination type to create
+ Source object to map from
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to a new destination object with supplied mapping options.
+
+ Destination type to create
+ Source object to map from
+ Mapping options
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to a new destination object.
+
+ Source type to use, regardless of the runtime type
+ Destination type to create
+ Source object to map from
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to a new destination object with supplied mapping options.
+
+ Source type to use
+ Destination type to create
+ Source object to map from
+ Mapping options
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to the existing destination object.
+
+ Source type to use
+ Dsetination type
+ Source object to map from
+ Destination object to map into
+ The mapped destination object, same instance as the object
+
+
+
+ Execute a mapping from the source object to the existing destination object with supplied mapping options.
+
+ Source type to use
+ Destination type
+ Source object to map from
+ Destination object to map into
+ Mapping options
+ The mapped destination object, same instance as the object
+
+
+
+ Execute a mapping from the source object to a new destination object with explicit objects
+
+ Source object to map from
+ Source type to use
+ Destination type to create
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to a new destination object with explicit objects and supplied mapping options.
+
+ Source object to map from
+ Source type to use
+ Destination type to create
+ Mapping options
+ Mapped destination object
+
+
+
+ Execute a mapping from the source object to existing destination object with explicit objects
+
+ Source object to map from
+ Destination object to map into
+ Source type to use
+ Destination type to use
+ Mapped destination object, same instance as the object
+
+
+
+ Execute a mapping from the source object to existing destination object with supplied mapping options and explicit objects
+
+ Source object to map from
+ Destination object to map into
+ Source type to use
+ Destination type to use
+ Mapping options
+ Mapped destination object, same instance as the object
+
+
+
+ Create a map between the and types and execute the map
+
+ Source type to use
+ Destination type to use
+ Source object to map from
+ Mapped destination object
+
+
+
+ Create a map between the object and types and execute the map.
+ Source type is inferred from the source object .
+
+ Destination type to use
+ Source object to map from
+ Mapped destination object
+
+
+
+ Create a map between the and types and execute the map.
+ Use this method when the source and destination types are not known until runtime.
+
+ Source object to map from
+ Source type to use
+ Destination type to use
+ Mapped destination object
+
+
+
+ Create a map between the and types and execute the map to the existing destination object
+
+ Source type to use
+ Destination type to use
+ Source object to map from
+ Destination object to map into
+
+
+
+ Create a map between the and types and execute the map to the existing destination object.
+ Use this method when the source and destination types are not known until runtime.
+
+ Source object to map from
+
+ Source type to use
+ Destination type to use
+
+
+
+ Configuration provider for performaing maps
+
+
+
+
+ Mapping configuration options for non-generic maps
+
+
+
+
+ Skip normal member mapping and convert using a instantiated during mapping
+
+ Type converter type
+
+
+
+ Skip normal member mapping and convert using a instantiated during mapping
+ Use this method if you need to specify the converter type at runtime
+
+ Type converter type
+
+
+
+ Override the destination type mapping for looking up configuration and instantiation
+
+
+
+
+
+ Assign a profile to the current type map
+
+ Profile name
+ Itself
+
+
+
+ Customize individual members
+
+ Name of the member
+ Callback for configuring member
+ Itself
+
+
+
+ Mapping configuration options
+
+ Source type
+ Destination type
+
+
+
+ Customize configuration for individual member
+
+ Expression to the top-level destination member. This must be a member on the TDestination type
+ Callback for member options
+ Itself
+
+
+
+ Customize configuration for individual member. Used when the name isn't known at compile-time
+
+ Destination member name
+ Callback for member options
+
+
+
+
+ Customize configuration for all members
+
+ Callback for member options
+
+
+
+ Include this configuration in derived types' maps
+
+ Derived source type
+ Derived destination type
+
+
+
+
+ Assign a profile to the current type map
+
+ Name of the profile
+ Itself
+
+
+
+ Skip member mapping and use a custom function to convert to the destination type
+
+ Callback to convert from source type to destination type
+
+
+
+ Skip member mapping and use a custom type converter instance to convert to the destination type
+
+ Type converter instance
+
+
+
+ Skip member mapping and use a custom type converter instance to convert to the destination type
+
+ Type converter type
+
+
+
+ Execute a custom function to the source and/or destination types before member mapping
+
+ Callback for the source/destination types
+ Itself
+
+
+
+ Execute a custom mapping action before member mapping
+
+ Mapping action type instantiated during mapping
+ Itself
+
+
+
+ Execute a custom function to the source and/or destination types after member mapping
+
+ Callback for the source/destination types
+ Itself
+
+
+
+ Execute a custom mapping action after member mapping
+
+ Mapping action type instantiated during mapping
+ Itself
+
+
+
+ Supply a custom instantiation function for the destination type
+
+ Callback to create the destination type given the source object
+ Itself
+
+
+
+ Supply a custom instantiation function for the destination type, based on the entire resolution context
+
+ Callback to create the destination type given the current resolution context
+ Itself
+
+
+
+ Override the destination type mapping for looking up configuration and instantiation
+
+ Destination type to use
+
+
+
+ For self-referential types, limit recurse depth
+
+ Number of levels to limit to
+ Itself
+
+
+
+ Construct the destination object using the service locator
+
+ Itself
+
+
+
+ Create a type mapping from the destination to the source type, using the members as validation
+
+ Itself
+
+
+
+ Customize configuration for an individual source member
+
+ Expression to source member. Must be a member of the type
+ Callback for member configuration options
+ Itself
+
+
+
+ Configuration options for an individual member
+
+
+
+
+ Map from a specific source member
+
+ Source member to map from
+
+
+
+ Resolve destination member using a custom value resolver instance
+
+ Value resolver to use
+ Value resolver configuration options
+
+
+
+ Resolve destination member using a custom value resolver
+
+ Value resolver of type
+ Value resolver configuration options
+
+
+
+ Resolve destination member using a custom value resolver
+
+ Value resolver of type
+ Value resolver configuration options
+
+
+
+ Ignore this member for configuration validation and skip during mapping
+
+
+
+
+ Source member configuration options
+
+ Source type
+
+
+
+ Ignore this member for configuration validation and skip during mapping
+
+
+
+
+ Member configuration options
+
+ Source type for this member
+
+
+
+ Substitute a custom value when the source member resolves as null
+
+ Value to use
+
+
+
+ Resolve destination member using a custom value resolver
+
+ Value resolver type
+ Value resolver configuration options
+
+
+
+ Resolve destination member using a custom value resolver. Used when the value resolver is not known at compile-time
+
+ Value resolver type
+ Value resolver configuration options
+
+
+
+ Resolve destination member using a custom value resolver instance
+
+ Value resolver instance to use
+ Resolution expression
+
+
+
+ Resolve destination member using a custom value resolver callback. Used instead of MapFrom when not simply redirecting a source member
+ This method cannot be used in conjunction with LINQ query projection
+
+ Callback function to resolve against source type
+
+
+
+ Specify the source member to map from. Can only reference a member on the type
+ This method can be used in mapping to LINQ query projections, while ResolveUsing cannot.
+
+ Member type of the source member to use
+ Expression referencing the source member to map against
+
+
+
+ Ignore this member for configuration validation and skip during mapping
+
+
+
+
+ Supply a custom mapping order instead of what the .NET runtime returns
+
+ Mapping order value
+
+
+
+ Use the destination value instead of mapping from the source value or creating a new instance
+
+
+
+
+ Use a custom value
+
+ Value type
+ Value to use
+
+
+
+ Use a custom value
+
+ Value to use
+
+
+
+ Conditionally map this member
+
+ Condition to evaluate using the source object
+
+
+
+ Conditionally map this member
+
+ Condition to evaluate using the current resolution context
+
+
+
+ Custom resolver options
+
+
+
+
+ Use the supplied member as the input to the resolver instead of the root source object
+
+ Property name to use
+
+
+
+ Custom resolver options
+
+
+
+
+ Construct the value resolver using supplied constructor function
+
+ Value resolver constructor function
+ Itself
+
+
+
+ Custom resolver options
+
+ Source type
+
+
+
+ Use the specified member as the input to the resolver instead of the root object
+
+ Expression for the source member
+
+
+
+ Custom resolver options
+
+ Source type
+ Value resolver type
+
+
+
+ Use the specified member as the input to the resolver instead of the root object
+
+ Expression for the source member
+ Itself
+
+
+
+ Use the specified member as the input to the resolver instead of the root object
+
+ Name of the source member
+ Itself
+
+
+
+ Construct the value resolver with the supplied constructor function
+
+ Value resolver constructor function
+ Itself
+
+
+
+ Custom resolver options
+
+ Source type
+
+
+
+ Construct the value resolver with the supplied constructor function
+
+ Value resolver constructor function
+ Itself
+
+
+
+ Instantiates objects
+
+
+
+
+ Extension point for mappers matching based on types configured by CreateMap
+
+
+
+
+ Provides a named configuration for maps. Naming conventions become scoped per profile.
+
+
+
+
+ Override this method in a derived class and call the CreateMap method to associate that map with this profile.
+ Avoid calling the class from this method.
+
+
+
+
+ This expression visitor will replace an input parameter by another one
+
+ see http://stackoverflow.com/questions/4601844/expression-tree-copy-or-convert
+
+
+
+
+ Create an expression tree representing a mapping from the type to type
+ Includes flattening and expressions inside MapFrom member configuration
+
+ Source Type
+ Destination Type
+ Mapping engine instance
+ Expression tree mapping source to destination type
+
+
+
+ Extention method to project from a queryable using the static property
+ Due to generic parameter inference, you need to call Project().To to execute the map
+
+ Projections are only calculated once and cached
+ Source type
+ Queryable source
+ Expression to project into
+
+
+
+ Extention method to project from a queryable using the provided mapping engine
+ Due to generic parameter inference, you need to call Project().To to execute the map
+
+ Projections are only calculated once and cached
+ Source type
+ Queryable source
+ Mapping engine instance
+ Expression to project into
+
+
+
+ Continuation to execute projection
+
+
+
+
+ Projects the source type to the destination type given the mapping configuration
+
+ Destination type to map to
+ Queryable result, use queryable extension methods to project and execute result
+
+
+
+ Context information regarding resolution of a destination value
+
+
+
+
+ Mapping operation options
+
+
+
+
+ Current type map
+
+
+
+
+ Current property map
+
+
+
+
+ Current source type
+
+
+
+
+ Current attempted destination type
+
+
+
+
+ Index of current collection mapping
+
+
+
+
+ Source value
+
+
+
+
+ Destination value
+
+
+
+
+ Parent resolution context
+
+
+
+
+ Instance cache for resolving circular references
+
+
+
+
+ Represents the result of resolving a value
+
+
+
+
+ Create a resolution result based on source values of a resolution context
+
+ Resolution context
+
+
+
+ Create a new resolution result representing ignoring the value
+
+ New resolution result based on this context with ignored value
+
+
+
+ Create a new resolution result representing the value provided
+
+ Resolved value
+ Resolution result containing resolved value
+
+
+
+ Constructs a new resolution result based on the context of this value result
+
+ Value resolved
+ Type of value as reference in case value is null
+ New resolutino result
+
+
+
+ Resultant value
+
+
+
+
+ Type of value resolved
+
+
+
+
+ Type of member, in case the value is null
+
+
+
+
+ Context for resolving this value
+
+
+
+
+ Directs mappers to ignore this value
+
+
+
+
+ Contains member configuration relating to source members
+
+
+
+
+ Contains cached reflection information for easy retrieval
+
+
+
+
+ Main configuration object holding all mapping configuration for a source and destination type
+
+
+
+
+ Type-safe implementation of
+
+ Source type
+ Destination type
+
+
+
+ Implementors override this method to resolve the destination value based on the provided source value
+
+ Source value
+ Destination
+
+
+
diff --git a/Blog/bin/Blog.dll b/Blog/bin/Blog.dll
new file mode 100644
index 0000000..ed1bd54
Binary files /dev/null and b/Blog/bin/Blog.dll differ
diff --git a/Blog/bin/Blog.dll.config b/Blog/bin/Blog.dll.config
new file mode 100644
index 0000000..8b6b7f7
--- /dev/null
+++ b/Blog/bin/Blog.dll.config
@@ -0,0 +1,291 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/Blog.pdb b/Blog/bin/Blog.pdb
new file mode 100644
index 0000000..7788790
Binary files /dev/null and b/Blog/bin/Blog.pdb differ
diff --git a/Blog/bin/ClientDependency.Core.Mvc.dll b/Blog/bin/ClientDependency.Core.Mvc.dll
new file mode 100644
index 0000000..25536d1
Binary files /dev/null and b/Blog/bin/ClientDependency.Core.Mvc.dll differ
diff --git a/Blog/bin/ClientDependency.Core.Mvc.pdb b/Blog/bin/ClientDependency.Core.Mvc.pdb
new file mode 100644
index 0000000..4aabaff
Binary files /dev/null and b/Blog/bin/ClientDependency.Core.Mvc.pdb differ
diff --git a/Blog/bin/ClientDependency.Core.dll b/Blog/bin/ClientDependency.Core.dll
new file mode 100644
index 0000000..6e0af3d
Binary files /dev/null and b/Blog/bin/ClientDependency.Core.dll differ
diff --git a/Blog/bin/ClientDependency.Core.pdb b/Blog/bin/ClientDependency.Core.pdb
new file mode 100644
index 0000000..8319045
Binary files /dev/null and b/Blog/bin/ClientDependency.Core.pdb differ
diff --git a/Blog/bin/CookComputing.XmlRpcV2.dll b/Blog/bin/CookComputing.XmlRpcV2.dll
new file mode 100644
index 0000000..5b49862
Binary files /dev/null and b/Blog/bin/CookComputing.XmlRpcV2.dll differ
diff --git a/Blog/bin/Examine.dll b/Blog/bin/Examine.dll
new file mode 100644
index 0000000..f57a14d
Binary files /dev/null and b/Blog/bin/Examine.dll differ
diff --git a/Blog/bin/Examine.pdb b/Blog/bin/Examine.pdb
new file mode 100644
index 0000000..63951f2
Binary files /dev/null and b/Blog/bin/Examine.pdb differ
diff --git a/Blog/bin/Fanoe.dll b/Blog/bin/Fanoe.dll
new file mode 100644
index 0000000..66bdf12
Binary files /dev/null and b/Blog/bin/Fanoe.dll differ
diff --git a/Blog/bin/HtmlAgilityPack.dll b/Blog/bin/HtmlAgilityPack.dll
new file mode 100644
index 0000000..0d67049
Binary files /dev/null and b/Blog/bin/HtmlAgilityPack.dll differ
diff --git a/Blog/bin/HtmlAgilityPack.pdb b/Blog/bin/HtmlAgilityPack.pdb
new file mode 100644
index 0000000..ebc0bf0
Binary files /dev/null and b/Blog/bin/HtmlAgilityPack.pdb differ
diff --git a/Blog/bin/HtmlAgilityPack.xml b/Blog/bin/HtmlAgilityPack.xml
new file mode 100644
index 0000000..15c8c7d
--- /dev/null
+++ b/Blog/bin/HtmlAgilityPack.xml
@@ -0,0 +1,2468 @@
+
+
+
+ HtmlAgilityPack
+
+
+
+
+ Represents a combined list and collection of HTML nodes.
+
+
+
+
+ Adds supplied item to collection
+
+
+
+
+
+ Explicit clear
+
+
+
+
+ Retreives existence of supplied item
+
+
+
+
+
+
+ Copies collection to array
+
+
+
+
+
+
+ Get Explicit enumerator
+
+
+
+
+
+ Explicit non-generic enumerator
+
+
+
+
+
+ Retrieves the index for the supplied item, -1 if not found
+
+
+
+
+
+
+ Inserts given item into collection at supplied index
+
+
+
+
+
+
+ Explicit collection remove
+
+
+
+
+
+
+ Removes the attribute at the specified index.
+
+ The index of the attribute to remove.
+
+
+
+ Adds a new attribute to the collection with the given values
+
+
+
+
+
+
+ Inserts the specified attribute as the last attribute in the collection.
+
+ The attribute to insert. May not be null.
+ The appended attribute.
+
+
+
+ Creates and inserts a new attribute as the last attribute in the collection.
+
+ The name of the attribute to insert.
+ The appended attribute.
+
+
+
+ Creates and inserts a new attribute as the last attribute in the collection.
+
+ The name of the attribute to insert.
+ The value of the attribute to insert.
+ The appended attribute.
+
+
+
+ Checks for existance of attribute with given name
+
+
+
+
+
+
+ Inserts the specified attribute as the first node in the collection.
+
+ The attribute to insert. May not be null.
+ The prepended attribute.
+
+
+
+ Removes a given attribute from the list.
+
+ The attribute to remove. May not be null.
+
+
+
+ Removes an attribute from the list, using its name. If there are more than one attributes with this name, they will all be removed.
+
+ The attribute's name. May not be null.
+
+
+
+ Remove all attributes in the list.
+
+
+
+
+ Returns all attributes with specified name. Handles case insentivity
+
+ Name of the attribute
+
+
+
+
+ Removes all attributes from the collection
+
+
+
+
+ Clears the attribute collection
+
+
+
+
+ Gets a given attribute from the list using its name.
+
+
+
+
+ Gets the number of elements actually contained in the list.
+
+
+
+
+ Gets readonly status of colelction
+
+
+
+
+ Gets the attribute at the specified index.
+
+
+
+
+ Represents an HTML comment.
+
+
+
+
+ Represents an HTML node.
+
+
+
+
+ Creates a new XPathNavigator object for navigating this HTML node.
+
+ An XPathNavigator object. The XPathNavigator is positioned on the node from which the method was called. It is not positioned on the root of the document.
+
+
+
+ Creates an XPathNavigator using the root of this document.
+
+
+
+
+
+ Selects a list of nodes matching the expression.
+
+ The XPath expression.
+ An containing a collection of nodes matching the query, or null if no node matched the XPath expression.
+
+
+
+ Selects the first XmlNode that matches the XPath expression.
+
+ The XPath expression. May not be null.
+ The first that matches the XPath query or a null reference if no matching node was found.
+
+
+
+ Gets the name of a comment node. It is actually defined as '#comment'.
+
+
+
+
+ Gets the name of the document node. It is actually defined as '#document'.
+
+
+
+
+ Gets the name of a text node. It is actually defined as '#text'.
+
+
+
+
+ Gets a collection of flags that define specific behaviors for specific element nodes.
+ The table contains a DictionaryEntry list with the lowercase tag name as the Key, and a combination of HtmlElementFlags as the Value.
+
+
+
+
+ Initialize HtmlNode. Builds a list of all tags that have special allowances
+
+
+
+
+ Initializes HtmlNode, providing type, owner and where it exists in a collection
+
+
+
+
+
+
+
+ Determines if an element node can be kept overlapped.
+
+ The name of the element node to check. May not be null.
+ true if the name is the name of an element node that can be kept overlapped, false otherwise.
+
+
+
+ Creates an HTML node from a string representing literal HTML.
+
+ The HTML text.
+ The newly created node instance.
+
+
+
+ Determines if an element node is a CDATA element node.
+
+ The name of the element node to check. May not be null.
+ true if the name is the name of a CDATA element node, false otherwise.
+
+
+
+ Determines if an element node is closed.
+
+ The name of the element node to check. May not be null.
+ true if the name is the name of a closed element node, false otherwise.
+
+
+
+ Determines if an element node is defined as empty.
+
+ The name of the element node to check. May not be null.
+ true if the name is the name of an empty element node, false otherwise.
+
+
+
+ Determines if a text corresponds to the closing tag of an node that can be kept overlapped.
+
+ The text to check. May not be null.
+ true or false.
+
+
+
+ Returns a collection of all ancestor nodes of this element.
+
+
+
+
+
+ Get Ancestors with matching name
+
+
+
+
+
+
+ Returns a collection of all ancestor nodes of this element.
+
+
+
+
+
+ Gets all anscestor nodes and the current node
+
+
+
+
+
+
+ Adds the specified node to the end of the list of children of this node.
+
+ The node to add. May not be null.
+ The node added.
+
+
+
+ Adds the specified node to the end of the list of children of this node.
+
+ The node list to add. May not be null.
+
+
+
+ Gets all Attributes with name
+
+
+
+
+
+
+ Creates a duplicate of the node
+
+
+
+
+
+ Creates a duplicate of the node and changes its name at the same time.
+
+ The new name of the cloned node. May not be null.
+ The cloned node.
+
+
+
+ Creates a duplicate of the node and changes its name at the same time.
+
+ The new name of the cloned node. May not be null.
+ true to recursively clone the subtree under the specified node; false to clone only the node itself.
+ The cloned node.
+
+
+
+ Creates a duplicate of the node.
+
+ true to recursively clone the subtree under the specified node; false to clone only the node itself.
+ The cloned node.
+
+
+
+ Creates a duplicate of the node and the subtree under it.
+
+ The node to duplicate. May not be null.
+
+
+
+ Creates a duplicate of the node.
+
+ The node to duplicate. May not be null.
+ true to recursively clone the subtree under the specified node, false to clone only the node itself.
+
+
+
+ Gets all Descendant nodes for this node and each of child nodes
+
+
+
+
+
+ Returns a collection of all descendant nodes of this element, in document order
+
+
+
+
+
+ Gets all Descendant nodes in enumerated list
+
+
+
+
+
+ Get all descendant nodes with matching name
+
+
+
+
+
+
+ Returns a collection of all descendant nodes of this element, in document order
+
+
+
+
+
+ Gets all descendant nodes including this node
+
+
+
+
+
+
+ Gets first generation child node matching name
+
+
+
+
+
+
+ Gets matching first generation child nodes matching name
+
+
+
+
+
+
+ Helper method to get the value of an attribute of this node. If the attribute is not found, the default value will be returned.
+
+ The name of the attribute to get. May not be null.
+ The default value to return if not found.
+ The value of the attribute if found, the default value if not found.
+
+
+
+ Helper method to get the value of an attribute of this node. If the attribute is not found, the default value will be returned.
+
+ The name of the attribute to get. May not be null.
+ The default value to return if not found.
+ The value of the attribute if found, the default value if not found.
+
+
+
+ Helper method to get the value of an attribute of this node. If the attribute is not found, the default value will be returned.
+
+ The name of the attribute to get. May not be null.
+ The default value to return if not found.
+ The value of the attribute if found, the default value if not found.
+
+
+
+ Inserts the specified node immediately after the specified reference node.
+
+ The node to insert. May not be null.
+ The node that is the reference node. The newNode is placed after the refNode.
+ The node being inserted.
+
+
+
+ Inserts the specified node immediately before the specified reference node.
+
+ The node to insert. May not be null.
+ The node that is the reference node. The newChild is placed before this node.
+ The node being inserted.
+
+
+
+ Adds the specified node to the beginning of the list of children of this node.
+
+ The node to add. May not be null.
+ The node added.
+
+
+
+ Adds the specified node list to the beginning of the list of children of this node.
+
+ The node list to add. May not be null.
+
+
+
+ Removes node from parent collection
+
+
+
+
+ Removes all the children and/or attributes of the current node.
+
+
+
+
+ Removes all the children of the current node.
+
+
+
+
+ Removes the specified child node.
+
+ The node being removed. May not be null.
+ The node removed.
+
+
+
+ Removes the specified child node.
+
+ The node being removed. May not be null.
+ true to keep grand children of the node, false otherwise.
+ The node removed.
+
+
+
+ Replaces the child node oldChild with newChild node.
+
+ The new node to put in the child list.
+ The node being replaced in the list.
+ The node replaced.
+
+
+
+ Helper method to set the value of an attribute of this node. If the attribute is not found, it will be created automatically.
+
+ The name of the attribute to set. May not be null.
+ The value for the attribute.
+ The corresponding attribute instance.
+
+
+
+ Saves all the children of the node to the specified TextWriter.
+
+ The TextWriter to which you want to save.
+
+
+
+ Saves all the children of the node to a string.
+
+ The saved string.
+
+
+
+ Saves the current node to the specified TextWriter.
+
+ The TextWriter to which you want to save.
+
+
+
+ Saves the current node to the specified XmlWriter.
+
+ The XmlWriter to which you want to save.
+
+
+
+ Saves the current node to a string.
+
+ The saved string.
+
+
+
+ Gets the collection of HTML attributes for this node. May not be null.
+
+
+
+
+ Gets all the children of the node.
+
+
+
+
+ Gets a value indicating if this node has been closed or not.
+
+
+
+
+ Gets the collection of HTML attributes for the closing tag. May not be null.
+
+
+
+
+ Gets the first child of the node.
+
+
+
+
+ Gets a value indicating whether the current node has any attributes.
+
+
+
+
+ Gets a value indicating whether this node has any child nodes.
+
+
+
+
+ Gets a value indicating whether the current node has any attributes on the closing tag.
+
+
+
+
+ Gets or sets the value of the 'id' HTML attribute. The document must have been parsed using the OptionUseIdAttribute set to true.
+
+
+
+
+ Gets or Sets the HTML between the start and end tags of the object.
+
+
+
+
+ Gets or Sets the text between the start and end tags of the object.
+
+
+
+
+ Gets the last child of the node.
+
+
+
+
+ Gets the line number of this node in the document.
+
+
+
+
+ Gets the column number of this node in the document.
+
+
+
+
+ Gets or sets this node's name.
+
+
+
+
+ Gets the HTML node immediately following this element.
+
+
+
+
+ Gets the type of this node.
+
+
+
+
+ The original unaltered name of the tag
+
+
+
+
+ Gets or Sets the object and its content in HTML.
+
+
+
+
+ Gets the to which this node belongs.
+
+
+
+
+ Gets the parent of this node (for nodes that can have parents).
+
+
+
+
+ Gets the node immediately preceding this node.
+
+
+
+
+ Gets the stream position of this node in the document, relative to the start of the document.
+
+
+
+
+ Gets a valid XPath string that points to this node
+
+
+
+
+ Gets or Sets the comment text of the node.
+
+
+
+
+ Gets or Sets the HTML between the start and end tags of the object. In the case of a text node, it is equals to OuterHtml.
+
+
+
+
+ Gets or Sets the object and its content in HTML.
+
+
+
+
+ Represents a complete HTML document.
+
+
+
+
+ Detects the encoding of an HTML document from a file first, and then loads the file.
+
+ The complete file path to be read.
+
+
+
+ Detects the encoding of an HTML document from a file first, and then loads the file.
+
+ The complete file path to be read. May not be null.
+ true to detect encoding, false otherwise.
+
+
+
+ Detects the encoding of an HTML file.
+
+ Path for the file containing the HTML document to detect. May not be null.
+ The detected encoding.
+
+
+
+ Loads an HTML document from a file.
+
+ The complete file path to be read. May not be null.
+
+
+
+ Loads an HTML document from a file.
+
+ The complete file path to be read. May not be null.
+ Indicates whether to look for byte order marks at the beginning of the file.
+
+
+
+ Loads an HTML document from a file.
+
+ The complete file path to be read. May not be null.
+ The character encoding to use. May not be null.
+
+
+
+ Loads an HTML document from a file.
+
+ The complete file path to be read. May not be null.
+ The character encoding to use. May not be null.
+ Indicates whether to look for byte order marks at the beginning of the file.
+
+
+
+ Loads an HTML document from a file.
+
+ The complete file path to be read. May not be null.
+ The character encoding to use. May not be null.
+ Indicates whether to look for byte order marks at the beginning of the file.
+ The minimum buffer size.
+
+
+
+ Saves the mixed document to the specified file.
+
+ The location of the file where you want to save the document.
+
+
+
+ Saves the mixed document to the specified file.
+
+ The location of the file where you want to save the document. May not be null.
+ The character encoding to use. May not be null.
+
+
+
+ Creates a new XPathNavigator object for navigating this HTML document.
+
+ An XPathNavigator object. The XPathNavigator is positioned on the root of the document.
+
+
+
+ Adds Debugging attributes to node. Default is false.
+
+
+
+
+ Defines if closing for non closed nodes must be done at the end or directly in the document.
+ Setting this to true can actually change how browsers render the page. Default is false.
+
+
+
+
+ Defines if non closed nodes will be checked at the end of parsing. Default is true.
+
+
+
+
+ Defines if a checksum must be computed for the document while parsing. Default is false.
+
+
+
+
+ Defines the default stream encoding to use. Default is System.Text.Encoding.Default.
+
+
+
+
+ Defines if source text must be extracted while parsing errors.
+ If the document has a lot of errors, or cascading errors, parsing performance can be dramatically affected if set to true.
+ Default is false.
+
+
+
+
+ Defines the maximum length of source text or parse errors. Default is 100.
+
+
+
+
+ Defines if LI, TR, TH, TD tags must be partially fixed when nesting errors are detected. Default is false.
+
+
+
+
+ Defines if output must conform to XML, instead of HTML.
+
+
+
+
+ Defines if attribute value output must be optimized (not bound with double quotes if it is possible). Default is false.
+
+
+
+
+ Defines if name must be output with it's original case. Useful for asp.net tags and attributes
+
+
+
+
+ Defines if name must be output in uppercase. Default is false.
+
+
+
+
+ Defines if declared encoding must be read from the document.
+ Declared encoding is determined using the meta http-equiv="content-type" content="text/html;charset=XXXXX" html node.
+ Default is true.
+
+
+
+
+ Defines the name of a node that will throw the StopperNodeException when found as an end node. Default is null.
+
+
+
+
+ Defines if the 'id' attribute must be specifically used. Default is true.
+
+
+
+
+ Defines if empty nodes must be written as closed during output. Default is false.
+
+
+
+
+ Creates an instance of an HTML document.
+
+
+
+
+ Gets a valid XML name.
+
+ Any text.
+ A string that is a valid XML name.
+
+
+
+ Applies HTML encoding to a specified string.
+
+ The input string to encode. May not be null.
+ The encoded string.
+
+
+
+ Determines if the specified character is considered as a whitespace character.
+
+ The character to check.
+ true if if the specified character is considered as a whitespace character.
+
+
+
+ Creates an HTML attribute with the specified name.
+
+ The name of the attribute. May not be null.
+ The new HTML attribute.
+
+
+
+ Creates an HTML attribute with the specified name.
+
+ The name of the attribute. May not be null.
+ The value of the attribute.
+ The new HTML attribute.
+
+
+
+ Creates an HTML comment node.
+
+ The new HTML comment node.
+
+
+
+ Creates an HTML comment node with the specified comment text.
+
+ The comment text. May not be null.
+ The new HTML comment node.
+
+
+
+ Creates an HTML element node with the specified name.
+
+ The qualified name of the element. May not be null.
+ The new HTML node.
+
+
+
+ Creates an HTML text node.
+
+ The new HTML text node.
+
+
+
+ Creates an HTML text node with the specified text.
+
+ The text of the node. May not be null.
+ The new HTML text node.
+
+
+
+ Detects the encoding of an HTML stream.
+
+ The input stream. May not be null.
+ The detected encoding.
+
+
+
+ Detects the encoding of an HTML text provided on a TextReader.
+
+ The TextReader used to feed the HTML. May not be null.
+ The detected encoding.
+
+
+
+ Detects the encoding of an HTML text.
+
+ The input html text. May not be null.
+ The detected encoding.
+
+
+
+ Gets the HTML node with the specified 'id' attribute value.
+
+ The attribute id to match. May not be null.
+ The HTML node with the matching id or null if not found.
+
+
+
+ Loads an HTML document from a stream.
+
+ The input stream.
+
+
+
+ Loads an HTML document from a stream.
+
+ The input stream.
+ Indicates whether to look for byte order marks at the beginning of the stream.
+
+
+
+ Loads an HTML document from a stream.
+
+ The input stream.
+ The character encoding to use.
+
+
+
+ Loads an HTML document from a stream.
+
+ The input stream.
+ The character encoding to use.
+ Indicates whether to look for byte order marks at the beginning of the stream.
+
+
+
+ Loads an HTML document from a stream.
+
+ The input stream.
+ The character encoding to use.
+ Indicates whether to look for byte order marks at the beginning of the stream.
+ The minimum buffer size.
+
+
+
+ Loads the HTML document from the specified TextReader.
+
+ The TextReader used to feed the HTML data into the document. May not be null.
+
+
+
+ Loads the HTML document from the specified string.
+
+ String containing the HTML document to load. May not be null.
+
+
+
+ Saves the HTML document to the specified stream.
+
+ The stream to which you want to save.
+
+
+
+ Saves the HTML document to the specified stream.
+
+ The stream to which you want to save. May not be null.
+ The character encoding to use. May not be null.
+
+
+
+ Saves the HTML document to the specified StreamWriter.
+
+ The StreamWriter to which you want to save.
+
+
+
+ Saves the HTML document to the specified TextWriter.
+
+ The TextWriter to which you want to save. May not be null.
+
+
+
+ Saves the HTML document to the specified XmlWriter.
+
+ The XmlWriter to which you want to save.
+
+
+
+ Gets the document CRC32 checksum if OptionComputeChecksum was set to true before parsing, 0 otherwise.
+
+
+
+
+ Gets the document's declared encoding.
+ Declared encoding is determined using the meta http-equiv="content-type" content="text/html;charset=XXXXX" html node.
+
+
+
+
+ Gets the root node of the document.
+
+
+
+
+ Gets the document's output encoding.
+
+
+
+
+ Gets a list of parse errors found in the document.
+
+
+
+
+ Gets the remaining text.
+ Will always be null if OptionStopperNodeName is null.
+
+
+
+
+ Gets the offset of Remainder in the original Html text.
+ If OptionStopperNodeName is null, this will return the length of the original Html text.
+
+
+
+
+ Gets the document's stream encoding.
+
+
+
+
+ Flags that describe the behavior of an Element node.
+
+
+
+
+ The node is a CDATA node.
+
+
+
+
+ The node is empty. META or IMG are example of such nodes.
+
+
+
+
+ The node will automatically be closed during parsing.
+
+
+
+
+ The node can overlap.
+
+
+
+
+ Represents a combined list and collection of HTML nodes.
+
+
+
+
+ Initialize the HtmlNodeCollection with the base parent node
+
+ The base node of the collection
+
+
+
+ Add node to the collection
+
+
+
+
+
+ Clears out the collection of HtmlNodes. Removes each nodes reference to parentnode, nextnode and prevnode
+
+
+
+
+ Gets existence of node in collection
+
+
+
+
+
+
+ Copy collection to array
+
+
+
+
+
+
+ Get Enumerator
+
+
+
+
+
+ Get Explicit Enumerator
+
+
+
+
+
+ Get index of node
+
+
+
+
+
+
+ Insert node at index
+
+
+
+
+
+
+ Remove node
+
+
+
+
+
+
+ Remove at index
+
+
+
+
+
+ Get first instance of node in supplied collection
+
+
+
+
+
+
+
+ Add node to the end of the collection
+
+
+
+
+
+ Get first instance of node with name
+
+
+
+
+
+
+ Get index of node
+
+
+
+
+
+
+ Add node to the beginning of the collection
+
+
+
+
+
+ Remove node at index
+
+
+
+
+
+
+ Replace node at index
+
+
+
+
+
+
+ Get all node descended from this collection
+
+
+
+
+
+ Get all node descended from this collection with matching name
+
+
+
+
+
+ Gets all first generation elements in collection
+
+
+
+
+
+ Gets all first generation elements matching name
+
+
+
+
+
+
+ All first generation nodes in collection
+
+
+
+
+
+ Gets a given node from the list.
+
+
+
+
+ Get node with tag name
+
+
+
+
+
+
+ Gets the number of elements actually contained in the list.
+
+
+
+
+ Is collection read only
+
+
+
+
+ Gets the node at the specified index.
+
+
+
+
+ Represents the type of a node.
+
+
+
+
+ The root of a document.
+
+
+
+
+ An HTML element.
+
+
+
+
+ An HTML comment.
+
+
+
+
+ A text node is always the child of an element or a document node.
+
+
+
+
+ Represents a parsing error found during document parsing.
+
+
+
+
+ Gets the type of error.
+
+
+
+
+ Gets the line number of this error in the document.
+
+
+
+
+ Gets the column number of this error in the document.
+
+
+
+
+ Gets a description for the error.
+
+
+
+
+ Gets the the full text of the line containing the error.
+
+
+
+
+ Gets the absolute stream position of this error in the document, relative to the start of the document.
+
+
+
+
+ Represents the type of parsing error.
+
+
+
+
+ A tag was not closed.
+
+
+
+
+ A tag was not opened.
+
+
+
+
+ There is a charset mismatch between stream and declared (META) encoding.
+
+
+
+
+ An end tag was not required.
+
+
+
+
+ An end tag is invalid at this position.
+
+
+
+
+ Represents an HTML text node.
+
+
+
+
+ Gets or Sets the HTML between the start and end tags of the object. In the case of a text node, it is equals to OuterHtml.
+
+
+
+
+ Gets or Sets the object and its content in HTML.
+
+
+
+
+ Gets or Sets the text of the node.
+
+
+
+
+ A utility class to get HTML document from HTTP.
+
+
+
+
+ Creates an instance of the given type from the specified Internet resource.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ The URL that specifies the XSLT stylesheet to load.
+ An containing the namespace-qualified arguments used as input to the transform.
+ The requested type.
+ An newly created instance.
+
+
+
+ Creates an instance of the given type from the specified Internet resource.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ The URL that specifies the XSLT stylesheet to load.
+ An containing the namespace-qualified arguments used as input to the transform.
+ The requested type.
+ A file path where the temporary XML before transformation will be saved. Mostly used for debugging purposes.
+ An newly created instance.
+
+
+
+ Loads an HTML document from an Internet resource and saves it to the specified XmlTextWriter, after an XSLT transformation.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ The URL that specifies the XSLT stylesheet to load.
+ An XsltArgumentList containing the namespace-qualified arguments used as input to the transform.
+ The XmlTextWriter to which you want to save.
+
+
+
+ Loads an HTML document from an Internet resource and saves it to the specified XmlTextWriter, after an XSLT transformation.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp". May not be null.
+ The URL that specifies the XSLT stylesheet to load.
+ An XsltArgumentList containing the namespace-qualified arguments used as input to the transform.
+ The XmlTextWriter to which you want to save.
+ A file path where the temporary XML before transformation will be saved. Mostly used for debugging purposes.
+
+
+
+ Occurs after an HTTP request has been executed.
+
+
+
+
+ Occurs before an HTML document is handled.
+
+
+
+
+ Occurs before an HTTP request is executed.
+
+
+
+
+ Gets the MIME content type for a given path extension.
+
+ The input path extension.
+ The default content type to return if any error occurs.
+ The path extension's MIME content type.
+
+
+
+ Gets the path extension for a given MIME content type.
+
+ The input MIME content type.
+ The default path extension to return if any error occurs.
+ The MIME content type's path extension.
+
+
+
+ Creates an instance of the given type from the specified Internet resource.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ The requested type.
+ An newly created instance.
+
+
+
+ Gets an HTML document from an Internet resource and saves it to the specified file.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ The location of the file where you want to save the document.
+
+
+
+ Gets an HTML document from an Internet resource and saves it to the specified file. - Proxy aware
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ The location of the file where you want to save the document.
+
+
+
+
+
+ Gets an HTML document from an Internet resource and saves it to the specified file.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ The location of the file where you want to save the document.
+ The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND.
+
+
+
+ Gets an HTML document from an Internet resource and saves it to the specified file. Understands Proxies
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ The location of the file where you want to save the document.
+
+ The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND.
+
+
+
+
+ Gets the cache file path for a specified url.
+
+ The url fo which to retrieve the cache path. May not be null.
+ The cache file path.
+
+
+
+ Gets an HTML document from an Internet resource.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ A new HTML document.
+
+
+
+ Gets an HTML document from an Internet resource.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ Host to use for Proxy
+ Port the Proxy is on
+ User Id for Authentication
+ Password for Authentication
+ A new HTML document.
+
+
+
+ Loads an HTML document from an Internet resource.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND.
+ A new HTML document.
+
+
+
+ Loads an HTML document from an Internet resource.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ The HTTP method used to open the connection, such as GET, POST, PUT, or PROPFIND.
+ Proxy to use with this request
+ Credentials to use when authenticating
+ A new HTML document.
+
+
+
+ Loads an HTML document from an Internet resource and saves it to the specified XmlTextWriter.
+
+ The requested URL, such as "http://Myserver/Mypath/Myfile.asp".
+ The XmlTextWriter to which you want to save to.
+
+
+
+ Gets or Sets a value indicating if document encoding must be automatically detected.
+
+
+
+
+ Gets or sets the Encoding used to override the response stream from any web request
+
+
+
+
+ Gets or Sets a value indicating whether to get document only from the cache.
+ If this is set to true and document is not found in the cache, nothing will be loaded.
+
+
+
+
+ Gets or Sets the cache path. If null, no caching mechanism will be used.
+
+
+
+
+ Gets a value indicating if the last document was retrieved from the cache.
+
+
+
+
+ Gets the last request duration in milliseconds.
+
+
+
+
+ Gets the URI of the Internet resource that actually responded to the request.
+
+
+
+
+ Gets the last request status.
+
+
+
+
+ Gets or Sets the size of the buffer used for memory operations.
+
+
+
+
+ Gets or Sets a value indicating if cookies will be stored.
+
+
+
+
+ Gets or Sets the User Agent HTTP 1.1 header sent on any webrequest
+
+
+
+
+ Gets or Sets a value indicating whether the caching mechanisms should be used or not.
+
+
+
+
+ Represents the method that will handle the PostResponse event.
+
+
+
+
+ Represents the method that will handle the PreHandleDocument event.
+
+
+
+
+ Represents the method that will handle the PreRequest event.
+
+
+
+
+ Represents an exception thrown by the HtmlWeb utility class.
+
+
+
+
+ Creates an instance of the HtmlWebException.
+
+ The exception's message.
+
+
+
+ Represents a fragment of code in a mixed code document.
+
+
+
+
+ Represents a base class for fragments in a mixed code document.
+
+
+
+
+ Gets the fragement text.
+
+
+
+
+ Gets the type of fragment.
+
+
+
+
+ Gets the line number of the fragment.
+
+
+
+
+ Gets the line position (column) of the fragment.
+
+
+
+
+ Gets the fragment position in the document's stream.
+
+
+
+
+ Gets the fragment code text.
+
+
+
+
+ Represents a list of mixed code fragments.
+
+
+
+
+ Gets an enumerator that can iterate through the fragment list.
+
+
+
+
+ Appends a fragment to the list of fragments.
+
+ The fragment to append. May not be null.
+
+
+
+ Gets an enumerator that can iterate through the fragment list.
+
+
+
+
+ Prepends a fragment to the list of fragments.
+
+ The fragment to append. May not be null.
+
+
+
+ Remove a fragment from the list of fragments. If this fragment was not in the list, an exception will be raised.
+
+ The fragment to remove. May not be null.
+
+
+
+ Remove all fragments from the list.
+
+
+
+
+ Remove a fragment from the list of fragments, using its index in the list.
+
+ The index of the fragment to remove.
+
+
+
+ Gets the Document
+
+
+
+
+ Gets the number of fragments contained in the list.
+
+
+
+
+ Gets a fragment from the list using its index.
+
+
+
+
+ Represents a fragment enumerator.
+
+
+
+
+ Advances the enumerator to the next element of the collection.
+
+ true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+
+
+ Gets the current element in the collection.
+
+
+
+
+ Gets the current element in the collection.
+
+
+
+
+ Represents the type of fragment in a mixed code document.
+
+
+
+
+ The fragment contains code.
+
+
+
+
+ The fragment contains text.
+
+
+
+
+ Represents a fragment of text in a mixed code document.
+
+
+
+
+ Gets the fragment text.
+
+
+
+
+ A utility class to compute CRC32.
+
+
+
+
+ Compute a checksum for a given array of bytes.
+
+ The array of bytes to compute the checksum for.
+ The computed checksum.
+
+
+
+ Compute a checksum for a given string.
+
+ The string to compute the checksum for.
+ The computed checksum.
+
+
+
+ Represents an HTML attribute.
+
+
+
+
+ Compares the current instance with another attribute. Comparison is based on attributes' name.
+
+ An attribute to compare with this instance.
+ A 32-bit signed integer that indicates the relative order of the names comparison.
+
+
+
+ Creates a duplicate of this attribute.
+
+ The cloned attribute.
+
+
+
+ Removes this attribute from it's parents collection
+
+
+
+
+ Gets the line number of this attribute in the document.
+
+
+
+
+ Gets the column number of this attribute in the document.
+
+
+
+
+ Gets the qualified name of the attribute.
+
+
+
+
+ Name of attribute with original case
+
+
+
+
+ Gets the HTML document to which this attribute belongs.
+
+
+
+
+ Gets the HTML node to which this attribute belongs.
+
+
+
+
+ Specifies what type of quote the data should be wrapped in
+
+
+
+
+ Gets the stream position of this attribute in the document, relative to the start of the document.
+
+
+
+
+ Gets or sets the value of the attribute.
+
+
+
+
+ Gets a valid XPath string that points to this Attribute
+
+
+
+
+ An Enum representing different types of Quotes used for surrounding attribute values
+
+
+
+
+ A single quote mark '
+
+
+
+
+ A double quote mark "
+
+
+
+
+ A utility class to replace special characters by entities and vice-versa.
+ Follows HTML 4.0 specification found at http://www.w3.org/TR/html4/sgml/entities.html
+
+
+
+
+ Replace known entities by characters.
+
+ The source text.
+ The result text.
+
+
+
+ Clone and entitize an HtmlNode. This will affect attribute values and nodes' text. It will also entitize all child nodes.
+
+ The node to entitize.
+ An entitized cloned node.
+
+
+
+ Replace characters above 127 by entities.
+
+ The source text.
+ The result text.
+
+
+
+ Replace characters above 127 by entities.
+
+ The source text.
+ If set to false, the function will not use known entities name. Default is true.
+ The result text.
+
+
+
+ Replace characters above 127 by entities.
+
+ The source text.
+ If set to false, the function will not use known entities name. Default is true.
+ If set to true, the [quote], [ampersand], [lower than] and [greather than] characters will be entitized.
+ The result text
+
+
+
+ A collection of entities indexed by name.
+
+
+
+
+ A collection of entities indexed by value.
+
+
+
+
+ Represents an HTML navigator on an HTML document seen as a data store.
+
+
+
+
+ Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream.
+
+ The input stream.
+
+
+
+ Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream.
+
+ The input stream.
+ Indicates whether to look for byte order marks at the beginning of the stream.
+
+
+
+ Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream.
+
+ The input stream.
+ The character encoding to use.
+
+
+
+ Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream.
+
+ The input stream.
+ The character encoding to use.
+ Indicates whether to look for byte order marks at the beginning of the stream.
+
+
+
+ Initializes a new instance of the HtmlNavigator and loads an HTML document from a stream.
+
+ The input stream.
+ The character encoding to use.
+ Indicates whether to look for byte order marks at the beginning of the stream.
+ The minimum buffer size.
+
+
+
+ Initializes a new instance of the HtmlNavigator and loads an HTML document from a TextReader.
+
+ The TextReader used to feed the HTML data into the document.
+
+
+
+ Initializes a new instance of the HtmlNavigator and loads an HTML document from a file.
+
+ The complete file path to be read.
+
+
+
+ Initializes a new instance of the HtmlNavigator and loads an HTML document from a file.
+
+ The complete file path to be read.
+ Indicates whether to look for byte order marks at the beginning of the file.
+
+
+
+ Initializes a new instance of the HtmlNavigator and loads an HTML document from a file.
+
+ The complete file path to be read.
+ The character encoding to use.
+
+
+
+ Initializes a new instance of the HtmlNavigator and loads an HTML document from a file.
+
+ The complete file path to be read.
+ The character encoding to use.
+ Indicates whether to look for byte order marks at the beginning of the file.
+
+
+
+ Initializes a new instance of the HtmlNavigator and loads an HTML document from a file.
+
+ The complete file path to be read.
+ The character encoding to use.
+ Indicates whether to look for byte order marks at the beginning of the file.
+ The minimum buffer size.
+
+
+
+ Creates a new HtmlNavigator positioned at the same node as this HtmlNavigator.
+
+ A new HtmlNavigator object positioned at the same node as the original HtmlNavigator.
+
+
+
+ Gets the value of the HTML attribute with the specified LocalName and NamespaceURI.
+
+ The local name of the HTML attribute.
+ The namespace URI of the attribute. Unsupported with the HtmlNavigator implementation.
+ The value of the specified HTML attribute. String.Empty or null if a matching attribute is not found or if the navigator is not positioned on an element node.
+
+
+
+ Returns the value of the namespace node corresponding to the specified local name.
+ Always returns string.Empty for the HtmlNavigator implementation.
+
+ The local name of the namespace node.
+ Always returns string.Empty for the HtmlNavigator implementation.
+
+
+
+ Determines whether the current HtmlNavigator is at the same position as the specified HtmlNavigator.
+
+ The HtmlNavigator that you want to compare against.
+ true if the two navigators have the same position, otherwise, false.
+
+
+
+ Moves to the same position as the specified HtmlNavigator.
+
+ The HtmlNavigator positioned on the node that you want to move to.
+ true if successful, otherwise false. If false, the position of the navigator is unchanged.
+
+
+
+ Moves to the HTML attribute with matching LocalName and NamespaceURI.
+
+ The local name of the HTML attribute.
+ The namespace URI of the attribute. Unsupported with the HtmlNavigator implementation.
+ true if the HTML attribute is found, otherwise, false. If false, the position of the navigator does not change.
+
+
+
+ Moves to the first sibling of the current node.
+
+ true if the navigator is successful moving to the first sibling node, false if there is no first sibling or if the navigator is currently positioned on an attribute node.
+
+
+
+ Moves to the first HTML attribute.
+
+ true if the navigator is successful moving to the first HTML attribute, otherwise, false.
+
+
+
+ Moves to the first child of the current node.
+
+ true if there is a first child node, otherwise false.
+
+
+
+ Moves the XPathNavigator to the first namespace node of the current element.
+ Always returns false for the HtmlNavigator implementation.
+
+ An XPathNamespaceScope value describing the namespace scope.
+ Always returns false for the HtmlNavigator implementation.
+
+
+
+ Moves to the node that has an attribute of type ID whose value matches the specified string.
+
+ A string representing the ID value of the node to which you want to move. This argument does not need to be atomized.
+ true if the move was successful, otherwise false. If false, the position of the navigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the namespace node with the specified local name.
+ Always returns false for the HtmlNavigator implementation.
+
+ The local name of the namespace node.
+ Always returns false for the HtmlNavigator implementation.
+
+
+
+ Moves to the next sibling of the current node.
+
+ true if the navigator is successful moving to the next sibling node, false if there are no more siblings or if the navigator is currently positioned on an attribute node. If false, the position of the navigator is unchanged.
+
+
+
+ Moves to the next HTML attribute.
+
+
+
+
+
+ Moves the XPathNavigator to the next namespace node.
+ Always returns falsefor the HtmlNavigator implementation.
+
+ An XPathNamespaceScope value describing the namespace scope.
+ Always returns false for the HtmlNavigator implementation.
+
+
+
+ Moves to the parent of the current node.
+
+ true if there is a parent node, otherwise false.
+
+
+
+ Moves to the previous sibling of the current node.
+
+ true if the navigator is successful moving to the previous sibling node, false if there is no previous sibling or if the navigator is currently positioned on an attribute node.
+
+
+
+ Moves to the root node to which the current node belongs.
+
+
+
+
+ Gets the base URI for the current node.
+ Always returns string.Empty in the case of HtmlNavigator implementation.
+
+
+
+
+ Gets the current HTML document.
+
+
+
+
+ Gets the current HTML node.
+
+
+
+
+ Gets a value indicating whether the current node has child nodes.
+
+
+
+
+ Gets a value indicating whether the current node has child nodes.
+
+
+
+
+ Gets a value indicating whether the current node is an empty element.
+
+
+
+
+ Gets the name of the current HTML node without the namespace prefix.
+
+
+
+
+ Gets the qualified name of the current node.
+
+
+
+
+ Gets the namespace URI (as defined in the W3C Namespace Specification) of the current node.
+ Always returns string.Empty in the case of HtmlNavigator implementation.
+
+
+
+
+ Gets the associated with this implementation.
+
+
+
+
+ Gets the type of the current node.
+
+
+
+
+ Gets the prefix associated with the current node.
+ Always returns string.Empty in the case of HtmlNavigator implementation.
+
+
+
+
+ Gets the text value of the current node.
+
+
+
+
+ Gets the xml:lang scope for the current node.
+ Always returns string.Empty in the case of HtmlNavigator implementation.
+
+
+
+
+ Wraps getting AppDomain permissions
+
+
+
+
+ An interface for getting permissions of the running application
+
+
+
+
+ Checks to see if Registry access is available to the caller
+
+
+
+
+
+ Checks to see if DNS information is available to the caller
+
+
+
+
+
+ Checks to see if Registry access is available to the caller
+
+
+
+
+
+ Checks to see if DNS information is available to the caller
+
+
+
+
+
+ Represents a document with mixed code and text. ASP, ASPX, JSP, are good example of such documents.
+
+
+
+
+ Gets or sets the token representing code end.
+
+
+
+
+ Gets or sets the token representing code start.
+
+
+
+
+ Gets or sets the token representing code directive.
+
+
+
+
+ Gets or sets the token representing response write directive.
+
+
+
+
+ Creates a mixed code document instance.
+
+
+
+
+ Create a code fragment instances.
+
+ The newly created code fragment instance.
+
+
+
+ Create a text fragment instances.
+
+ The newly created text fragment instance.
+
+
+
+ Loads a mixed code document from a stream.
+
+ The input stream.
+
+
+
+ Loads a mixed code document from a stream.
+
+ The input stream.
+ Indicates whether to look for byte order marks at the beginning of the file.
+
+
+
+ Loads a mixed code document from a stream.
+
+ The input stream.
+ The character encoding to use.
+
+
+
+ Loads a mixed code document from a stream.
+
+ The input stream.
+ The character encoding to use.
+ Indicates whether to look for byte order marks at the beginning of the file.
+
+
+
+ Loads a mixed code document from a stream.
+
+ The input stream.
+ The character encoding to use.
+ Indicates whether to look for byte order marks at the beginning of the file.
+ The minimum buffer size.
+
+
+
+ Loads a mixed code document from a file.
+
+ The complete file path to be read.
+
+
+
+ Loads a mixed code document from a file.
+
+ The complete file path to be read.
+ Indicates whether to look for byte order marks at the beginning of the file.
+
+
+
+ Loads a mixed code document from a file.
+
+ The complete file path to be read.
+ The character encoding to use.
+
+
+
+ Loads a mixed code document from a file.
+
+ The complete file path to be read.
+ The character encoding to use.
+ Indicates whether to look for byte order marks at the beginning of the file.
+
+
+
+ Loads a mixed code document from a file.
+
+ The complete file path to be read.
+ The character encoding to use.
+ Indicates whether to look for byte order marks at the beginning of the file.
+ The minimum buffer size.
+
+
+
+ Loads the mixed code document from the specified TextReader.
+
+ The TextReader used to feed the HTML data into the document.
+
+
+
+ Loads a mixed document from a text
+
+ The text to load.
+
+
+
+ Saves the mixed document to the specified stream.
+
+ The stream to which you want to save.
+
+
+
+ Saves the mixed document to the specified stream.
+
+ The stream to which you want to save.
+ The character encoding to use.
+
+
+
+ Saves the mixed document to the specified file.
+
+ The location of the file where you want to save the document.
+
+
+
+ Saves the mixed document to the specified file.
+
+ The location of the file where you want to save the document.
+ The character encoding to use.
+
+
+
+ Saves the mixed document to the specified StreamWriter.
+
+ The StreamWriter to which you want to save.
+
+
+
+ Saves the mixed document to the specified TextWriter.
+
+ The TextWriter to which you want to save.
+
+
+
+ Gets the code represented by the mixed code document seen as a template.
+
+
+
+
+ Gets the list of code fragments in the document.
+
+
+
+
+ Gets the list of all fragments in the document.
+
+
+
+
+ Gets the encoding of the stream used to read the document.
+
+
+
+
+ Gets the list of text fragments in the document.
+
+
+
+
diff --git a/Blog/bin/ICSharpCode.SharpZipLib.dll b/Blog/bin/ICSharpCode.SharpZipLib.dll
new file mode 100644
index 0000000..fe643eb
Binary files /dev/null and b/Blog/bin/ICSharpCode.SharpZipLib.dll differ
diff --git a/Blog/bin/ImageProcessor.Web.dll b/Blog/bin/ImageProcessor.Web.dll
new file mode 100644
index 0000000..7aa8450
Binary files /dev/null and b/Blog/bin/ImageProcessor.Web.dll differ
diff --git a/Blog/bin/ImageProcessor.dll b/Blog/bin/ImageProcessor.dll
new file mode 100644
index 0000000..8562534
Binary files /dev/null and b/Blog/bin/ImageProcessor.dll differ
diff --git a/Blog/bin/Lucene.Net.dll b/Blog/bin/Lucene.Net.dll
new file mode 100644
index 0000000..28ce25a
Binary files /dev/null and b/Blog/bin/Lucene.Net.dll differ
diff --git a/Blog/bin/Lucene.Net.xml b/Blog/bin/Lucene.Net.xml
new file mode 100644
index 0000000..96159f1
--- /dev/null
+++ b/Blog/bin/Lucene.Net.xml
@@ -0,0 +1,27537 @@
+
+
+
+ Lucene.Net
+
+
+
+ An Analyzer builds TokenStreams, which analyze text. It thus represents a
+ policy for extracting index terms from text.
+
+ Typical implementations first build a Tokenizer, which breaks the stream of
+ characters from the Reader into raw Tokens. One or more TokenFilters may
+ then be applied to the output of the Tokenizer.
+
+
+
+ Creates a TokenStream which tokenizes all the text in the provided
+ Reader. Must be able to handle null field name for
+ backward compatibility.
+
+
+
+ Creates a TokenStream that is allowed to be re-used
+ from the previous time that the same thread called
+ this method. Callers that do not need to use more
+ than one TokenStream at the same time from this
+ analyzer should use this method for better
+ performance.
+
+
+
+ Used by Analyzers that implement reusableTokenStream
+ to retrieve previously saved TokenStreams for re-use
+ by the same thread.
+
+
+
+ Used by Analyzers that implement reusableTokenStream
+ to save a TokenStream for later re-use by the same
+ thread.
+
+
+
+ This is only present to preserve
+ back-compat of classes that subclass a core analyzer
+ and override tokenStream but not reusableTokenStream
+
+
+
+ Invoked before indexing a Fieldable instance if
+ terms have already been added to that field. This allows custom
+ analyzers to place an automatic position increment gap between
+ Fieldable instances using the same field name. The default value
+ position increment gap is 0. With a 0 position increment gap and
+ the typical default token position increment of 1, all terms in a field,
+ including across Fieldable instances, are in successive positions, allowing
+ exact PhraseQuery matches, for instance, across Fieldable instance boundaries.
+
+
+ Fieldable name being indexed.
+
+ position increment gap, added to the next token emitted from
+
+
+
+ Just like , except for
+ Token offsets instead. By default this returns 1 for
+ tokenized fields and, as if the fields were joined
+ with an extra space character, and 0 for un-tokenized
+ fields. This method is only called if the field
+ produced at least one token for indexing.
+
+
+ the field just indexed
+
+ offset gap, added to the next token emitted from
+
+
+
+ Frees persistent resources used by this Analyzer
+
+
+ This class converts alphabetic, numeric, and symbolic Unicode characters
+ which are not in the first 127 ASCII characters (the "Basic Latin" Unicode
+ block) into their ASCII equivalents, if one exists.
+
+ Characters from the following Unicode blocks are converted; however, only
+ those characters with reasonable ASCII alternatives are converted:
+
+
+ C1 Controls and Latin-1 Supplement: http://www.unicode.org/charts/PDF/U0080.pdf
+ Latin Extended-A: http://www.unicode.org/charts/PDF/U0100.pdf
+ Latin Extended-B: http://www.unicode.org/charts/PDF/U0180.pdf
+ Latin Extended Additional: http://www.unicode.org/charts/PDF/U1E00.pdf
+ Latin Extended-C: http://www.unicode.org/charts/PDF/U2C60.pdf
+ Latin Extended-D: http://www.unicode.org/charts/PDF/UA720.pdf
+ IPA Extensions: http://www.unicode.org/charts/PDF/U0250.pdf
+ Phonetic Extensions: http://www.unicode.org/charts/PDF/U1D00.pdf
+ Phonetic Extensions Supplement: http://www.unicode.org/charts/PDF/U1D80.pdf
+ General Punctuation: http://www.unicode.org/charts/PDF/U2000.pdf
+ Superscripts and Subscripts: http://www.unicode.org/charts/PDF/U2070.pdf
+ Enclosed Alphanumerics: http://www.unicode.org/charts/PDF/U2460.pdf
+ Dingbats: http://www.unicode.org/charts/PDF/U2700.pdf
+ Supplemental Punctuation: http://www.unicode.org/charts/PDF/U2E00.pdf
+ Alphabetic Presentation Forms: http://www.unicode.org/charts/PDF/UFB00.pdf
+ Halfwidth and Fullwidth Forms: http://www.unicode.org/charts/PDF/UFF00.pdf
+
+
+ See: http://en.wikipedia.org/wiki/Latin_characters_in_Unicode
+
+ The set of character conversions supported by this class is a superset of
+ those supported by Lucene's which strips
+ accents from Latin1 characters. For example, 'À' will be replaced by
+ 'a'.
+
+
+
+ A TokenFilter is a TokenStream whose input is another TokenStream.
+
+ This is an abstract class; subclasses must override .
+
+
+
+
+
+
+ A TokenStream enumerates the sequence of tokens, either from
+ s of a or from query text.
+
+ This is an abstract class. Concrete subclasses are:
+
+ , a TokenStream whose input is a Reader; and
+ , a TokenStream whose input is another
+ TokenStream.
+
+ A new TokenStream API has been introduced with Lucene 2.9. This API
+ has moved from being based to based. While
+ still exists in 2.9 as a convenience class, the preferred way
+ to store the information of a is to use s.
+
+ TokenStream now extends , which provides
+ access to all of the token s for the TokenStream.
+ Note that only one instance per is created and reused
+ for every token. This approach reduces object creation and allows local
+ caching of references to the s. See
+ for further details.
+
+ The workflow of the new TokenStream API is as follows:
+
+ Instantiation of TokenStream/s which add/get
+ attributes to/from the .
+ The consumer calls .
+ The consumer retrieves attributes from the stream and stores local
+ references to all attributes it wants to access
+ The consumer calls until it returns false and
+ consumes the attributes after each call.
+ The consumer calls so that any end-of-stream operations
+ can be performed.
+ The consumer calls to release any resource when finished
+ using the TokenStream
+
+ To make sure that filters and consumers know which attributes are available,
+ the attributes must be added during instantiation. Filters and consumers are
+ not required to check for availability of attributes in
+ .
+
+ You can find some example code for the new API in the analysis package level
+ Javadoc.
+
+ Sometimes it is desirable to capture a current state of a TokenStream
+ , e. g. for buffering purposes (see ,
+ ). For this usecase
+ and
+ can be used.
+
+
+
+ An AttributeSource contains a list of different s,
+ and methods to add and get them. There can only be a single instance
+ of an attribute in the same AttributeSource instance. This is ensured
+ by passing in the actual type of the Attribute (Class<Attribute>) to
+ the , which then checks if an instance of
+ that type is already present. If yes, it returns the instance, otherwise
+ it creates a new instance and returns it.
+
+
+
+ An AttributeSource using the default attribute factory .
+
+
+ An AttributeSource that uses the same attributes as the supplied one.
+
+
+ An AttributeSource using the supplied for creating new instances.
+
+
+ returns the used AttributeFactory.
+
+
+ Returns a new iterator that iterates the attribute classes
+ in the same order they were added in.
+ Signature for Java 1.5: public Iterator<Class<? extends Attribute>> getAttributeClassesIterator()
+
+ Note that this return value is different from Java in that it enumerates over the values
+ and not the keys
+
+
+
+ Returns a new iterator that iterates all unique Attribute implementations.
+ This iterator may contain less entries that ,
+ if one instance implements more than one Attribute interface.
+ Signature for Java 1.5: public Iterator<AttributeImpl> getAttributeImplsIterator()
+
+
+
+ a cache that stores all interfaces for known implementation classes for performance (slow reflection)
+
+
+ Adds a custom AttributeImpl instance with one or more Attribute interfaces.
+
+
+ The caller must pass in a Class<? extends Attribute> value.
+ This method first checks if an instance of that class is
+ already in this AttributeSource and returns it. Otherwise a
+ new instance is created, added to this AttributeSource and returned.
+ Signature for Java 1.5: public <T extends Attribute> T addAttribute(Class<T>)
+
+
+
+ Returns true, iff this AttributeSource has any attributes
+
+
+ The caller must pass in a Class<? extends Attribute> value.
+ Returns true, iff this AttributeSource contains the passed-in Attribute.
+ Signature for Java 1.5: public boolean hasAttribute(Class<? extends Attribute>)
+
+
+
+ The caller must pass in a Class<? extends Attribute> value.
+ Returns the instance of the passed in Attribute contained in this AttributeSource
+ Signature for Java 1.5: public <T extends Attribute> T getAttribute(Class<T>)
+
+
+ IllegalArgumentException if this AttributeSource does not contain the
+ Attribute. It is recommended to always use even in consumers
+ of TokenStreams, because you cannot know if a specific TokenStream really uses
+ a specific Attribute. will automatically make the attribute
+ available. If you want to only use the attribute, if it is available (to optimize
+ consuming), use .
+
+
+
+ Resets all Attributes in this AttributeSource by calling
+ on each Attribute implementation.
+
+
+
+ Captures the state of all Attributes. The return value can be passed to
+ to restore the state of this or another AttributeSource.
+
+
+
+ Restores this state by copying the values of all attribute implementations
+ that this state contains into the attributes implementations of the targetStream.
+ The targetStream must contain a corresponding instance for each argument
+ contained in this state (e.g. it is not possible to restore the state of
+ an AttributeSource containing a TermAttribute into a AttributeSource using
+ a Token instance as implementation).
+
+ Note that this method does not affect attributes of the targetStream
+ that are not contained in this state. In other words, if for example
+ the targetStream contains an OffsetAttribute, but this state doesn't, then
+ the value of the OffsetAttribute remains unchanged. It might be desirable to
+ reset its value to the default, in which case the caller should first
+ call on the targetStream.
+
+
+
+ Performs a clone of all instances returned in a new
+ AttributeSource instance. This method can be used to e.g. create another TokenStream
+ with exactly the same attributes (using )
+
+
+
+ An AttributeFactory creates instances of s.
+
+
+ returns an for the supplied interface class.
+ Signature for Java 1.5: public AttributeImpl createAttributeInstance(Class%lt;? extends Attribute> attClass)
+
+
+
+ This is the default factory that creates s using the
+ class name of the supplied interface class by appending Impl to it.
+
+
+
+ This class holds the state of an AttributeSource.
+
+
+
+
+
+
+ Remove this when old API is removed!
+
+
+
+ Remove this when old API is removed!
+
+
+
+ Remove this when old API is removed!
+
+
+
+ Remove this when old API is removed!
+
+
+
+ Remove this when old API is removed!
+
+
+
+ Remove this when old API is removed!
+
+
+
+ A TokenStream using the default attribute factory.
+
+
+ A TokenStream that uses the same attributes as the supplied one.
+
+
+ A TokenStream using the supplied AttributeFactory for creating new instances.
+
+
+ Remove this when old API is removed!
+
+
+
+ Remove this when old API is removed!
+
+
+
+ For extra performance you can globally enable the new
+ API using s. There will be a
+ small, but in most cases negligible performance increase by enabling this,
+ but it only works if allTokenStreams use the new API and
+ implement . This setting can only be enabled
+ globally.
+
+ This setting only affects TokenStreams instantiated after this
+ call. All TokenStreams already created use the other setting.
+
+ All core s are compatible with this setting, if you have
+ your own TokenStreams that are also compatible, you should enable
+ this.
+
+ When enabled, tokenization may throw
+ s, if the whole tokenizer chain is not compatible eg one of the
+ TokenStreams does not implement the new TokenStream API.
+
+ The default is false, so there is the fallback to the old API
+ available.
+
+
+ This setting will no longer be needed in Lucene 3.0 as the old
+ API will be removed.
+
+
+
+ Returns if only the new API is used.
+
+
+
+
+ This setting will no longer be needed in Lucene 3.0 as
+ the old API will be removed.
+
+
+
+ Consumers (i.e., ) use this method to advance the stream to
+ the next token. Implementing classes must implement this method and update
+ the appropriate s with the attributes of the next
+ token.
+
+ The producer must make no assumptions about the attributes after the
+ method has been returned: the caller may arbitrarily change it. If the
+ producer needs to preserve the state for subsequent calls, it can use
+ to create a copy of the current attribute state.
+
+ This method is called for every token of a document, so an efficient
+ implementation is crucial for good performance. To avoid calls to
+ and or downcasts,
+ references to all s that this stream uses should be
+ retrieved during instantiation.
+
+ To ensure that filters and consumers know which attributes are available,
+ the attributes must be added during instantiation. Filters and consumers
+ are not required to check for availability of attributes in
+ .
+
+
+ false for end of stream; true otherwise
+
+ Note that this method will be defined abstract in Lucene
+ 3.0.
+
+
+
+ This method is called by the consumer after the last token has been
+ consumed, after returned false
+ (using the new TokenStream API). Streams implementing the old API
+ should upgrade to use this feature.
+
+ This method can be used to perform any end-of-stream operations, such as
+ setting the final offset of a stream. The final offset of a stream might
+ differ from the offset of the last token eg in case one or more whitespaces
+ followed after the last token, but a was used.
+
+
+ IOException
+
+
+ Returns the next token in the stream, or null at EOS. When possible, the
+ input Token should be used as the returned Token (this gives fastest
+ tokenization performance), but this is not required and a new Token may be
+ returned. Callers may re-use a single Token instance for successive calls
+ to this method.
+
+ This implicitly defines a "contract" between consumers (callers of this
+ method) and producers (implementations of this method that are the source
+ for tokens):
+
+ A consumer must fully consume the previously returned
+ before calling this method again.
+ A producer must call before setting the fields in
+ it and returning it
+
+ Also, the producer must make no assumptions about a after it
+ has been returned: the caller may arbitrarily change it. If the producer
+ needs to hold onto the for subsequent calls, it must clone()
+ it before storing it. Note that a is considered a
+ consumer.
+
+
+ a that may or may not be used to return;
+ this parameter should never be null (the callee is not required to
+ check for null before using it, but it is a good idea to assert that
+ it is not null.)
+
+ next in the stream or null if end-of-stream was hit
+
+ The new and
+ APIs should be used instead.
+
+
+
+ Returns the next in the stream, or null at EOS.
+
+
+ The returned Token is a "full private copy" (not re-used across
+ calls to ) but will be slower than calling
+ or using the new
+ method with the new API.
+
+
+
+ Resets this stream to the beginning. This is an optional operation, so
+ subclasses may or may not implement this method. is not needed for
+ the standard indexing process. However, if the tokens of a
+ TokenStream are intended to be consumed more than once, it is
+ necessary to implement . Note that if your TokenStream
+ caches tokens and feeds them back again after a reset, it is imperative
+ that you clone the tokens when you store them away (on the first pass) as
+ well as when you return them (on future passes after ).
+
+
+
+ Releases resources associated with this stream.
+
+
+ Remove this when old API is removed!
+
+
+
+ Remove this when old API is removed!
+
+
+
+ The source of tokens for this filter.
+
+
+ Construct a token stream filtering the given input.
+
+
+ Performs end-of-stream operations, if any, and calls then end() on the
+ input TokenStream.
+ NOTE: Be sure to call super.end() first when overriding this method.
+
+
+
+ Close the input TokenStream.
+
+
+ Reset the filter as well as the input TokenStream.
+
+
+ Converts characters above ASCII to their ASCII equivalents. For example,
+ accents are removed from accented characters.
+
+ The string to fold
+
+ The number of characters in the input string
+
+
+
+
+ * Base utility class for implementing a .
+ * You subclass this, and then record mappings by calling
+ * , and then invoke the correct
+ * method to correct an offset.
+
+
+
+ Subclasses of CharFilter can be chained to filter CharStream.
+ They can be used as with additional offset
+ correction. s will automatically use
+ if a CharFilter/CharStream subclass is used.
+
+
+ $Id$
+
+
+
+
+ CharStream adds
+ functionality over . All Tokenizers accept a
+ CharStream instead of as input, which enables
+ arbitrary character based filtering before tokenization.
+ The method fixed offsets to account for
+ removal or insertion of characters, so that the offsets
+ reported in the tokens match the character offsets of the
+ original Reader.
+
+
+
+ Called by CharFilter(s) and Tokenizer to correct token offset.
+
+
+ offset as seen in the output
+
+ corrected offset based on the input
+
+
+
+ Subclass may want to override to correct the current offset.
+
+
+ current offset
+
+ corrected offset
+
+
+
+ Chains the corrected offset through the input
+ CharFilter.
+
+
+
+ Retrieve the corrected offset.
+
+
+ This class can be used if the token attributes of a TokenStream
+ are intended to be consumed more than once. It caches
+ all token attribute states locally in a List.
+
+ CachingTokenFilter implements the optional method
+ , which repositions the
+ stream to the first Token.
+
+
+
+ Will be removed in Lucene 3.0. This method is final, as it should
+ not be overridden. Delegates to the backwards compatibility layer.
+
+
+
+ Will be removed in Lucene 3.0. This method is final, as it should
+ not be overridden. Delegates to the backwards compatibility layer.
+
+
+
+ Replacement for Java 1.5 Character.valueOf()
+ Move to Character.valueOf() in 3.0
+
+
+
+ Returns a Character instance representing the given char value
+
+
+ a char value
+
+ a Character representation of the given char value.
+
+
+
+ A simple class that stores Strings as char[]'s in a
+ hash table. Note that this is not a general purpose
+ class. For example, it cannot remove items from the
+ set, nor does it resize its hash table to be smaller,
+ etc. It is designed to be quick to test if a char[]
+ is in the set without the necessity of converting it
+ to a String first.
+
+
+
+ Create set with enough capacity to hold startSize
+ terms
+
+
+
+ Create set from a Collection of char[] or String
+
+
+ Create set from entries
+
+
+ true if the len chars of text starting at off
+ are in the set
+
+
+
+ true if the System.String is in the set
+
+
+ Returns true if the String is in the set
+
+
+ Add this String into the set
+
+
+ Add this char[] directly to the set.
+ If ignoreCase is true for this Set, the text array will be directly modified.
+ The user should never modify this text array after calling this method.
+
+
+
+ Returns an unmodifiable . This allows to provide
+ unmodifiable views of internal sets for "read-only" use.
+
+ a set for which the unmodifiable set is returned.
+
+ an new unmodifiable .
+
+ NullReferenceException thrown
+ if the given set is null.
+
+
+ Adds all of the elements in the specified collection to this collection
+
+
+ Removes all elements from the set
+
+
+ Removes from this set all of its elements that are contained in the specified collection
+
+
+ Retains only the elements in this set that are contained in the specified collection
+
+
+ The Iterator<String> for this set. Strings are constructed on the fly, so
+ use nextCharArray for more efficient access.
+
+
+
+ do not modify the returned char[]
+
+
+ Returns the next String, as a Set<String> would...
+ use nextCharArray() for better efficiency.
+
+
+
+ Efficient unmodifiable . This implementation does not
+ delegate calls to a given like
+ Collections.UnmodifiableSet(java.util.Set) does. Instead is passes
+ the internal representation of a to a super
+ constructor and overrides all mutators.
+
+
+
+ CharReader is a Reader wrapper. It reads chars from
+ Reader and outputs , defining an
+ identify function method that
+ simply returns the provided offset.
+
+
+
+ An abstract base class for simple, character-oriented tokenizers.
+
+
+ A Tokenizer is a TokenStream whose input is a Reader.
+
+ This is an abstract class; subclasses must override
+
+ NOTE: Subclasses overriding must call
+ before setting attributes.
+ Subclasses overriding must call
+ before setting Token attributes.
+
+
+
+ The text source for this Tokenizer.
+
+
+ Construct a tokenizer with null input.
+
+
+ Construct a token stream processing the given input.
+
+
+ Construct a tokenizer with null input using the given AttributeFactory.
+
+
+ Construct a token stream processing the given input using the given AttributeFactory.
+
+
+ Construct a token stream processing the given input using the given AttributeSource.
+
+
+ Construct a token stream processing the given input using the given AttributeSource.
+
+
+ By default, closes the input Reader.
+
+
+ Return the corrected offset. If is a subclass
+ this method calls , else returns currentOff.
+
+ offset as seen in the output
+
+ corrected offset based on the input
+
+
+
+
+
+ Expert: Reset the tokenizer to a new reader. Typically, an
+ analyzer (in its reusableTokenStream method) will use
+ this to re-use a previously created tokenizer.
+
+
+
+ Returns true iff a character should be included in a token. This
+ tokenizer generates as tokens adjacent sequences of characters which
+ satisfy this predicate. Characters for which this is false are used to
+ define token boundaries and are not included in tokens.
+
+
+
+ Called on each token character to normalize it before it is added to the
+ token. The default implementation does nothing. Subclasses may use this
+ to, e.g., lowercase tokens.
+
+
+
+ Will be removed in Lucene 3.0. This method is final, as it should
+ not be overridden. Delegates to the backwards compatibility layer.
+
+
+
+ Will be removed in Lucene 3.0. This method is final, as it should
+ not be overridden. Delegates to the backwards compatibility layer.
+
+
+
+ A filter that replaces accented characters in the ISO Latin 1 character set
+ (ISO-8859-1) by their unaccented equivalent. The case will not be altered.
+
+ For instance, 'À' will be replaced by 'a'.
+
+
+
+ in favor of which covers a superset
+ of Latin 1. This class will be removed in Lucene 3.0.
+
+
+
+ Will be removed in Lucene 3.0. This method is final, as it should
+ not be overridden. Delegates to the backwards compatibility layer.
+
+
+
+ Will be removed in Lucene 3.0. This method is final, as it should
+ not be overridden. Delegates to the backwards compatibility layer.
+
+
+
+ To replace accented characters in a String by unaccented equivalents.
+
+
+ "Tokenizes" the entire stream as a single token. This is useful
+ for data like zip codes, ids, and some product names.
+
+
+
+ Emits the entire input as a single token.
+
+
+ Will be removed in Lucene 3.0. This method is final, as it should
+ not be overridden. Delegates to the backwards compatibility layer.
+
+
+
+ Will be removed in Lucene 3.0. This method is final, as it should
+ not be overridden. Delegates to the backwards compatibility layer.
+
+
+
+ Removes words that are too long or too short from the stream.
+
+
+
+ $Id: LengthFilter.java 807201 2009-08-24 13:22:34Z markrmiller $
+
+
+
+ Build a filter that removes words that are too long or too
+ short from the text.
+
+
+
+ Returns the next input Token whose term() is the right len
+
+
+ A LetterTokenizer is a tokenizer that divides text at non-letters. That's
+ to say, it defines tokens as maximal strings of adjacent letters, as defined
+ by java.lang.Character.isLetter() predicate.
+ Note: this does a decent job for most European languages, but does a terrible
+ job for some Asian languages, where words are not separated by spaces.
+
+
+
+ Construct a new LetterTokenizer.
+
+
+ Construct a new LetterTokenizer using a given .
+
+
+ Construct a new LetterTokenizer using a given .
+
+
+ Collects only characters which satisfy
+ .
+
+
+
+ Normalizes token text to lower case.
+
+
+ $Id: LowerCaseFilter.java 797665 2009-07-24 21:45:48Z buschmi $
+
+
+
+ LowerCaseTokenizer performs the function of LetterTokenizer
+ and LowerCaseFilter together. It divides text at non-letters and converts
+ them to lower case. While it is functionally equivalent to the combination
+ of LetterTokenizer and LowerCaseFilter, there is a performance advantage
+ to doing the two tasks at once, hence this (redundant) implementation.
+
+ Note: this does a decent job for most European languages, but does a terrible
+ job for some Asian languages, where words are not separated by spaces.
+
+
+
+ Construct a new LowerCaseTokenizer.
+
+
+ Construct a new LowerCaseTokenizer using a given .
+
+
+ Construct a new LowerCaseTokenizer using a given .
+
+
+ Converts char to lower case
+ .
+
+
+
+ Simplistic that applies the mappings
+ contained in a to the character
+ stream, and correcting the resulting changes to the
+ offsets.
+
+
+
+ Default constructor that takes a .
+
+
+ Easy-use constructor that takes a .
+
+
+ Holds a map of String input to String output, to be used
+ with .
+
+
+
+ Records a replacement to be applied to the inputs
+ stream. Whenever singleMatch occurs in
+ the input, it will be replaced with
+ replacement.
+
+
+ input String to be replaced
+
+ output String
+
+
+
+ Expert: This class provides a
+ for indexing numeric values that can be used by
+ or .
+
+ Note that for simple usage, is
+ recommended. disables norms and
+ term freqs, as they are not usually needed during
+ searching. If you need to change these settings, you
+ should use this class.
+
+ See for capabilities of fields
+ indexed numerically.
+
+ Here's an example usage, for an int field:
+
+
+ Field field = new Field(name, new NumericTokenStream(precisionStep).setIntValue(value));
+ field.setOmitNorms(true);
+ field.setOmitTermFreqAndPositions(true);
+ document.add(field);
+
+
+ For optimal performance, re-use the TokenStream and Field instance
+ for more than one document:
+
+
+ NumericTokenStream stream = new NumericTokenStream(precisionStep);
+ Field field = new Field(name, stream);
+ field.setOmitNorms(true);
+ field.setOmitTermFreqAndPositions(true);
+ Document document = new Document();
+ document.add(field);
+
+ for(all documents) {
+ stream.setIntValue(value)
+ writer.addDocument(document);
+ }
+
+
+ This stream is not intended to be used in analyzers;
+ it's more for iterating the different precisions during
+ indexing a specific numeric value.
+
+ NOTE: as token streams are only consumed once
+ the document is added to the index, if you index more
+ than one numeric field, use a separate NumericTokenStream
+ instance for each.
+
+ See for more details on the
+ precisionStep
+ parameter as well as how numeric fields work under the hood.
+
+ NOTE: This API is experimental and
+ might change in incompatible ways in the next release.
+ Since 2.9
+
+
+
+ The full precision token gets this token type assigned.
+
+
+ The lower precision tokens gets this token type assigned.
+
+
+ Creates a token stream for numeric values using the default precisionStep
+ (4). The stream is not yet initialized,
+ before using set a value using the various set???Value() methods.
+
+
+
+ Creates a token stream for numeric values with the specified
+ precisionStep. The stream is not yet initialized,
+ before using set a value using the various set???Value() methods.
+
+
+
+ Expert: Creates a token stream for numeric values with the specified
+ precisionStep using the given .
+ The stream is not yet initialized,
+ before using set a value using the various set???Value() methods.
+
+
+
+ Expert: Creates a token stream for numeric values with the specified
+ precisionStep using the given
+ .
+ The stream is not yet initialized,
+ before using set a value using the various set???Value() methods.
+
+
+
+ Initializes the token stream with the supplied long value.
+ the value, for which this TokenStream should enumerate tokens.
+
+ this instance, because of this you can use it the following way:
+ new Field(name, new NumericTokenStream(precisionStep).SetLongValue(value))
+
+
+
+ Initializes the token stream with the supplied int value.
+ the value, for which this TokenStream should enumerate tokens.
+
+ this instance, because of this you can use it the following way:
+ new Field(name, new NumericTokenStream(precisionStep).SetIntValue(value))
+
+
+
+ Initializes the token stream with the supplied double value.
+ the value, for which this TokenStream should enumerate tokens.
+
+ this instance, because of this you can use it the following way:
+ new Field(name, new NumericTokenStream(precisionStep).SetDoubleValue(value))
+
+
+
+ Initializes the token stream with the supplied float value.
+ the value, for which this TokenStream should enumerate tokens.
+
+ this instance, because of this you can use it the following way:
+ new Field(name, new NumericTokenStream(precisionStep).SetFloatValue(value))
+
+
+
+ This analyzer is used to facilitate scenarios where different
+ fields require different analysis techniques. Use
+ to add a non-default analyzer on a field name basis.
+
+ Example usage:
+
+
+ PerFieldAnalyzerWrapper aWrapper =
+ new PerFieldAnalyzerWrapper(new StandardAnalyzer());
+ aWrapper.addAnalyzer("firstname", new KeywordAnalyzer());
+ aWrapper.addAnalyzer("lastname", new KeywordAnalyzer());
+
+
+ In this example, StandardAnalyzer will be used for all fields except "firstname"
+ and "lastname", for which KeywordAnalyzer will be used.
+
+ A PerFieldAnalyzerWrapper can be used like any other analyzer, for both indexing
+ and query parsing.
+
+
+
+ Constructs with default analyzer.
+
+
+ Any fields not specifically
+ defined to use a different analyzer will use the one provided here.
+
+
+
+ Constructs with default analyzer and a map of analyzers to use for
+ specific fields.
+
+
+ Any fields not specifically
+ defined to use a different analyzer will use the one provided here.
+
+ a Map (String field name to the Analyzer) to be
+ used for those fields
+
+
+
+ Defines an analyzer to use for the specified field.
+
+
+ field name requiring a non-default analyzer
+
+ non-default analyzer to use for field
+
+
+
+ Return the positionIncrementGap from the analyzer assigned to fieldName
+
+
+ Return the offsetGap from the analyzer assigned to field
+
+
+ Transforms the token stream as per the Porter stemming algorithm.
+ Note: the input to the stemming filter must already be in lower case,
+ so you will need to use LowerCaseFilter or LowerCaseTokenizer farther
+ down the Tokenizer chain in order for this to work properly!
+
+ To use this filter with other analyzers, you'll want to write an
+ Analyzer class that sets up the TokenStream chain as you want it.
+ To use this with LowerCaseTokenizer, for example, you'd write an
+ analyzer like this:
+
+
+ class MyAnalyzer extends Analyzer {
+ public final TokenStream tokenStream(String fieldName, Reader reader) {
+ return new PorterStemFilter(new LowerCaseTokenizer(reader));
+ }
+ }
+
+
+
+
+
+ Stemmer, implementing the Porter Stemming Algorithm
+
+ The Stemmer class transforms a word into its root form. The input
+ word can be provided a character at time (by calling add()), or at once
+ by calling one of the various stem(something) methods.
+
+
+
+ reset() resets the stemmer so it can stem another word. If you invoke
+ the stemmer by calling add(char) and then stem(), you must call reset()
+ before starting another word.
+
+
+
+ Add a character to the word being stemmed. When you are finished
+ adding characters, you can call stem(void) to process the word.
+
+
+
+ After a word has been stemmed, it can be retrieved by toString(),
+ or a reference to the internal buffer can be retrieved by getResultBuffer
+ and getResultLength (which is generally more efficient.)
+
+
+
+ Returns the length of the word resulting from the stemming process.
+
+
+ Returns a reference to a character buffer containing the results of
+ the stemming process. You also need to consult getResultLength()
+ to determine the length of the result.
+
+
+
+ Stem a word provided as a String. Returns the result as a String.
+
+
+ Stem a word contained in a char[]. Returns true if the stemming process
+ resulted in a word different from the input. You can retrieve the
+ result with getResultLength()/getResultBuffer() or toString().
+
+
+
+ Stem a word contained in a portion of a char[] array. Returns
+ true if the stemming process resulted in a word different from
+ the input. You can retrieve the result with
+ getResultLength()/getResultBuffer() or toString().
+
+
+
+ Stem a word contained in a leading portion of a char[] array.
+ Returns true if the stemming process resulted in a word different
+ from the input. You can retrieve the result with
+ getResultLength()/getResultBuffer() or toString().
+
+
+
+ Stem the word placed into the Stemmer buffer through calls to add().
+ Returns true if the stemming process resulted in a word different
+ from the input. You can retrieve the result with
+ getResultLength()/getResultBuffer() or toString().
+
+
+
+ Test program for demonstrating the Stemmer. It reads a file and
+ stems each word, writing the result to standard out.
+ Usage: Stemmer file-name
+
+
+
+ An that filters
+ with
+
+
+
+ A SinkTokenizer can be used to cache Tokens for use in an Analyzer
+
+ WARNING: and only work with the old TokenStream API.
+ If you switch to the new API, you need to use instead, which offers
+ the same functionality.
+
+
+
+ Use instead
+
+
+
+
+
+ Get the tokens in the internal List.
+
+ WARNING: Adding tokens to this list requires the method to be called in order for them
+ to be made available. Also, this Tokenizer does nothing to protect against s
+ in the case of adds happening while is being called.
+
+ WARNING: Since this SinkTokenizer can be reset and the cached tokens made available again, do not modify them. Modify clones instead.
+
+
+ A List of s
+
+
+
+ Returns the next token out of the list of cached tokens
+ The next in the Sink.
+
+ IOException
+
+
+ Override this method to cache only certain tokens, or new tokens based
+ on the old tokens.
+
+
+ The to add to the sink
+
+
+
+ Reset the internal data structures to the start at the front of the list of tokens. Should be called
+ if tokens were added to the list after an invocation of
+
+ IOException
+
+
+ Filters with ,
+ and , using a list of English stop
+ words.
+
+
+
+ You must specify the required compatibility when creating
+ StandardAnalyzer:
+
+ As of 2.9, StopFilter preserves position increments
+ As of 2.4, Tokens incorrectly identified as acronyms are corrected (see
+ LUCENE-1608)
+
+
+
+ $Id: StandardAnalyzer.java 829134 2009-10-23 17:18:53Z mikemccand $
+
+
+
+ Default maximum allowed token length
+
+
+ Specifies whether deprecated acronyms should be replaced with HOST type.
+ This is false by default to support backward compatibility.
+
+
+ this should be removed in the next release (3.0).
+
+ See https://issues.apache.org/jira/browse/LUCENE-1068
+
+
+
+
+ true if new instances of StandardTokenizer will
+ replace mischaracterized acronyms
+
+ See https://issues.apache.org/jira/browse/LUCENE-1068
+
+ This will be removed (hardwired to true) in 3.0
+
+
+
+
+ Set to true to have new
+ instances of StandardTokenizer replace mischaracterized
+ acronyms by default. Set to false to preserve the
+ previous (before 2.4) buggy behavior. Alternatively,
+ set the system property
+ Lucene.Net.Analysis.Standard.StandardAnalyzer.replaceInvalidAcronym
+ to false.
+
+ See https://issues.apache.org/jira/browse/LUCENE-1068
+
+ This will be removed (hardwired to true) in 3.0
+
+
+
+ An array containing some common English words that are usually not
+ useful for searching.
+
+ Use instead
+
+
+
+ An unmodifiable set containing some common English words that are usually not
+ useful for searching.
+
+
+
+ Builds an analyzer with the default stop words
+ ().
+
+ Use instead.
+
+
+
+ Builds an analyzer with the default stop words ().
+
+ Lucene version to match See above />
+
+
+
+
+ Builds an analyzer with the given stop words.
+ Use
+ instead
+
+
+
+ Builds an analyzer with the given stop words.
+ Lucene version to match See above />
+
+
+ stop words
+
+
+
+ Builds an analyzer with the given stop words.
+ Use instead
+
+
+
+ Builds an analyzer with the stop words from the given file.
+
+
+ Use
+ instead
+
+
+
+ Builds an analyzer with the stop words from the given file.
+
+
+ Lucene version to match See above />
+
+
+ File to read stop words from
+
+
+
+ Builds an analyzer with the stop words from the given reader.
+
+
+ Use
+ instead
+
+
+
+ Builds an analyzer with the stop words from the given reader.
+
+
+ Lucene version to match See above />
+
+
+ Reader to read stop words from
+
+
+
+
+ Set to true if this analyzer should replace mischaracterized acronyms in the StandardTokenizer
+
+ See https://issues.apache.org/jira/browse/LUCENE-1068
+
+
+ Remove in 3.X and make true the only valid value
+
+
+
+ The stopwords to use
+
+ Set to true if this analyzer should replace mischaracterized acronyms in the StandardTokenizer
+
+ See https://issues.apache.org/jira/browse/LUCENE-1068
+
+
+ Remove in 3.X and make true the only valid value
+
+
+
+ The stopwords to use
+
+ Set to true if this analyzer should replace mischaracterized acronyms in the StandardTokenizer
+
+ See https://issues.apache.org/jira/browse/LUCENE-1068
+
+
+ Remove in 3.X and make true the only valid value
+
+
+
+
+ The stopwords to use
+
+ Set to true if this analyzer should replace mischaracterized acronyms in the StandardTokenizer
+
+ See https://issues.apache.org/jira/browse/LUCENE-1068
+
+
+ Remove in 3.X and make true the only valid value
+
+
+
+ The stopwords to use
+
+ Set to true if this analyzer should replace mischaracterized acronyms in the StandardTokenizer
+
+ See https://issues.apache.org/jira/browse/LUCENE-1068
+
+
+ Remove in 3.X and make true the only valid value
+
+
+
+ Constructs a filtered by a
+ , a and a .
+
+
+
+ Set maximum allowed token length. If a token is seen
+ that exceeds this length then it is discarded. This
+ setting only takes effect the next time tokenStream or
+ reusableTokenStream is called.
+
+
+
+
+
+
+
+ Use instead
+
+
+
+
+ true if this Analyzer is replacing mischaracterized acronyms in the StandardTokenizer
+
+ See https://issues.apache.org/jira/browse/LUCENE-1068
+
+ This will be removed (hardwired to true) in 3.0
+
+
+
+
+ Set to true if this Analyzer is replacing mischaracterized acronyms in the StandardTokenizer
+
+ See https://issues.apache.org/jira/browse/LUCENE-1068
+
+ This will be removed (hardwired to true) in 3.0
+
+
+
+ Normalizes tokens extracted with .
+
+
+ Construct filtering in.
+
+
+ Returns the next token in the stream, or null at EOS.
+ Removes 's from the end of words.
+ Removes dots from acronyms.
+
+
+
+ A grammar-based tokenizer constructed with JFlex
+
+ This should be a good tokenizer for most European-language documents:
+
+
+ Splits words at punctuation characters, removing punctuation. However, a
+ dot that's not followed by whitespace is considered part of a token.
+ Splits words at hyphens, unless there's a number in the token, in which case
+ the whole token is interpreted as a product number and is not split.
+ Recognizes email addresses and internet hostnames as one token.
+
+
+ Many applications have specific tokenizer needs. If this tokenizer does
+ not suit your application, please consider copying this source code
+ directory to your project and maintaining your own grammar-based tokenizer.
+
+
+
+ You must specify the required compatibility when creating
+ StandardAnalyzer:
+
+ As of 2.4, Tokens incorrectly identified as acronyms are corrected (see
+ LUCENE-1608
+
+
+
+
+ this solves a bug where HOSTs that end with '.' are identified
+ as ACRONYMs. It is deprecated and will be removed in the next
+ release.
+
+
+
+ A private instance of the JFlex-constructed scanner
+
+
+ String token types that correspond to token type int constants
+
+
+ Please use instead
+
+
+
+ Specifies whether deprecated acronyms should be replaced with HOST type.
+ This is false by default to support backward compatibility.
+
+ See http://issues.apache.org/jira/browse/LUCENE-1068
+
+
+ this should be removed in the next release (3.0).
+
+
+
+ Set the max allowed token length. Any token longer
+ than this is skipped.
+
+
+
+
+
+
+
+ Creates a new instance of the . Attaches the
+ input to a newly created JFlex scanner.
+
+ Use instead
+
+
+
+ Creates a new instance of the . Attaches
+ the input to the newly created JFlex scanner.
+
+
+ The input reader
+
+ Set to true to replace mischaracterized acronyms with HOST.
+
+ See http://issues.apache.org/jira/browse/LUCENE-1068
+
+ Use instead
+
+
+
+ Creates a new instance of the
+ . Attaches
+ the input to the newly created JFlex scanner.
+
+
+
+ The input reader
+
+ See http://issues.apache.org/jira/browse/LUCENE-1068
+
+
+
+ Creates a new StandardTokenizer with a given .
+ Use
+
+ instead
+
+
+
+ Creates a new StandardTokenizer with a given .
+
+
+ Creates a new StandardTokenizer with a given
+ Use
+
+ instead
+
+
+
+ Creates a new StandardTokenizer with a given
+
+
+
+
+
+ (non-Javadoc)
+
+
+
+
+
+ Will be removed in Lucene 3.0. This method is final, as it should
+ not be overridden. Delegates to the backwards compatibility layer.
+
+
+
+ Will be removed in Lucene 3.0. This method is final, as it should
+ not be overridden. Delegates to the backwards compatibility layer.
+
+
+
+ Prior to https://issues.apache.org/jira/browse/LUCENE-1068, StandardTokenizer mischaracterized as acronyms tokens like www.abc.com
+ when they should have been labeled as hosts instead.
+
+ true if StandardTokenizer now returns these tokens as Hosts, otherwise false
+
+
+ Remove in 3.X and make true the only valid value
+
+
+
+
+ Set to true to replace mischaracterized acronyms as HOST.
+
+ Remove in 3.X and make true the only valid value
+
+ See https://issues.apache.org/jira/browse/LUCENE-1068
+
+
+
+ This class is a scanner generated by
+ JFlex 1.4.1
+ on 9/4/08 6:49 PM from the specification file
+ /tango/mike/src/lucene.standarddigit/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex
+
+
+
+ This character denotes the end of file
+
+
+ initial size of the lookahead buffer
+
+
+ lexical states
+
+
+ Translates characters to character classes
+
+
+ Translates characters to character classes
+
+
+ Translates DFA states to action switch labels.
+
+
+ Translates a state to a row index in the transition table
+
+
+ The transition table of the DFA
+
+
+ ZZ_ATTRIBUTE[aState] contains the attributes of state aState
+
+
+ the input device
+
+
+ the current state of the DFA
+
+
+ the current lexical state
+
+
+ this buffer contains the current text to be matched and is
+ the source of the yytext() string
+
+
+
+ the textposition at the last accepting state
+
+
+ the textposition at the last state to be included in yytext
+
+
+ the current text position in the buffer
+
+
+ startRead marks the beginning of the yytext() string in the buffer
+
+
+ endRead marks the last character in the buffer, that has been read
+ from input
+
+
+
+ number of newlines encountered up to the start of the matched text
+
+
+ the number of characters up to the start of the matched text
+
+
+ the number of characters from the last newline up to the start of the
+ matched text
+
+
+
+ zzAtBOL == true <=> the scanner is currently at the beginning of a line
+
+
+ zzAtEOF == true <=> the scanner is at the EOF
+
+
+ this solves a bug where HOSTs that end with '.' are identified
+ as ACRONYMs. It is deprecated and will be removed in the next
+ release.
+
+
+
+ Resets the Tokenizer to a new Reader.
+
+
+ Fills Lucene token with the current token text.
+
+
+ Fills TermAttribute with the current token text.
+
+
+ Creates a new scanner
+ There is also a java.io.InputStream version of this constructor.
+
+
+ the java.io.Reader to read input from.
+
+
+
+ Creates a new scanner.
+ There is also java.io.Reader version of this constructor.
+
+
+ the java.io.Inputstream to read input from.
+
+
+
+ Unpacks the compressed character translation table.
+
+
+ the packed character translation table
+
+ the unpacked character translation table
+
+
+
+ Refills the input buffer.
+
+ false, iff there was new input.
+
+
+ if any I/O-Error occurs
+
+
+
+ Closes the input stream.
+
+
+ Resets the scanner to read from a new input stream.
+ Does not close the old reader.
+
+ All internal variables are reset, the old input stream
+ cannot be reused (internal buffer is discarded and lost).
+ Lexical state is set to ZZ_INITIAL.
+
+
+ the new input stream
+
+
+
+ Returns the current lexical state.
+
+
+ Enters a new lexical state
+
+
+ the new lexical state
+
+
+
+ Returns the text matched by the current regular expression.
+
+
+ Returns the character at position pos from the
+ matched text.
+
+ It is equivalent to yytext().charAt(pos), but faster
+
+
+ the position of the character to fetch.
+ A value from 0 to yylength()-1.
+
+
+ the character at position pos
+
+
+
+ Returns the length of the matched text region.
+
+
+ Reports an error that occured while scanning.
+
+ In a wellformed scanner (no or only correct usage of
+ yypushback(int) and a match-all fallback rule) this method
+ will only be called with things that "Can't Possibly Happen".
+ If this method is called, something is seriously wrong
+ (e.g. a JFlex bug producing a faulty scanner etc.).
+
+ Usual syntax/scanner level error handling should be done
+ in error fallback rules.
+
+
+ the code of the errormessage to display
+
+
+
+ Pushes the specified amount of characters back into the input stream.
+
+ They will be read again by then next call of the scanning method
+
+
+ the number of characters to be read again.
+ This number must not be greater than yylength()!
+
+
+
+ Resumes scanning until the next regular expression is matched,
+ the end of input is encountered or an I/O-Error occurs.
+
+
+ the next token
+
+ if any I/O-Error occurs
+
+
+
+ Filters with and
+ .
+
+
+
+ You must specify the required compatibility when creating
+ StopAnalyzer:
+
+ As of 2.9, position increments are preserved
+
+
+
+
+ An array containing some common English words that are not usually useful
+ for searching.
+
+ Use instead
+
+
+
+ An unmodifiable set containing some common English words that are not usually useful
+ for searching.
+
+
+
+ Builds an analyzer which removes words in
+ ENGLISH_STOP_WORDS.
+
+ Use instead
+
+
+
+ Builds an analyzer which removes words in ENGLISH_STOP_WORDS.
+
+
+ Builds an analyzer which removes words in
+ ENGLISH_STOP_WORDS.
+
+
+ See
+
+ Use instead
+
+
+
+ Builds an analyzer with the stop words from the given set.
+ Use instead
+
+
+
+ Builds an analyzer with the stop words from the given set.
+
+
+ Builds an analyzer with the stop words from the given set.
+ Set of stop words
+
+
+ See
+
+ Use instead
+
+
+
+ Builds an analyzer which removes words in the provided array.
+ Use instead
+
+ Use instead
+
+
+
+ Builds an analyzer which removes words in the provided array.
+ Array of stop words
+
+
+ See
+
+ Use instead
+
+
+
+ Builds an analyzer with the stop words from the given file.
+
+
+ Use instead
+
+
+
+ Builds an analyzer with the stop words from the given file.
+
+
+ File to load stop words from
+
+
+ See
+
+ Use instead
+
+
+
+ Builds an analyzer with the stop words from the given file.
+
+
+
+
+ See above
+
+ File to load stop words from
+
+
+
+ Builds an analyzer with the stop words from the given reader.
+
+
+ Use instead
+
+
+
+ Builds an analyzer with the stop words from the given reader.
+
+
+ Reader to load stop words from
+
+
+ See
+
+ Use instead
+
+
+
+ Builds an analyzer with the stop words from the given reader.
+
+
+ See above
+
+ Reader to load stop words from
+
+
+
+ Filters LowerCaseTokenizer with StopFilter.
+
+
+ Filters LowerCaseTokenizer with StopFilter.
+
+
+ Removes stop words from a token stream.
+
+
+ Construct a token stream filtering the given input.
+ Use instead
+
+
+
+ Construct a token stream filtering the given input.
+ true if token positions should record the removed stop words
+
+ input TokenStream
+
+ array of stop words
+
+ Use instead.
+
+
+
+ Constructs a filter which removes words from the input
+ TokenStream that are named in the array of words.
+
+ Use instead
+
+
+
+ Constructs a filter which removes words from the input
+ TokenStream that are named in the array of words.
+
+ true if token positions should record the removed stop words
+
+ input TokenStream
+
+ array of stop words
+
+ true if case is ignored
+
+ Use instead.
+
+
+
+ Construct a token stream filtering the given input.
+ If stopWords is an instance of (true if
+ makeStopSet() was used to construct the set) it will be directly used
+ and ignoreCase will be ignored since CharArraySet
+ directly controls case sensitivity.
+
+ If stopWords is not an instance of ,
+ a new CharArraySet will be constructed and ignoreCase will be
+ used to specify the case sensitivity of that set.
+
+
+
+
+ The set of Stop Words.
+
+ -Ignore case when stopping.
+
+ Use instead
+
+
+
+ Construct a token stream filtering the given input.
+ If stopWords is an instance of (true if
+ makeStopSet() was used to construct the set) it will be directly used
+ and ignoreCase will be ignored since CharArraySet
+ directly controls case sensitivity.
+
+ If stopWords is not an instance of ,
+ a new CharArraySet will be constructed and ignoreCase will be
+ used to specify the case sensitivity of that set.
+
+
+ true if token positions should record the removed stop words
+
+ Input TokenStream
+
+ The set of Stop Words.
+
+ -Ignore case when stopping.
+
+
+
+ Constructs a filter which removes words from the input
+ TokenStream that are named in the Set.
+
+
+
+
+ Use instead
+
+
+
+ Constructs a filter which removes words from the input
+ TokenStream that are named in the Set.
+
+
+ true if token positions should record the removed stop words
+
+ Input stream
+
+ The set of Stop Words.
+
+
+
+
+
+ Builds a Set from an array of stop words,
+ appropriate for passing into the StopFilter constructor.
+ This permits this stopWords construction to be cached once when
+ an Analyzer is constructed.
+
+
+ passing false to ignoreCase
+
+
+
+ Builds a Set from an array of stop words,
+ appropriate for passing into the StopFilter constructor.
+ This permits this stopWords construction to be cached once when
+ an Analyzer is constructed.
+
+
+ passing false to ignoreCase
+
+
+
+
+ An array of stopwords
+
+ If true, all words are lower cased first.
+
+ a Set containing the words
+
+
+
+
+ A List of Strings representing the stopwords
+
+ if true, all words are lower cased first
+
+ A Set containing the words
+
+
+
+ Returns the next input Token whose term() is not a stop word.
+
+
+
+
+ Please specify this when you create the StopFilter
+
+
+
+ Returns version-dependent default for enablePositionIncrements. Analyzers
+ that embed StopFilter use this method when creating the StopFilter. Prior
+ to 2.9, this returns . On 2.9
+ or later, it returns true.
+
+
+
+ Set the default position increments behavior of every StopFilter created
+ from now on.
+
+ Note: behavior of a single StopFilter instance can be modified with
+ . This static method allows
+ control over behavior of classes using StopFilters internally, for
+ example
+ if used with the no-arg ctor.
+
+ Default : false.
+
+
+
+
+ Please specify this when you create the StopFilter
+
+
+
+
+
+
+
+ If true, this StopFilter will preserve
+ positions of the incoming tokens (ie, accumulate and
+ set position increments of the removed stop tokens).
+ Generally, true is best as it does not
+ lose information (positions of the original tokens)
+ during indexing.
+
+ When set, when a token is stopped
+ (omitted), the position increment of the following
+ token is incremented.
+
+ NOTE: be sure to also
+ set if
+ you use QueryParser to create queries.
+
+
+
+ This TokenFilter provides the ability to set aside attribute states
+ that have already been analyzed. This is useful in situations where multiple fields share
+ many common analysis steps and then go their separate ways.
+
+ It is also useful for doing things like entity extraction or proper noun analysis as
+ part of the analysis workflow and saving off those tokens for use in another field.
+
+
+ TeeSinkTokenFilter source1 = new TeeSinkTokenFilter(new WhitespaceTokenizer(reader1));
+ TeeSinkTokenFilter.SinkTokenStream sink1 = source1.newSinkTokenStream();
+ TeeSinkTokenFilter.SinkTokenStream sink2 = source1.newSinkTokenStream();
+ TeeSinkTokenFilter source2 = new TeeSinkTokenFilter(new WhitespaceTokenizer(reader2));
+ source2.addSinkTokenStream(sink1);
+ source2.addSinkTokenStream(sink2);
+ TokenStream final1 = new LowerCaseFilter(source1);
+ TokenStream final2 = source2;
+ TokenStream final3 = new EntityDetect(sink1);
+ TokenStream final4 = new URLDetect(sink2);
+ d.add(new Field("f1", final1));
+ d.add(new Field("f2", final2));
+ d.add(new Field("f3", final3));
+ d.add(new Field("f4", final4));
+
+ In this example, sink1 and sink2 will both get tokens from both
+ reader1 and reader2 after whitespace tokenizer
+ and now we can further wrap any of these in extra analysis, and more "sources" can be inserted if desired.
+ It is important, that tees are consumed before sinks (in the above example, the field names must be
+ less the sink's field names). If you are not sure, which stream is consumed first, you can simply
+ add another sink and then pass all tokens to the sinks at once using .
+ This TokenFilter is exhausted after this. In the above example, change
+ the example above to:
+
+ ...
+ TokenStream final1 = new LowerCaseFilter(source1.newSinkTokenStream());
+ TokenStream final2 = source2.newSinkTokenStream();
+ sink1.consumeAllTokens();
+ sink2.consumeAllTokens();
+ ...
+
+ In this case, the fields can be added in any order, because the sources are not used anymore and all sinks are ready.
+ Note, the EntityDetect and URLDetect TokenStreams are for the example and do not currently exist in Lucene.
+
+
+
+ Instantiates a new TeeSinkTokenFilter.
+
+
+ Returns a new that receives all tokens consumed by this stream.
+
+
+ Returns a new that receives all tokens consumed by this stream
+ that pass the supplied filter.
+
+
+
+
+
+ Adds a created by another TeeSinkTokenFilter
+ to this one. The supplied stream will also receive all consumed tokens.
+ This method can be used to pass tokens from two different tees to one sink.
+
+
+
+ TeeSinkTokenFilter passes all tokens to the added sinks
+ when itself is consumed. To be sure, that all tokens from the input
+ stream are passed to the sinks, you can call this methods.
+ This instance is exhausted after this, but all sinks are instant available.
+
+
+
+ A filter that decides which states to store in the sink.
+
+
+ Returns true, iff the current state of the passed-in shall be stored
+ in the sink.
+
+
+
+ Called by . This method does nothing by default
+ and can optionally be overridden.
+
+
+
+ Works in conjunction with the SinkTokenizer to provide the ability to set aside tokens
+ that have already been analyzed. This is useful in situations where multiple fields share
+ many common analysis steps and then go their separate ways.
+
+ It is also useful for doing things like entity extraction or proper noun analysis as
+ part of the analysis workflow and saving off those tokens for use in another field.
+
+
+ SinkTokenizer sink1 = new SinkTokenizer();
+ SinkTokenizer sink2 = new SinkTokenizer();
+ TokenStream source1 = new TeeTokenFilter(new TeeTokenFilter(new WhitespaceTokenizer(reader1), sink1), sink2);
+ TokenStream source2 = new TeeTokenFilter(new TeeTokenFilter(new WhitespaceTokenizer(reader2), sink1), sink2);
+ TokenStream final1 = new LowerCaseFilter(source1);
+ TokenStream final2 = source2;
+ TokenStream final3 = new EntityDetect(sink1);
+ TokenStream final4 = new URLDetect(sink2);
+ d.add(new Field("f1", final1));
+ d.add(new Field("f2", final2));
+ d.add(new Field("f3", final3));
+ d.add(new Field("f4", final4));
+
+ In this example, sink1 and sink2 will both get tokens from both
+ reader1 and reader2 after whitespace tokenizer
+ and now we can further wrap any of these in extra analysis, and more "sources" can be inserted if desired.
+ It is important, that tees are consumed before sinks (in the above example, the field names must be
+ less the sink's field names).
+ Note, the EntityDetect and URLDetect TokenStreams are for the example and do not currently exist in Lucene
+
+
+ See LUCENE-1058.
+
+ WARNING: and only work with the old TokenStream API.
+ If you switch to the new API, you need to use instead, which offers
+ the same functionality.
+
+
+
+ Use instead
+
+
+
+
+ A Token is an occurrence of a term from the text of a field. It consists of
+ a term's text, the start and end offset of the term in the text of the field,
+ and a type string.
+
+ The start and end offsets permit applications to re-associate a token with
+ its source text, e.g., to display highlighted query terms in a document
+ browser, or to show matching text fragments in a KWIC display, etc.
+
+ The type is a string, assigned by a lexical analyzer
+ (a.k.a. tokenizer), naming the lexical or syntactic class that the token
+ belongs to. For example an end of sentence marker token might be implemented
+ with type "eos". The default token type is "word".
+
+ A Token can optionally have metadata (a.k.a. Payload) in the form of a variable
+ length byte array. Use and
+ to retrieve the payloads from the index.
+
+
+
+ NOTE: As of 2.9, Token implements all interfaces
+ that are part of core Lucene and can be found in the namespace.
+ Even though it is not necessary to use Token anymore, with the new TokenStream API it can
+ be used as convenience class that implements all s, which is especially useful
+ to easily switch from the old to the new TokenStream API.
+
+
+ NOTE: As of 2.3, Token stores the term text
+ internally as a malleable char[] termBuffer instead of
+ String termText. The indexing code and core tokenizers
+ have been changed to re-use a single Token instance, changing
+ its buffer and other fields in-place as the Token is
+ processed. This provides substantially better indexing
+ performance as it saves the GC cost of new'ing a Token and
+ String for every term. The APIs that accept String
+ termText are still available but a warning about the
+ associated performance cost has been added (below). The
+ method has been deprecated.
+
+ Tokenizers and TokenFilters should try to re-use a Token instance when
+ possible for best performance, by implementing the
+ API.
+ Failing that, to create a new Token you should first use
+ one of the constructors that starts with null text. To load
+ the token from a char[] use .
+ To load from a String use or .
+ Alternatively you can get the Token's termBuffer by calling either ,
+ if you know that your text is shorter than the capacity of the termBuffer
+ or , if there is any possibility
+ that you may need to grow the buffer. Fill in the characters of your term into this
+ buffer, with if loading from a string,
+ or with , and finally call to
+ set the length of the term text. See LUCENE-969
+ for details.
+ Typical Token reuse patterns:
+
+ Copying text from a string (type is reset to if not
+ specified):
+
+ return reusableToken.reinit(string, startOffset, endOffset[, type]);
+
+
+ Copying some text from a string (type is reset to
+ if not specified):
+
+ return reusableToken.reinit(string, 0, string.length(), startOffset, endOffset[, type]);
+
+
+ Copying text from char[] buffer (type is reset to
+ if not specified):
+
+ return reusableToken.reinit(buffer, 0, buffer.length, startOffset, endOffset[, type]);
+
+
+ Copying some text from a char[] buffer (type is reset to
+ if not specified):
+
+ return reusableToken.reinit(buffer, start, end - start, startOffset, endOffset[, type]);
+
+
+ Copying from one one Token to another (type is reset to
+ if not specified):
+
+ return reusableToken.reinit(source.termBuffer(), 0, source.termLength(), source.startOffset(), source.endOffset()[, source.type()]);
+
+
+
+ A few things to note:
+
+ clear() initializes all of the fields to default values. This was changed in contrast to Lucene 2.4, but should affect no one.
+ Because TokenStreams can be chained, one cannot assume that the Token's current type is correct.
+ The startOffset and endOffset represent the start and offset in the
+ source text, so be careful in adjusting them.
+ When caching a reusable token, clone it. When injecting a cached token into a stream that can be reset, clone it again.
+
+
+
+
+
+
+
+ Base class for Attributes that can be added to a
+ .
+
+ Attributes are used to add data in a dynamic, yet type-safe way to a source
+ of usually streamed objects, e. g. a .
+
+
+
+ Base interface for attributes.
+
+
+ Clears the values in this AttributeImpl and resets it to its
+ default value. If this implementation implements more than one Attribute interface
+ it clears all.
+
+
+
+ The default implementation of this method accesses all declared
+ fields of this object and prints the values in the following syntax:
+
+
+ public String toString() {
+ return "start=" + startOffset + ",end=" + endOffset;
+ }
+
+
+ This method may be overridden by subclasses.
+
+
+
+ Subclasses must implement this method and should compute
+ a hashCode similar to this:
+
+ public int hashCode() {
+ int code = startOffset;
+ code = code * 31 + endOffset;
+ return code;
+ }
+
+
+ see also
+
+
+
+ All values used for computation of
+ should be checked here for equality.
+
+ see also
+
+
+
+ Copies the values from this Attribute into the passed-in
+ target attribute. The target implementation must support all the
+ Attributes this implementation supports.
+
+
+
+ Shallow clone. Subclasses must override this if they
+ need to clone any members deeply,
+
+
+
+ The term text of a Token.
+
+
+ Returns the Token's term text.
+
+ This method has a performance penalty
+ because the text is stored internally in a char[]. If
+ possible, use and
+ directly instead. If you really need a
+ String, use this method, which is nothing more than
+ a convenience call to new String(token.termBuffer(), 0, token.termLength())
+
+
+
+ Copies the contents of buffer, starting at offset for
+ length characters, into the termBuffer array.
+
+ the buffer to copy
+
+ the index in the buffer of the first character to copy
+
+ the number of characters to copy
+
+
+
+ Copies the contents of buffer into the termBuffer array.
+ the buffer to copy
+
+
+
+ Copies the contents of buffer, starting at offset and continuing
+ for length characters, into the termBuffer array.
+
+ the buffer to copy
+
+ the index in the buffer of the first character to copy
+
+ the number of characters to copy
+
+
+
+ Returns the internal termBuffer character array which
+ you can then directly alter. If the array is too
+ small for your token, use
+ to increase it. After
+ altering the buffer be sure to call
+ to record the number of valid
+ characters that were placed into the termBuffer.
+
+
+
+ Grows the termBuffer to at least size newSize, preserving the
+ existing content. Note: If the next operation is to change
+ the contents of the term buffer use
+ ,
+ , or
+
+ to optimally combine the resize with the setting of the termBuffer.
+
+ minimum size of the new termBuffer
+
+ newly created termBuffer with length >= newSize
+
+
+
+ Return number of valid characters (length of the term)
+ in the termBuffer array.
+
+
+
+ Set number of valid characters (length of the term) in
+ the termBuffer array. Use this to truncate the termBuffer
+ or to synchronize with external manipulation of the termBuffer.
+ Note: to grow the size of the array,
+ use first.
+
+ the truncated length
+
+
+
+ A Token's lexical type. The Default value is "word".
+
+
+ Returns this Token's lexical type. Defaults to "word".
+
+
+ Set the lexical type.
+
+
+
+
+ The positionIncrement determines the position of this token
+ relative to the previous Token in a TokenStream, used in phrase
+ searching.
+
+ The default value is one.
+
+ Some common uses for this are:
+
+ Set it to zero to put multiple terms in the same position. This is
+ useful if, e.g., a word has multiple stems. Searches for phrases
+ including either stem will match. In this case, all but the first stem's
+ increment should be set to zero: the increment of the first instance
+ should be one. Repeating a token with an increment of zero can also be
+ used to boost the scores of matches on that token.
+
+ Set it to values greater than one to inhibit exact phrase matches.
+ If, for example, one does not want phrases to match across removed stop
+ words, then one could build a stop word filter that removes stop words and
+ also sets the increment to the number of stop words removed before each
+ non-stop word. Then exact phrase queries will only match when the terms
+ occur with no intervening stop words.
+
+
+
+
+
+
+
+
+ Set the position increment. The default value is one.
+
+
+ the distance from the prior term
+
+
+
+ Returns the position increment of this Token.
+
+
+
+
+ This attribute can be used to pass different flags down the chain,
+ eg from one TokenFilter to another one.
+
+
+
+ EXPERIMENTAL: While we think this is here to stay, we may want to change it to be a long.
+
+
+ Get the bitset for any bits that have been set. This is completely distinct from , although they do share similar purposes.
+ The flags can be used to encode information about the token for use by other s.
+
+
+
+ The bits
+
+
+
+
+
+
+
+ The start and end character offset of a Token.
+
+
+ Returns this Token's starting offset, the position of the first character
+ corresponding to this token in the source text.
+ Note that the difference between endOffset() and startOffset() may not be
+ equal to termText.length(), as the term text may have been altered by a
+ stemmer or some other filter.
+
+
+
+ Set the starting and ending offset.
+ See StartOffset() and EndOffset()
+
+
+
+ Returns this Token's ending offset, one greater than the position of the
+ last character corresponding to this token in the source text. The length
+ of the token in the source text is (endOffset - startOffset).
+
+
+
+ The payload of a Token. See also .
+
+
+ Returns this Token's payload.
+
+
+ Sets this Token's payload.
+
+
+ We will remove this when we remove the
+ deprecated APIs
+
+
+
+ Characters for the term text.
+ This will be made private. Instead, use:
+ ,
+ ,
+ , or
+
+
+
+
+ Length of term text in the buffer.
+ This will be made private. Instead, use:
+ , or .
+
+
+
+ Start in source text.
+ This will be made private. Instead, use:
+ , or .
+
+
+
+ End in source text.
+ This will be made private. Instead, use:
+ , or .
+
+
+
+ The lexical type of the token.
+ This will be made private. Instead, use:
+ , or .
+
+
+
+ This will be made private. Instead, use:
+ , or .
+
+
+
+ This will be made private. Instead, use:
+ , or .
+
+
+
+ Constructs a Token will null text.
+
+
+ Constructs a Token with null text and start & end
+ offsets.
+
+ start offset in the source text
+
+ end offset in the source text
+
+
+
+ Constructs a Token with null text and start & end
+ offsets plus the Token type.
+
+ start offset in the source text
+
+ end offset in the source text
+
+ the lexical type of this Token
+
+
+
+ Constructs a Token with null text and start & end
+ offsets plus flags. NOTE: flags is EXPERIMENTAL.
+
+ start offset in the source text
+
+ end offset in the source text
+
+ The bits to set for this token
+
+
+
+ Constructs a Token with the given term text, and start
+ & end offsets. The type defaults to "word."
+ NOTE: for better indexing speed you should
+ instead use the char[] termBuffer methods to set the
+ term text.
+
+ term text
+
+ start offset
+
+ end offset
+
+
+
+ Constructs a Token with the given text, start and end
+ offsets, & type. NOTE: for better indexing
+ speed you should instead use the char[] termBuffer
+ methods to set the term text.
+
+ term text
+
+ start offset
+
+ end offset
+
+ token type
+
+
+
+ Constructs a Token with the given text, start and end
+ offsets, & type. NOTE: for better indexing
+ speed you should instead use the char[] termBuffer
+ methods to set the term text.
+
+
+
+
+
+
+
+ token type bits
+
+
+
+ Constructs a Token with the given term buffer (offset
+ & length), start and end
+ offsets
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set the position increment. This determines the position of this token
+ relative to the previous Token in a , used in phrase
+ searching.
+
+ The default value is one.
+
+ Some common uses for this are:
+
+ Set it to zero to put multiple terms in the same position. This is
+ useful if, e.g., a word has multiple stems. Searches for phrases
+ including either stem will match. In this case, all but the first stem's
+ increment should be set to zero: the increment of the first instance
+ should be one. Repeating a token with an increment of zero can also be
+ used to boost the scores of matches on that token.
+
+ Set it to values greater than one to inhibit exact phrase matches.
+ If, for example, one does not want phrases to match across removed stop
+ words, then one could build a stop word filter that removes stop words and
+ also sets the increment to the number of stop words removed before each
+ non-stop word. Then exact phrase queries will only match when the terms
+ occur with no intervening stop words.
+
+
+
+ the distance from the prior term
+
+
+
+
+
+ Returns the position increment of this Token.
+
+
+
+
+ Sets the Token's term text. NOTE: for better
+ indexing speed you should instead use the char[]
+ termBuffer methods to set the term text.
+
+ use or
+ or
+ .
+
+
+
+ Returns the Token's term text.
+
+
+ This method now has a performance penalty
+ because the text is stored internally in a char[]. If
+ possible, use and
+ directly instead. If you really need a
+ String, use
+
+
+
+ Returns the Token's term text.
+
+ This method has a performance penalty
+ because the text is stored internally in a char[]. If
+ possible, use and
+ directly instead. If you really need a
+ String, use this method, which is nothing more than
+ a convenience call to new String(token.termBuffer(), 0, token.termLength())
+
+
+
+ Copies the contents of buffer, starting at offset for
+ length characters, into the termBuffer array.
+
+ the buffer to copy
+
+ the index in the buffer of the first character to copy
+
+ the number of characters to copy
+
+
+
+ Copies the contents of buffer into the termBuffer array.
+ the buffer to copy
+
+
+
+ Copies the contents of buffer, starting at offset and continuing
+ for length characters, into the termBuffer array.
+
+ the buffer to copy
+
+ the index in the buffer of the first character to copy
+
+ the number of characters to copy
+
+
+
+ Returns the internal termBuffer character array which
+ you can then directly alter. If the array is too
+ small for your token, use
+ to increase it. After
+ altering the buffer be sure to call
+ to record the number of valid
+ characters that were placed into the termBuffer.
+
+
+
+ Grows the termBuffer to at least size newSize, preserving the
+ existing content. Note: If the next operation is to change
+ the contents of the term buffer use
+ ,
+ , or
+
+ to optimally combine the resize with the setting of the termBuffer.
+
+ minimum size of the new termBuffer
+
+ newly created termBuffer with length >= newSize
+
+
+
+ Allocates a buffer char[] of at least newSize, without preserving the existing content.
+ its always used in places that set the content
+
+ minimum size of the buffer
+
+
+
+ Return number of valid characters (length of the term)
+ in the termBuffer array.
+
+
+
+ Set number of valid characters (length of the term) in
+ the termBuffer array. Use this to truncate the termBuffer
+ or to synchronize with external manipulation of the termBuffer.
+ Note: to grow the size of the array,
+ use first.
+
+ the truncated length
+
+
+
+ Returns this Token's starting offset, the position of the first character
+ corresponding to this token in the source text.
+ Note that the difference between endOffset() and startOffset() may not be
+ equal to termText.length(), as the term text may have been altered by a
+ stemmer or some other filter.
+
+
+
+ Set the starting offset.
+
+
+
+
+ Returns this Token's ending offset, one greater than the position of the
+ last character corresponding to this token in the source text. The length
+ of the token in the source text is (endOffset - startOffset).
+
+
+
+ Set the ending offset.
+
+
+
+
+ Set the starting and ending offset.
+ See StartOffset() and EndOffset()
+
+
+
+ Returns this Token's lexical type. Defaults to "word".
+
+
+ Set the lexical type.
+
+
+
+
+ EXPERIMENTAL: While we think this is here to stay, we may want to change it to be a long.
+
+
+ Get the bitset for any bits that have been set. This is completely distinct from , although they do share similar purposes.
+ The flags can be used to encode information about the token for use by other s.
+
+
+
+ The bits
+
+
+
+
+
+
+
+ Returns this Token's payload.
+
+
+ Sets this Token's payload.
+
+
+ Resets the term text, payload, flags, and positionIncrement,
+ startOffset, endOffset and token type to default.
+
+
+
+ Makes a clone, but replaces the term buffer &
+ start/end offset in the process. This is more
+ efficient than doing a full clone (and then calling
+ setTermBuffer) because it saves a wasted copy of the old
+ termBuffer.
+
+
+
+ Shorthand for calling ,
+ ,
+ ,
+ ,
+
+
+ this Token instance
+
+
+
+ Shorthand for calling ,
+ ,
+ ,
+
+ on Token.DEFAULT_TYPE
+
+ this Token instance
+
+
+
+ Shorthand for calling ,
+ ,
+ ,
+
+
+
+ this Token instance
+
+
+
+ Shorthand for calling ,
+ ,
+ ,
+
+
+
+ this Token instance
+
+
+
+ Shorthand for calling ,
+ ,
+ ,
+
+ on Token.DEFAULT_TYPE
+
+ this Token instance
+
+
+
+ Shorthand for calling ,
+ ,
+ ,
+
+ on Token.DEFAULT_TYPE
+
+ this Token instance
+
+
+
+ Copy the prototype token's fields into this one. Note: Payloads are shared.
+
+
+
+
+ Copy the prototype token's fields into this one, with a different term. Note: Payloads are shared.
+
+
+
+
+
+
+ Copy the prototype token's fields into this one, with a different term. Note: Payloads are shared.
+
+
+
+
+
+
+
+
+
+
+ This attribute can be used to pass different flags down the tokenizer chain,
+ eg from one TokenFilter to another one.
+
+
+
+ EXPERIMENTAL: While we think this is here to stay, we may want to change it to be a long.
+
+
+ Get the bitset for any bits that have been set. This is completely distinct from , although they do share similar purposes.
+ The flags can be used to encode information about the token for use by other s.
+
+
+
+ The bits
+
+
+
+
+
+
+
+ The start and end character offset of a Token.
+
+
+ Returns this Token's starting offset, the position of the first character
+ corresponding to this token in the source text.
+ Note that the difference between endOffset() and startOffset() may not be
+ equal to termText.length(), as the term text may have been altered by a
+ stemmer or some other filter.
+
+
+
+ Set the starting and ending offset.
+ See StartOffset() and EndOffset()
+
+
+
+ Returns this Token's ending offset, one greater than the position of the
+ last character corresponding to this token in the source text. The length
+ of the token in the source text is (endOffset - startOffset).
+
+
+
+ The payload of a Token. See also .
+
+
+ Initialize this attribute with no payload.
+
+
+ Initialize this attribute with the given payload.
+
+
+ Returns this Token's payload.
+
+
+ Sets this Token's payload.
+
+
+ The positionIncrement determines the position of this token
+ relative to the previous Token in a , used in phrase
+ searching.
+
+ The default value is one.
+
+ Some common uses for this are:
+
+ Set it to zero to put multiple terms in the same position. This is
+ useful if, e.g., a word has multiple stems. Searches for phrases
+ including either stem will match. In this case, all but the first stem's
+ increment should be set to zero: the increment of the first instance
+ should be one. Repeating a token with an increment of zero can also be
+ used to boost the scores of matches on that token.
+
+ Set it to values greater than one to inhibit exact phrase matches.
+ If, for example, one does not want phrases to match across removed stop
+ words, then one could build a stop word filter that removes stop words and
+ also sets the increment to the number of stop words removed before each
+ non-stop word. Then exact phrase queries will only match when the terms
+ occur with no intervening stop words.
+
+
+
+
+
+ Set the position increment. The default value is one.
+
+
+ the distance from the prior term
+
+
+
+ Returns the position increment of this Token.
+
+
+
+
+ The term text of a Token.
+
+
+ Returns the Token's term text.
+
+ This method has a performance penalty
+ because the text is stored internally in a char[]. If
+ possible, use and
+ directly instead. If you
+ really need a String, use this method, which is nothing more than
+ a convenience call to new String(token.termBuffer(), 0, token.termLength())
+
+
+
+ Copies the contents of buffer, starting at offset for
+ length characters, into the termBuffer array.
+
+ the buffer to copy
+
+ the index in the buffer of the first character to copy
+
+ the number of characters to copy
+
+
+
+ Copies the contents of buffer into the termBuffer array.
+ the buffer to copy
+
+
+
+ Copies the contents of buffer, starting at offset and continuing
+ for length characters, into the termBuffer array.
+
+ the buffer to copy
+
+ the index in the buffer of the first character to copy
+
+ the number of characters to copy
+
+
+
+ Returns the internal termBuffer character array which
+ you can then directly alter. If the array is too
+ small for your token, use
+ to increase it. After
+ altering the buffer be sure to call
+ to record the number of valid
+ characters that were placed into the termBuffer.
+
+
+
+ Grows the termBuffer to at least size newSize, preserving the
+ existing content. Note: If the next operation is to change
+ the contents of the term buffer use
+ ,
+ , or
+
+ to optimally combine the resize with the setting of the termBuffer.
+
+ minimum size of the new termBuffer
+
+ newly created termBuffer with length >= newSize
+
+
+
+ Allocates a buffer char[] of at least newSize, without preserving the existing content.
+ its always used in places that set the content
+
+ minimum size of the buffer
+
+
+
+ Return number of valid characters (length of the term)
+ in the termBuffer array.
+
+
+
+ Set number of valid characters (length of the term) in
+ the termBuffer array. Use this to truncate the termBuffer
+ or to synchronize with external manipulation of the termBuffer.
+ Note: to grow the size of the array,
+ use first.
+
+ the truncated length
+
+
+
+ A Token's lexical type. The Default value is "word".
+
+
+ Returns this Token's lexical type. Defaults to "word".
+
+
+ Set the lexical type.
+
+
+
+
+ This class wraps a Token and supplies a single attribute instance
+ where the delegate token can be replaced.
+
+ Will be removed, when old TokenStream API is removed.
+
+
+
+ An Analyzer that uses .
+
+
+ A WhitespaceTokenizer is a tokenizer that divides text at whitespace.
+ Adjacent sequences of non-Whitespace characters form tokens.
+
+
+
+ Construct a new WhitespaceTokenizer.
+
+
+ Construct a new WhitespaceTokenizer using a given .
+
+
+ Construct a new WhitespaceTokenizer using a given .
+
+
+ Collects only characters which do not satisfy
+ .
+
+
+
+ Loader for text files that represent a list of stopwords.
+
+
+
+ $Id: WordlistLoader.java 706342 2008-10-20 17:19:29Z gsingers $
+
+
+
+ Loads a text file and adds every line as an entry to a HashSet (omitting
+ leading and trailing whitespace). Every line of the file should contain only
+ one word. The words need to be in lowercase if you make use of an
+ Analyzer which uses LowerCaseFilter (like StandardAnalyzer).
+
+
+ File containing the wordlist
+
+ A HashSet with the file's words
+
+
+
+ Loads a text file and adds every non-comment line as an entry to a HashSet (omitting
+ leading and trailing whitespace). Every line of the file should contain only
+ one word. The words need to be in lowercase if you make use of an
+ Analyzer which uses LowerCaseFilter (like StandardAnalyzer).
+
+
+ File containing the wordlist
+
+ The comment string to ignore
+
+ A HashSet with the file's words
+
+
+
+ Reads lines from a Reader and adds every line as an entry to a HashSet (omitting
+ leading and trailing whitespace). Every line of the Reader should contain only
+ one word. The words need to be in lowercase if you make use of an
+ Analyzer which uses LowerCaseFilter (like StandardAnalyzer).
+
+
+ Reader containing the wordlist
+
+ A HashSet with the reader's words
+
+
+
+ Reads lines from a Reader and adds every non-comment line as an entry to a HashSet (omitting
+ leading and trailing whitespace). Every line of the Reader should contain only
+ one word. The words need to be in lowercase if you make use of an
+ Analyzer which uses LowerCaseFilter (like StandardAnalyzer).
+
+
+ Reader containing the wordlist
+
+ The string representing a comment.
+
+ A HashSet with the reader's words
+
+
+
+ Reads a stem dictionary. Each line contains:
+ word\tstem
+ (i.e. two tab seperated words)
+
+
+ stem dictionary that overrules the stemming algorithm
+
+ IOException
+
+
+
+
+
+
+
+
+ Synonymous with .
+
+ WARNING: This interface may change within minor versions, despite Lucene's backward compatibility requirements.
+ This means new methods may be added from version to version. This change only affects the Fieldable API; other backwards
+ compatibility promises remain intact. For example, Lucene can still
+ read and write indices created within the same major version.
+
+
+
+
+
+
+ Sets the boost factor hits on this field. This value will be
+ multiplied into the score of all hits on this this field of this
+ document.
+
+ The boost is multiplied by of the document
+ containing this field. If a document has multiple fields with the same
+ name, all such values are multiplied together. This product is then
+ used to compute the norm factor for the field. By
+ default, in the
+ method, the boost value is multiplied
+ by the
+ and then rounded by before it is stored in the
+ index. One should attempt to ensure that this product does not overflow
+ the range of that encoding.
+
+
+
+
+
+
+
+
+
+
+ Returns the boost factor for hits for this field.
+
+ The default value is 1.0.
+
+ Note: this value is not stored directly with the document in the index.
+ Documents returned from and
+ may thus not have the same value present as when
+ this field was indexed.
+
+
+
+
+
+
+ Returns the name of the field as an interned string.
+ For example "date", "title", "body", ...
+
+
+
+ The value of the field as a String, or null.
+
+ For indexing, if isStored()==true, the stringValue() will be used as the stored field value
+ unless isBinary()==true, in which case binaryValue() will be used.
+
+ If isIndexed()==true and isTokenized()==false, this String value will be indexed as a single token.
+ If isIndexed()==true and isTokenized()==true, then tokenStreamValue() will be used to generate indexed tokens if not null,
+ else readerValue() will be used to generate indexed tokens if not null, else stringValue() will be used to generate tokens.
+
+
+
+ The value of the field as a Reader, which can be used at index time to generate indexed tokens.
+
+
+
+
+ The value of the field in Binary, or null.
+
+
+
+
+ The TokenStream for this field to be used when indexing, or null.
+
+
+
+
+ True if the value of the field is to be stored in the index for return
+ with search hits.
+
+
+
+ True if the value of the field is to be indexed, so that it may be
+ searched on.
+
+
+
+ True if the value of the field should be tokenized as text prior to
+ indexing. Un-tokenized fields are indexed as a single word and may not be
+ Reader-valued.
+
+
+
+ True if the value of the field is stored and compressed within the index
+
+
+ True if the term or terms used to index this field are stored as a term
+ vector, available from .
+ These methods do not provide access to the original content of the field,
+ only to terms used to index it. If the original content must be
+ preserved, use the stored attribute instead.
+
+
+
+
+
+
+ True if terms are stored as term vector together with their offsets
+ (start and end positon in source text).
+
+
+
+ True if terms are stored as term vector together with their token positions.
+
+
+ True if the value of the field is stored as binary
+
+
+ True if norms are omitted for this indexed field
+
+
+ Expert:
+
+ If set, omit normalization factors associated with this indexed field.
+ This effectively disables indexing boosts and length normalization for this field.
+
+
+
+ Renamed to
+
+
+
+ Renamed to
+
+
+
+ Indicates whether a Field is Lazy or not. The semantics of Lazy loading are such that if a Field is lazily loaded, retrieving
+ it's values via or is only valid as long as the that
+ retrieved the is still open.
+
+
+ true if this field can be loaded lazily
+
+
+
+ Returns offset into byte[] segment that is used as value, if Field is not binary
+ returned value is undefined
+
+ index of the first character in byte[] segment that represents this Field value
+
+
+
+ Returns length of byte[] segment that is used as value, if Field is not binary
+ returned value is undefined
+
+ length of byte[] segment that represents this Field value
+
+
+
+ Return the raw byte[] for the binary field. Note that
+ you must also call and
+ to know which range of bytes in this
+ returned array belong to the field.
+
+ reference to the Field value as byte[].
+
+
+
+ Return the raw byte[] for the binary field. Note that
+ you must also call and
+ to know which range of bytes in this
+ returned array belong to the field.
+ About reuse: if you pass in the result byte[] and it is
+ used, likely the underlying implementation will hold
+ onto this byte[] and return it in future calls to
+ or .
+ So if you subsequently re-use the same byte[] elsewhere
+ it will alter this Fieldable's value.
+
+ User defined buffer that will be used if
+ possible. If this is null or not large enough, a new
+ buffer is allocated
+
+ reference to the Field value as byte[].
+
+
+
+ Sets the boost factor hits on this field. This value will be
+ multiplied into the score of all hits on this this field of this
+ document.
+
+ The boost is multiplied by of the document
+ containing this field. If a document has multiple fields with the same
+ name, all such values are multiplied together. This product is then
+ used to compute the norm factor for the field. By
+ default, in the
+ method, the boost value is multipled
+ by the and then
+ rounded by before it is stored in the
+ index. One should attempt to ensure that this product does not overflow
+ the range of that encoding.
+
+
+
+
+
+
+
+
+
+
+ Returns the boost factor for hits for this field.
+
+ The default value is 1.0.
+
+ Note: this value is not stored directly with the document in the index.
+ Documents returned from and
+ may thus not have the same value present as when
+ this field was indexed.
+
+
+
+
+
+
+ Returns the name of the field as an interned string.
+ For example "date", "title", "body", ...
+
+
+
+ True iff the value of the field is to be stored in the index for return
+ with search hits. It is an error for this to be true if a field is
+ Reader-valued.
+
+
+
+ True iff the value of the field is to be indexed, so that it may be
+ searched on.
+
+
+
+ True iff the value of the field should be tokenized as text prior to
+ indexing. Un-tokenized fields are indexed as a single word and may not be
+ Reader-valued.
+
+
+
+ True if the value of the field is stored and compressed within the index
+
+
+ True iff the term or terms used to index this field are stored as a term
+ vector, available from .
+ These methods do not provide access to the original content of the field,
+ only to terms used to index it. If the original content must be
+ preserved, use the stored attribute instead.
+
+
+
+
+
+
+ True iff terms are stored as term vector together with their offsets
+ (start and end position in source text).
+
+
+
+ True iff terms are stored as term vector together with their token positions.
+
+
+ True iff the value of the filed is stored as binary
+
+
+ Return the raw byte[] for the binary field. Note that
+ you must also call and
+ to know which range of bytes in this
+ returned array belong to the field.
+
+ reference to the Field value as byte[].
+
+
+
+ Returns length of byte[] segment that is used as value, if Field is not binary
+ returned value is undefined
+
+ length of byte[] segment that represents this Field value
+
+
+
+ Returns offset into byte[] segment that is used as value, if Field is not binary
+ returned value is undefined
+
+ index of the first character in byte[] segment that represents this Field value
+
+
+
+ True if norms are omitted for this indexed field
+
+
+ Renamed to
+
+
+
+
+
+
+
+ Expert:
+
+ If set, omit normalization factors associated with this indexed field.
+ This effectively disables indexing boosts and length normalization for this field.
+
+
+
+ Renamed to
+
+
+
+ Expert:
+
+ If set, omit term freq, positions and payloads from
+ postings for this field.
+
+ NOTE: While this option reduces storage space
+ required in the index, it also means any query
+ requiring positional information, such as
+ or subclasses will
+ silently fail to find results.
+
+
+
+ Prints a Field for human consumption.
+
+
+ Simple utility class providing static methods to
+ compress and decompress binary data for stored fields.
+ This class uses java.util.zip.Deflater and Inflater
+ classes to compress and decompress, which is the same
+ format previously used by the now deprecated
+ Field.Store.COMPRESS.
+
+
+
+ Compresses the specified byte range using the
+ specified compressionLevel (constants are defined in
+ java.util.zip.Deflater).
+
+
+
+ Compresses the specified byte range, with default BEST_COMPRESSION level
+
+
+ Compresses all bytes in the array, with default BEST_COMPRESSION level
+
+
+ Compresses the String value, with default BEST_COMPRESSION level
+
+
+ Compresses the String value using the specified
+ compressionLevel (constants are defined in
+ java.util.zip.Deflater).
+
+
+
+ Decompress the byte array previously returned by
+ compress
+
+
+
+ Decompress the byte array previously returned by
+ compressString back into a String
+
+
+
+ Provides support for converting dates to strings and vice-versa.
+ The strings are structured so that lexicographic sorting orders by date,
+ which makes them suitable for use as field values and search terms.
+
+ Note that this class saves dates with millisecond granularity,
+ which is bad for and , as those
+ queries are expanded to a BooleanQuery with a potentially large number
+ of terms when searching. Thus you might want to use
+ instead.
+
+
+ Note: dates before 1970 cannot be used, and therefore cannot be
+ indexed when using this class. See for an
+ alternative without such a limitation.
+
+
+ Another approach is , which provides
+ a sortable binary representation (prefix encoded) of numeric values, which
+ date/time are.
+ For indexing a , convert it to unix timestamp as
+ long and
+ index this as a numeric value with
+ and use to query it.
+
+
+ If you build a new index, use or
+ instead.
+ This class is included for use with existing
+ indices and will be removed in a future release.
+
+
+
+ Converts a Date to a string suitable for indexing.
+ RuntimeException if the date specified in the
+ method argument is before 1970
+
+
+
+ Converts a millisecond time to a string suitable for indexing.
+ RuntimeException if the time specified in the
+ method argument is negative, that is, before 1970
+
+
+
+ Converts a string-encoded date into a millisecond time.
+
+
+ Converts a string-encoded date into a Date object.
+
+
+ Provides support for converting dates to strings and vice-versa.
+ The strings are structured so that lexicographic sorting orders
+ them by date, which makes them suitable for use as field values
+ and search terms.
+
+ This class also helps you to limit the resolution of your dates. Do not
+ save dates with a finer resolution than you really need, as then
+ RangeQuery and PrefixQuery will require more memory and become slower.
+
+ Compared to the strings generated by the methods
+ in this class take slightly more space, unless your selected resolution
+ is set to Resolution.DAY or lower.
+
+
+ Another approach is , which provides
+ a sortable binary representation (prefix encoded) of numeric values, which
+ date/time are.
+ For indexing a , convert it to unix timestamp as
+ long and
+ index this as a numeric value with
+ and use to query it.
+
+
+
+ Converts a Date to a string suitable for indexing.
+
+
+ the date to be converted
+
+ the desired resolution, see
+
+
+ a string in format yyyyMMddHHmmssSSS or shorter,
+ depending on resolution; using GMT as timezone
+
+
+
+ Converts a millisecond time to a string suitable for indexing.
+
+
+ the date expressed as milliseconds since January 1, 1970, 00:00:00 GMT
+
+ the desired resolution, see
+
+
+ a string in format yyyyMMddHHmmssSSS or shorter,
+ depending on resolution; using GMT as timezone
+
+
+
+ Converts a string produced by timeToString or
+ DateToString back to a time, represented as the
+ number of milliseconds since January 1, 1970, 00:00:00 GMT.
+
+
+ the date string to be converted
+
+ the number of milliseconds since January 1, 1970, 00:00:00 GMT
+
+ ParseException if dateString is not in the
+ expected format
+
+
+
+ Converts a string produced by timeToString or
+ DateToString back to a time, represented as a
+ Date object.
+
+
+ the date string to be converted
+
+ the parsed time as a Date object
+
+ ParseException if dateString is not in the
+ expected format
+
+
+
+ Limit a date's resolution. For example, the date 2004-09-21 13:50:11
+ will be changed to 2004-09-01 00:00:00 when using
+ Resolution.MONTH.
+
+
+
+ The desired resolution of the date to be returned
+
+ the date with all values more precise than resolution
+ set to 0 or 1
+
+
+
+ Limit a date's resolution. For example, the date 1095767411000
+ (which represents 2004-09-21 13:50:11) will be changed to
+ 1093989600000 (2004-09-01 00:00:00) when using
+ Resolution.MONTH.
+
+
+ The time in milliseconds (not ticks).
+ The desired resolution of the date to be returned
+
+ the date with all values more precise than resolution
+ set to 0 or 1, expressed as milliseconds since January 1, 1970, 00:00:00 GMT
+
+
+
+ Specifies the time granularity.
+
+
+ Documents are the unit of indexing and search.
+
+ A Document is a set of fields. Each field has a name and a textual value.
+ A field may be stored with the document, in which
+ case it is returned with search hits on the document. Thus each document
+ should typically contain one or more stored fields which uniquely identify
+ it.
+
+ Note that fields which are notstored are
+ not available in documents retrieved from the index, e.g. with ,
+ or .
+
+
+
+ Constructs a new document with no fields.
+
+
+ Sets a boost factor for hits on any field of this document. This value
+ will be multiplied into the score of all hits on this document.
+
+ The default value is 1.0.
+
+ Values are multiplied into the value of of
+ each field in this document. Thus, this method in effect sets a default
+ boost for the fields of this document.
+
+
+
+
+
+
+ Returns, at indexing time, the boost factor as set by .
+
+ Note that once a document is indexed this value is no longer available
+ from the index. At search time, for retrieved documents, this method always
+ returns 1. This however does not mean that the boost value set at indexing
+ time was ignored - it was just combined with other indexing time factors and
+ stored elsewhere, for better indexing and search performance. (For more
+ information see the "norm(t,d)" part of the scoring formula in
+ Similarity.)
+
+
+
+
+
+
+ Adds a field to a document. Several fields may be added with
+ the same name. In this case, if the fields are indexed, their text is
+ treated as though appended for the purposes of search.
+ Note that add like the removeField(s) methods only makes sense
+ prior to adding a document to an index. These methods cannot
+ be used to change the content of an existing index! In order to achieve this,
+ a document has to be deleted from an index and a new changed version of that
+ document has to be added.
+
+
+
+ Removes field with the specified name from the document.
+ If multiple fields exist with this name, this method removes the first field that has been added.
+ If there is no field with the specified name, the document remains unchanged.
+ Note that the removeField(s) methods like the add method only make sense
+ prior to adding a document to an index. These methods cannot
+ be used to change the content of an existing index! In order to achieve this,
+ a document has to be deleted from an index and a new changed version of that
+ document has to be added.
+
+
+
+ Removes all fields with the given name from the document.
+ If there is no field with the specified name, the document remains unchanged.
+ Note that the removeField(s) methods like the add method only make sense
+ prior to adding a document to an index. These methods cannot
+ be used to change the content of an existing index! In order to achieve this,
+ a document has to be deleted from an index and a new changed version of that
+ document has to be added.
+
+
+
+ Returns a field with the given name if any exist in this document, or
+ null. If multiple fields exists with this name, this method returns the
+ first value added.
+ Do not use this method with lazy loaded fields.
+
+
+
+ Returns a field with the given name if any exist in this document, or
+ null. If multiple fields exists with this name, this method returns the
+ first value added.
+
+
+
+ Returns the string value of the field with the given name if any exist in
+ this document, or null. If multiple fields exist with this name, this
+ method returns the first value added. If only binary fields with this name
+ exist, returns null.
+
+
+
+ Returns an Enumeration of all the fields in a document.
+ use instead
+
+
+
+ Returns a List of all the fields in a document.
+ Note that fields which are notstored are
+ not available in documents retrieved from the
+ index, e.g. or .
+
+
+
+ Returns an array of s with the given name.
+ Do not use with lazy loaded fields.
+ This method returns an empty array when there are no
+ matching fields. It never returns null.
+
+
+ the name of the field
+
+ a Field[] array
+
+
+
+ Returns an array of s with the given name.
+ This method returns an empty array when there are no
+ matching fields. It never returns null.
+
+
+ the name of the field
+
+ a Fieldable[] array
+
+
+
+ Returns an array of values of the field specified as the method parameter.
+ This method returns an empty array when there are no
+ matching fields. It never returns null.
+
+ the name of the field
+
+ a String[] of field values
+
+
+
+ Returns an array of byte arrays for of the fields that have the name specified
+ as the method parameter. This method returns an empty
+ array when there are no matching fields. It never
+ returns null.
+
+
+ the name of the field
+
+ a byte[][] of binary field values
+
+
+
+ Returns an array of bytes for the first (or only) field that has the name
+ specified as the method parameter. This method will return null
+ if no binary fields with the specified name are available.
+ There may be non-binary fields with the same name.
+
+
+ the name of the field.
+
+ a byte[] containing the binary field value or null
+
+
+
+ Prints the fields of a document for human consumption.
+
+
+ A field is a section of a Document. Each field has two parts, a name and a
+ value. Values may be free text, provided as a String or as a Reader, or they
+ may be atomic keywords, which are not further processed. Such keywords may
+ be used to represent dates, urls, etc. Fields are optionally stored in the
+ index, so that they may be returned with hits on the document.
+
+
+
+ The value of the field as a String, or null. If null, the Reader value or
+ binary value is used. Exactly one of stringValue(),
+ readerValue(), and getBinaryValue() must be set.
+
+
+
+ The value of the field as a Reader, or null. If null, the String value or
+ binary value is used. Exactly one of stringValue(),
+ readerValue(), and getBinaryValue() must be set.
+
+
+
+ The value of the field in Binary, or null. If null, the Reader value,
+ or String value is used. Exactly one of stringValue(),
+ readerValue(), and getBinaryValue() must be set.
+
+ This method must allocate a new byte[] if
+ the is non-zero
+ or is not the
+ full length of the byte[]. Please use
+ instead, which simply
+ returns the byte[].
+
+
+
+ The TokesStream for this field to be used when indexing, or null. If null, the Reader value
+ or String value is analyzed to produce the indexed tokens.
+
+
+
+ Expert: change the value of this field. This can
+ be used during indexing to re-use a single Field
+ instance to improve indexing speed by avoiding GC cost
+ of new'ing and reclaiming Field instances. Typically
+ a single instance is re-used as
+ well. This helps most on small documents.
+
+ Each Field instance should only be used once
+ within a single instance. See ImproveIndexingSpeed
+ for details.
+
+
+
+ Expert: change the value of this field. See setValue(String).
+
+
+ Expert: change the value of this field. See setValue(String).
+
+
+ Expert: change the value of this field. See setValue(String).
+
+
+ Expert: change the value of this field. See setValue(String).
+ use
+
+
+
+ Expert: sets the token stream to be used for indexing and causes isIndexed() and isTokenized() to return true.
+ May be combined with stored values from stringValue() or binaryValue()
+
+
+
+ Create a field by specifying its name, value and how it will
+ be saved in the index. Term vectors will not be stored in the index.
+
+
+ The name of the field
+
+ The string to process
+
+ Whether value should be stored in the index
+
+ Whether the field should be indexed, and if so, if it should
+ be tokenized before indexing
+
+ NullPointerException if name or value is null
+ IllegalArgumentException if the field is neither stored nor indexed
+
+
+ Create a field by specifying its name, value and how it will
+ be saved in the index.
+
+
+ The name of the field
+
+ The string to process
+
+ Whether value should be stored in the index
+
+ Whether the field should be indexed, and if so, if it should
+ be tokenized before indexing
+
+ Whether term vector should be stored
+
+ NullPointerException if name or value is null
+ IllegalArgumentException in any of the following situations:
+
+ the field is neither stored nor indexed
+ the field is not indexed but termVector is TermVector.YES
+
+
+
+
+ Create a field by specifying its name, value and how it will
+ be saved in the index.
+
+
+ The name of the field
+
+ Whether to .intern() name or not
+
+ The string to process
+
+ Whether value should be stored in the index
+
+ Whether the field should be indexed, and if so, if it should
+ be tokenized before indexing
+
+ Whether term vector should be stored
+
+ NullPointerException if name or value is null
+ IllegalArgumentException in any of the following situations:
+
+ the field is neither stored nor indexed
+ the field is not indexed but termVector is TermVector.YES
+
+
+
+
+ Create a tokenized and indexed field that is not stored. Term vectors will
+ not be stored. The Reader is read only when the Document is added to the index,
+ i.e. you may not close the Reader until
+ has been called.
+
+
+ The name of the field
+
+ The reader with the content
+
+ NullPointerException if name or reader is null
+
+
+ Create a tokenized and indexed field that is not stored, optionally with
+ storing term vectors. The Reader is read only when the Document is added to the index,
+ i.e. you may not close the Reader until
+ has been called.
+
+
+ The name of the field
+
+ The reader with the content
+
+ Whether term vector should be stored
+
+ NullPointerException if name or reader is null
+
+
+ Create a tokenized and indexed field that is not stored. Term vectors will
+ not be stored. This is useful for pre-analyzed fields.
+ The TokenStream is read only when the Document is added to the index,
+ i.e. you may not close the TokenStream until
+ has been called.
+
+
+ The name of the field
+
+ The TokenStream with the content
+
+ NullPointerException if name or tokenStream is null
+
+
+ Create a tokenized and indexed field that is not stored, optionally with
+ storing term vectors. This is useful for pre-analyzed fields.
+ The TokenStream is read only when the Document is added to the index,
+ i.e. you may not close the TokenStream until
+ has been called.
+
+
+ The name of the field
+
+ The TokenStream with the content
+
+ Whether term vector should be stored
+
+ NullPointerException if name or tokenStream is null
+
+
+ Create a stored field with binary value. Optionally the value may be compressed.
+
+
+ The name of the field
+
+ The binary value
+
+ How value should be stored (compressed or not)
+
+ IllegalArgumentException if store is Store.NO
+
+
+ Create a stored field with binary value. Optionally the value may be compressed.
+
+
+ The name of the field
+
+ The binary value
+
+ Starting offset in value where this Field's bytes are
+
+ Number of bytes to use for this Field, starting at offset
+
+ How value should be stored (compressed or not)
+
+ IllegalArgumentException if store is Store.NO
+
+
+ Specifies whether and how a field should be stored.
+
+
+ A serializable Enum class.
+
+
+ Resolves the deserialized instance to the local reference for accurate
+ equals() and == comparisons.
+
+
+ a reference to Parameter as resolved in the local VM
+
+ ObjectStreamException
+
+
+ Store the original field value in the index in a compressed form. This is
+ useful for long documents and for binary valued fields.
+
+ Please use instead.
+ For string fields that were previously indexed and stored using compression,
+ the new way to achieve this is: First add the field indexed-only (no store)
+ and additionally using the same field name as a binary, stored field
+ with .
+
+
+
+ Store the original field value in the index. This is useful for short texts
+ like a document's title which should be displayed with the results. The
+ value is stored in its original form, i.e. no analyzer is used before it is
+ stored.
+
+
+
+ Do not store the field value in the index.
+
+
+ Specifies whether and how a field should be indexed.
+
+
+ Do not index the field value. This field can thus not be searched,
+ but one can still access its contents provided it is
+ stored.
+
+
+
+ Index the tokens produced by running the field's
+ value through an Analyzer. This is useful for
+ common text.
+
+
+
+ this has been renamed to
+
+
+
+ Index the field's value without using an Analyzer, so it can be searched.
+ As no analyzer is used the value will be stored as a single term. This is
+ useful for unique Ids like product numbers.
+
+
+
+ This has been renamed to
+
+
+
+ Expert: Index the field's value without an Analyzer,
+ and also disable the storing of norms. Note that you
+ can also separately enable/disable norms by calling
+ . No norms means that
+ index-time field and document boosting and field
+ length normalization are disabled. The benefit is
+ less memory usage as norms take up one byte of RAM
+ per indexed field for every document in the index,
+ during searching. Note that once you index a given
+ field with norms enabled, disabling norms will
+ have no effect. In other words, for this to have the
+ above described effect on a field, all instances of
+ that field must be indexed with NOT_ANALYZED_NO_NORMS
+ from the beginning.
+
+
+
+ This has been renamed to
+
+
+
+
+ Expert: Index the tokens produced by running the
+ field's value through an Analyzer, and also
+ separately disable the storing of norms. See
+ for what norms are
+ and why you may want to disable them.
+
+
+
+ Specifies whether and how a field should have term vectors.
+
+
+ Do not store term vectors.
+
+
+ Store the term vectors of each document. A term vector is a list
+ of the document's terms and their number of occurrences in that document.
+
+
+
+ Store the term vector + token position information
+
+
+
+
+
+
+ Store the term vector + Token offset information
+
+
+
+
+
+
+ Store the term vector + Token position and offset information
+
+
+
+
+
+
+
+
+
+
+ Similar to a
+ java.io.FileFilter, the FieldSelector allows one to make decisions about
+ what Fields get loaded on a by
+
+
+
+
+ the field to accept or reject
+
+ an instance of
+ if the named fieldName should be loaded.
+
+
+
+ Provides information about what should be done with this Field
+
+
+
+
+
+ Load this every time the is loaded, reading in the data as it is encountered.
+ and should not return null.
+
+ should be called by the Reader.
+
+
+
+ Lazily load this . This means the is valid, but it may not actually contain its data until
+ invoked. SHOULD NOT BE USED. is safe to use and should
+ return a valid instance of a .
+
+ should be called by the Reader.
+
+
+
+ Do not load the . and should return null.
+ is not called.
+
+ should not be called by the Reader.
+
+
+
+ Load this field as in the case, but immediately return from loading for the . Thus, the
+ Document may not have its complete set of Fields. and should
+ both be valid for this
+
+ should be called by the Reader.
+
+
+
+ Behaves much like but does not uncompress any compressed data. This is used for internal purposes.
+ and should not return null.
+
+ should be called by
+ the Reader.
+
+ This is an internal option only, and is
+ no longer needed now that
+ is used for field compression.
+
+
+
+ Expert: Load the size of this rather than its value.
+ Size is measured as number of bytes required to store the field == bytes for a binary or any compressed value, and 2*chars for a String value.
+ The size is stored as a binary value, represented as an int in a byte[], with the higher order byte first in [0]
+
+
+
+ Expert: Like but immediately break from the field loading loop, i.e., stop loading further fields, after the size is loaded
+
+
+ Load the First field and break.
+
+ See
+
+
+
+ A based on a Map of field names to s
+
+
+
+
+ Create a a MapFieldSelector
+ maps from field names (String) to s
+
+
+
+ Create a a MapFieldSelector
+ fields to LOAD. List of Strings. All other fields are NO_LOAD.
+
+
+
+ Create a a MapFieldSelector
+ fields to LOAD. All other fields are NO_LOAD.
+
+
+
+ Load field according to its associated value in fieldSelections
+ a field name
+
+ the fieldSelections value that field maps to or NO_LOAD if none.
+
+
+
+ Provides support for converting longs to Strings, and back again. The strings
+ are structured so that lexicographic sorting order is preserved.
+
+
+ That is, if l1 is less than l2 for any two longs l1 and l2, then
+ NumberTools.longToString(l1) is lexicographically less than
+ NumberTools.longToString(l2). (Similarly for "greater than" and "equals".)
+
+
+ This class handles all long values (unlike
+ ).
+
+
+ For new indexes use instead, which
+ provides a sortable binary representation (prefix encoded) of numeric
+ values.
+ To index and efficiently query numeric values use
+ and .
+ This class is included for use with existing
+ indices and will be removed in a future release.
+
+
+
+ Equivalent to longToString(Long.MIN_VALUE)
+
+
+ Equivalent to longToString(Long.MAX_VALUE)
+
+
+ The length of (all) strings returned by
+
+
+ Converts a long to a String suitable for indexing.
+
+
+ Converts a String that was returned by back to a
+ long.
+
+
+ IllegalArgumentException
+ if the input is null
+
+ NumberFormatException
+ if the input does not parse (it was not a String returned by
+ longToString()).
+
+
+
+ This class provides a that enables indexing
+ of numeric values for efficient range filtering and
+ sorting. Here's an example usage, adding an int value:
+
+ document.add(new NumericField(name).setIntValue(value));
+
+
+ For optimal performance, re-use the
+ NumericField and instance for more than
+ one document:
+
+
+ NumericField field = new NumericField(name);
+ Document document = new Document();
+ document.add(field);
+
+ for(all documents) {
+ ...
+ field.setIntValue(value)
+ writer.addDocument(document);
+ ...
+ }
+
+
+ The .Net native types int, long,
+ float and double are
+ directly supported. However, any value that can be
+ converted into these native types can also be indexed.
+ For example, date/time values represented by a
+ can be translated into a long
+ value using the java.util.Date.getTime method. If you
+ don't need millisecond precision, you can quantize the
+ value, either by dividing the result of
+ java.util.Date.getTime or using the separate getters
+ (for year, month, etc.) to construct an int or
+ long value.
+
+ To perform range querying or filtering against a
+ NumericField, use or
+ . To sort according to a
+ NumericField, use the normal numeric sort types, eg
+ (note that
+ will not work with these fields). NumericField values
+ can also be loaded directly from .
+
+ By default, a NumericField's value is not stored but
+ is indexed for range filtering and sorting. You can use
+ the
+ constructor if you need to change these defaults.
+
+ You may add the same field name as a NumericField to
+ the same document more than once. Range querying and
+ filtering will be the logical OR of all values; so a range query
+ will hit all documents that have at least one value in
+ the range. However sort behavior is not defined. If you need to sort,
+ you should separately index a single-valued NumericField.
+
+ A NumericField will consume somewhat more disk space
+ in the index than an ordinary single-valued field.
+ However, for a typical index that includes substantial
+ textual content per document, this increase will likely
+ be in the noise.
+
+ Within Lucene, each numeric value is indexed as a
+ trie structure, where each term is logically
+ assigned to larger and larger pre-defined brackets (which
+ are simply lower-precision representations of the value).
+ The step size between each successive bracket is called the
+ precisionStep, measured in bits. Smaller
+ precisionStep values result in larger number
+ of brackets, which consumes more disk space in the index
+ but may result in faster range search performance. The
+ default value, 4, was selected for a reasonable tradeoff
+ of disk space consumption versus performance. You can
+ use the expert constructor
+ if you'd
+ like to change the value. Note that you must also
+ specify a congruent value when creating
+ or .
+ For low cardinality fields larger precision steps are good.
+ If the cardinality is < 100, it is fair
+ to use , which produces one
+ term per value.
+
+ For more information on the internals of numeric trie
+ indexing, including the precisionStep
+ configuration, see . The format of
+ indexed values is described in .
+
+ If you only need to sort by numeric value, and never
+ run range querying/filtering, you can index using a
+ precisionStep of .
+ This will minimize disk space consumed.
+
+ More advanced users can instead use
+ directly, when indexing numbers. This
+ class is a wrapper around this token stream type for
+ easier, more intuitive usage.
+
+ NOTE: This class is only used during
+ indexing. When retrieving the stored field value from a
+ instance after search, you will get a
+ conventional instance where the numeric
+ values are returned as s (according to
+ toString(value) of the used data type).
+
+ NOTE: This API is
+ experimental and might change in incompatible ways in the
+ next release.
+
+
+ 2.9
+
+
+
+ Creates a field for numeric values using the default precisionStep
+ (4). The instance is not yet initialized with
+ a numeric value, before indexing a document containing this field,
+ set a value using the various set???Value() methods.
+ This constructor creates an indexed, but not stored field.
+
+ the field name
+
+
+
+ Creates a field for numeric values using the default precisionStep
+ (4). The instance is not yet initialized with
+ a numeric value, before indexing a document containing this field,
+ set a value using the various set???Value() methods.
+
+ the field name
+
+ if the field should be stored in plain text form
+ (according to toString(value) of the used data type)
+
+ if the field should be indexed using
+
+
+
+ Creates a field for numeric values with the specified
+ precisionStep. The instance is not yet initialized with
+ a numeric value, before indexing a document containing this field,
+ set a value using the various set???Value() methods.
+ This constructor creates an indexed, but not stored field.
+
+ the field name
+
+ the used precision step
+
+
+
+ Creates a field for numeric values with the specified
+ precisionStep. The instance is not yet initialized with
+ a numeric value, before indexing a document containing this field,
+ set a value using the various set???Value() methods.
+
+ the field name
+
+ the used precision step
+
+ if the field should be stored in plain text form
+ (according to toString(value) of the used data type)
+
+ if the field should be indexed using
+
+
+
+ Returns a for indexing the numeric value.
+
+
+ Returns always null for numeric fields
+
+
+ Returns always null for numeric fields
+
+
+ Returns always null for numeric fields
+
+
+ Returns the numeric value as a string (how it is stored, when is chosen).
+
+
+ Returns the current numeric value as a subclass of , null if not yet initialized.
+
+
+ Initializes the field with the supplied long value.
+ the numeric value
+
+ this instance, because of this you can use it the following way:
+ document.add(new NumericField(name, precisionStep).SetLongValue(value))
+
+
+
+ Initializes the field with the supplied int value.
+ the numeric value
+
+ this instance, because of this you can use it the following way:
+ document.add(new NumericField(name, precisionStep).setIntValue(value))
+
+
+
+ Initializes the field with the supplied double value.
+ the numeric value
+
+ this instance, because of this you can use it the following way:
+ document.add(new NumericField(name, precisionStep).setDoubleValue(value))
+
+
+
+ Initializes the field with the supplied float value.
+ the numeric value
+
+ this instance, because of this you can use it the following way:
+ document.add(new NumericField(name, precisionStep).setFloatValue(value))
+
+
+
+ Declare what fields to load normally and what fields to load lazily
+
+
+
+
+
+ Pass in the Set of names to load and the Set of names to load lazily. If both are null, the
+ Document will not have any on it.
+
+ A Set of field names to load. May be empty, but not null
+
+ A Set of field names to load lazily. May be empty, but not null
+
+
+
+ Indicate whether to load the field with the given name or not. If the is not in either of the
+ initializing Sets, then is returned. If a Field name
+ is in both fieldsToLoad and lazyFieldsToLoad, lazy has precedence.
+
+
+ The name to check
+
+ The
+
+
+
+
+ Base class for enumerating all but deleted docs.
+
+ NOTE: this class is meant only to be used internally
+ by Lucene; it's only public so it can be shared across
+ packages. This means the API is freely subject to
+ change, and, the class could be removed entirely, in any
+ Lucene release. Use directly at your own risk! */
+
+
+
+ TermDocs provides an interface for enumerating <document, frequency>
+ pairs for a term. The document portion names each document containing
+ the term. Documents are indicated by number. The frequency portion gives
+ the number of times the term occurred in each document. The pairs are
+ ordered by document number.
+
+
+
+
+
+ Sets this to the data for a term.
+ The enumeration is reset to the start of the data for this term.
+
+
+
+ Sets this to the data for the current term in a .
+ This may be optimized in some implementations.
+
+
+
+ Returns the current document number. This is invalid until
+ is called for the first time.
+
+
+
+ Returns the frequency of the term within the current document. This
+ is invalid until is called for the first time.
+
+
+
+ Moves to the next pair in the enumeration. Returns true iff there is
+ such a next pair in the enumeration.
+
+
+
+ Attempts to read multiple entries from the enumeration, up to length of
+ docs. Document numbers are stored in docs, and term
+ frequencies are stored in freqs. The freqs array must be as
+ long as the docs array.
+
+ Returns the number of entries read. Zero is only returned when the
+ stream has been exhausted.
+
+
+
+ Skips entries to the first beyond the current whose document number is
+ greater than or equal to target. Returns true iff there is such
+ an entry. Behaves as if written:
+ boolean skipTo(int target) {
+ do {
+ if (!next())
+ return false;
+ } while (target > doc());
+ return true;
+ }
+
+ Some implementations are considerably more efficient than that.
+
+
+
+ Frees associated resources.
+
+
+ Holds buffered deletes, by docID, term or query. We
+ hold two instances of this class: one for the deletes
+ prior to the last flush, the other for deletes after
+ the last flush. This is so if we need to abort
+ (discard all buffered docs) we can also discard the
+ buffered deletes yet keep the deletes done during
+ previously flushed segments.
+
+
+
+ Abstract base class for input from a file in a . A
+ random-access input stream. Used for all Lucene index input operations.
+
+
+
+
+
+ Reads and returns a single byte.
+
+
+
+
+ Reads a specified number of bytes into an array at the specified offset.
+ the array to read bytes into
+
+ the offset in the array to start storing bytes
+
+ the number of bytes to read
+
+
+
+
+
+ Reads a specified number of bytes into an array at the
+ specified offset with control over whether the read
+ should be buffered (callers who have their own buffer
+ should pass in "false" for useBuffer). Currently only
+ respects this parameter.
+
+ the array to read bytes into
+
+ the offset in the array to start storing bytes
+
+ the number of bytes to read
+
+ set to false if the caller will handle
+ buffering.
+
+
+
+
+
+ Reads four bytes and returns an int.
+
+
+
+
+ Reads an int stored in variable-length format. Reads between one and
+ five bytes. Smaller values take fewer bytes. Negative numbers are not
+ supported.
+
+
+
+
+
+ Reads eight bytes and returns a long.
+
+
+
+
+ Reads a long stored in variable-length format. Reads between one and
+ nine bytes. Smaller values take fewer bytes. Negative numbers are not
+ supported.
+
+
+
+ Call this if readString should read characters stored
+ in the old modified UTF8 format (length in java chars
+ and java's modified UTF8 encoding). This is used for
+ indices written pre-2.4 See LUCENE-510 for details.
+
+
+
+ Reads a string.
+
+
+
+
+ Reads Lucene's old "modified UTF-8" encoded
+ characters into an array.
+
+ the array to read characters into
+
+ the offset in the array to start storing characters
+
+ the number of characters to read
+
+
+
+ -- please use readString or readBytes
+ instead, and construct the string
+ from those utf8 bytes
+
+
+
+ Expert
+
+ Similar to but does not do any conversion operations on the bytes it is reading in. It still
+ has to invoke just as does, but it does not need a buffer to store anything
+ and it does not have to do any of the bitwise operations, since we don't actually care what is in the byte except to determine
+ how many more bytes to read
+
+ The number of chars to read
+
+ this method operates on old "modified utf8" encoded
+ strings
+
+
+
+ Closes the stream to futher operations.
+
+
+ Returns the current position in this file, where the next read will
+ occur.
+
+
+
+
+
+ Sets current position in this file, where the next read will occur.
+
+
+
+
+ The number of bytes in the file.
+
+
+ Returns a clone of this stream.
+
+ Clones of a stream access the same data, and are positioned at the same
+ point as the stream they were cloned from.
+
+ Expert: Subclasses must ensure that clones may be positioned at
+ different points in the input from each other and from the stream they
+ were cloned from.
+
+
+
+ Class to write byte streams into slices of shared
+ byte[]. This is used by DocumentsWriter to hold the
+ posting list for many terms in RAM.
+
+
+
+ Set up the writer to write at address.
+
+
+ Write byte into byte slice stream
+
+
+ Basic tool and API to check the health of an index and
+ write a new segments file that removes reference to
+ problematic segments.
+
+ As this tool checks every byte in the index, on a large
+ index it can take quite a long time to run.
+
+ WARNING: this tool and API is new and
+ experimental and is subject to suddenly change in the
+ next release. Please make a complete backup of your
+ index before using this to fix your index!
+
+
+
+ Default PrintStream for all CheckIndex instances.
+ Use per instance,
+ instead.
+
+
+
+ Create a new CheckIndex on the directory.
+
+
+ Set infoStream where messages should go. If null, no
+ messages are printed
+
+
+
+ Returns true if index is clean, else false.
+ Please instantiate a CheckIndex and then use instead
+
+
+
+ Returns true if index is clean, else false.
+ Please instantiate a CheckIndex and then use instead
+
+
+
+ Returns a instance detailing
+ the state of the index.
+
+ As this method checks every byte in the index, on a large
+ index it can take quite a long time to run.
+
+ WARNING: make sure
+ you only call this when the index is not opened by any
+ writer.
+
+
+
+ Returns a instance detailing
+ the state of the index.
+
+
+ list of specific segment names to check
+
+ As this method checks every byte in the specified
+ segments, on a large index it can take quite a long
+ time to run.
+
+ WARNING: make sure
+ you only call this when the index is not opened by any
+ writer.
+
+
+
+ Test field norms.
+
+
+ Test the term index.
+
+
+ Test stored fields for a segment.
+
+
+ Test term vectors for a segment.
+
+
+ Repairs the index using previously returned result
+ from . Note that this does not
+ remove any of the unreferenced files after it's done;
+ you must separately open an , which
+ deletes unreferenced files when it's created.
+
+ WARNING: this writes a
+ new segments file into the index, effectively removing
+ all documents in broken segments from the index.
+ BE CAREFUL.
+
+ WARNING: Make sure you only call this when the
+ index is not opened by any writer.
+
+
+
+ Command-line interface to check and fix an index.
+
+ Run it like this:
+
+ java -ea:Lucene.Net... Lucene.Net.Index.CheckIndex pathToIndex [-fix] [-segment X] [-segment Y]
+
+
+ -fix: actually write a new segments_N file, removing any problematic segments
+ -segment X: only check the specified
+ segment(s). This can be specified multiple times,
+ to check more than one segment, eg -segment _2
+ -segment _a. You can't use this with the -fix
+ option.
+
+ WARNING: -fix should only be used on an emergency basis as it will cause
+ documents (perhaps many) to be permanently removed from the index. Always make
+ a backup copy of your index before running this! Do not run this tool on an index
+ that is actively being written to. You have been warned!
+ Run without -fix, this tool will open the index, report version information
+ and report any exceptions it hits and what action it would take if -fix were
+ specified. With -fix, this tool will remove any segments that have issues and
+ write a new segments_N file. This means all documents contained in the affected
+ segments will be removed.
+
+ This tool exits with exit code 1 if the index cannot be opened or has any
+ corruption, else 0.
+
+
+
+ Returned from detailing the health and status of the index.
+
+ WARNING: this API is new and experimental and is
+ subject to suddenly change in the next release.
+
+
+
+
+ True if no problems were found with the index.
+
+
+ True if we were unable to locate and load the segments_N file.
+
+
+ True if we were unable to open the segments_N file.
+
+
+ True if we were unable to read the version number from segments_N file.
+
+
+ Name of latest segments_N file in the index.
+
+
+ Number of segments in the index.
+
+
+ String description of the version of the index.
+
+
+ Empty unless you passed specific segments list to check as optional 3rd argument.
+
+
+
+
+ True if the index was created with a newer version of Lucene than the CheckIndex tool.
+
+
+ List of instances, detailing status of each segment.
+
+
+ Directory index is in.
+
+
+ SegmentInfos instance containing only segments that
+ had no problems (this is used with the
+ method to repair the index.
+
+
+
+ How many documents will be lost to bad segments.
+
+
+ How many bad segments were found.
+
+
+ True if we checked only specific segments ()
+ was called with non-null
+ argument).
+
+
+
+ Holds the userData of the last commit in the index
+
+
+ Holds the status of each segment in the index.
+ See .
+
+ WARNING: this API is new and experimental and is
+ subject to suddenly change in the next release.
+
+
+
+ Name of the segment.
+
+
+ Document count (does not take deletions into account).
+
+
+ True if segment is compound file format.
+
+
+ Number of files referenced by this segment.
+
+
+ Net size (MB) of the files referenced by this
+ segment.
+
+
+
+ Doc store offset, if this segment shares the doc
+ store files (stored fields and term vectors) with
+ other segments. This is -1 if it does not share.
+
+
+
+ String of the shared doc store segment, or null if
+ this segment does not share the doc store files.
+
+
+
+ True if the shared doc store files are compound file
+ format.
+
+
+
+ True if this segment has pending deletions.
+
+
+ Name of the current deletions file name.
+
+
+ Number of deleted documents.
+
+
+ True if we were able to open a SegmentReader on this
+ segment.
+
+
+
+ Number of fields in this segment.
+
+
+ True if at least one of the fields in this segment
+ does not omitTermFreqAndPositions.
+
+
+
+
+
+ Map<String, String> that includes certain
+ debugging details that IndexWriter records into
+ each segment it creates
+
+
+
+ Status for testing of field norms (null if field norms could not be tested).
+
+
+ Status for testing of indexed terms (null if indexed terms could not be tested).
+
+
+ Status for testing of stored fields (null if stored fields could not be tested).
+
+
+ Status for testing of term vectors (null if term vectors could not be tested).
+
+
+ Status from testing field norms.
+
+
+ Number of fields successfully tested
+
+
+ Exception thrown during term index test (null on success)
+
+
+ Status from testing term index.
+
+
+ Total term count
+
+
+ Total frequency across all terms.
+
+
+ Total number of positions.
+
+
+ Exception thrown during term index test (null on success)
+
+
+ Status from testing stored fields.
+
+
+ Number of documents tested.
+
+
+ Total number of stored fields tested.
+
+
+ Exception thrown during stored fields test (null on success)
+
+
+ Status from testing stored fields.
+
+
+ Number of documents tested.
+
+
+ Total number of term vectors tested.
+
+
+ Exception thrown during term vector test (null on success)
+
+
+ Optimized implementation.
+
+
+ Overridden by SegmentTermPositions to skip in prox stream.
+
+
+ Optimized implementation.
+
+
+ Class for accessing a compound stream.
+ This class implements a directory, but is limited to only read operations.
+ Directory methods that would normally modify data throw an exception.
+
+
+
+ $Id: CompoundFileReader.java 673371 2008-07-02 11:57:27Z mikemccand $
+
+
+
+ A Directory is a flat list of files. Files may be written once, when they
+ are created. Once a file is created it may only be opened for read, or
+ deleted. Random access is permitted both when reading and writing.
+
+ Java's i/o APIs not used directly, but rather all i/o is
+ through this API. This permits things such as:
+ implementation of RAM-based indices;
+ implementation indices stored in a database, via JDBC;
+ implementation of an index as a single file;
+
+
+ Directory locking is implemented by an instance of
+ , and can be changed for each Directory
+ instance using .
+
+
+
+
+ Holds the LockFactory instance (implements locking for
+ this Directory instance).
+
+
+
+ For some Directory implementations (
+ , and its subclasses), this method
+ silently filters its results to include only index
+ files. Please use instead, which
+ does no filtering.
+
+
+
+ Returns an array of strings, one for each file in the
+ directory. Unlike this method does no
+ filtering of the contents in a directory, and it will
+ never return null (throws IOException instead).
+
+ Currently this method simply fallsback to
+ for Directory impls outside of Lucene's core &
+ contrib, but in 3.0 that method will be removed and
+ this method will become abstract.
+
+
+
+ Returns true iff a file with the given name exists.
+
+
+ Returns the time the named file was last modified.
+
+
+ Set the modified time of an existing file to now.
+
+
+ Removes an existing file in the directory.
+
+
+ Renames an existing file in the directory.
+ If a file already exists with the new name, then it is replaced.
+ This replacement is not guaranteed to be atomic.
+
+
+
+
+
+ Returns the length of a file in the directory.
+
+
+ Creates a new, empty file in the directory with the given name.
+ Returns a stream writing this file.
+
+
+
+ Ensure that any writes to this file are moved to
+ stable storage. Lucene uses this to properly commit
+ changes to the index, to prevent a machine/OS crash
+ from corrupting the index.
+
+
+
+ Returns a stream reading an existing file.
+
+
+ Returns a stream reading an existing file, with the
+ specified read buffer size. The particular Directory
+ implementation may ignore the buffer size. Currently
+ the only Directory implementations that respect this
+ parameter are and
+ .
+
+
+
+ Construct a .
+ the name of the lock file
+
+
+
+ Attempt to clear (forcefully unlock and remove) the
+ specified lock. Only call this at a time when you are
+ certain this lock is no longer in use.
+
+ name of the lock to be cleared.
+
+
+
+ Closes the store.
+
+
+ Set the LockFactory that this Directory instance should
+ use for its locking implementation. Each * instance of
+ LockFactory should only be used for one directory (ie,
+ do not share a single instance across multiple
+ Directories).
+
+
+ instance of .
+
+
+
+ Get the LockFactory that this Directory instance is
+ using for its locking implementation. Note that this
+ may be null for Directory implementations that provide
+ their own locking implementation.
+
+
+
+ Return a string identifier that uniquely differentiates
+ this Directory instance from other Directory instances.
+ This ID should be the same if two Directory instances
+ (even in different JVMs and/or on different machines)
+ are considered "the same index". This is how locking
+ "scopes" to the right index.
+
+
+
+ Copy contents of a directory src to a directory dest.
+ If a file in src already exists in dest then the
+ one in dest will be blindly overwritten.
+
+ NOTE: the source directory cannot change
+ while this method is running. Otherwise the results
+ are undefined and you could easily hit a
+ FileNotFoundException.
+
+ NOTE: this method only copies files that look
+ like index files (ie, have extensions matching the
+ known extensions of index files).
+
+
+ source directory
+
+ destination directory
+
+ if true, call method on source directory
+
+ IOException
+
+
+ AlreadyClosedException if this Directory is closed
+
+
+
+ .NET
+
+
+
+ Returns an array of strings, one for each file in the directory.
+
+
+ Returns true iff a file with the given name exists.
+
+
+ Returns the time the compound file was last modified.
+
+
+ Set the modified time of the compound file to now.
+
+
+ Not implemented
+ UnsupportedOperationException
+
+
+ Not implemented
+ UnsupportedOperationException
+
+
+ Returns the length of a file in the directory.
+ IOException if the file does not exist
+
+
+ Not implemented
+ UnsupportedOperationException
+
+
+ Not implemented
+ UnsupportedOperationException
+
+
+ Implementation of an IndexInput that reads from a portion of the
+ compound file. The visibility is left as "package" *only* because
+ this helps with testing since JUnit test cases in a different class
+ can then access package fields of this class.
+
+
+
+ Base implementation class for buffered .
+
+
+ Default buffer size
+
+
+ Inits BufferedIndexInput with a specific bufferSize
+
+
+ Change the buffer size used by this IndexInput
+
+
+
+
+
+
+ Expert: implements buffer refill. Reads bytes from the current position
+ in the input.
+
+ the array to read bytes into
+
+ the offset in the array to start storing bytes
+
+ the number of bytes to read
+
+
+
+ Expert: implements seek. Sets current position in this file, where the
+ next will occur.
+
+
+
+
+
+ Expert: implements buffer refill. Reads bytes from the current
+ position in the input.
+
+ the array to read bytes into
+
+ the offset in the array to start storing bytes
+
+ the number of bytes to read
+
+
+
+ Expert: implements seek. Sets current position in this file, where
+ the next will occur.
+
+
+
+
+
+ Closes the stream to further operations.
+
+
+ Combines multiple files into a single compound file.
+ The file format:
+
+ VInt fileCount
+ {Directory}
+ fileCount entries with the following structure:
+
+ long dataOffset
+ String fileName
+
+ {File Data}
+ fileCount entries with the raw data of the corresponding file
+
+
+ The fileCount integer indicates how many files are contained in this compound
+ file. The {directory} that follows has that many entries. Each directory entry
+ contains a long pointer to the start of this file's data section, and a String
+ with that file's name.
+
+
+
+ $Id: CompoundFileWriter.java 690539 2008-08-30 17:33:06Z mikemccand $
+
+
+
+ Create the compound stream in the specified file. The file name is the
+ entire name (no extensions are added).
+
+ NullPointerException if dir or name is null
+
+
+ Returns the directory of the compound file.
+
+
+ Returns the name of the compound file.
+
+
+ Add a source stream. file is the string by which the
+ sub-stream will be known in the compound stream.
+
+
+ IllegalStateException if this writer is closed
+ NullPointerException if file is null
+ IllegalArgumentException if a file with the same name
+ has been added already
+
+
+
+ Merge files with the extensions added up to now.
+ All files with these extensions are combined sequentially into the
+ compound stream. After successful merge, the source files
+ are deleted.
+
+ IllegalStateException if close() had been called before or
+ if no file has been added to this object
+
+
+
+ Copy the contents of the file with specified extension into the
+ provided output stream. Use the provided buffer for moving data
+ to reduce memory allocation.
+
+
+
+ source file
+
+
+ temporary holder for the start of directory entry for this file
+
+
+ temporary holder for the start of this file's data section
+
+
+ A that runs each merge using a
+ separate thread, up until a maximum number of threads
+ () at which when a merge is
+ needed, the thread(s) that are updating the index will
+ pause until one or more merges completes. This is a
+ simple way to use concurrency in the indexing process
+ without having to create and manage application level
+ threads.
+
+
+
+ Expert: uses an instance
+ implementing this interface to execute the merges
+ selected by a . The default
+ MergeScheduler is .
+
+ NOTE: This API is new and still experimental
+ (subject to change suddenly in the next release)
+
+ NOTE: This class typically requires access to
+ package-private APIs (eg, SegmentInfos) to do its job;
+ if you implement your own MergePolicy, you'll need to put
+ it in package Lucene.Net.Index in order to use
+ these APIs.
+
+
+
+ Run the merges provided by .
+
+
+ Close this MergeScheduler.
+
+
+ Sets the max # simultaneous threads that may be
+ running. If a merge is necessary yet we already have
+ this many threads running, the incoming thread (that
+ is calling add/updateDocument) will block until
+ a merge thread has completed.
+
+
+
+ Get the max # simultaneous threads that may be
+
+
+
+
+ Return the priority that merge threads run at. By
+ default the priority is 1 plus the priority of (ie,
+ slightly higher priority than) the first thread that
+ calls merge.
+
+
+
+ Return the priority that merge threads run at.
+
+
+ Does the actual merge, by calling
+
+
+ Create and return a new MergeThread
+
+
+ Called when an exception is hit in a background merge
+ thread
+
+
+
+ Used for testing
+
+
+ Used for testing
+
+
+ Used for testing
+
+
+ Used for testing
+
+
+ Used for testing
+
+
+
+ Support class used to handle threads
+
+
+
+
+ This interface should be implemented by any class whose instances are intended
+ to be executed by a thread.
+
+
+
+
+ This method has to be implemented in order that starting of the thread causes the object's
+ run method to be called in that separately executing thread.
+
+
+
+
+ Contains conversion support elements such as classes, interfaces and static methods.
+
+
+
+
+ Copies an array of chars obtained from a String into a specified array of chars
+
+ The String to get the chars from
+ Position of the String to start getting the chars
+ Position of the String to end getting the chars
+ Array to return the chars
+ Position of the destination array of chars to start storing the chars
+ An array of chars
+
+
+
+ Support class used to handle threads
+
+
+
+
+ The instance of System.Threading.Thread
+
+
+
+
+ Initializes a new instance of the ThreadClass class
+
+
+
+
+ Initializes a new instance of the Thread class.
+
+ The name of the thread
+
+
+
+ Initializes a new instance of the Thread class.
+
+ A ThreadStart delegate that references the methods to be invoked when this thread begins executing
+
+
+
+ Initializes a new instance of the Thread class.
+
+ A ThreadStart delegate that references the methods to be invoked when this thread begins executing
+ The name of the thread
+
+
+
+ This method has no functionality unless the method is overridden
+
+
+
+
+ Causes the operating system to change the state of the current thread instance to ThreadState.Running
+
+
+
+
+ Interrupts a thread that is in the WaitSleepJoin thread state
+
+
+
+
+ Blocks the calling thread until a thread terminates
+
+
+
+
+ Blocks the calling thread until a thread terminates or the specified time elapses
+
+ Time of wait in milliseconds
+
+
+
+ Blocks the calling thread until a thread terminates or the specified time elapses
+
+ Time of wait in milliseconds
+ Time of wait in nanoseconds
+
+
+
+ Resumes a thread that has been suspended
+
+
+
+
+ Raises a ThreadAbortException in the thread on which it is invoked,
+ to begin the process of terminating the thread. Calling this method
+ usually terminates the thread
+
+
+
+
+ Raises a ThreadAbortException in the thread on which it is invoked,
+ to begin the process of terminating the thread while also providing
+ exception information about the thread termination.
+ Calling this method usually terminates the thread.
+
+ An object that contains application-specific information, such as state, which can be used by the thread being aborted
+
+
+
+ Suspends the thread, if the thread is already suspended it has no effect
+
+
+
+
+ Obtain a String that represents the current object
+
+ A String that represents the current object
+
+
+
+ Gets the currently running thread
+
+ The currently running thread
+
+
+
+ Gets the current thread instance
+
+
+
+
+ Gets or sets the name of the thread
+
+
+
+
+ Gets or sets a value indicating the scheduling priority of a thread
+
+
+
+
+ Gets a value indicating the execution status of the current thread
+
+
+
+
+ Gets or sets a value indicating whether or not a thread is a background thread.
+
+
+
+
+ Represents the methods to support some operations over files.
+
+
+
+
+ Returns an array of abstract pathnames representing the files and directories of the specified path.
+
+ The abstract pathname to list it childs.
+ An array of abstract pathnames childs of the path specified or null if the path is not a directory
+
+
+
+ Returns a list of files in a give directory.
+
+ The full path name to the directory.
+
+ An array containing the files.
+
+
+
+ Flushes the specified file stream. Ensures that all buffered
+ data is actually written to the file system.
+
+ The file stream.
+
+
+
+ A simple class for number conversions.
+
+
+
+
+ Min radix value.
+
+
+
+
+ Max radix value.
+
+
+
+
+ Converts a number to System.String.
+
+
+
+
+
+
+ Converts a number to System.String.
+
+
+
+
+
+
+ Converts a number to System.String in the specified radix.
+
+ A number to be converted.
+ A radix.
+ A System.String representation of the number in the specified redix.
+
+
+
+ Parses a number in the specified radix.
+
+ An input System.String.
+ A radix.
+ The parsed number in the specified radix.
+
+
+
+ Performs an unsigned bitwise right shift with the specified number
+
+ Number to operate on
+ Ammount of bits to shift
+ The resulting number from the shift operation
+
+
+
+ Performs an unsigned bitwise right shift with the specified number
+
+ Number to operate on
+ Ammount of bits to shift
+ The resulting number from the shift operation
+
+
+
+ Returns the index of the first bit that is set to true that occurs
+ on or after the specified starting index. If no such bit exists
+ then -1 is returned.
+
+ The BitArray object.
+ The index to start checking from (inclusive).
+ The index of the next set bit.
+
+
+
+ Converts a System.String number to long.
+
+
+
+
+
+
+ Mimics Java's Character class.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This class provides supporting methods of java.util.BitSet
+ that are not present in System.Collections.BitArray.
+
+
+
+
+ Returns the next set bit at or after index, or -1 if no such bit exists.
+
+
+ the index of bit array at which to start checking
+ the next set bit or -1
+
+
+
+ Returns the next un-set bit at or after index, or -1 if no such bit exists.
+
+
+ the index of bit array at which to start checking
+ the next set bit or -1
+
+
+
+ Returns the number of bits set to true in this BitSet.
+
+ The BitArray object.
+ The number of bits set to true in this BitSet.
+
+
+
+ Summary description for TestSupportClass.
+
+
+
+
+ Compares two Term arrays for equality.
+
+ First Term array to compare
+ Second Term array to compare
+ true if the Terms are equal in both arrays, false otherwise
+
+
+
+ A Hashtable which holds weak references to its keys so they
+ can be collected during GC.
+
+
+
+
+ Serves as a simple "GC Monitor" that indicates whether cleanup is needed.
+ If collectableObject.IsAlive is false, GC has occurred and we should perform cleanup
+
+
+
+
+ Customize the hashtable lookup process by overriding KeyEquals. KeyEquals
+ will compare both WeakKey to WeakKey and WeakKey to real keys
+
+
+
+
+ Perform cleanup if GC occurred
+
+
+
+
+ Iterate over all keys and remove keys that were collected
+
+
+
+
+ Wrap each key with a WeakKey and add it to the hashtable
+
+
+
+
+ Create a temporary copy of the real keys and return that
+
+
+
+
+ A weak referene wrapper for the hashtable keys. Whenever a key\value pair
+ is added to the hashtable, the key is wrapped using a WeakKey. WeakKey saves the
+ value of the original object hashcode for fast comparison.
+
+
+
+
+ A Dictionary enumerator which wraps the original hashtable enumerator
+ and performs 2 tasks: Extract the real key from a WeakKey and skip keys
+ that were already collected.
+
+
+
+
+ Support class used to handle Hashtable addition, which does a check
+ first to make sure the added item is unique in the hash.
+
+
+
+
+ Converts the specified collection to its string representation.
+
+ The collection to convert to string.
+ A string representation of the specified collection.
+
+
+
+ Compares two string arrays for equality.
+
+ First string array list to compare
+ Second string array list to compare
+ true if the strings are equal in both arrays, false otherwise
+
+
+
+ Sorts an IList collections
+
+ The System.Collections.IList instance that will be sorted
+ The Comparator criteria, null to use natural comparator.
+
+
+
+ Fills the array with an specific value from an specific index to an specific index.
+
+ The array to be filled.
+ The first index to be filled.
+ The last index to be filled.
+ The value to fill the array with.
+
+
+
+ Fills the array with an specific value.
+
+ The array to be filled.
+ The value to fill the array with.
+
+
+
+ Compares the entire members of one array whith the other one.
+
+ The array to be compared.
+ The array to be compared with.
+ Returns true if the two specified arrays of Objects are equal
+ to one another. The two arrays are considered equal if both arrays
+ contain the same number of elements, and all corresponding pairs of
+ elements in the two arrays are equal. Two objects e1 and e2 are
+ considered equal if (e1==null ? e2==null : e1.equals(e2)). In other
+ words, the two arrays are equal if they contain the same elements in
+ the same order. Also, two array references are considered equal if
+ both are null.
+
+
+ A collection of which can be
+ looked up by instances of .
+ The type of the items contains in this
+ collection.
+ The type of the keys that can be used to look
+ up the items.
+
+
+ Creates a new instance of the
+ class.
+ The which will convert
+ instances of to
+ when the override of is called.
+
+
+ The which will convert
+ instances of to
+ when the override of is called.
+
+
+ Converts an item that is added to the collection to
+ a key.
+ The instance of
+ to convert into an instance of .
+ The instance of which is the
+ key for this item.
+
+
+ Determines if a key for an item exists in this
+ collection.
+ The instance of
+ to see if it exists in this collection.
+ True if the key exists in the collection, false otherwise.
+
+
+ Represents a strongly typed list of objects that can be accessed by index.
+ Provides methods to search, sort, and manipulate lists. Also provides functionality
+ to compare lists against each other through an implementations of
+ .
+ The type of elements in the list.
+
+
+ Initializes a new instance of the
+ class that is empty and has the
+ default initial capacity.
+
+
+ Initializes a new instance of the
+ class that contains elements copied from the specified collection and has
+ sufficient capacity to accommodate the number of elements copied.
+ The collection whose elements are copied to the new list.
+
+
+ Initializes a new instance of the
+ class that is empty and has the specified initial capacity.
+ The number of elements that the new list can initially store.
+
+
+ Adds a range of objects represented by the
+ implementation.
+ The
+ implementation to add to this list.
+
+
+ Compares the counts of two
+ implementations.
+ This uses a trick in LINQ, sniffing types for implementations
+ of interfaces that might supply shortcuts when trying to make comparisons.
+ In this case, that is the and
+ interfaces, either of which can provide a count
+ which can be used in determining the equality of sequences (if they don't have
+ the same count, then they can't be equal).
+ The from the left hand side of the
+ comparison to check the count of.
+ The from the right hand side of the
+ comparison to check the count of.
+ Null if the result is indeterminate. This occurs when either
+ or doesn't implement or .
+ Otherwise, it will get the count from each and return true if they are equal, false otherwise.
+
+
+ Compares the contents of a
+ implementation to another one to determine equality.
+ Thinking of the implementation as
+ a string with any number of characters, the algorithm checks
+ each item in each list. If any item of the list is not equal (or
+ one list contains all the elements of another list), then that list
+ element is compared to the other list element to see which
+ list is greater.
+ The implementation
+ that is considered the left hand side.
+ The implementation
+ that is considered the right hand side.
+ True if the items are equal, false otherwise.
+
+
+ Compares this sequence to another
+ implementation, returning true if they are equal, false otherwise.
+ The other implementation
+ to compare against.
+ True if the sequence in
+ is the same as this one.
+
+
+ Compares this object for equality against other.
+ The other object to compare this object against.
+ True if this object and are equal, false
+ otherwise.
+
+
+ Gets the hash code for the list.
+ The hash code value.
+
+
+ Gets the hash code for the list.
+ The
+ implementation which will have all the contents hashed.
+ The hash code value.
+
+
+ Clones the .
+ This is a shallow clone.
+ A new shallow clone of this
+ .
+
+
+
+ A simple wrapper to allow for the use of the GeneralKeyedCollection. The
+ wrapper is required as there can be several keys for an object depending
+ on how many interfaces it implements.
+
+
+
+
+ Provides platform infos.
+
+
+
+
+ Whether we run under a Unix platform.
+
+
+
+
+ Whether we run under a supported Windows platform.
+
+
+
+
+ For Debuging purposes.
+
+
+
+ This exception is thrown when Lucene detects
+ an inconsistency in the index.
+
+
+
+ Implements the skip list reader for the default posting list format
+ that stores positions and payloads.
+
+
+
+
+ This abstract class reads skip lists with multiple levels.
+
+ See for the information about the encoding
+ of the multi level skip lists.
+
+ Subclasses must implement the abstract method
+ which defines the actual format of the skip data.
+
+
+
+ Returns the id of the doc to which the last call of
+ has skipped.
+
+
+
+ Skips entries to the first beyond the current whose document number is
+ greater than or equal to target. Returns the current doc count.
+
+
+
+ Seeks the skip entry on the given level
+
+
+ initializes the reader
+
+
+ Loads the skip levels
+
+
+ Subclasses must implement the actual skip data encoding in this method.
+
+
+ the level skip data shall be read from
+
+ the skip stream to read from
+
+
+
+ Copies the values of the last read skip entry on this level
+
+
+ used to buffer the top skip levels
+
+
+ Returns the freq pointer of the doc to which the last call of
+ has skipped.
+
+
+
+ Returns the prox pointer of the doc to which the last call of
+ has skipped.
+
+
+
+ Returns the payload length of the payload stored just before
+ the doc to which the last call of
+ has skipped.
+
+
+
+ Implements the skip list writer for the default posting list format
+ that stores positions and payloads.
+
+
+
+
+ This abstract class writes skip lists with multiple levels.
+
+ Example for skipInterval = 3:
+ c (skip level 2)
+ c c c (skip level 1)
+ x x x x x x x x x x (skip level 0)
+ d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d d (posting list)
+ 3 6 9 12 15 18 21 24 27 30 (df)
+
+ d - document
+ x - skip data
+ c - skip data with child pointer
+
+ Skip level i contains every skipInterval-th entry from skip level i-1.
+ Therefore the number of entries on level i is: floor(df / ((skipInterval ^ (i + 1))).
+
+ Each skip entry on a level i>0 contains a pointer to the corresponding skip entry in list i-1.
+ This guarantess a logarithmic amount of skips to find the target document.
+
+ While this class takes care of writing the different skip levels,
+ subclasses must define the actual format of the skip data.
+
+
+
+
+ Subclasses must implement the actual skip data encoding in this method.
+
+
+ the level skip data shall be writting for
+
+ the skip buffer to write to
+
+
+
+ Writes the current skip data to the buffers. The current document frequency determines
+ the max level is skip data is to be written to.
+
+
+ the current document frequency
+
+ IOException
+
+
+ Writes the buffered skip lists to the given output.
+
+
+ the IndexOutput the skip lists shall be written to
+
+ the pointer the skip list starts
+
+
+
+ Sets the values for the current skip data.
+
+
+ This class keeps track of closing the underlying directory. It is used to wrap
+ DirectoryReaders, that are created using a String/File parameter
+ in IndexReader.open() with FSDirectory.getDirectory().
+
+ This helper class is removed with all String/File
+ IndexReader.open() methods in Lucene 3.0
+
+
+
+ A FilterIndexReader contains another IndexReader, which it
+ uses as its basic source of data, possibly transforming the data along the
+ way or providing additional functionality. The class
+ FilterIndexReader itself simply implements all abstract methods
+ of IndexReader with versions that pass all requests to the
+ contained index reader. Subclasses of FilterIndexReader may
+ further override some of these methods and may also provide additional
+ methods and fields.
+
+
+
+ IndexReader is an abstract class, providing an interface for accessing an
+ index. Search of an index is done entirely through this abstract interface,
+ so that any subclass which implements it is searchable.
+ Concrete subclasses of IndexReader are usually constructed with a call to
+ one of the static open() methods, e.g.
+ .
+ For efficiency, in this API documents are often referred to via
+ document numbers, non-negative integers which each name a unique
+ document in the index. These document numbers are ephemeral--they may change
+ as documents are added to and deleted from an index. Clients should thus not
+ rely on a given document having the same number between sessions.
+ An IndexReader can be opened on a directory for which an IndexWriter is
+ opened already, but it cannot be used to delete documents from the index then.
+
+ NOTE: for backwards API compatibility, several methods are not listed
+ as abstract, but have no useful implementations in this base class and
+ instead always throw UnsupportedOperationException. Subclasses are
+ strongly encouraged to override these methods, but in many cases may not
+ need to.
+
+
+ NOTE: as of 2.4, it's possible to open a read-only
+ IndexReader using one of the static open methods that
+ accepts the boolean readOnly parameter. Such a reader has
+ better concurrency as it's not necessary to synchronize on
+ the isDeleted method. Currently the default for readOnly
+ is false, meaning if not specified you will get a
+ read/write IndexReader. But in 3.0 this default will
+ change to true, meaning you must explicitly specify false
+ if you want to make changes with the resulting IndexReader.
+
+ NOTE:
+ instances are completely thread
+ safe, meaning multiple threads can call any of its methods,
+ concurrently. If your application requires external
+ synchronization, you should not synchronize on the
+ IndexReader instance; use your own
+ (non-Lucene) objects instead.
+
+ $Id: IndexReader.java 826049 2009-10-16 19:28:55Z mikemccand $
+
+
+
+ Expert: returns the current refCount for this reader
+
+
+ Expert: increments the refCount of this IndexReader
+ instance. RefCounts are used to determine when a
+ reader can be closed safely, i.e. as soon as there are
+ no more references. Be sure to always call a
+ corresponding , in a finally clause;
+ otherwise the reader may never be closed. Note that
+ simply calls decRef(), which means that
+ the IndexReader will not really be closed until
+ has been called for all outstanding
+ references.
+
+
+
+
+
+
+ Expert: decreases the refCount of this IndexReader
+ instance. If the refCount drops to 0, then pending
+ changes (if any) are committed to the index and this
+ reader is closed.
+
+
+ IOException in case an IOException occurs in commit() or doClose()
+
+
+
+
+
+
+ will be deleted when IndexReader(Directory) is deleted
+
+
+
+
+
+ Legacy Constructor for backwards compatibility.
+
+
+ This Constructor should not be used, it exists for backwards
+ compatibility only to support legacy subclasses that did not "own"
+ a specific directory, but needed to specify something to be returned
+ by the directory() method. Future subclasses should delegate to the
+ no arg constructor and implement the directory() method as appropriate.
+
+
+ Directory to be returned by the directory() method
+
+
+
+ - use IndexReader()
+
+
+
+ AlreadyClosedException if this IndexReader is closed
+
+
+ Returns a read/write IndexReader reading the index in an FSDirectory in the named
+ path.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+ the path to the index directory
+
+
+
+ Returns an IndexReader reading the index in an
+ FSDirectory in the named path. You should pass
+ readOnly=true, since it gives much better concurrent
+ performance, unless you intend to do write operations
+ (delete documents or change norms) with the reader.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ the path to the index directory
+
+ true if this should be a readOnly
+ reader
+
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+
+
+ Returns a read/write IndexReader reading the index in an FSDirectory in the named
+ path.
+
+ the path to the index directory
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+
+
+ Returns an IndexReader reading the index in an
+ FSDirectory in the named path. You should pass
+ readOnly=true, since it gives much better concurrent
+ performance, unless you intend to do write operations
+ (delete documents or change norms) with the reader.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ the path to the index directory
+
+ true if this should be a readOnly
+ reader
+
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+
+
+ Returns a read/write IndexReader reading the index in
+ the given Directory.
+
+ the index directory
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ Use instead
+ This method will be removed in the 3.0 release.
+
+
+
+
+ Returns an IndexReader reading the index in the given
+ Directory. You should pass readOnly=true, since it
+ gives much better concurrent performance, unless you
+ intend to do write operations (delete documents or
+ change norms) with the reader.
+
+ the index directory
+
+ true if no changes (deletions, norms) will be made with this IndexReader
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Expert: returns a read/write IndexReader reading the index in the given
+ .
+
+ the commit point to open
+
+ CorruptIndexException if the index is corrupt
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+ IOException if there is a low-level IO error
+
+
+ Expert: returns an IndexReader reading the index in the given
+ . You should pass readOnly=true, since it
+ gives much better concurrent performance, unless you
+ intend to do write operations (delete documents or
+ change norms) with the reader.
+
+ the commit point to open
+
+ true if no changes (deletions, norms) will be made with this IndexReader
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Expert: returns a read/write IndexReader reading the index in the given
+ Directory, with a custom .
+
+ the index directory
+
+ a custom deletion policy (only used
+ if you use this reader to perform deletes or to set
+ norms); see for details.
+
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Expert: returns an IndexReader reading the index in
+ the given Directory, with a custom
+ . You should pass readOnly=true,
+ since it gives much better concurrent performance,
+ unless you intend to do write operations (delete
+ documents or change norms) with the reader.
+
+ the index directory
+
+ a custom deletion policy (only used
+ if you use this reader to perform deletes or to set
+ norms); see for details.
+
+ true if no changes (deletions, norms) will be made with this IndexReader
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Expert: returns an IndexReader reading the index in
+ the given Directory, with a custom
+ . You should pass readOnly=true,
+ since it gives much better concurrent performance,
+ unless you intend to do write operations (delete
+ documents or change norms) with the reader.
+
+ the index directory
+
+ a custom deletion policy (only used
+ if you use this reader to perform deletes or to set
+ norms); see for details.
+
+ true if no changes (deletions, norms) will be made with this IndexReader
+
+ Subsamples which indexed
+ terms are loaded into RAM. This has the same effect as
+ except that setting
+ must be done at indexing time while this setting can be
+ set per reader. When set to N, then one in every
+ N*termIndexInterval terms in the index is loaded into
+ memory. By setting this to a value > 1 you can reduce
+ memory usage, at the expense of higher latency when
+ loading a TermInfo. The default value is 1. Set this
+ to -1 to skip loading the terms index entirely.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Expert: returns a read/write IndexReader reading the index in the given
+ Directory, using a specific commit and with a custom
+ .
+
+ the specific to open;
+ see to list all commits
+ in a directory
+
+ a custom deletion policy (only used
+ if you use this reader to perform deletes or to set
+ norms); see for details.
+
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Expert: returns an IndexReader reading the index in
+ the given Directory, using a specific commit and with
+ a custom . You should pass
+ readOnly=true, since it gives much better concurrent
+ performance, unless you intend to do write operations
+ (delete documents or change norms) with the reader.
+
+ the specific to open;
+ see to list all commits
+ in a directory
+
+ a custom deletion policy (only used
+ if you use this reader to perform deletes or to set
+ norms); see for details.
+
+ true if no changes (deletions, norms) will be made with this IndexReader
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Expert: returns an IndexReader reading the index in
+ the given Directory, using a specific commit and with
+ a custom . You should pass
+ readOnly=true, since it gives much better concurrent
+ performance, unless you intend to do write operations
+ (delete documents or change norms) with the reader.
+
+ the specific to open;
+ see to list all commits
+ in a directory
+
+ a custom deletion policy (only used
+ if you use this reader to perform deletes or to set
+ norms); see for details.
+
+ true if no changes (deletions, norms) will be made with this IndexReader
+
+ Subsambles which indexed
+ terms are loaded into RAM. This has the same effect as
+ except that setting
+ must be done at indexing time while this setting can be
+ set per reader. When set to N, then one in every
+ N*termIndexInterval terms in the index is loaded into
+ memory. By setting this to a value > 1 you can reduce
+ memory usage, at the expense of higher latency when
+ loading a TermInfo. The default value is 1. Set this
+ to -1 to skip loading the terms index entirely.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Refreshes an IndexReader if the index has changed since this instance
+ was (re)opened.
+
+ Opening an IndexReader is an expensive operation. This method can be used
+ to refresh an existing IndexReader to reduce these costs. This method
+ tries to only load segments that have changed or were created after the
+ IndexReader was (re)opened.
+
+ If the index has not changed since this instance was (re)opened, then this
+ call is a NOOP and returns this instance. Otherwise, a new instance is
+ returned. The old instance is not closed and remains usable.
+
+ If the reader is reopened, even though they share
+ resources internally, it's safe to make changes
+ (deletions, norms) with the new reader. All shared
+ mutable state obeys "copy on write" semantics to ensure
+ the changes are not seen by other readers.
+
+ You can determine whether a reader was actually reopened by comparing the
+ old instance with the instance returned by this method:
+
+ IndexReader reader = ...
+ ...
+ IndexReader newReader = r.reopen();
+ if (newReader != reader) {
+ ... // reader was reopened
+ reader.close();
+ }
+ reader = newReader;
+ ...
+
+
+ Be sure to synchronize that code so that other threads,
+ if present, can never use reader after it has been
+ closed and before it's switched to newReader.
+
+ NOTE: If this reader is a near real-time
+ reader (obtained from ,
+ reopen() will simply call writer.getReader() again for
+ you, though this may change in the future.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Just like , except you can change the
+ readOnly of the original reader. If the index is
+ unchanged but readOnly is different then a new reader
+ will be returned.
+
+
+
+ Expert: reopen this reader on a specific commit point.
+ This always returns a readOnly reader. If the
+ specified commit point matches what this reader is
+ already on, and this reader is already readOnly, then
+ this same instance is returned; if it is not already
+ readOnly, a readOnly clone is returned.
+
+
+
+ Efficiently clones the IndexReader (sharing most
+ internal state).
+
+ On cloning a reader with pending changes (deletions,
+ norms), the original reader transfers its write lock to
+ the cloned reader. This means only the cloned reader
+ may make further changes to the index, and commit the
+ changes to the index on close, but the old reader still
+ reflects all changes made up until it was cloned.
+
+ Like , it's safe to make changes to
+ either the original or the cloned reader: all shared
+ mutable state obeys "copy on write" semantics to ensure
+ the changes are not seen by other readers.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Clones the IndexReader and optionally changes readOnly. A readOnly
+ reader cannot open a writeable reader.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Returns the directory associated with this index. The Default
+ implementation returns the directory specified by subclasses when
+ delegating to the IndexReader(Directory) constructor, or throws an
+ UnsupportedOperationException if one was not specified.
+
+ UnsupportedOperationException if no directory
+
+
+ Returns the time the index in the named directory was last modified.
+ Do not use this to check whether the reader is still up-to-date, use
+ instead.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+
+ Returns the time the index in the named directory was last modified.
+ Do not use this to check whether the reader is still up-to-date, use
+ instead.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+
+
+ Returns the time the index in the named directory was last modified.
+ Do not use this to check whether the reader is still up-to-date, use
+ instead.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Reads version number from segments files. The version number is
+ initialized with a timestamp and then increased by one for each change of
+ the index.
+
+
+ where the index resides.
+
+ version number.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+
+ Reads version number from segments files. The version number is
+ initialized with a timestamp and then increased by one for each change of
+ the index.
+
+
+ where the index resides.
+
+ version number.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+
+ Reads version number from segments files. The version number is
+ initialized with a timestamp and then increased by one for each change of
+ the index.
+
+
+ where the index resides.
+
+ version number.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Reads commitUserData, previously passed to
+ ,
+ from current index segments file. This will return null if
+
+ has never been called for this index.
+
+ where the index resides.
+
+ commit userData.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+
+
+
+
+ Version number when this IndexReader was opened. Not implemented in the
+ IndexReader base class.
+
+
+ If this reader is based on a Directory (ie, was created by calling
+ , or
+ on a reader based on a Directory), then
+ this method returns the version recorded in the commit that the reader
+ opened. This version is advanced every time is
+ called.
+
+
+
+ If instead this reader is a near real-time reader (ie, obtained by a call
+ to , or by calling on a near
+ real-time reader), then this method returns the version of the last
+ commit done by the writer. Note that even as further changes are made
+ with the writer, the version will not changed until a commit is
+ completed. Thus, you should not rely on this method to determine when a
+ near real-time reader should be opened. Use instead.
+
+
+
+ UnsupportedOperationException
+ unless overridden in subclass
+
+
+
+ Retrieve the String userData optionally passed to
+ .
+ This will return null if
+
+ has never been called for this index.
+
+
+
+
+
+ For IndexReader implementations that use
+ TermInfosReader to read terms, this sets the
+ indexDivisor to subsample the number of indexed terms
+ loaded into memory. This has the same effect as
+ except that setting
+ must be done at indexing time while this setting can be
+ set per reader. When set to N, then one in every
+ N*termIndexInterval terms in the index is loaded into
+ memory. By setting this to a value > 1 you can reduce
+ memory usage, at the expense of higher latency when
+ loading a TermInfo. The default value is 1.
+
+ NOTE: you must call this before the term
+ index is loaded. If the index is already loaded,
+ an IllegalStateException is thrown.
+
+ IllegalStateException if the term index has already been loaded into memory
+ Please use to specify the required TermInfos index divisor instead.
+
+
+
+ For IndexReader implementations that use
+ TermInfosReader to read terms, this returns the
+ current indexDivisor as specified when the reader was
+ opened.
+
+
+
+ Check whether any new changes have occurred to the index since this
+ reader was opened.
+
+
+ If this reader is based on a Directory (ie, was created by calling
+ , or on a reader based on a Directory), then
+ this method checks if any further commits (see
+ have occurred in that directory).
+
+
+
+ If instead this reader is a near real-time reader (ie, obtained by a call
+ to , or by calling on a near
+ real-time reader), then this method checks if either a new commmit has
+ occurred, or any new uncommitted changes have taken place via the writer.
+ Note that even if the writer has only performed merging, this method will
+ still return false.
+
+
+
+ In any event, if this returns false, you should call to
+ get a new reader that sees the changes.
+
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ UnsupportedOperationException unless overridden in subclass
+
+
+ Checks is the index is optimized (if it has a single segment and
+ no deletions). Not implemented in the IndexReader base class.
+
+ true if the index is optimized; false otherwise
+
+ UnsupportedOperationException unless overridden in subclass
+
+
+ Return an array of term frequency vectors for the specified document.
+ The array contains a vector for each vectorized field in the document.
+ Each vector contains terms and frequencies for all terms in a given vectorized field.
+ If no such fields existed, the method returns null. The term vectors that are
+ returned may either be of type
+ or of type if
+ positions or offsets have been stored.
+
+
+ document for which term frequency vectors are returned
+
+ array of term frequency vectors. May be null if no term vectors have been
+ stored for the specified document.
+
+ IOException if index cannot be accessed
+
+
+
+
+ Return a term frequency vector for the specified document and field. The
+ returned vector contains terms and frequencies for the terms in
+ the specified field of this document, if the field had the storeTermVector
+ flag set. If termvectors had been stored with positions or offsets, a
+ is returned.
+
+
+ document for which the term frequency vector is returned
+
+ field for which the term frequency vector is returned.
+
+ term frequency vector May be null if field does not exist in the specified
+ document or term vector was not stored.
+
+ IOException if index cannot be accessed
+
+
+
+
+ Load the Term Vector into a user-defined data structure instead of relying on the parallel arrays of
+ the .
+
+ The number of the document to load the vector for
+
+ The name of the field to load
+
+ The to process the vector. Must not be null
+
+ IOException if term vectors cannot be accessed or if they do not exist on the field and doc. specified.
+
+
+
+
+ Map all the term vectors for all fields in a Document
+ The number of the document to load the vector for
+
+ The to process the vector. Must not be null
+
+ IOException if term vectors cannot be accessed or if they do not exist on the field and doc. specified.
+
+
+ Returns true if an index exists at the specified directory.
+ If the directory does not exist or if there is no index in it.
+ false is returned.
+
+ the directory to check for an index
+
+ true if an index exists; false otherwise
+
+ Use instead
+ This method will be removed in the 3.0 release.
+
+
+
+
+ Returns true if an index exists at the specified directory.
+ If the directory does not exist or if there is no index in it.
+
+ the directory to check for an index
+
+ true if an index exists; false otherwise
+
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+
+
+ Returns true if an index exists at the specified directory.
+ If the directory does not exist or if there is no index in it.
+
+ the directory to check for an index
+
+ true if an index exists; false otherwise
+
+ IOException if there is a problem with accessing the index
+
+
+ Returns the number of documents in this index.
+
+
+ Returns one greater than the largest possible document number.
+ This may be used to, e.g., determine how big to allocate an array which
+ will have an element for every document number in an index.
+
+
+
+ Returns the number of deleted documents.
+
+
+ Returns the stored fields of the nth
+ Document in this index.
+
+ NOTE: for performance reasons, this method does not check if the
+ requested document is deleted, and therefore asking for a deleted document
+ may yield unspecified results. Usually this is not required, however you
+ can call with the requested document ID to verify
+ the document is not deleted.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Get the at the n
+ th position. The may be used to determine
+ what s to load and how they should
+ be loaded. NOTE: If this Reader (more specifically, the underlying
+ FieldsReader) is closed before the lazy
+ is loaded an exception may be
+ thrown. If you want the value of a lazy
+ to be available after closing you
+ must explicitly load it or fetch the Document again with a new loader.
+
+ NOTE: for performance reasons, this method does not check if the
+ requested document is deleted, and therefore asking for a deleted document
+ may yield unspecified results. Usually this is not required, however you
+ can call with the requested document ID to verify
+ the document is not deleted.
+
+
+ Get the document at the nth position
+
+ The to use to determine what
+ Fields should be loaded on the Document. May be null, in which case
+ all Fields will be loaded.
+
+ The stored fields of the
+ at the nth position
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+
+
+
+
+
+
+
+
+ Returns true if document n has been deleted
+
+
+ Returns true if any documents have been deleted
+
+
+ Returns true if there are norms stored for this field.
+
+
+ Returns the byte-encoded normalization factor for the named field of
+ every document. This is used by the search code to score documents.
+
+
+
+
+
+
+ Reads the byte-encoded normalization factor for the named field of every
+ document. This is used by the search code to score documents.
+
+
+
+
+
+
+ Expert: Resets the normalization factor for the named field of the named
+ document. The norm represents the product of the field's boost
+ and its length normalization. Thus, to preserve the length normalization
+ values when resetting this, one should base the new value upon the old.
+
+ NOTE: If this field does not store norms, then
+ this method call will silently do nothing.
+
+
+
+
+
+
+ StaleReaderException if the index has changed
+ since this reader was opened
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Implements setNorm in subclass.
+
+
+ Expert: Resets the normalization factor for the named field of the named
+ document.
+
+
+
+
+
+
+
+ StaleReaderException if the index has changed
+ since this reader was opened
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Returns an enumeration of all the terms in the index. The
+ enumeration is ordered by Term.compareTo(). Each term is greater
+ than all that precede it in the enumeration. Note that after
+ calling terms(), must be called
+ on the resulting enumeration before calling other methods such as
+ .
+
+ IOException if there is a low-level IO error
+
+
+ Returns an enumeration of all terms starting at a given term. If
+ the given term does not exist, the enumeration is positioned at the
+ first term greater than the supplied term. The enumeration is
+ ordered by Term.compareTo(). Each term is greater than all that
+ precede it in the enumeration.
+
+ IOException if there is a low-level IO error
+
+
+ Returns the number of documents containing the term t.
+ IOException if there is a low-level IO error
+
+
+ Returns an enumeration of all the documents which contain
+ term. For each document, the document number, the frequency of
+ the term in that document is also provided, for use in
+ search scoring. If term is null, then all non-deleted
+ docs are returned with freq=1.
+ Thus, this method implements the mapping:
+
+ Term => <docNum, freq>*
+
+ The enumeration is ordered by document number. Each document number
+ is greater than all that precede it in the enumeration.
+
+ IOException if there is a low-level IO error
+
+
+ Returns an unpositioned enumerator.
+ IOException if there is a low-level IO error
+
+
+ Returns an enumeration of all the documents which contain
+ term. For each document, in addition to the document number
+ and frequency of the term in that document, a list of all of the ordinal
+ positions of the term in the document is available. Thus, this method
+ implements the mapping:
+
+
+ Term => <docNum, freq,
+ <pos1, pos2, ...
+ posfreq-1>
+ >*
+
+ This positional information facilitates phrase and proximity searching.
+ The enumeration is ordered by document number. Each document number is
+ greater than all that precede it in the enumeration.
+
+ IOException if there is a low-level IO error
+
+
+ Returns an unpositioned enumerator.
+ IOException if there is a low-level IO error
+
+
+ Deletes the document numbered docNum. Once a document is
+ deleted it will not appear in TermDocs or TermPostitions enumerations.
+ Attempts to read its field with the
+ method will result in an error. The presence of this document may still be
+ reflected in the statistic, though
+ this will be corrected eventually as the index is further modified.
+
+
+ StaleReaderException if the index has changed
+ since this reader was opened
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Implements deletion of the document numbered docNum.
+ Applications should call or .
+
+
+
+ Deletes all documents that have a given term indexed.
+ This is useful if one uses a document field to hold a unique ID string for
+ the document. Then to delete such a document, one merely constructs a
+ term with the appropriate field and the unique ID string as its text and
+ passes it to this method.
+ See for information about when this deletion will
+ become effective.
+
+
+ the number of documents deleted
+
+ StaleReaderException if the index has changed
+ since this reader was opened
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Undeletes all documents currently marked as deleted in this index.
+
+
+ StaleReaderException if the index has changed
+ since this reader was opened
+
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Implements actual undeleteAll() in subclass.
+
+
+ Does nothing by default. Subclasses that require a write lock for
+ index modifications must implement this method.
+
+
+
+
+ IOException
+
+
+ Opaque Map (String -> String)
+ that's recorded into the segments file in the index,
+ and retrievable by
+ .
+
+ IOException
+
+
+ Commit changes resulting from delete, undeleteAll, or
+ setNorm operations
+
+ If an exception is hit, then either no changes or all
+ changes will have been committed to the index
+ (transactional semantics).
+
+ IOException if there is a low-level IO error
+
+
+ Commit changes resulting from delete, undeleteAll, or
+ setNorm operations
+
+ If an exception is hit, then either no changes or all
+ changes will have been committed to the index
+ (transactional semantics).
+
+ IOException if there is a low-level IO error
+
+
+ Implements commit.
+ Please implement
+
+ instead.
+
+
+
+ Implements commit. NOTE: subclasses should override
+ this. In 3.0 this will become an abstract method.
+
+
+
+ Closes files associated with this index.
+ Also saves any new deletions to disk.
+ No other methods should be called after this has been called.
+
+ IOException if there is a low-level IO error
+
+
+
+ .NET
+
+
+
+ Implements close.
+
+
+ Get a list of unique field names that exist in this index and have the specified
+ field option information.
+
+ specifies which field option should be available for the returned fields
+
+ Collection of Strings indicating the names of the fields.
+
+
+
+
+
+ Returns true iff the index in the named directory is
+ currently locked.
+
+ the directory to check for a lock
+
+ IOException if there is a low-level IO error
+ Please use instead.
+ This method will be removed in the 3.0 release.
+
+
+
+
+ Returns true iff the index in the named directory is
+ currently locked.
+
+ the directory to check for a lock
+
+ IOException if there is a low-level IO error
+ Use instead.
+ This method will be removed in the 3.0 release.
+
+
+
+
+ Forcibly unlocks the index in the named directory.
+
+ Caution: this should only be used by failure recovery code,
+ when it is known that no other process nor thread is in fact
+ currently accessing this index.
+
+ Please use instead.
+ This method will be removed in the 3.0 release.
+
+
+
+
+ Expert: return the IndexCommit that this reader has
+ opened. This method is only implemented by those
+ readers that correspond to a Directory with its own
+ segments_N file.
+
+ WARNING: this API is new and experimental and
+ may suddenly change.
+
+
+
+ Prints the filename and size of each file within a given compound file.
+ Add the -extract flag to extract files to the current working directory.
+ In order to make the extracted version of the index work, you have to copy
+ the segments file from the compound index into the directory where the extracted files are stored.
+
+ Usage: Lucene.Net.Index.IndexReader [-extract] <cfsfile>
+
+
+
+ Returns all commit points that exist in the Directory.
+ Normally, because the default is
+ , there would be only
+ one commit point. But if you're using a custom
+ then there could be many commits.
+ Once you have a given commit, you can open a reader on
+ it by calling
+ There must be at least one commit in
+ the Directory, else this method throws .
+ Note that if a commit is in
+ progress while this method is running, that commit
+ may or may not be returned array.
+
+
+
+ Expert: returns the sequential sub readers that this
+ reader is logically composed of. For example,
+ IndexSearcher uses this API to drive searching by one
+ sub reader at a time. If this reader is not composed
+ of sequential child readers, it should return null.
+ If this method returns an empty array, that means this
+ reader is a null reader (for example a MultiReader
+ that has no sub readers).
+
+ NOTE: You should not try using sub-readers returned by
+ this method to make any changes (setNorm, deleteDocument,
+ etc.). While this might succeed for one composite reader
+ (like MultiReader), it will most likely lead to index
+ corruption for other readers (like DirectoryReader obtained
+ through . Use the parent reader directly.
+
+
+
+ Expert
+
+
+
+
+ Expert. Warning: this returns null if the reader has
+ no deletions
+
+
+ Returns the number of unique terms (across all fields)
+ in this reader.
+
+ This method returns long, even though internally
+ Lucene cannot handle more than 2^31 unique terms, for
+ a possible future when this limitation is removed.
+
+
+ UnsupportedOperationException if this count
+ cannot be easily determined (eg Multi*Readers).
+ Instead, you should call
+ and ask each sub reader for
+ its unique term count.
+
+
+
+ Expert: Return the state of the flag that disables fakes norms in favor of representing the absence of field norms with null.
+ true if fake norms are disabled
+
+ This currently defaults to false (to remain
+ back-compatible), but in 3.0 it will be hardwired to
+ true, meaning the norms() methods will return null for
+ fields that had disabled norms.
+
+
+
+ Expert: Set the state of the flag that disables fakes norms in favor of representing the absence of field norms with null.
+ true to disable fake norms, false to preserve the legacy behavior
+
+ This currently defaults to false (to remain
+ back-compatible), but in 3.0 it will be hardwired to
+ true, meaning the norms() methods will return null for
+ fields that had disabled norms.
+
+
+
+ Utility class for executing code that needs to do
+ something with the current segments file. This is
+ necessary with lock-less commits because from the time
+ you locate the current segments file name, until you
+ actually open it, read its contents, or check modified
+ time, etc., it could have been deleted due to a writer
+ commit finishing.
+
+
+
+ A collection of segmentInfo objects with methods for operating on
+ those segments in relation to the file system.
+
+ NOTE: This API is new and still experimental
+ (subject to change suddenly in the next release)
+
+
+
+ The file format version, a negative number.
+
+
+ This format adds details used for lockless commits. It differs
+ slightly from the previous format in that file names
+ are never re-used (write once). Instead, each file is
+ written to the next generation. For example,
+ segments_1, segments_2, etc. This allows us to not use
+ a commit lock. See file
+ formats for details.
+
+
+
+ This format adds a "hasSingleNormFile" flag into each segment info.
+ See LUCENE-756
+ for details.
+
+
+
+ This format allows multiple segments to share a single
+ vectors and stored fields file.
+
+
+
+ This format adds a checksum at the end of the file to
+ ensure all bytes were successfully written.
+
+
+
+ This format adds the deletion count for each segment.
+ This way IndexWriter can efficiently report numDocs().
+
+
+
+ This format adds the boolean hasProx to record if any
+ fields in the segment store prox information (ie, have
+ omitTermFreqAndPositions==false)
+
+
+
+ This format adds optional commit userData (String) storage.
+
+
+ This format adds optional per-segment String
+ dianostics storage, and switches userData to Map
+
+
+
+ counts how often the index has been changed by adding or deleting docs.
+ starting with the current time in milliseconds forces to create unique version numbers.
+
+
+
+ If non-null, information about loading segments_N files
+
+
+
+
+ Get the generation (N) of the current segments_N file
+ from a list of files.
+
+
+ -- array of file names to check
+
+
+
+ Get the generation (N) of the current segments_N file
+ in the directory.
+
+
+ -- directory to search for the latest segments_N file
+
+
+
+ Get the filename of the current segments_N file
+ from a list of files.
+
+
+ -- array of file names to check
+
+
+
+ Get the filename of the current segments_N file
+ in the directory.
+
+
+ -- directory to search for the latest segments_N file
+
+
+
+ Get the segments_N filename in use by this segment infos.
+
+
+ Parse the generation off the segments file name and
+ return it.
+
+
+
+ Get the next segments_N filename that will be written.
+
+
+ Read a particular segmentFileName. Note that this may
+ throw an IOException if a commit is in process.
+
+
+ -- directory containing the segments file
+
+ -- segment file to load
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ This version of read uses the retry logic (for lock-less
+ commits) to find the right segments file to load.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Returns a copy of this instance, also copying each
+ SegmentInfo.
+
+
+
+ version number when this SegmentInfos was generated.
+
+
+ Current version number from segments file.
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Returns userData from latest segments file
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ If non-null, information about retries when loading
+ the segments file will be printed to this.
+
+
+
+ Advanced: set how many times to try loading the
+ segments.gen file contents to determine current segment
+ generation. This file is only referenced when the
+ primary method (listing the directory) fails.
+
+
+
+
+
+
+
+ Advanced: set how many milliseconds to pause in between
+ attempts to load the segments.gen file.
+
+
+
+
+
+
+
+ Advanced: set how many times to try incrementing the
+ gen when loading the segments file. This only runs if
+ the primary (listing directory) and secondary (opening
+ segments.gen file) methods fail to find the segments
+ file.
+
+
+
+
+
+
+
+
+
+
+
+ Returns a new SegmentInfos containg the SegmentInfo
+ instances in the specified range first (inclusive) to
+ last (exclusive), so total number of segments returned
+ is last-first.
+
+
+
+ Call this to start a commit. This writes the new
+ segments file, but writes an invalid checksum at the
+ end, so that it is not visible to readers. Once this
+ is called you must call to complete
+ the commit or to abort it.
+
+
+
+ Returns all file names referenced by SegmentInfo
+ instances matching the provided Directory (ie files
+ associated with any "external" segments are skipped).
+ The returned collection is recomputed on each
+ invocation.
+
+
+
+ Writes & syncs to the Directory dir, taking care to
+ remove the segments file on exception
+
+
+
+ Replaces all segments in this instance, but keeps
+ generation, version, counter so that future commits
+ remain write once.
+
+
+
+
+ Simple brute force implementation.
+ If size is equal, compare items one by one.
+
+ SegmentInfos object to check equality for
+ true if lists are equal, false otherwise
+
+
+
+ Calculate hash code of SegmentInfos
+
+ hash code as in java version of ArrayList
+
+
+ Utility class for executing code that needs to do
+ something with the current segments file. This is
+ necessary with lock-less commits because from the time
+ you locate the current segments file name, until you
+ actually open it, read its contents, or check modified
+ time, etc., it could have been deleted due to a writer
+ commit finishing.
+
+
+
+ Subclass must implement this. The assumption is an
+ IOException will be thrown if something goes wrong
+ during the processing that could have been caused by
+ a writer committing.
+
+
+
+ Constants describing field properties, for example used for
+ .
+
+
+
+ All fields
+
+
+ All indexed fields
+
+
+ All fields that store payloads
+
+
+ All fields that omit tf
+
+
+ Renamed to
+
+
+
+ All fields which are not indexed
+
+
+ All fields which are indexed with termvectors enabled
+
+
+ All fields which are indexed but don't have termvectors enabled
+
+
+ All fields with termvectors enabled. Please note that only standard termvector fields are returned
+
+
+ All fields with termvectors with position values enabled
+
+
+ All fields with termvectors with offset values enabled
+
+
+ All fields with termvectors with offset values and position values enabled
+
+
+ Construct a FilterIndexReader based on the specified base reader.
+ Directory locking for delete, undeleteAll, and setNorm operations is
+ left to the base reader.
+ Note that base reader is closed if this FilterIndexReader is closed.
+
+ specified base reader.
+
+
+
+
+
+
+
+
+ If the subclass of FilteredIndexReader modifies the
+ contents of the FieldCache, you must override this
+ method to provide a different key */
+
+
+
+
+ If the subclass of FilteredIndexReader modifies the
+ deleted docs, you must override this method to provide
+ a different key */
+
+
+
+ Base class for filtering implementations.
+
+
+ Base class for filtering implementations.
+
+
+ TermPositions provides an interface for enumerating the <document,
+ frequency, <position>* > tuples for a term. The document and
+ frequency are the same as for a TermDocs. The positions portion lists the ordinal
+ positions of each occurrence of a term in a document.
+
+
+
+
+
+
+ Returns next position in the current document. It is an error to call
+ this more than times
+ without calling This is
+ invalid until is called for
+ the first time.
+
+
+
+ Returns the length of the payload at the current term position.
+ This is invalid until is called for
+ the first time.
+
+ length of the current payload in number of bytes
+
+
+
+ Returns the payload data at the current term position.
+ This is invalid until is called for
+ the first time.
+ This method must not be called more than once after each call
+ of . However, payloads are loaded lazily,
+ so if the payload data for the current position is not needed,
+ this method may not be called at all for performance reasons.
+
+
+ the array into which the data of this payload is to be
+ stored, if it is big enough; otherwise, a new byte[] array
+ is allocated for this purpose.
+
+ the offset in the array into which the data of this payload
+ is to be stored.
+
+ a byte[] array containing the data of this payload
+
+ IOException
+
+
+ Checks if a payload can be loaded at this position.
+
+ Payloads can only be loaded once per call to
+ .
+
+
+ true if there is a payload available at this position that can be loaded
+
+
+
+ Base class for filtering implementations.
+
+
+ Abstract class for enumerating terms.
+ Term enumerations are always ordered by Term.compareTo(). Each term in
+ the enumeration is greater than all that precede it.
+
+
+
+ Increments the enumeration to the next element. True if one exists.
+
+
+ Returns the current Term in the enumeration.
+
+
+ Returns the docFreq of the current Term in the enumeration.
+
+
+ Closes the enumeration to further activity, freeing resources.
+
+
+ Skips terms to the first beyond the current whose value is
+ greater or equal to target. Returns true iff there is such
+ an entry. Behaves as if written:
+ public boolean skipTo(Term target) {
+ do {
+ if (!next())
+ return false;
+ } while (target > term());
+ return true;
+ }
+
+ Some implementations *could* be considerably more efficient than a linear scan.
+ Check the implementation to be sure.
+
+ This method is not performant and will be removed in Lucene 3.0.
+ Use to create a new TermEnum positioned at a
+ given term.
+
+
+
+ This member contains the ref counter, that is passed to each instance after cloning/reopening,
+ and is global to all DirectoryOwningReader derived from the original one.
+ This reuses the class
+
+
+
+ An IndexReader which reads indexes with multiple segments.
+
+
+ Construct reading the named set of readers.
+
+
+ This constructor is only used for
+
+
+ Version number when this IndexReader was opened.
+
+
+ Checks is the index is optimized (if it has a single segment and no deletions)
+ true if the index is optimized; false otherwise
+
+
+
+ Tries to acquire the WriteLock on this directory. this method is only valid if this IndexReader is directory
+ owner.
+
+
+ StaleReaderException if the index has changed since this reader was opened
+ CorruptIndexException if the index is corrupt
+ Lucene.Net.Store.LockObtainFailedException
+ if another writer has this index open (write.lock could not be
+ obtained)
+
+ IOException if there is a low-level IO error
+
+
+
+
+
+
+ Commit changes resulting from delete, undeleteAll, or setNorm operations
+
+ If an exception is hit, then either no changes or all changes will have been committed to the index (transactional
+ semantics).
+
+
+ IOException if there is a low-level IO error
+
+
+ Returns the directory this index resides in.
+
+
+ Expert: return the IndexCommit that this reader has opened.
+
+ WARNING: this API is new and experimental and may suddenly change.
+
+
+
+
+
+
+
+ Expert: represents a single commit into an index as seen by the
+ or .
+
+ Changes to the content of an index are made visible
+ only after the writer who made that change commits by
+ writing a new segments file
+ (segments_N). This point in time, when the
+ action of writing of a new segments file to the directory
+ is completed, is an index commit.
+
+ Each index commit point has a unique segments file
+ associated with it. The segments file associated with a
+ later index commit point would have a larger N.
+
+ WARNING: This API is a new and experimental and
+ may suddenly change.
+
+
+
+ Please subclass IndexCommit class instead
+
+
+
+ Get the segments file (segments_N) associated
+ with this commit point.
+
+
+
+ Returns all index files referenced by this commit point.
+
+
+ Delete this commit point.
+
+ Upon calling this, the writer is notified that this commit
+ point should be deleted.
+
+ Decision that a commit-point should be deleted is taken by the in effect
+ and therefore this should only be called by its or
+ methods.
+
+
+
+ Get the segments file (segments_N) associated
+ with this commit point.
+
+
+
+ Returns all index files referenced by this commit point.
+
+
+ Returns the for the index.
+
+
+ Delete this commit point. This only applies when using
+ the commit point in the context of IndexWriter's
+ IndexDeletionPolicy.
+
+ Upon calling this, the writer is notified that this commit
+ point should be deleted.
+
+ Decision that a commit-point should be deleted is taken by the in effect
+ and therefore this should only be called by its or
+ methods.
+
+
+
+ Returns true if this commit is an optimized index.
+
+
+ Two IndexCommits are equal if both their Directory and versions are equal.
+
+
+ Returns the version for this IndexCommit. This is the
+ same value that would
+ return if it were opened on this commit.
+
+
+
+ Returns the generation (the _N in segments_N) for this
+ IndexCommit
+
+
+
+ Convenience method that returns the last modified time
+ of the segments_N file corresponding to this index
+ commit, equivalent to
+ getDirectory().fileModified(getSegmentsFileName()).
+
+
+
+ Returns userData, previously passed to
+
+ for this commit. IDictionary is String -> String.
+
+
+
+ Optimized implementation.
+
+
+ Process the document. If there is
+ something for this document to be done in docID order,
+ you should encapsulate that as a
+ DocumentsWriter.DocWriter and return it.
+ DocumentsWriter then calls finish() on this object
+ when it's its turn.
+
+
+
+ Called when DocumentsWriter decides to create a new
+ segment
+
+
+
+ Called when DocumentsWriter decides to close the doc
+ stores
+
+
+
+ Called when an aborting exception is hit
+
+
+ Add a new thread
+
+
+ Called when DocumentsWriter is using too much RAM.
+ The consumer should free RAM, if possible, returning
+ true if any RAM was in fact freed.
+
+
+
+ Processes all occurrences of a single field
+
+
+ This is just a "splitter" class: it lets you wrap two
+ DocFieldConsumer instances as a single consumer.
+
+
+
+ Consumer returns this on each doc. This holds any
+ state that must be flushed synchronized "in docID
+ order". We gather these and flush them in order.
+
+
+
+ This class accepts multiple added documents and directly
+ writes a single segment file. It does this more
+ efficiently than creating a single segment per document
+ (with DocumentWriter) and doing standard merges on those
+ segments.
+
+ Each added document is passed to the ,
+ which in turn processes the document and interacts with
+ other consumers in the indexing chain. Certain
+ consumers, like and
+ , digest a document and
+ immediately write bytes to the "doc store" files (ie,
+ they do not consume RAM per document, except while they
+ are processing the document).
+
+ Other consumers, eg and
+ , buffer bytes in RAM and flush only
+ when a new segment is produced.
+ Once we have used our allowed RAM buffer, or the number
+ of added docs is large enough (in the case we are
+ flushing by doc count instead of RAM usage), we create a
+ real segment and flush it to the Directory.
+
+ Threads:
+
+ Multiple threads are allowed into addDocument at once.
+ There is an initial synchronized call to getThreadState
+ which allocates a ThreadState for this thread. The same
+ thread will get the same ThreadState over time (thread
+ affinity) so that if there are consistent patterns (for
+ example each thread is indexing a different content
+ source) then we make better use of RAM. Then
+ processDocument is called on that ThreadState without
+ synchronization (most of the "heavy lifting" is in this
+ call). Finally the synchronized "finishDocument" is
+ called to flush changes to the directory.
+
+ When flush is called by IndexWriter, or, we flush
+ internally when autoCommit=false, we forcefully idle all
+ threads and flush only once they are all idle. This
+ means you can call flush with a given thread even while
+ other threads are actively adding/deleting documents.
+
+
+ Exceptions:
+
+ Because this class directly updates in-memory posting
+ lists, and flushes stored fields and term vectors
+ directly to files in the directory, there are certain
+ limited times when an exception can corrupt this state.
+ For example, a disk full while flushing stored fields
+ leaves this file in a corrupt state. Or, an OOM
+ exception while appending to the in-memory posting lists
+ can corrupt that posting list. We call such exceptions
+ "aborting exceptions". In these cases we must call
+ abort() to discard all docs added since the last flush.
+
+ All other exceptions ("non-aborting exceptions") can
+ still partially update the index structures. These
+ updates are consistent, but, they represent only a part
+ of the document seen up until the exception was hit.
+ When this happens, we immediately mark the document as
+ deleted so that the document is always atomically ("all
+ or none") added to the index.
+
+
+
+ Create and return a new DocWriterBuffer.
+
+
+ Returns true if any of the fields in the current
+ buffered docs have omitTermFreqAndPositions==false
+
+
+
+ If non-null, various details of indexing are printed
+ here.
+
+
+
+ Set how much RAM we can use before flushing.
+
+
+ Set max buffered docs, which means we will flush by
+ doc count instead of by RAM usage.
+
+
+
+ Get current segment name we are writing.
+
+
+ Returns how many docs are currently buffered in RAM.
+
+
+ Returns the current doc store segment we are writing
+ to. This will be the same as segment when autoCommit
+ * is true.
+
+
+
+ Returns the doc offset into the shared doc store for
+ the current buffered docs.
+
+
+
+ Closes the current open doc stores an returns the doc
+ store segment name. This returns null if there are *
+ no buffered documents.
+
+
+
+ Called if we hit an exception at a bad time (when
+ updating the index files) and must discard all
+ currently buffered docs. This resets our state,
+ discarding any docs added since last flush.
+
+
+
+ Reset after a flush
+
+
+ Flush all pending docs to a new segment
+
+
+ Build compound file for the segment we just flushed
+
+
+ Set flushPending if it is not already set and returns
+ whether it was set. This is used by IndexWriter to
+ trigger a single flush even when multiple threads are
+ trying to do so.
+
+
+
+ Returns a free (idle) ThreadState that may be used for
+ indexing this one document. This call also pauses if a
+ flush is pending. If delTerm is non-null then we
+ buffer this deleted term after the thread state has
+ been acquired.
+
+
+
+ Returns true if the caller (IndexWriter) should now
+ flush.
+
+
+
+ Called whenever a merge has completed and the merged segments had deletions
+
+
+ Does the synchronized work to finish/flush the
+ inverted document.
+
+
+
+ The IndexingChain must define the method
+ which returns the DocConsumer that the DocumentsWriter calls to process the
+ documents.
+
+
+
+ Consumer returns this on each doc. This holds any
+ state that must be flushed synchronized "in docID
+ order". We gather these and flush them in order.
+
+
+
+ RAMFile buffer for DocWriters.
+
+
+ Expert: allocate a new buffer.
+ Subclasses can allocate differently.
+
+ size of allocated buffer.
+
+ allocated buffer.
+
+
+
+ Allocate bytes used from shared pool.
+
+
+ Recycle the bytes used.
+
+
+ This is a DocConsumer that gathers all fields under the
+ same name, and calls per-field consumers to process field
+ by field. This class doesn't doesn't do any "real" work
+ of its own: it just forwards the fields to a
+ DocFieldConsumer.
+
+
+
+ Holds all per thread, per field state.
+
+
+ Gathers all Fieldables for a document under the same
+ name, updates FieldInfos, and calls per-field consumers
+ to process field by field.
+
+ Currently, only a single thread visits the fields,
+ sequentially, for processing.
+
+
+
+ If there are fields we've seen but did not see again
+ in the last run, then free them up.
+
+
+
+ This is a DocFieldConsumer that inverts each field,
+ separately, from a Document, and accepts a
+ InvertedTermsConsumer to process those terms.
+
+
+
+ Holds state for inverting all occurrences of a single
+ field in the document. This class doesn't do anything
+ itself; instead, it forwards the tokens produced by
+ analysis to its own consumer
+ (InvertedDocConsumerPerField). It also interacts with an
+ endConsumer (InvertedDocEndConsumerPerField).
+
+
+
+ This is a DocFieldConsumer that inverts each field,
+ separately, from a Document, and accepts a
+ InvertedTermsConsumer to process those terms.
+
+
+
+ Used by DocumentsWriter to maintain per-thread state.
+ We keep a separate Posting hash and other state for each
+ thread and then merge postings hashes from all threads
+ when writing the segment.
+
+
+
+ Access to the Fieldable Info file that describes document fields and whether or
+ not they are indexed. Each segment has a separate Fieldable Info file. Objects
+ of this class are thread-safe for multiple readers, but only one thread can
+ be adding documents at a time, with no other reader or writer threads
+ accessing this object.
+
+
+
+ Construct a FieldInfos object using the directory and the name of the file
+ IndexInput
+
+ The directory to open the IndexInput from
+
+ The name of the file to open the IndexInput from in the Directory
+
+ IOException
+
+
+ Returns a deep clone of this FieldInfos instance.
+
+
+ Adds field info for a Document.
+
+
+ Returns true if any fields do not omitTermFreqAndPositions
+
+
+ Add fields that are indexed. Whether they have termvectors has to be specified.
+
+
+ The names of the fields
+
+ Whether the fields store term vectors or not
+
+ true if positions should be stored.
+
+ true if offsets should be stored
+
+
+
+ Assumes the fields are not storing term vectors.
+
+
+ The names of the fields
+
+ Whether the fields are indexed or not
+
+
+
+
+
+
+ Calls 5 parameter add with false for all TermVector parameters.
+
+
+ The name of the Fieldable
+
+ true if the field is indexed
+
+
+
+
+
+ Calls 5 parameter add with false for term vector positions and offsets.
+
+
+ The name of the field
+
+ true if the field is indexed
+
+ true if the term vector should be stored
+
+
+
+ If the field is not yet known, adds it. If it is known, checks to make
+ sure that the isIndexed flag is the same as was given previously for this
+ field. If not - marks it as being indexed. Same goes for the TermVector
+ parameters.
+
+
+ The name of the field
+
+ true if the field is indexed
+
+ true if the term vector should be stored
+
+ true if the term vector with positions should be stored
+
+ true if the term vector with offsets should be stored
+
+
+
+ If the field is not yet known, adds it. If it is known, checks to make
+ sure that the isIndexed flag is the same as was given previously for this
+ field. If not - marks it as being indexed. Same goes for the TermVector
+ parameters.
+
+
+ The name of the field
+
+ true if the field is indexed
+
+ true if the term vector should be stored
+
+ true if the term vector with positions should be stored
+
+ true if the term vector with offsets should be stored
+
+ true if the norms for the indexed field should be omitted
+
+
+
+ If the field is not yet known, adds it. If it is known, checks to make
+ sure that the isIndexed flag is the same as was given previously for this
+ field. If not - marks it as being indexed. Same goes for the TermVector
+ parameters.
+
+
+ The name of the field
+
+ true if the field is indexed
+
+ true if the term vector should be stored
+
+ true if the term vector with positions should be stored
+
+ true if the term vector with offsets should be stored
+
+ true if the norms for the indexed field should be omitted
+
+ true if payloads should be stored for this field
+
+ true if term freqs should be omitted for this field
+
+
+
+ Return the fieldName identified by its number.
+
+
+
+
+ the fieldName or an empty string when the field
+ with the given number doesn't exist.
+
+
+
+ Return the fieldinfo object referenced by the fieldNumber.
+
+
+ the FieldInfo object or null when the given fieldNumber
+ doesn't exist.
+
+
+
+ This class tracks the number and position / offset parameters of terms
+ being added to the index. The information collected in this class is
+ also used to calculate the normalization factor for a field.
+
+ WARNING: This API is new and experimental, and may suddenly
+ change.
+
+
+
+ Re-initialize the state, using this boost value.
+ boost value to use.
+
+
+
+ Get the last processed term position.
+ the position
+
+
+
+ Get total number of terms in this field.
+ the length
+
+
+
+ Get the number of terms with positionIncrement == 0.
+ the numOverlap
+
+
+
+ Get end offset of the last processed term.
+ the offset
+
+
+
+ Get boost value. This is the cumulative product of
+ document boost and field boost for all field instances
+ sharing the same field name.
+
+ the boost
+
+
+
+
+
+
+
+
+
+ Constructs a new runtime exception with null as its
+ detail message. The cause is not initialized, and may subsequently be
+ initialized by a call to .
+
+
+
+ Constructs a new runtime exception with the specified cause and a
+ detail message of (cause==null ? null : cause.toString())
+ (which typically contains the class and detail message of
+ cause).
+
+ This constructor is useful for runtime exceptions
+ that are little more than wrappers for other throwables.
+
+
+ the cause (which is saved for later retrieval by the
+ ). (A null value is
+ permitted, and indicates that the cause is nonexistent or
+ unknown.)
+
+ 1.4
+
+
+
+ Constructs a new runtime exception with the specified detail message.
+ The cause is not initialized, and may subsequently be initialized by a
+ call to .
+
+
+ the detail message. The detail message is saved for
+ later retrieval by the method.
+
+
+
+ Constructs a new runtime exception with the specified detail message and
+ cause. Note that the detail message associated with
+ cause is not automatically incorporated in
+ this runtime exception's detail message.
+
+
+ the detail message (which is saved for later retrieval
+ by the method).
+
+ the cause (which is saved for later retrieval by the
+ method). (A null value is
+ permitted, and indicates that the cause is nonexistent or
+ unknown.)
+
+ 1.4
+
+
+
+ For each Field, store a sorted collection of s
+
+ This is not thread-safe.
+
+
+
+ The TermVectorMapper can be used to map Term Vectors into your own
+ structure instead of the parallel array structure used by
+ .
+
+ It is up to the implementation to make sure it is thread-safe.
+
+
+
+
+
+
+
+ true if this mapper should tell Lucene to ignore positions even if they are stored
+
+ similar to ignoringPositions
+
+
+
+ Tell the mapper what to expect in regards to field, number of terms, offset and position storage.
+ This method will be called once before retrieving the vector for a field.
+
+ This method will be called before .
+
+ The field the vector is for
+
+ The number of terms that need to be mapped
+
+ true if the mapper should expect offset information
+
+ true if the mapper should expect positions info
+
+
+
+ Map the Term Vector information into your own structure
+ The term to add to the vector
+
+ The frequency of the term in the document
+
+ null if the offset is not specified, otherwise the offset into the field of the term
+
+ null if the position is not specified, otherwise the position in the field of the term
+
+
+
+ Indicate to Lucene that even if there are positions stored, this mapper is not interested in them and they
+ can be skipped over. Derived classes should set this to true if they want to ignore positions. The default
+ is false, meaning positions will be loaded if they are stored.
+
+ false
+
+
+
+
+ Same principal as , but applied to offsets. false by default.
+
+ false
+
+
+
+ Passes down the index of the document whose term vector is currently being mapped,
+ once for each top level call to a term vector reader.
+
+ Default implementation IGNORES the document number. Override if your implementation needs the document number.
+
+ NOTE: Document numbers are internal to Lucene and subject to change depending on indexing operations.
+
+
+ index of document currently being mapped
+
+
+
+
+ A Comparator for sorting s
+
+
+
+ Get the mapping between fields and terms, sorted by the comparator
+
+
+ A map between field names and s per field. SortedSet entries are
+
+
+
+ Class responsible for access to stored document fields.
+
+ It uses <segment>.fdt and <segment>.fdx; files.
+
+
+ $Id: FieldsReader.java 801344 2009-08-05 18:05:06Z yonik $
+
+
+
+ Returns a cloned FieldsReader that shares open
+ IndexInputs with the original one. It is the caller's
+ job not to close the original FieldsReader until all
+ clones are called (eg, currently SegmentReader manages
+ this logic).
+
+
+
+ AlreadyClosedException if this FieldsReader is closed
+
+
+ Closes the underlying streams, including any ones associated with a
+ lazy implementation of a Field. This means that the Fields values will not be accessible.
+
+
+ IOException
+
+
+ Returns the length in bytes of each raw document in a
+ contiguous range of length numDocs starting with
+ startDocID. Returns the IndexInput (the fieldStream),
+ already seeked to the starting point for startDocID.
+
+
+
+ Skip the field. We still have to read some of the information about the field, but can skip past the actual content.
+ This will have the most payoff on large fields.
+
+
+
+ A Lazy implementation of Fieldable that differs loading of fields until asked for, instead of when the Document is
+ loaded.
+
+
+
+ The value of the field in Binary, or null. If null, the Reader value,
+ String value, or TokenStream value is used. Exactly one of stringValue(),
+ readerValue(), binaryValue(), and tokenStreamValue() must be set.
+
+
+
+ The value of the field as a Reader, or null. If null, the String value,
+ binary value, or TokenStream value is used. Exactly one of stringValue(),
+ readerValue(), binaryValue(), and tokenStreamValue() must be set.
+
+
+
+ The value of the field as a TokenStream, or null. If null, the Reader value,
+ String value, or binary value is used. Exactly one of stringValue(),
+ readerValue(), binaryValue(), and tokenStreamValue() must be set.
+
+
+
+ The value of the field as a String, or null. If null, the Reader value,
+ binary value, or TokenStream value is used. Exactly one of stringValue(),
+ readerValue(), binaryValue(), and tokenStreamValue() must be set.
+
+
+
+ Bulk write a contiguous series of documents. The
+ lengths array is the length (in bytes) of each raw
+ document. The stream IndexInput is the
+ fieldsStream from which we should bulk-copy all
+ bytes.
+
+
+
+ NOTE: this API is experimental and will likely change
+
+
+ Adds a new doc in this term. If this returns null
+ then we just skip consuming positions/payloads.
+
+
+
+ Called when we are done adding docs to this term
+
+
+ Consumes doc and freq, writing them using the current
+ index file format
+
+
+
+ Adds a new doc in this term. If this returns null
+ then we just skip consuming positions/payloads.
+
+
+
+ Called when we are done adding docs to this term
+
+
+ Abstract API that consumes terms, doc, freq, prox and
+ payloads postings. Concrete implementations of this
+ actually do "something" with the postings (write it into
+ the index in a specific format).
+
+ NOTE: this API is experimental and will likely change
+
+
+
+ Add a new field
+
+
+ Called when we are done adding everything.
+
+
+ Add a new field
+
+
+ Called when we are done adding everything.
+
+
+ Add a new position & payload. If payloadLength > 0
+ you must read those bytes from the IndexInput.
+
+
+
+ Called when we are done adding positions & payloads
+
+
+ Add a new position & payload
+
+
+ Called when we are done adding positions & payloads
+
+
+ NOTE: this API is experimental and will likely change
+
+
+ Adds a new term in this field; term ends with U+FFFF
+ char
+
+
+
+ Called when we are done adding terms to this field
+
+
+ Adds a new term in this field
+
+
+ Called when we are done adding terms to this field
+
+
+ Used by DocumentsWriter to merge the postings from
+ multiple ThreadStates when creating a segment
+
+
+
+ This is the base class for an in-memory posting list,
+ keyed by a Token. maintains a hash
+ table holding one instance of this per unique Token.
+ Consumers of TermsHash () must
+ subclass this class with its own concrete class.
+ FreqProxTermsWriter.PostingList is a private inner class used
+ for the freq/prox postings, and
+ TermVectorsTermsWriter.PostingList is a private inner class
+ used to hold TermVectors postings.
+
+
+
+ Implement this class to plug into the TermsHash
+ processor, which inverts and stores Tokens into a hash
+ table and provides an API for writing bytes into
+ multiple streams for each unique Token.
+
+
+
+ Expert: policy for deletion of stale index commits.
+
+ Implement this interface, and pass it to one
+ of the or
+ constructors, to customize when older
+ point-in-time commits
+ are deleted from the index directory. The default deletion policy
+ is , which always
+ removes old commits as soon as a new commit is done (this
+ matches the behavior before 2.2).
+
+ One expected use case for this (and the reason why it
+ was first created) is to work around problems with an
+ index directory accessed via filesystems like NFS because
+ NFS does not provide the "delete on last close" semantics
+ that Lucene's "point in time" search normally relies on.
+ By implementing a custom deletion policy, such as "a
+ commit is only removed once it has been stale for more
+ than X minutes", you can give your readers time to
+ refresh to the new commit before
+ removes the old commits. Note that doing so will
+ increase the storage requirements of the index. See LUCENE-710
+ for details.
+
+
+
+ This is called once when a writer is first
+ instantiated to give the policy a chance to remove old
+ commit points.
+
+ The writer locates all index commits present in the
+ index directory and calls this method. The policy may
+ choose to delete some of the commit points, doing so by
+ calling method
+ of .
+
+ Note: the last CommitPoint is the most recent one,
+ i.e. the "front index state". Be careful not to delete it,
+ unless you know for sure what you are doing, and unless
+ you can afford to lose the index content while doing that.
+
+
+ List of current
+ point-in-time commits,
+ sorted by age (the 0th one is the oldest commit).
+
+
+
+ This is called each time the writer completed a commit.
+ This gives the policy a chance to remove old commit points
+ with each commit.
+
+ The policy may now choose to delete old commit points
+ by calling method
+ of .
+
+ If writer has autoCommit = true then
+ this method will in general be called many times during
+ one instance of . If
+ autoCommit = false then this method is
+ only called once when is
+ called, or not at all if the
+ is called.
+
+ Note: the last CommitPoint is the most recent one,
+ i.e. the "front index state". Be careful not to delete it,
+ unless you know for sure what you are doing, and unless
+ you can afford to lose the index content while doing that.
+
+
+ List of ,
+ sorted by age (the 0th one is the oldest commit).
+
+
+
+
+ This class keeps track of each SegmentInfos instance that
+ is still "live", either because it corresponds to a
+ segments_N file in the Directory (a "commit", i.e. a
+ committed SegmentInfos) or because it's an in-memory
+ SegmentInfos that a writer is actively updating but has
+ not yet committed. This class uses simple reference
+ counting to map the live SegmentInfos instances to
+ individual files in the Directory.
+
+ When autoCommit=true, IndexWriter currently commits only
+ on completion of a merge (though this may change with
+ time: it is not a guarantee). When autoCommit=false,
+ IndexWriter only commits when it is closed. Regardless
+ of autoCommit, the user may call IndexWriter.commit() to
+ force a blocking commit.
+
+ The same directory file may be referenced by more than
+ one IndexCommit, i.e. more than one SegmentInfos.
+ Therefore we count how many commits reference each file.
+ When all the commits referencing a certain file have been
+ deleted, the refcount for that file becomes zero, and the
+ file is deleted.
+
+ A separate deletion policy interface
+ (IndexDeletionPolicy) is consulted on creation (onInit)
+ and once per commit (onCommit), to decide when a commit
+ should be removed.
+
+ It is the business of the IndexDeletionPolicy to choose
+ when to delete commit points. The actual mechanics of
+ file deletion, retrying, etc, derived from the deletion
+ of commit points is the business of the IndexFileDeleter.
+
+ The current default deletion policy is
+ , which removes all
+ prior commits when a new commit has completed. This
+ matches the behavior before 2.2.
+
+ Note that you must hold the write.lock before
+ instantiating this class. It opens segments_N file(s)
+ directly with no retry logic.
+
+
+
+ because they are open and we are running on Windows),
+ so we will retry them again later: ////
+
+
+ Counts how many existing commits reference a file.
+ Maps String to RefCount (class below) instances: ////
+
+
+ This will have just 1 commit if you are using the
+ default delete policy (KeepOnlyLastCommitDeletionPolicy).
+ Other policies may leave commit points live for longer
+ in which case this list would be longer than 1: ////
+
+
+ non-commit checkpoint: ////
+
+
+ Change to true to see details of reference counts when
+ infoStream != null
+
+
+
+ Initialize the deleter: find all previous commits in
+ the Directory, incref the files they reference, call
+ the policy to let it delete commits. This will remove
+ any files not referenced by any of the commits.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Remove the CommitPoints in the commitsToDelete List by
+ DecRef'ing all files from each SegmentInfos.
+
+
+
+ Writer calls this when it has hit an error and had to
+ roll back, to tell us that there may now be
+ unreferenced files in the filesystem. So we re-list
+ the filesystem and delete such files. If segmentName
+ is non-null, we will only delete files corresponding to
+ that segment.
+
+
+
+ For definition of "check point" see IndexWriter comments:
+ "Clarification: Check Points (and commits)".
+
+ Writer calls this when it has made a "consistent
+ change" to the index, meaning new files are written to
+ the index and the in-memory SegmentInfos have been
+ modified to point to those files.
+
+ This may or may not be a commit (segments_N may or may
+ not have been written).
+
+ We simply incref the files referenced by the new
+ SegmentInfos and decref the files we had previously
+ seen (if any).
+
+ If this is a commit, we also call the policy to give it
+ a chance to remove other commits. If any commits are
+ removed, we decref their files as well.
+
+
+
+ Deletes the specified files, but only if they are new
+ (have not yet been incref'd).
+
+
+
+ Tracks the reference count for a single index file:
+
+
+ Holds details for each commit point. This class is
+ also passed to the deletion policy. Note: this class
+ has a natural ordering that is inconsistent with
+ equals.
+
+
+
+ Called only be the deletion policy, to remove this
+ commit point from the index.
+
+
+
+ Filename filter that accept filenames and extensions only created by Lucene.
+
+
+ $rcs = ' $Id: Exp $ ' ;
+
+
+
+ Returns true if this is a file that would be contained
+ in a CFS file. This function should only be called on
+ files that pass the above "accept" (ie, are already
+ known to be a Lucene index file).
+
+
+
+ Useful constants representing filenames and extensions used by lucene
+
+
+ $rcs = ' $Id: Exp $ ' ;
+
+
+
+ Name of the index segment file
+
+
+ Name of the generation reference file name
+
+
+ Name of the index deletable file (only used in
+ pre-lockless indices)
+
+
+
+ Extension of norms file
+
+
+ Extension of freq postings file
+
+
+ Extension of prox postings file
+
+
+ Extension of terms file
+
+
+ Extension of terms index file
+
+
+ Extension of stored fields index file
+
+
+ Extension of stored fields file
+
+
+ Extension of vectors fields file
+
+
+ Extension of vectors documents file
+
+
+ Extension of vectors index file
+
+
+ Extension of compound file
+
+
+ Extension of compound file for doc store files
+
+
+ Extension of deletes
+
+
+ Extension of field infos
+
+
+ Extension of plain norms
+
+
+ Extension of separate norms
+
+
+ Extension of gen file
+
+
+ This array contains all filename extensions used by
+ Lucene's index files, with two exceptions, namely the
+ extension made up from .f + a number and
+ from .s + a number. Also note that
+ Lucene's segments_N files do not have any
+ filename extension.
+
+
+
+ File extensions that are added to a compound file
+ (same as above, minus "del", "gen", "cfs").
+
+
+
+ File extensions of old-style index files
+
+
+ File extensions for term vector support
+
+
+ Computes the full file name from base, extension and
+ generation. If the generation is -1, the file name is
+ null. If it's 0, the file name is
+ If it's > 0, the file name is
+
+
+ -- main part of the file name
+
+ -- extension of the filename (including .)
+
+ -- generation
+
+
+
+ Returns true if the provided filename is one of the doc
+ store files (ends with an extension in
+ STORE_INDEX_EXTENSIONS).
+
+
+
+ [Note that as of 2.1, all but one of the
+ methods in this class are available via
+ . The one method that is not available is
+ .]
+
+ A class to modify an index, i.e. to delete and add documents. This
+ class hides and so that you
+ do not need to care about implementation details such as that adding
+ documents is done via IndexWriter and deletion is done via IndexReader.
+
+ Note that you cannot create more than one IndexModifier object
+ on the same directory at the same time.
+
+ Example usage:
+
+
+
+
+
+
+
+
+
+
+
+ Analyzer analyzer = new StandardAnalyzer();
+ // create an index in /tmp/index, overwriting an existing one:
+ IndexModifier indexModifier = new IndexModifier("/tmp/index", analyzer, true);
+ Document doc = new Document();
+ doc.add(new Field("id", "1", Field.Store.YES, Field.Index.NOT_ANALYZED));
+ doc.add(new Field("body", "a simple test", Field.Store.YES, Field.Index.ANALYZED));
+ indexModifier.addDocument(doc);
+ int deleted = indexModifier.delete(new Term("id", "1"));
+ System.out.println("Deleted " + deleted + " document");
+ indexModifier.flush();
+ System.out.println(indexModifier.docCount() + " docs in index");
+ indexModifier.close();
+
+
+
+
+
+
+
+
+ Not all methods of IndexReader and IndexWriter are offered by this
+ class. If you need access to additional methods, either use those classes
+ directly or implement your own class that extends IndexModifier.
+
+ Although an instance of this class can be used from more than one
+ thread, you will not get the best performance. You might want to use
+ IndexReader and IndexWriter directly for that (but you will need to
+ care about synchronization yourself then).
+
+ While you can freely mix calls to add() and delete() using this class,
+ you should batch you calls for best performance. For example, if you
+ want to update 20 documents, you should first delete all those documents,
+ then add all the new documents.
+
+
+ Please use instead.
+
+
+
+ Open an index with write access.
+
+
+ the index directory
+
+ the analyzer to use for adding new documents
+
+ true to create the index or overwrite the existing one;
+ false to append to the existing index
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Open an index with write access.
+
+
+ the index directory
+
+ the analyzer to use for adding new documents
+
+ true to create the index or overwrite the existing one;
+ false to append to the existing index
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Open an index with write access.
+
+
+ the index directory
+
+ the analyzer to use for adding new documents
+
+ true to create the index or overwrite the existing one;
+ false to append to the existing index
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Initialize an IndexWriter.
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Throw an IllegalStateException if the index is closed.
+ IllegalStateException
+
+
+ Close the IndexReader and open an IndexWriter.
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Close the IndexWriter and open an IndexReader.
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Make sure all changes are written to disk.
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Adds a document to this index, using the provided analyzer instead of the
+ one specific in the constructor. If the document contains more than
+ terms for a given field, the remainder are
+ discarded.
+
+
+
+ IllegalStateException if the index is closed
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Adds a document to this index. If the document contains more than
+ terms for a given field, the remainder are
+ discarded.
+
+
+
+ IllegalStateException if the index is closed
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Deletes all documents containing term.
+ This is useful if one uses a document field to hold a unique ID string for
+ the document. Then to delete such a document, one merely constructs a
+ term with the appropriate field and the unique ID string as its text and
+ passes it to this method. Returns the number of documents deleted.
+
+ the number of documents deleted
+
+
+
+ IllegalStateException if the index is closed
+ StaleReaderException if the index has changed
+ since this reader was opened
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Deletes the document numbered docNum.
+
+
+ StaleReaderException if the index has changed
+ since this reader was opened
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IllegalStateException if the index is closed
+
+
+ Returns the number of documents currently in this
+ index. If the writer is currently open, this returns
+ , else
+ . But, note that
+ does not take deletions into
+ account, unlike .
+
+ IllegalStateException if the index is closed
+
+
+ Merges all segments together into a single segment, optimizing an index
+ for search.
+
+
+
+ IllegalStateException if the index is closed
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ If non-null, information about merges and a message when
+ is reached will be printed to this.
+ Example: index.setInfoStream(System.err);
+
+
+
+ IllegalStateException if the index is closed
+
+
+
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Setting to turn on usage of a compound file. When on, multiple files
+ for each segment are merged into a single file once the segment creation
+ is finished. This is done regardless of what directory is in use.
+
+
+
+ IllegalStateException if the index is closed
+
+
+
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ The maximum number of terms that will be indexed for a single field in a
+ document. This limits the amount of memory required for indexing, so that
+ collections with very large files will not crash the indexing process by
+ running out of memory.
+ Note that this effectively truncates large documents, excluding from the
+ index terms that occur further in the document. If you know your source
+ documents are large, be sure to set this value high enough to accommodate
+ the expected size. If you set it to Integer.MAX_VALUE, then the only limit
+ is your memory, but you should anticipate an OutOfMemoryError.
+ By default, no more than 10,000 terms will be indexed for a field.
+
+
+
+ IllegalStateException if the index is closed
+
+
+
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Determines the minimal number of documents required before the buffered
+ in-memory documents are merging and a new Segment is created.
+ Since Documents are merged in a ,
+ large value gives faster indexing. At the same time, mergeFactor limits
+ the number of files open in a FSDirectory.
+
+ The default value is 10.
+
+
+
+
+ IllegalStateException if the index is closed
+ IllegalArgumentException if maxBufferedDocs is smaller than 2
+
+
+
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Determines how often segment indices are merged by addDocument(). With
+ smaller values, less RAM is used while indexing, and searches on
+ unoptimized indices are faster, but indexing speed is slower. With larger
+ values, more RAM is used during indexing, and while searches on unoptimized
+ indices are slower, indexing is faster. Thus larger values (> 10) are best
+ for batch index creation, and smaller values (< 10) for indices that are
+ interactively maintained.
+ This must never be less than 2. The default value is 10.
+
+
+
+
+ IllegalStateException if the index is closed
+
+
+
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if there is a low-level IO error
+
+
+ Close this index, writing all pending changes to disk.
+
+
+ IllegalStateException if the index has been closed before already
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ An IndexWriter creates and maintains an index.
+ The create argument to the
+ constructor determines
+ whether a new index is created, or whether an existing index is
+ opened. Note that you can open an index with create=true
+ even while readers are using the index. The old readers will
+ continue to search the "point in time" snapshot they had opened,
+ and won't see the newly created index until they re-open. There are
+ also constructors
+ with no create argument which will create a new index
+ if there is not already an index at the provided path and otherwise
+ open the existing index.
+ In either case, documents are added with
+ and removed with or
+ . A document can be updated with
+ (which just deletes
+ and then adds the entire document). When finished adding, deleting
+ and updating documents, should be called.
+
+ These changes are buffered in memory and periodically
+ flushed to the (during the above method
+ calls). A flush is triggered when there are enough
+ buffered deletes (see )
+ or enough added documents since the last flush, whichever
+ is sooner. For the added documents, flushing is triggered
+ either by RAM usage of the documents (see
+ ) or the number of added documents.
+ The default is to flush when RAM usage hits 16 MB. For
+ best indexing speed you should flush by RAM usage with a
+ large RAM buffer. Note that flushing just moves the
+ internal buffered state in IndexWriter into the index, but
+ these changes are not visible to IndexReader until either
+ or is called. A flush may
+ also trigger one or more segment merges which by default
+ run with a background thread so as not to block the
+ addDocument calls (see below
+ for changing the ).
+
+ The optional autoCommit argument to the
+ constructors
+ controls visibility of the changes to
+ instances reading the same index. When this is
+ false, changes are not visible until
+ or is called. Note that changes will still be
+ flushed to the as new files, but are
+ not committed (no new segments_N file is written
+ referencing the new files, nor are the files sync'd to stable storage)
+ until or is called. If something
+ goes terribly wrong (for example the JVM crashes), then
+ the index will reflect none of the changes made since the
+ last commit, or the starting state if commit was not called.
+ You can also call , which closes the writer
+ without committing any changes, and removes any index
+ files that had been flushed but are now unreferenced.
+ This mode is useful for preventing readers from refreshing
+ at a bad time (for example after you've done all your
+ deletes but before you've done your adds). It can also be
+ used to implement simple single-writer transactional
+ semantics ("all or none"). You can do a two-phase commit
+ by calling
+ followed by . This is necessary when
+ Lucene is working with an external resource (for example,
+ a database) and both must either commit or rollback the
+ transaction.
+ When autoCommit is true then
+ the writer will periodically commit on its own. [Deprecated: Note that in 3.0, IndexWriter will
+ no longer accept autoCommit=true (it will be hardwired to
+ false). You can always call yourself
+ when needed]. There is
+ no guarantee when exactly an auto commit will occur (it
+ used to be after every flush, but it is now after every
+ completed merge, as of 2.4). If you want to force a
+ commit, call , or, close the writer. Once
+ a commit has finished, newly opened instances will
+ see the changes to the index as of that commit. When
+ running in this mode, be careful not to refresh your
+ readers while optimize or segment merges are taking place
+ as this can tie up substantial disk space.
+
+ Regardless of autoCommit, an
+ or will only see the
+ index as of the "point in time" that it was opened. Any
+ changes committed to the index after the reader was opened
+ are not visible until the reader is re-opened.
+ If an index will not have more documents added for a while and optimal search
+ performance is desired, then either the full
+ method or partial method should be
+ called before the index is closed.
+ Opening an IndexWriter creates a lock file for the directory in use. Trying to open
+ another IndexWriter on the same directory will lead to a
+ . The
+ is also thrown if an IndexReader on the same directory is used to delete documents
+ from the index.
+
+
+ Expert: IndexWriter allows an optional
+ implementation to be
+ specified. You can use this to control when prior commits
+ are deleted from the index. The default policy is
+ which removes all prior
+ commits as soon as a new commit is done (this matches
+ behavior before 2.2). Creating your own policy can allow
+ you to explicitly keep previous "point in time" commits
+ alive in the index for some time, to allow readers to
+ refresh to the new commit without having the old commit
+ deleted out from under them. This is necessary on
+ filesystems like NFS that do not support "delete on last
+ close" semantics, which Lucene's "point in time" search
+ normally relies on.
+ Expert:
+ IndexWriter allows you to separately change
+ the and the .
+ The is invoked whenever there are
+ changes to the segments in the index. Its role is to
+ select which merges to do, if any, and return a
+ describing the merges. It
+ also selects merges to do for optimize(). (The default is
+ . Then, the
+ is invoked with the requested merges and
+ it decides when and how to run the merges. The default is
+ .
+ NOTE: if you hit an
+ OutOfMemoryError then IndexWriter will quietly record this
+ fact and block all future segment commits. This is a
+ defensive measure in case any internal state (buffered
+ documents and deletions) were corrupted. Any subsequent
+ calls to will throw an
+ IllegalStateException. The only course of action is to
+ call , which internally will call
+ , to undo any changes to the index since the
+ last commit. If you opened the writer with autoCommit
+ false you can also just call
+ directly.
+ NOTE:
+ instances are completely thread
+ safe, meaning multiple threads can call any of its
+ methods, concurrently. If your application requires
+ external synchronization, you should not
+ synchronize on the IndexWriter instance as
+ this may cause deadlock; use your own (non-Lucene) objects
+ instead.
+
+
+
+ Name of the write lock in the index.
+
+
+ Value to denote a flush trigger is disabled
+
+
+ Default value is 16 MB (which means flush when buffered
+ docs consume 16 MB RAM). Change using .
+
+
+
+ Default value is 10,000. Change using .
+
+
+ Default value is 128. Change using .
+
+
+ Default value for the write lock timeout (1,000).
+
+
+
+
+
+
+
+
+
+
+ Disabled by default (because IndexWriter flushes by RAM usage
+ by default). Change using .
+
+
+
+ Disabled by default (because IndexWriter flushes by RAM usage
+ by default). Change using .
+
+
+
+
+
+
+
+
+
+ Absolute hard maximum length for a term. If a term
+ arrives from the analyzer longer than this length, it
+ is skipped and a message is printed to infoStream, if
+ set (see ).
+
+
+
+ Default for . On
+ Windows this defaults to 10.0 seconds; elsewhere it's
+ 0.
+
+
+
+ Expert: returns a readonly reader, covering all committed as well as
+ un-committed changes to the index. This provides "near real-time"
+ searching, in that changes made during an IndexWriter session can be
+ quickly made available for searching without closing the writer nor
+ calling .
+
+
+ Note that this is functionally equivalent to calling {#commit} and then
+ using to open a new reader. But the turarnound
+ time of this method should be faster since it avoids the potentially
+ costly .
+
+
+ You must close the returned by this method once you are done using it.
+
+
+ It's near real-time because there is no hard
+ guarantee on how quickly you can get a new reader after
+ making changes with IndexWriter. You'll have to
+ experiment in your situation to determine if it's
+ faster enough. As this is a new and experimental
+ feature, please report back on your findings so we can
+ learn, improve and iterate.
+
+ The resulting reader suppports
+ , but that call will simply forward
+ back to this method (though this may change in the
+ future).
+
+ The very first time this method is called, this
+ writer instance will make every effort to pool the
+ readers that it opens for doing merges, applying
+ deletes, etc. This means additional resources (RAM,
+ file descriptors, CPU time) will be consumed.
+
+ For lower latency on reopening a reader, you should call
+ to call to
+ pre-warm a newly merged segment before it's committed
+ to the index. This is important for minimizing index-to-search
+ delay after a large merge.
+
+ If an addIndexes* call is running in another thread,
+ then this reader will only search those segments from
+ the foreign index that have been successfully copied
+ over, so far.
+
+ NOTE: Once the writer is closed, any
+ outstanding readers may continue to be used. However,
+ if you attempt to reopen any of those readers, you'll
+ hit an .
+
+ NOTE: This API is experimental and might
+ change in incompatible ways in the next release.
+
+
+ IndexReader that covers entire index plus all
+ changes made so far by this IndexWriter instance
+
+
+ IOException
+
+
+ Expert: like , except you can
+ specify which termInfosIndexDivisor should be used for
+ any newly opened readers.
+
+ Subsambles which indexed
+ terms are loaded into RAM. This has the same effect as
+ except that setting
+ must be done at indexing time while this setting can be
+ set per reader. When set to N, then one in every
+ N*termIndexInterval terms in the index is loaded into
+ memory. By setting this to a value > 1 you can reduce
+ memory usage, at the expense of higher latency when
+ loading a TermInfo. The default value is 1. Set this
+ to -1 to skip loading the terms index entirely.
+
+
+
+ Obtain the number of deleted docs for a pooled reader.
+ If the reader isn't being pooled, the segmentInfo's
+ delCount is returned.
+
+
+
+ Used internally to throw an
+ if this IndexWriter has been
+ closed.
+
+ AlreadyClosedException if this IndexWriter is
+
+
+ Prints a message to the infoStream (if non-null),
+ prefixed with the identifying information for this
+ writer and the thread that's calling it.
+
+
+
+ Casts current mergePolicy to LogMergePolicy, and throws
+ an exception if the mergePolicy is not a LogMergePolicy.
+
+
+
+ Get the current setting of whether newly flushed
+ segments will use the compound file format. Note that
+ this just returns the value previously set with
+ setUseCompoundFile(boolean), or the default value
+ (true). You cannot use this to query the status of
+ previously flushed segments.
+
+ Note that this method is a convenience method: it
+ just calls mergePolicy.getUseCompoundFile as long as
+ mergePolicy is an instance of .
+ Otherwise an IllegalArgumentException is thrown.
+
+
+
+
+
+
+ Setting to turn on usage of a compound file. When on,
+ multiple files for each segment are merged into a
+ single file when a new segment is flushed.
+
+ Note that this method is a convenience method: it
+ just calls mergePolicy.setUseCompoundFile as long as
+ mergePolicy is an instance of .
+ Otherwise an IllegalArgumentException is thrown.
+
+
+
+ Expert: Set the Similarity implementation used by this IndexWriter.
+
+
+
+
+
+
+ Expert: Return the Similarity implementation used by this IndexWriter.
+
+ This defaults to the current value of .
+
+
+
+ Expert: Set the interval between indexed terms. Large values cause less
+ memory to be used by IndexReader, but slow random-access to terms. Small
+ values cause more memory to be used by an IndexReader, and speed
+ random-access to terms.
+
+ This parameter determines the amount of computation required per query
+ term, regardless of the number of documents that contain that term. In
+ particular, it is the maximum number of other terms that must be
+ scanned before a term is located and its frequency and position information
+ may be processed. In a large index with user-entered query terms, query
+ processing time is likely to be dominated not by term lookup but rather
+ by the processing of frequency and positional data. In a small index
+ or when many uncommon query terms are generated (e.g., by wildcard
+ queries) term lookup may become a dominant cost.
+
+ In particular, numUniqueTerms/interval terms are read into
+ memory by an IndexReader, and, on average, interval/2 terms
+ must be scanned for each random term access.
+
+
+
+
+
+
+ Expert: Return the interval between indexed terms.
+
+
+
+
+
+
+ Constructs an IndexWriter for the index in path.
+ Text will be analyzed with a. If create
+ is true, then a new, empty index will be created in
+ path, replacing the index already there,
+ if any.
+
+ NOTE: autoCommit (see above) is set to false with this
+ constructor.
+
+
+ the path to the index directory
+
+ the analyzer to use
+
+ true to create the index or overwrite
+ the existing one; false to append to the existing
+ index
+
+ Maximum field length in number of tokens/terms: LIMITED, UNLIMITED, or user-specified
+ via the MaxFieldLength constructor.
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be read/written to, or
+ if it does not exist and create is
+ false or if there is any other low-level
+ IO error
+
+ Use
+
+
+
+ Constructs an IndexWriter for the index in path.
+ Text will be analyzed with a. If create
+ is true, then a new, empty index will be created in
+ path, replacing the index already there, if any.
+
+
+ the path to the index directory
+
+ the analyzer to use
+
+ true to create the index or overwrite
+ the existing one; false to append to the existing
+ index
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be read/written to, or
+ if it does not exist and create is
+ false or if there is any other low-level
+ IO error
+
+ This constructor will be removed in the 3.0 release.
+ Use
+
+ instead, and call when needed.
+
+
+
+ Constructs an IndexWriter for the index in path.
+ Text will be analyzed with a. If create
+ is true, then a new, empty index will be created in
+ path, replacing the index already there, if any.
+
+ NOTE: autoCommit (see above) is set to false with this
+ constructor.
+
+
+ the path to the index directory
+
+ the analyzer to use
+
+ true to create the index or overwrite
+ the existing one; false to append to the existing
+ index
+
+ Maximum field length in number of terms/tokens: LIMITED, UNLIMITED, or user-specified
+ via the MaxFieldLength constructor.
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be read/written to, or
+ if it does not exist and create is
+ false or if there is any other low-level
+ IO error
+
+ Use
+
+
+
+ Constructs an IndexWriter for the index in path.
+ Text will be analyzed with a. If create
+ is true, then a new, empty index will be created in
+ path, replacing the index already there, if any.
+
+
+ the path to the index directory
+
+ the analyzer to use
+
+ true to create the index or overwrite
+ the existing one; false to append to the existing
+ index
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be read/written to, or
+ if it does not exist and create is
+ false or if there is any other low-level
+ IO error
+
+ This constructor will be removed in the 3.0 release.
+ Use
+
+ instead, and call when needed.
+
+
+
+ Constructs an IndexWriter for the index in d.
+ Text will be analyzed with a. If create
+ is true, then a new, empty index will be created in
+ d, replacing the index already there, if any.
+
+ NOTE: autoCommit (see above) is set to false with this
+ constructor.
+
+
+ the index directory
+
+ the analyzer to use
+
+ true to create the index or overwrite
+ the existing one; false to append to the existing
+ index
+
+ Maximum field length in number of terms/tokens: LIMITED, UNLIMITED, or user-specified
+ via the MaxFieldLength constructor.
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be read/written to, or
+ if it does not exist and create is
+ false or if there is any other low-level
+ IO error
+
+
+
+ Constructs an IndexWriter for the index in d.
+ Text will be analyzed with a. If create
+ is true, then a new, empty index will be created in
+ d, replacing the index already there, if any.
+
+
+ the index directory
+
+ the analyzer to use
+
+ true to create the index or overwrite
+ the existing one; false to append to the existing
+ index
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be read/written to, or
+ if it does not exist and create is
+ false or if there is any other low-level
+ IO error
+
+ This constructor will be removed in the 3.0
+ release, and call when needed.
+ Use instead.
+
+
+
+ Constructs an IndexWriter for the index in
+ path, first creating it if it does not
+ already exist. Text will be analyzed with
+ a.
+
+ NOTE: autoCommit (see above) is set to false with this
+ constructor.
+
+
+ the path to the index directory
+
+ the analyzer to use
+
+ Maximum field length in number of terms/tokens: LIMITED, UNLIMITED, or user-specified
+ via the MaxFieldLength constructor.
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be
+ read/written to or if there is any other low-level
+ IO error
+
+ Use
+
+
+
+ Constructs an IndexWriter for the index in
+ path, first creating it if it does not
+ already exist. Text will be analyzed with
+ a.
+
+
+ the path to the index directory
+
+ the analyzer to use
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be
+ read/written to or if there is any other low-level
+ IO error
+
+ This constructor will be removed in the 3.0
+ release, and call when needed.
+ Use instead.
+
+
+
+ Constructs an IndexWriter for the index in
+ path, first creating it if it does not
+ already exist. Text will be analyzed with
+ a.
+
+ NOTE: autoCommit (see above) is set to false with this
+ constructor.
+
+
+ the path to the index directory
+
+ the analyzer to use
+
+ Maximum field length in number of terms/tokens: LIMITED, UNLIMITED, or user-specified
+ via the MaxFieldLength constructor.
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be
+ read/written to or if there is any other low-level
+ IO error
+
+ Use
+
+
+
+ Constructs an IndexWriter for the index in
+ path, first creating it if it does not
+ already exist. Text will be analyzed with
+ a.
+
+
+ the path to the index directory
+
+ the analyzer to use
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be
+ read/written to or if there is any other low-level
+ IO error
+
+ This constructor will be removed in the 3.0 release.
+ Use
+ instead, and call when needed.
+
+
+
+ Constructs an IndexWriter for the index in
+ d, first creating it if it does not
+ already exist. Text will be analyzed with
+ a.
+
+ NOTE: autoCommit (see above) is set to false with this
+ constructor.
+
+
+ the index directory
+
+ the analyzer to use
+
+ Maximum field length in number of terms/tokens: LIMITED, UNLIMITED, or user-specified
+ via the MaxFieldLength constructor.
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be
+ read/written to or if there is any other low-level
+ IO error
+
+
+
+ Constructs an IndexWriter for the index in
+ d, first creating it if it does not
+ already exist. Text will be analyzed with
+ a.
+
+
+ the index directory
+
+ the analyzer to use
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be
+ read/written to or if there is any other low-level
+ IO error
+
+ This constructor will be removed in the 3.0 release.
+ Use
+
+ instead, and call when needed.
+
+
+
+ Constructs an IndexWriter for the index in
+ d, first creating it if it does not
+ already exist. Text will be analyzed with
+ a.
+
+
+ the index directory
+
+ see above
+
+ the analyzer to use
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be
+ read/written to or if there is any other low-level
+ IO error
+
+ This constructor will be removed in the 3.0 release.
+ Use
+
+ instead, and call when needed.
+
+
+
+ Constructs an IndexWriter for the index in d.
+ Text will be analyzed with a. If create
+ is true, then a new, empty index will be created in
+ d, replacing the index already there, if any.
+
+
+ the index directory
+
+ see above
+
+ the analyzer to use
+
+ true to create the index or overwrite
+ the existing one; false to append to the existing
+ index
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be read/written to, or
+ if it does not exist and create is
+ false or if there is any other low-level
+ IO error
+
+ This constructor will be removed in the 3.0 release.
+ Use
+
+ instead, and call when needed.
+
+
+
+ Expert: constructs an IndexWriter with a custom
+ , for the index in d,
+ first creating it if it does not already exist. Text
+ will be analyzed with a.
+
+ NOTE: autoCommit (see above) is set to false with this
+ constructor.
+
+
+ the index directory
+
+ the analyzer to use
+
+ see above
+
+ whether or not to limit field lengths
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be
+ read/written to or if there is any other low-level
+ IO error
+
+
+
+ Expert: constructs an IndexWriter with a custom
+ , for the index in d,
+ first creating it if it does not already exist. Text
+ will be analyzed with a.
+
+
+ the index directory
+
+ see above
+
+ the analyzer to use
+
+ see above
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be
+ read/written to or if there is any other low-level
+ IO error
+
+ This constructor will be removed in the 3.0 release.
+ Use
+
+ instead, and call when needed.
+
+
+
+ Expert: constructs an IndexWriter with a custom
+ , for the index in d.
+ Text will be analyzed with a. If
+ create is true, then a new, empty index
+ will be created in d, replacing the index
+ already there, if any.
+
+ NOTE: autoCommit (see above) is set to false with this
+ constructor.
+
+
+ the index directory
+
+ the analyzer to use
+
+ true to create the index or overwrite
+ the existing one; false to append to the existing
+ index
+
+ see above
+
+ , whether or not to limit field lengths. Value is in number of terms/tokens
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be read/written to, or
+ if it does not exist and create is
+ false or if there is any other low-level
+ IO error
+
+
+
+ Expert: constructs an IndexWriter with a custom
+ and ,
+ for the index in d.
+ Text will be analyzed with a. If
+ create is true, then a new, empty index
+ will be created in d, replacing the index
+ already there, if any.
+
+ NOTE: autoCommit (see above) is set to false with this
+ constructor.
+
+
+ the index directory
+
+ the analyzer to use
+
+ true to create the index or overwrite
+ the existing one; false to append to the existing
+ index
+
+ see above
+
+ whether or not to limit field lengths, value is in number of terms/tokens. See .
+
+ the chain to be used to
+ process documents
+
+ which commit to open
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be read/written to, or
+ if it does not exist and create is
+ false or if there is any other low-level
+ IO error
+
+
+
+ Expert: constructs an IndexWriter with a custom
+ , for the index in d.
+ Text will be analyzed with a. If
+ create is true, then a new, empty index
+ will be created in d, replacing the index
+ already there, if any.
+
+
+ the index directory
+
+ see above
+
+ the analyzer to use
+
+ true to create the index or overwrite
+ the existing one; false to append to the existing
+ index
+
+ see above
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be read/written to, or
+ if it does not exist and create is
+ false or if there is any other low-level
+ IO error
+
+ This constructor will be removed in the 3.0 release.
+ Use
+
+ instead, and call when needed.
+
+
+
+ Expert: constructs an IndexWriter on specific commit
+ point, with a custom , for
+ the index in d. Text will be analyzed
+ with a.
+
+ This is only meaningful if you've used a
+ in that past that keeps more than
+ just the last commit.
+
+ This operation is similar to ,
+ except that method can only rollback what's been done
+ with the current instance of IndexWriter since its last
+ commit, whereas this method can rollback to an
+ arbitrary commit point from the past, assuming the
+ has preserved past
+ commits.
+
+ NOTE: autoCommit (see above) is set to false with this
+ constructor.
+
+
+ the index directory
+
+ the analyzer to use
+
+ see above
+
+ whether or not to limit field lengths, value is in number of terms/tokens. See .
+
+ which commit to open
+
+ CorruptIndexException if the index is corrupt
+ LockObtainFailedException if another writer
+ has this index open (write.lock could not
+ be obtained)
+
+ IOException if the directory cannot be read/written to, or
+ if it does not exist and create is
+ false or if there is any other low-level
+ IO error
+
+
+
+ Expert: set the merge policy used by this writer.
+
+
+ Expert: returns the current MergePolicy in use by this writer.
+
+
+
+
+ Expert: set the merge scheduler used by this writer.
+
+
+ Expert: returns the current MergePolicy in use by this
+ writer.
+
+
+
+
+
+ Determines the largest segment (measured by
+ document count) that may be merged with other segments.
+ Small values (e.g., less than 10,000) are best for
+ interactive indexing, as this limits the length of
+ pauses while indexing to a few seconds. Larger values
+ are best for batched indexing and speedier
+ searches.
+
+ The default value is .
+
+ Note that this method is a convenience method: it
+ just calls mergePolicy.setMaxMergeDocs as long as
+ mergePolicy is an instance of .
+ Otherwise an IllegalArgumentException is thrown.
+
+ The default merge policy ()
+ also allows you to set this
+ limit by net size (in MB) of the segment, using
+ .
+
+
+
+ Returns the largest segment (measured by document
+ count) that may be merged with other segments.
+
+ Note that this method is a convenience method: it
+ just calls mergePolicy.getMaxMergeDocs as long as
+ mergePolicy is an instance of .
+ Otherwise an IllegalArgumentException is thrown.
+
+
+
+
+
+
+ The maximum number of terms that will be indexed for a single field in a
+ document. This limits the amount of memory required for indexing, so that
+ collections with very large files will not crash the indexing process by
+ running out of memory. This setting refers to the number of running terms,
+ not to the number of different terms.
+ Note: this silently truncates large documents, excluding from the
+ index all terms that occur further in the document. If you know your source
+ documents are large, be sure to set this value high enough to accomodate
+ the expected size. If you set it to Integer.MAX_VALUE, then the only limit
+ is your memory, but you should anticipate an OutOfMemoryError.
+ By default, no more than terms
+ will be indexed for a field.
+
+
+
+ Returns the maximum number of terms that will be
+ indexed for a single field in a document.
+
+
+
+
+
+ Sets the termsIndexDivisor passed to any readers that
+ IndexWriter opens, for example when applying deletes
+ or creating a near-real-time reader in
+ . Default value is
+ .
+
+
+
+
+
+
+
+ Determines the minimal number of documents required
+ before the buffered in-memory documents are flushed as
+ a new Segment. Large values generally gives faster
+ indexing.
+
+ When this is set, the writer will flush every
+ maxBufferedDocs added documents. Pass in
+ to prevent triggering a flush due
+ to number of buffered documents. Note that if flushing
+ by RAM usage is also enabled, then the flush will be
+ triggered by whichever comes first.
+
+ Disabled by default (writer flushes by RAM usage).
+
+
+ IllegalArgumentException if maxBufferedDocs is
+ enabled but smaller than 2, or it disables maxBufferedDocs
+ when ramBufferSize is already disabled
+
+
+
+
+
+ If we are flushing by doc count (not by RAM usage), and
+ using LogDocMergePolicy then push maxBufferedDocs down
+ as its minMergeDocs, to keep backwards compatibility.
+
+
+
+ Returns the number of buffered added documents that will
+ trigger a flush if enabled.
+
+
+
+
+
+ Determines the amount of RAM that may be used for
+ buffering added documents and deletions before they are
+ flushed to the Directory. Generally for faster
+ indexing performance it's best to flush by RAM usage
+ instead of document count and use as large a RAM buffer
+ as you can.
+
+ When this is set, the writer will flush whenever
+ buffered documents and deletions use this much RAM.
+ Pass in to prevent
+ triggering a flush due to RAM usage. Note that if
+ flushing by document count is also enabled, then the
+ flush will be triggered by whichever comes first.
+
+ NOTE: the account of RAM usage for pending
+ deletions is only approximate. Specifically, if you
+ delete by Query, Lucene currently has no way to measure
+ the RAM usage if individual Queries so the accounting
+ will under-estimate and you should compensate by either
+ calling commit() periodically yourself, or by using
+ to flush by count
+ instead of RAM usage (each buffered delete Query counts
+ as one).
+
+
+ NOTE: because IndexWriter uses ints when managing its
+ internal storage, the absolute maximum value for this setting is somewhat
+ less than 2048 MB. The precise limit depends on various factors, such as
+ how large your documents are, how many fields have norms, etc., so it's
+ best to set this value comfortably under 2048.
+
+
+ The default value is .
+
+
+ IllegalArgumentException if ramBufferSize is
+ enabled but non-positive, or it disables ramBufferSize
+ when maxBufferedDocs is already disabled
+
+
+
+ Returns the value set by if enabled.
+
+
+ Determines the minimal number of delete terms required before the buffered
+ in-memory delete terms are applied and flushed. If there are documents
+ buffered in memory at the time, they are merged and a new segment is
+ created.
+ Disabled by default (writer flushes by RAM usage).
+
+
+ IllegalArgumentException if maxBufferedDeleteTerms
+ is enabled but smaller than 1
+
+
+
+
+
+ Returns the number of buffered deleted terms that will
+ trigger a flush if enabled.
+
+
+
+
+
+ Determines how often segment indices are merged by addDocument(). With
+ smaller values, less RAM is used while indexing, and searches on
+ unoptimized indices are faster, but indexing speed is slower. With larger
+ values, more RAM is used during indexing, and while searches on unoptimized
+ indices are slower, indexing is faster. Thus larger values (> 10) are best
+ for batch index creation, and smaller values (< 10) for indices that are
+ interactively maintained.
+
+ Note that this method is a convenience method: it
+ just calls mergePolicy.setMergeFactor as long as
+ mergePolicy is an instance of .
+ Otherwise an IllegalArgumentException is thrown.
+
+ This must never be less than 2. The default value is 10.
+
+
+
+ Returns the number of segments that are merged at
+ once and also controls the total number of segments
+ allowed to accumulate in the index.
+
+ Note that this method is a convenience method: it
+ just calls mergePolicy.getMergeFactor as long as
+ mergePolicy is an instance of .
+ Otherwise an IllegalArgumentException is thrown.
+
+
+
+
+
+
+ Expert: returns max delay inserted before syncing a
+ commit point. On Windows, at least, pausing before
+ syncing can increase net indexing throughput. The
+ delay is variable based on size of the segment's files,
+ and is only inserted when using
+ ConcurrentMergeScheduler for merges.
+
+ This will be removed in 3.0, when
+ autoCommit=true is removed from IndexWriter.
+
+
+
+ Expert: sets the max delay before syncing a commit
+ point.
+
+
+
+ This will be removed in 3.0, when
+ autoCommit=true is removed from IndexWriter.
+
+
+
+ If non-null, this will be the default infoStream used
+ by a newly instantiated IndexWriter.
+
+
+
+
+
+ Returns the current default infoStream for newly
+ instantiated IndexWriters.
+
+
+
+
+
+ If non-null, information about merges, deletes and a
+ message when maxFieldLength is reached will be printed
+ to this.
+
+
+
+ Returns the current infoStream in use by this writer.
+
+
+
+
+ Returns true if verbosing is enabled (i.e., infoStream != null).
+
+
+ to change the default value for all instances of IndexWriter.
+
+
+
+ Returns allowed timeout when acquiring the write lock.
+
+
+
+
+ Sets the default (for any instance of IndexWriter) maximum time to wait for a write lock (in
+ milliseconds).
+
+
+
+ Returns default write lock timeout for newly
+ instantiated IndexWriters.
+
+
+
+
+
+ Commits all changes to an index and closes all
+ associated files. Note that this may be a costly
+ operation, so, try to re-use a single writer instead of
+ closing and opening a new one. See for
+ caveats about write caching done by some IO devices.
+
+ If an Exception is hit during close, eg due to disk
+ full or some other reason, then both the on-disk index
+ and the internal state of the IndexWriter instance will
+ be consistent. However, the close will not be complete
+ even though part of it (flushing buffered documents)
+ may have succeeded, so the write lock will still be
+ held.
+
+ If you can correct the underlying cause (eg free up
+ some disk space) then you can call close() again.
+ Failing that, if you want to force the write lock to be
+ released (dangerous, because you may then lose buffered
+ docs in the IndexWriter instance) then you can do
+ something like this:
+
+
+ try {
+ writer.close();
+ } finally {
+ if (IndexWriter.isLocked(directory)) {
+ IndexWriter.unlock(directory);
+ }
+ }
+
+
+ after which, you must be certain not to use the writer
+ instance anymore.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer, again. See above for details.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+
+ .NET
+
+
+
+ Closes the index with or without waiting for currently
+ running merges to finish. This is only meaningful when
+ using a MergeScheduler that runs merges in background
+ threads.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer, again. See above for details.
+
+ NOTE: it is dangerous to always call
+ close(false), especially when IndexWriter is not open
+ for very long, because this can result in "merge
+ starvation" whereby long merges will never have a
+ chance to finish. This will cause too many segments in
+ your index over time.
+
+
+ if true, this call will block
+ until all merges complete; else, it will ask all
+ running merges to abort, wait until those merges have
+ finished (which should be at most a few seconds), and
+ then return.
+
+
+
+ Tells the docWriter to close its currently open shared
+ doc stores (stored fields & vectors files).
+ Return value specifices whether new doc store files are compound or not.
+
+
+
+ Returns the Directory used by this index.
+
+
+ Returns the analyzer used by this index.
+
+
+ Returns the number of documents currently in this
+ index, not counting deletions.
+
+ Please use (same as this
+ method) or (also takes deletions
+ into account), instead.
+
+
+
+ Returns total number of docs in this index, including
+ docs not yet flushed (still in the RAM buffer),
+ not counting deletions.
+
+
+
+
+
+ Returns total number of docs in this index, including
+ docs not yet flushed (still in the RAM buffer), and
+ including deletions. NOTE: buffered deletions
+ are not counted. If you really need these to be
+ counted you should call first.
+
+
+
+
+
+ The maximum number of terms that will be indexed for a single field in a
+ document. This limits the amount of memory required for indexing, so that
+ collections with very large files will not crash the indexing process by
+ running out of memory.
+ Note that this effectively truncates large documents, excluding from the
+ index terms that occur further in the document. If you know your source
+ documents are large, be sure to set this value high enough to accomodate
+ the expected size. If you set it to Integer.MAX_VALUE, then the only limit
+ is your memory, but you should anticipate an OutOfMemoryError.
+ By default, no more than 10,000 terms will be indexed for a field.
+
+
+
+
+
+
+ Adds a document to this index. If the document contains more than
+ terms for a given field, the remainder are
+ discarded.
+
+ Note that if an Exception is hit (for example disk full)
+ then the index will be consistent, but this document
+ may not have been added. Furthermore, it's possible
+ the index will have one segment in non-compound format
+ even when using compound files (when a merge has
+ partially succeeded).
+
+ This method periodically flushes pending documents
+ to the Directory (see above), and
+ also periodically triggers segment merges in the index
+ according to the in use.
+
+ Merges temporarily consume space in the
+ directory. The amount of space required is up to 1X the
+ size of all segments being merged, when no
+ readers/searchers are open against the index, and up to
+ 2X the size of all segments being merged when
+ readers/searchers are open against the index (see
+ for details). The sequence of
+ primitive merge operations performed is governed by the
+ merge policy.
+
+ Note that each term in the document can be no longer
+ than 16383 characters, otherwise an
+ IllegalArgumentException will be thrown.
+
+ Note that it's possible to create an invalid Unicode
+ string in java if a UTF16 surrogate pair is malformed.
+ In this case, the invalid characters are silently
+ replaced with the Unicode replacement character
+ U+FFFD.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Adds a document to this index, using the provided analyzer instead of the
+ value of . If the document contains more than
+ terms for a given field, the remainder are
+ discarded.
+
+ See for details on
+ index and IndexWriter state after an Exception, and
+ flushing/merging temporary free space requirements.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Deletes the document(s) containing term.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ the term to identify the documents to be deleted
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Deletes the document(s) containing any of the
+ terms. All deletes are flushed at the same time.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ array of terms to identify the documents
+ to be deleted
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Deletes the document(s) matching the provided query.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ the query to identify the documents to be deleted
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Deletes the document(s) matching any of the provided queries.
+ All deletes are flushed at the same time.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ array of queries to identify the documents
+ to be deleted
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Updates a document by first deleting the document(s)
+ containing term and then adding the new
+ document. The delete and then add are atomic as seen
+ by a reader on the same index (flush may happen only after
+ the add).
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ the term to identify the document(s) to be
+ deleted
+
+ the document to be added
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Updates a document by first deleting the document(s)
+ containing term and then adding the new
+ document. The delete and then add are atomic as seen
+ by a reader on the same index (flush may happen only after
+ the add).
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ the term to identify the document(s) to be
+ deleted
+
+ the document to be added
+
+ the analyzer to use when analyzing the document
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ If non-null, information about merges will be printed to this.
+
+
+ Requests an "optimize" operation on an index, priming the index
+ for the fastest available search. Traditionally this has meant
+ merging all segments into a single segment as is done in the
+ default merge policy, but individaul merge policies may implement
+ optimize in different ways.
+
+ It is recommended that this method be called upon completion of indexing. In
+ environments with frequent updates, optimize is best done during low volume times, if at all.
+
+
+ See http://www.gossamer-threads.com/lists/lucene/java-dev/47895 for more discussion.
+
+ Note that optimize requires 2X the index size free
+ space in your Directory (3X if you're using compound
+ file format). For example, if your index
+ size is 10 MB then you need 20 MB free for optimize to
+ complete (30 MB if you're using compound fiel format).
+
+ If some but not all readers re-open while an
+ optimize is underway, this will cause > 2X temporary
+ space to be consumed as those new readers will then
+ hold open the partially optimized segments at that
+ time. It is best not to re-open readers while optimize
+ is running.
+
+ The actual temporary usage could be much less than
+ these figures (it depends on many factors).
+
+ In general, once the optimize completes, the total size of the
+ index will be less than the size of the starting index.
+ It could be quite a bit smaller (if there were many
+ pending deletes) or just slightly smaller.
+
+ If an Exception is hit during optimize(), for example
+ due to disk full, the index will not be corrupt and no
+ documents will have been lost. However, it may have
+ been partially optimized (some segments were merged but
+ not all), and it's possible that one of the segments in
+ the index will be in non-compound format even when
+ using compound file format. This will occur when the
+ Exception is hit during conversion of the segment into
+ compound format.
+
+ This call will optimize those segments present in
+ the index when the call started. If other threads are
+ still adding documents and flushing segments, those
+ newly created segments will not be optimized unless you
+ call optimize again.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+
+
+ Optimize the index down to <= maxNumSegments. If
+ maxNumSegments==1 then this is the same as
+ .
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ maximum number of segments left
+ in the index after optimization finishes
+
+
+
+ Just like , except you can specify
+ whether the call should block until the optimize
+ completes. This is only meaningful with a
+ that is able to run merges in
+ background threads.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+
+ Just like , except you can
+ specify whether the call should block until the
+ optimize completes. This is only meaningful with a
+ that is able to run merges in
+ background threads.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+
+ Returns true if any merges in pendingMerges or
+ runningMerges are optimization merges.
+
+
+
+ Just like , except you can
+ specify whether the call should block until the
+ operation completes. This is only meaningful with a
+ that is able to run merges in
+ background threads.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+
+ Expunges all deletes from the index. When an index
+ has many document deletions (or updates to existing
+ documents), it's best to either call optimize or
+ expungeDeletes to remove all unused data in the index
+ associated with the deleted documents. To see how
+ many deletions you have pending in your index, call
+
+ This saves disk space and memory usage while
+ searching. expungeDeletes should be somewhat faster
+ than optimize since it does not insist on reducing the
+ index to a single segment (though, this depends on the
+ ; see .). Note that
+ this call does not first commit any buffered
+ documents, so you must do so yourself if necessary.
+ See also
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+
+ Expert: asks the mergePolicy whether any merges are
+ necessary now and if so, runs the requested merges and
+ then iterate (test again if merges are needed) until no
+ more merges are returned by the mergePolicy.
+
+ Explicit calls to maybeMerge() are usually not
+ necessary. The most common case is when merge policy
+ parameters have changed.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+
+ Expert: the calls this method
+ to retrieve the next merge requested by the
+ MergePolicy
+
+
+
+ Like getNextMerge() except only returns a merge if it's
+ external.
+
+
+
+ Please use instead.
+
+
+
+ Close the IndexWriter without committing
+ any changes that have occurred since the last commit
+ (or since it was opened, if commit hasn't been called).
+ This removes any temporary files that had been created,
+ after which the state of the index will be the same as
+ it was when commit() was last called or when this
+ writer was first opened. This can only be called when
+ this IndexWriter was opened with
+ autoCommit=false. This also clears a
+ previous call to .
+
+ IllegalStateException if this is called when
+ the writer was opened with autoCommit=true.
+
+ IOException if there is a low-level IO error
+
+
+ Delete all documents in the index.
+
+ This method will drop all buffered documents and will
+ remove all segments from the index. This change will not be
+ visible until a has been called. This method
+ can be rolled back using .
+
+ NOTE: this method is much faster than using deleteDocuments( new MatchAllDocsQuery() ).
+
+ NOTE: this method will forcefully abort all merges
+ in progress. If other threads are running
+ or any of the addIndexes methods, they
+ will receive s.
+
+
+
+ Wait for any currently outstanding merges to finish.
+
+ It is guaranteed that any merges started prior to calling this method
+ will have completed once this method completes.
+
+
+
+ Merges all segments from an array of indexes into this index.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ Use instead,
+ then separately call afterwards if
+ you need to.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Merges all segments from an array of indexes into this
+ index.
+
+ This may be used to parallelize batch indexing. A large document
+ collection can be broken into sub-collections. Each sub-collection can be
+ indexed in parallel, on a different thread, process or machine. The
+ complete index can then be created by merging sub-collection indexes
+ with this method.
+
+ NOTE: the index in each Directory must not be
+ changed (opened by a writer) while this method is
+ running. This method does not acquire a write lock in
+ each input Directory, so it is up to the caller to
+ enforce this.
+
+ NOTE: while this is running, any attempts to
+ add or delete documents (with another thread) will be
+ paused until this method completes.
+
+ This method is transactional in how Exceptions are
+ handled: it does not commit a new segments_N file until
+ all indexes are added. This means if an Exception
+ occurs (for example disk full), then either no indexes
+ will have been added or they all will have been.
+
+ Note that this requires temporary free space in the
+ Directory up to 2X the sum of all input indexes
+ (including the starting index). If readers/searchers
+ are open against the starting index, then temporary
+ free space required will be higher by the size of the
+ starting index (see for details).
+
+
+ Once this completes, the final size of the index
+ will be less than the sum of all input index sizes
+ (including the starting index). It could be quite a
+ bit smaller (if there were many pending deletes) or
+ just slightly smaller.
+
+
+ This requires this index not be among those to be added.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Merges the provided indexes into this index.
+ After this completes, the index is optimized.
+ The provided IndexReaders are not closed.
+
+ NOTE: while this is running, any attempts to
+ add or delete documents (with another thread) will be
+ paused until this method completes.
+
+ See for
+ details on transactional semantics, temporary free
+ space required in the Directory, and non-CFS segments
+ on an Exception.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+
+ A hook for extending classes to execute operations after pending added and
+ deleted documents have been flushed to the Directory but before the change
+ is committed (new segments_N file written).
+
+
+
+ Flush all in-memory buffered updates (adds and deletes)
+ to the Directory.
+ Note: while this will force buffered docs to be
+ pushed into the index, it will not make these docs
+ visible to a reader. Use instead
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ please call ) instead
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+
+ A hook for extending classes to execute operations before pending added and
+ deleted documents are flushed to the Directory.
+
+
+
+ Expert: prepare for commit.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+
+
+
+
+ Expert: prepare for commit, specifying
+ commitUserData Map (String -> String). This does the
+ first phase of 2-phase commit. You can only call this
+ when autoCommit is false. This method does all steps
+ necessary to commit changes since this writer was
+ opened: flushes pending added and deleted docs, syncs
+ the index files, writes most of next segments_N file.
+ After calling this you must call either
+ to finish the commit, or
+ to revert the commit and undo all changes
+ done since the writer was opened.
+
+ You can also just call directly
+ without prepareCommit first in which case that method
+ will internally call prepareCommit.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+ Opaque Map (String->String)
+ that's recorded into the segments file in the index,
+ and retrievable by
+ . Note that when
+ IndexWriter commits itself, for example if open with
+ autoCommit=true, or, during , the
+ commitUserData is unchanged (just carried over from
+ the prior commit). If this is null then the previous
+ commitUserData is kept. Also, the commitUserData will
+ only "stick" if there are actually changes in the
+ index to commit. Therefore it's best to use this
+ feature only when autoCommit is false.
+
+
+
+ Commits all pending changes (added & deleted
+ documents, optimizations, segment merges, added
+ indexes, etc.) to the index, and syncs all referenced
+ index files, such that a reader will see the changes
+ and the index updates will survive an OS or machine
+ crash or power loss. Note that this does not wait for
+ any running background merges to finish. This may be a
+ costly operation, so you should test the cost in your
+ application and do it only when really necessary.
+
+ Note that this operation calls Directory.sync on
+ the index files. That call should not return until the
+ file contents & metadata are on stable storage. For
+ FSDirectory, this calls the OS's fsync. But, beware:
+ some hardware devices may in fact cache writes even
+ during fsync, and return before the bits are actually
+ on stable storage, to give the appearance of faster
+ performance. If you have such a device, and it does
+ not have a battery backup (for example) then on power
+ loss it may still lose data. Lucene cannot guarantee
+ consistency on such devices.
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+
+
+
+
+
+
+ Commits all changes to the index, specifying a
+ commitUserData Map (String -> String). This just
+ calls (if you didn't
+ already call it) and then .
+
+ NOTE: if this method hits an OutOfMemoryError
+ you should immediately close the writer. See above for details.
+
+
+
+ Flush all in-memory buffered udpates (adds and deletes)
+ to the Directory.
+
+ if true, we may merge segments (if
+ deletes or docs were flushed) if necessary
+
+ if false we are allowed to keep
+ doc stores open to share with the next segment
+
+ whether pending deletes should also
+ be flushed
+
+
+
+ Expert: Return the total size of all index files currently cached in memory.
+ Useful for size management with flushRamDocs()
+
+
+
+ Expert: Return the number of documents currently
+ buffered in RAM.
+
+
+
+ Carefully merges deletes for the segments we just
+ merged. This is tricky because, although merging will
+ clear all deletes (compacts the documents), new
+ deletes may have been flushed to the segments since
+ the merge was started. This method "carries over"
+ such new deletes onto the newly merged segment, and
+ saves the resulting deletes file (incrementing the
+ delete generation for merge.info). If no deletes were
+ flushed, no new deletes file is saved.
+
+
+
+ Merges the indicated segments, replacing them in the stack with a
+ single segment.
+
+
+
+ Hook that's called when the specified merge is complete.
+
+
+ Checks whether this merge involves any segments
+ already participating in a merge. If not, this merge
+ is "registered", meaning we record that its segments
+ are now participating in a merge, and true is
+ returned. Else (the merge conflicts) false is
+ returned.
+
+
+
+ Does initial setup for a merge, which is fast but holds
+ the synchronized lock on IndexWriter instance.
+
+
+
+ This is called after merging a segment and before
+ building its CFS. Return true if the files should be
+ sync'd. If you return false, then the source segment
+ files that were merged cannot be deleted until the CFS
+ file is built & sync'd. So, returning false consumes
+ more transient disk space, but saves performance of
+ not having to sync files which will shortly be deleted
+ anyway.
+
+ -- this will be removed in 3.0 when
+ autoCommit is hardwired to false
+
+
+
+ Does fininishing for a merge, which is fast but holds
+ the synchronized lock on IndexWriter instance.
+
+
+
+ Does the actual (time-consuming) work of the merge,
+ but without holding synchronized lock on IndexWriter
+ instance
+
+
+
+ Blocks until all files in syncing are sync'd
+
+
+ Pauses before syncing. On Windows, at least, it's
+ best (performance-wise) to pause in order to let OS
+ flush writes to disk on its own, before forcing a
+ sync.
+
+ -- this will be removed in 3.0 when
+ autoCommit is hardwired to false
+
+
+
+ Walk through all files referenced by the current
+ segmentInfos and ask the Directory to sync each file,
+ if it wasn't already. If that succeeds, then we
+ prepare a new segments_N file but do not fully commit
+ it.
+
+
+
+ Returns true iff the index in the named directory is
+ currently locked.
+
+ the directory to check for a lock
+
+ IOException if there is a low-level IO error
+
+
+ Returns true iff the index in the named directory is
+ currently locked.
+
+ the directory to check for a lock
+
+ IOException if there is a low-level IO error
+ Use
+
+
+
+ Forcibly unlocks the index in the named directory.
+
+ Caution: this should only be used by failure recovery code,
+ when it is known that no other process nor thread is in fact
+ currently accessing this index.
+
+
+
+ Set the merged segment warmer. See
+ .
+
+
+
+ Returns the current merged segment warmer. See
+ .
+
+
+
+ Deprecated: emulates IndexWriter's buggy behavior when
+ first token(s) have positionIncrement==0 (ie, prior to
+ fixing LUCENE-1542)
+
+
+
+ Holds shared SegmentReader instances. IndexWriter uses
+ SegmentReaders for 1) applying deletes, 2) doing
+ merges, 3) handing out a real-time reader. This pool
+ reuses instances of the SegmentReaders in all these
+ places if it is in "near real-time mode" (getReader()
+ has been called on this instance).
+
+
+
+ Forcefully clear changes for the specifed segments,
+ and remove from the pool. This is called on succesful merge.
+
+
+
+ Release the segment reader (i.e. decRef it and close if there
+ are no more references.
+
+
+
+ IOException
+
+
+ Release the segment reader (i.e. decRef it and close if there
+ are no more references.
+
+
+
+
+ IOException
+
+
+ Remove all our references to readers, and commits
+ any pending changes.
+
+
+
+ Commit all segment reader in the pool.
+ IOException
+
+
+ Returns a ref to a clone. NOTE: this clone is not
+ enrolled in the pool, so you should simply close()
+ it when you're done (ie, do not call release()).
+
+
+
+ Obtain a SegmentReader from the readerPool. The reader
+ must be returned by calling
+
+
+
+
+
+
+
+ IOException
+
+
+ Obtain a SegmentReader from the readerPool. The reader
+ must be returned by calling
+
+
+
+
+
+
+
+
+
+
+
+
+ IOException
+
+
+ Specifies maximum field length (in number of tokens/terms) in constructors.
+ overrides the value set by
+ the constructor.
+
+
+
+ Private type-safe-enum-pattern constructor.
+
+
+ instance name
+
+ maximum field length
+
+
+
+ Public constructor to allow users to specify the maximum field size limit.
+
+
+ The maximum field length
+
+
+
+ Sets the maximum field length to .
+
+
+ Sets the maximum field length to
+
+
+
+
+
+ If has been called (ie, this writer
+ is in near real-time mode), then after a merge
+ completes, this class can be invoked to warm the
+ reader on the newly merged segment, before the merge
+ commits. This is not required for near real-time
+ search, but will reduce search latency on opening a
+ new near real-time reader after a merge completes.
+
+ NOTE: This API is experimental and might
+ change in incompatible ways in the next release.
+
+ NOTE: warm is called before any deletes have
+ been carried over to the merged segment.
+
+
+
+ Add a new thread
+
+
+ Abort (called after hitting AbortException)
+
+
+ Flush a new segment
+
+
+ Close doc stores
+
+
+ Attempt to free RAM, returning true if any RAM was
+ freed
+
+
+
+ This implementation that
+ keeps only the most recent commit and immediately removes
+ all prior commits after a new commit is done. This is
+ the default deletion policy.
+
+
+
+ Deletes all commits except the most recent one.
+
+
+ Deletes all commits except the most recent one.
+
+
+ This is a that measures size of a
+ segment as the total byte size of the segment's files.
+
+
+
+ This class implements a that tries
+ to merge segments into levels of exponentially
+ increasing size, where each level has fewer segments than
+ the value of the merge factor. Whenever extra segments
+ (beyond the merge factor upper bound) are encountered,
+ all segments within the level are merged. You can get or
+ set the merge factor using and
+ respectively.
+
+ This class is abstract and requires a subclass to
+ define the method which specifies how a
+ segment's size is determined.
+ is one subclass that measures size by document count in
+ the segment. is another
+ subclass that measures size as the total byte size of the
+ file(s) for the segment.
+
+
+
+ Expert: a MergePolicy determines the sequence of
+ primitive merge operations to be used for overall merge
+ and optimize operations.
+
+ Whenever the segments in an index have been altered by
+ , either the addition of a newly
+ flushed segment, addition of many segments from
+ addIndexes* calls, or a previous merge that may now need
+ to cascade, invokes
+ to give the MergePolicy a chance to pick
+ merges that are now required. This method returns a
+ instance describing the set of
+ merges that should be done, or null if no merges are
+ necessary. When IndexWriter.optimize is called, it calls
+ and the MergePolicy should
+ then return the necessary merges.
+
+ Note that the policy can return more than one merge at
+ a time. In this case, if the writer is using
+ , the merges will be run
+ sequentially but if it is using
+ they will be run concurrently.
+
+ The default MergePolicy is
+ .
+
+ NOTE: This API is new and still experimental
+ (subject to change suddenly in the next release)
+
+ NOTE: This class typically requires access to
+ package-private APIs (e.g. SegmentInfos) to do its job;
+ if you implement your own MergePolicy, you'll need to put
+ it in package Lucene.Net.Index in order to use
+ these APIs.
+
+
+
+ Determine what set of merge operations are now necessary on the index.
+ calls this whenever there is a change to the segments.
+ This call is always synchronized on the instance so
+ only one thread at a time will call this method.
+
+
+ the total set of segments in the index
+
+
+
+ Determine what set of merge operations is necessary in order to optimize
+ the index. calls this when its
+ method is called. This call is always
+ synchronized on the instance so only one thread at a
+ time will call this method.
+
+
+ the total set of segments in the index
+
+ requested maximum number of segments in the index (currently this
+ is always 1)
+
+ contains the specific SegmentInfo instances that must be merged
+ away. This may be a subset of all SegmentInfos.
+
+
+
+ Determine what set of merge operations is necessary in order to expunge all
+ deletes from the index.
+
+
+ the total set of segments in the index
+
+
+
+ Release all resources for the policy.
+
+
+ Returns true if a newly flushed (not from merge)
+ segment should use the compound file format.
+
+
+
+ Returns true if the doc store files should use the
+ compound file format.
+
+
+
+ OneMerge provides the information necessary to perform
+ an individual primitive merge operation, resulting in
+ a single new segment. The merge spec includes the
+ subset of segments to be merged as well as whether the
+ new segment should use the compound file format.
+
+
+
+ Record that an exception occurred while executing
+ this merge
+
+
+
+ Retrieve previous exception set by
+ .
+
+
+
+ Mark this merge as aborted. If this is called
+ before the merge is committed then the merge will
+ not be committed.
+
+
+
+ Returns true if this merge was aborted.
+
+
+ A MergeSpecification instance provides the information
+ necessary to perform multiple merges. It simply
+ contains a list of instances.
+
+
+
+ The subset of segments to be included in the primitive merge.
+
+
+ Exception thrown if there are any problems while
+ executing a merge.
+
+
+
+
+ Use instead
+
+
+
+
+ Use instead
+
+
+
+ Returns the of the index that hit
+ the exception.
+
+
+
+ Defines the allowed range of log(size) for each
+ level. A level is computed by taking the max segment
+ log size, minus LEVEL_LOG_SPAN, and finding all
+ segments falling within that range.
+
+
+
+ Default merge factor, which is how many segments are
+ merged at a time
+
+
+
+ Default maximum segment size. A segment of this size
+
+
+
+
+ Default noCFSRatio. If a merge's size is >= 10% of
+ the index, then we disable compound file for it.
+ See
+
+
+
+
+
+
+
+
+ If a merged segment will be more than this percentage
+ of the total size of the index, leave the segment as
+ non-compound file even if compound file is enabled.
+ Set to 1.0 to always use CFS regardless of merge
+ size.
+
+
+ Returns the number of segments that are merged at
+ once and also controls the total number of segments
+ allowed to accumulate in the index.
+
+
+
+ Determines how often segment indices are merged by
+ addDocument(). With smaller values, less RAM is used
+ while indexing, and searches on unoptimized indices are
+ faster, but indexing speed is slower. With larger
+ values, more RAM is used during indexing, and while
+ searches on unoptimized indices are slower, indexing is
+ faster. Thus larger values (> 10) are best for batch
+ index creation, and smaller values (< 10) for indices
+ that are interactively maintained.
+
+
+
+ Sets whether compound file format should be used for
+ newly flushed and newly merged segments.
+
+
+
+ Returns true if newly flushed and newly merge segments
+
+
+
+
+ Sets whether compound file format should be used for
+ newly flushed and newly merged doc store
+ segment files (term vectors and stored fields).
+
+
+
+ Returns true if newly flushed and newly merge doc
+ store segment files (term vectors and stored fields)
+
+
+
+
+
+ Sets whether the segment size should be calibrated by
+ the number of deletes when choosing segments for merge.
+
+
+
+ Returns true if the segment size should be calibrated
+ by the number of deletes when choosing segments for merge.
+
+
+
+ Returns true if this single info is optimized (has no
+ pending norms or deletes, is in the same dir as the
+ writer, and matches the current compound file setting
+
+
+
+ Returns the merges necessary to optimize the index.
+ This merge policy defines "optimized" to mean only one
+ segment in the index, where that segment has no
+ deletions pending nor separate norms, and it is in
+ compound file format if the current useCompoundFile
+ setting is true. This method returns multiple merges
+ (mergeFactor at a time) so the
+ in use may make use of concurrency.
+
+
+
+ Finds merges necessary to expunge all deletes from the
+ index. We simply merge adjacent segments that have
+ deletes, up to mergeFactor at a time.
+
+
+
+ Checks if any merges are now necessary and returns a
+ if so. A merge
+ is necessary when there are more than
+ segments at a given level. When
+ multiple levels have too many segments, this method
+ will return multiple merges, allowing the
+ to use concurrency.
+
+
+
+ Determines the largest segment (measured by
+ document count) that may be merged with other segments.
+ Small values (e.g., less than 10,000) are best for
+ interactive indexing, as this limits the length of
+ pauses while indexing to a few seconds. Larger values
+ are best for batched indexing and speedier
+ searches.
+
+ The default value is .
+
+ The default merge policy ()
+ also allows you to set this
+ limit by net size (in MB) of the segment, using
+ .
+
+
+
+ Returns the largest segment (measured by document
+ count) that may be merged with other segments.
+
+
+
+
+
+
+
+
+
+ Default maximum segment size. A segment of this size
+
+
+
+
+ Determines the largest segment (measured by total
+ byte size of the segment's files, in MB) that may be
+ merged with other segments. Small values (e.g., less
+ than 50 MB) are best for interactive indexing, as this
+ limits the length of pauses while indexing to a few
+ seconds. Larger values are best for batched indexing
+ and speedier searches.
+
+ Note that is also
+ used to check whether a segment is too large for
+ merging (it's either or).
+
+
+
+ Returns the largest segment (meaured by total byte
+ size of the segment's files, in MB) that may be merged
+ with other segments.
+
+
+
+
+
+ Sets the minimum size for the lowest level segments.
+ Any segments below this size are considered to be on
+ the same level (even if they vary drastically in size)
+ and will be merged whenever there are mergeFactor of
+ them. This effectively truncates the "long tail" of
+ small segments that would otherwise be created into a
+ single level. If you set this too large, it could
+ greatly increase the merging cost during indexing (if
+ you flush many small segments).
+
+
+
+ Get the minimum size for a segment to remain
+ un-merged.
+
+
+
+
+
+ This is a that measures size of a
+ segment as the number of documents (not taking deletions
+ into account).
+
+
+
+
+
+
+
+ Sets the minimum size for the lowest level segments.
+ Any segments below this size are considered to be on
+ the same level (even if they vary drastically in size)
+ and will be merged whenever there are mergeFactor of
+ them. This effectively truncates the "long tail" of
+ small segments that would otherwise be created into a
+ single level. If you set this too large, it could
+ greatly increase the merging cost during indexing (if
+ you flush many small segments).
+
+
+
+ Get the minimum size for a segment to remain
+ un-merged.
+
+
+
+
+
+ Remaps docIDs after a merge has completed, where the
+ merged segments had at least one deletion. This is used
+ to renumber the buffered deletes in IndexWriter when a
+ merge of segments with deletions commits.
+
+
+
+ Allows you to iterate over the for multiple s as
+ a single .
+
+
+
+
+ Creates a new MultipleTermPositions instance.
+
+
+
+
+
+
+ Not implemented.
+ UnsupportedOperationException
+
+
+ Not implemented.
+ UnsupportedOperationException
+
+
+ Not implemented.
+ UnsupportedOperationException
+
+
+ Not implemented.
+ UnsupportedOperationException
+
+
+ Not implemented.
+ UnsupportedOperationException
+
+
+
+ false
+
+
+
+ A PriorityQueue maintains a partial ordering of its elements such that the
+ least element can always be found in constant time. Put()'s and pop()'s
+ require log(size) time.
+
+ NOTE: This class pre-allocates a full array of
+ length maxSize+1, in .
+
+
+
+
+ Determines the ordering of objects in this priority queue. Subclasses
+ must define this one method.
+
+
+
+ This method can be overridden by extending classes to return a sentinel
+ object which will be used by to fill the queue, so
+ that the code which uses that queue can always assume it's full and only
+ change the top without attempting to insert any new object.
+
+ Those sentinel values should always compare worse than any non-sentinel
+ value (i.e., should always favor the
+ non-sentinel values).
+
+ By default, this method returns false, which means the queue will not be
+ filled with sentinel values. Otherwise, the value returned will be used to
+ pre-populate the queue. Adds sentinel values to the queue.
+
+ If this method is extended to return a non-null value, then the following
+ usage pattern is recommended:
+
+
+ // extends getSentinelObject() to return a non-null value.
+ PriorityQueue pq = new MyQueue(numHits);
+ // save the 'top' element, which is guaranteed to not be null.
+ MyObject pqTop = (MyObject) pq.top();
+ <...>
+ // now in order to add a new element, which is 'better' than top (after
+ // you've verified it is better), it is as simple as:
+ pqTop.change().
+ pqTop = pq.updateTop();
+
+
+ NOTE: if this method returns a non-null value, it will be called by
+ times, relying on a new object to
+ be returned and will not check if it's null again. Therefore you should
+ ensure any call to this method creates a new instance and behaves
+ consistently, e.g., it cannot return null if it previously returned
+ non-null.
+
+
+ the sentinel object to use to pre-populate the queue, or null if
+ sentinel objects are not supported.
+
+
+
+ Subclass constructors must call this.
+
+
+ Adds an Object to a PriorityQueue in log(size) time. If one tries to add
+ more objects than maxSize from initialize a RuntimeException
+ (ArrayIndexOutOfBound) is thrown.
+
+
+ use which returns the new top object,
+ saving an additional call to .
+
+
+
+ Adds an Object to a PriorityQueue in log(size) time. If one tries to add
+ more objects than maxSize from initialize an
+ is thrown.
+
+
+ the new 'top' element in the queue.
+
+
+
+ Adds element to the PriorityQueue in log(size) time if either the
+ PriorityQueue is not full, or not lessThan(element, top()).
+
+
+
+
+ true if element is added, false otherwise.
+
+ use instead, which
+ encourages objects reuse.
+
+
+
+ insertWithOverflow() is the same as insert() except its
+ return value: it returns the object (if any) that was
+ dropped off the heap because it was full. This can be
+ the given parameter (in case it is smaller than the
+ full heap's minimum, and couldn't be added), or another
+ object that was previously the smallest value in the
+ heap and now has been replaced by a larger one, or null
+ if the queue wasn't yet full with maxSize elements.
+
+
+
+ Returns the least element of the PriorityQueue in constant time.
+
+
+ Removes and returns the least element of the PriorityQueue in log(size)
+ time.
+
+
+
+ Should be called when the Object at top changes values. Still log(n) worst
+ case, but it's at least twice as fast to
+
+
+ pq.top().change();
+ pq.adjustTop();
+
+
+ instead of
+
+
+ o = pq.pop();
+ o.change();
+ pq.push(o);
+
+
+
+ use which returns the new top element and
+ saves an additional call to .
+
+
+
+ Should be called when the Object at top changes values. Still log(n) worst
+ case, but it's at least twice as fast to
+
+
+ pq.top().change();
+ pq.updateTop();
+
+
+ instead of
+
+
+ o = pq.pop();
+ o.change();
+ pq.push(o);
+
+
+
+ the new 'top' element.
+
+
+
+ Returns the number of elements currently stored in the PriorityQueue.
+
+
+ Removes all entries from the PriorityQueue.
+
+
+ An IndexReader which reads multiple indexes, appending their content.
+
+
+ $Id: MultiReader.java 782406 2009-06-07 16:31:18Z mikemccand $
+
+
+
+ Construct a MultiReader aggregating the named set of (sub)readers.
+ Directory locking for delete, undeleteAll, and setNorm operations is
+ left to the subreaders.
+ Note that all subreaders are closed if this Multireader is closed.
+
+ set of (sub)readers
+
+ IOException
+
+
+ Construct a MultiReader aggregating the named set of (sub)readers.
+ Directory locking for delete, undeleteAll, and setNorm operations is
+ left to the subreaders.
+
+ indicates whether the subreaders should be closed
+ when this MultiReader is closed
+
+ set of (sub)readers
+
+ IOException
+
+
+ Tries to reopen the subreaders.
+
+ If one or more subreaders could be re-opened (i. e. subReader.reopen()
+ returned a new instance != subReader), then a new MultiReader instance
+ is returned, otherwise this instance is returned.
+
+ A re-opened instance might share one or more subreaders with the old
+ instance. Index modification operations result in undefined behavior
+ when performed before the old instance is closed.
+ (see ).
+
+ If subreaders are shared, then the reference count of those
+ readers is increased to ensure that the subreaders remain open
+ until the last referring reader is closed.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Clones the subreaders.
+ (see ).
+
+
+ If subreaders are shared, then the reference count of those
+ readers is increased to ensure that the subreaders remain open
+ until the last referring reader is closed.
+
+
+
+ If clone is true then we clone each of the subreaders
+
+
+ New IndexReader, or same one (this) if
+ reopen/clone is not necessary
+
+ CorruptIndexException
+ IOException
+
+
+
+
+
+
+ Checks recursively if all subreaders are up to date.
+
+
+ Not implemented.
+ UnsupportedOperationException
+
+
+ Writes norms. Each thread X field accumulates the norms
+ for the doc/fields it saw, then the flush method below
+ merges all of these together into a single _X.nrm file.
+
+
+
+ Produce _X.nrm if any document had a field with norms
+ not disabled
+
+
+
+ Taps into DocInverter, as an InvertedDocEndConsumer,
+ which is called at the end of inverting each field. We
+ just look at the length for the field (docState.length)
+ and record the norm.
+
+
+
+ An IndexReader which reads multiple, parallel indexes. Each index added
+ must have the same number of documents, but typically each contains
+ different fields. Each document contains the union of the fields of all
+ documents with the same document number. When searching, matches for a
+ query term are from the first index added that has the field.
+
+ This is useful, e.g., with collections that have large fields which
+ change rarely and small fields that change more frequently. The smaller
+ fields may be re-indexed in a new index and both indexes may be searched
+ together.
+
+ Warning: It is up to you to make sure all indexes
+ are created and modified the same way. For example, if you add
+ documents to one index, you need to add the same documents in the
+ same order to the other indexes. Failure to do so will result in
+ undefined behavior.
+
+
+
+ Construct a ParallelReader.
+ Note that all subreaders are closed if this ParallelReader is closed.
+
+
+
+ Construct a ParallelReader.
+ indicates whether the subreaders should be closed
+ when this ParallelReader is closed
+
+
+
+ Add an IndexReader.
+ IOException if there is a low-level IO error
+
+
+ Add an IndexReader whose stored fields will not be returned. This can
+ accellerate search when stored fields are only needed from a subset of
+ the IndexReaders.
+
+
+ IllegalArgumentException if not all indexes contain the same number
+ of documents
+
+ IllegalArgumentException if not all indexes have the same value
+ of
+
+ IOException if there is a low-level IO error
+
+
+ Tries to reopen the subreaders.
+
+ If one or more subreaders could be re-opened (i. e. subReader.reopen()
+ returned a new instance != subReader), then a new ParallelReader instance
+ is returned, otherwise this instance is returned.
+
+ A re-opened instance might share one or more subreaders with the old
+ instance. Index modification operations result in undefined behavior
+ when performed before the old instance is closed.
+ (see ).
+
+ If subreaders are shared, then the reference count of those
+ readers is increased to ensure that the subreaders remain open
+ until the last referring reader is closed.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Checks recursively if all subreaders are up to date.
+
+
+ Checks recursively if all subindexes are optimized
+
+
+ Not implemented.
+ UnsupportedOperationException
+
+
+
+
+
+
+ A Payload is metadata that can be stored together with each occurrence
+ of a term. This metadata is stored inline in the posting list of the
+ specific term.
+
+ To store payloads in the index a has to be used that
+ produces payload data.
+
+ Use and
+ to retrieve the payloads from the index.
+
+
+
+
+ the byte array containing the payload data
+
+
+ the offset within the byte array
+
+
+ the length of the payload data
+
+
+ Creates an empty payload and does not allocate a byte array.
+
+
+ Creates a new payload with the the given array as data.
+ A reference to the passed-in array is held, i. e. no
+ copy is made.
+
+
+ the data of this payload
+
+
+
+ Creates a new payload with the the given array as data.
+ A reference to the passed-in array is held, i. e. no
+ copy is made.
+
+
+ the data of this payload
+
+ the offset in the data byte array
+
+ the length of the data
+
+
+
+ Sets this payloads data.
+ A reference to the passed-in array is held, i. e. no
+ copy is made.
+
+
+
+ Sets this payloads data.
+ A reference to the passed-in array is held, i. e. no
+ copy is made.
+
+
+
+ Returns a reference to the underlying byte array
+ that holds this payloads data.
+
+
+
+ Returns the offset in the underlying byte array
+
+
+ Returns the length of the payload data.
+
+
+ Returns the byte at the given index.
+
+
+ Allocates a new byte array, copies the payload data into it and returns it.
+
+
+ Copies the payload data to a byte array.
+
+
+ the target byte array
+
+ the offset in the target byte array
+
+
+
+ Clones this payload by creating a copy of the underlying
+ byte array.
+
+
+
+ For each Field, store position by position information. It ignores frequency information
+
+ This is not thread-safe.
+
+
+
+ A Map of Integer and TVPositionInfo
+
+
+
+
+
+
+
+ Never ignores positions. This mapper doesn't make much sense unless there are positions
+ false
+
+
+
+ Callback for the TermVectorReader.
+
+
+
+
+
+
+
+
+
+
+ Callback mechanism used by the TermVectorReader
+ The field being read
+
+ The number of terms in the vector
+
+ Whether offsets are available
+
+ Whether positions are available
+
+
+
+ Get the mapping between fields and terms, sorted by the comparator
+
+
+ A map between field names and a Map. The sub-Map key is the position as the integer, the value is .
+
+
+
+ Container for a term at a position
+
+
+
+ The position of the term
+
+
+
+ Note, there may be multiple terms at the same position
+ A List of Strings
+
+
+
+ Parallel list (to ) of TermVectorOffsetInfo objects.
+ There may be multiple entries since there may be multiple terms at a position
+ A List of TermVectorOffsetInfo objects, if offsets are store.
+
+
+
+ $Id
+
+ NOTE: This API is new and still experimental
+ (subject to change suddenly in the next release)
+
+
+
+ The class which implements SegmentReader.
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Clones the norm bytes. May be overridden by subclasses. New and experimental.
+ Byte array to clone
+
+ New BitVector
+
+
+
+ Clones the deleteDocs BitVector. May be overridden by subclasses. New and experimental.
+ BitVector to clone
+
+ New BitVector
+
+
+
+
+
+
+
+
+
+
+
+ Read norms into a pre-allocated array.
+
+
+ Create a clone from the initial TermVectorsReader and store it in the ThreadLocal.
+ TermVectorsReader
+
+
+
+ Return a term frequency vector for the specified document and field. The
+ vector returned contains term numbers and frequencies for all terms in
+ the specified field of this document, if the field had storeTermVector
+ flag set. If the flag was not set, the method returns null.
+
+ IOException
+
+
+ Return an array of term frequency vectors for the specified document.
+ The array contains a vector for each vectorized field in the document.
+ Each vector vector contains term numbers and frequencies for all terms
+ in a given vectorized field.
+ If no such fields existed, the method returns null.
+
+ IOException
+
+
+ Return the name of the segment this reader is reading.
+
+
+ Return the SegmentInfo of the segment this reader is reading.
+
+
+ Returns the directory this index resides in.
+
+
+ Lotsa tests did hacks like:
+ SegmentReader reader = (SegmentReader) IndexReader.open(dir);
+ They broke. This method serves as a hack to keep hacks working
+
+
+
+ Sets the initial value
+
+
+ Java's builtin ThreadLocal has a serious flaw:
+ it can take an arbitrarily long amount of time to
+ dereference the things you had stored in it, even once the
+ ThreadLocal instance itself is no longer referenced.
+ This is because there is single, master map stored for
+ each thread, which all ThreadLocals share, and that
+ master map only periodically purges "stale" entries.
+
+ While not technically a memory leak, because eventually
+ the memory will be reclaimed, it can take a long time
+ and you can easily hit OutOfMemoryError because from the
+ GC's standpoint the stale entries are not reclaimaible.
+
+ This class works around that, by only enrolling
+ WeakReference values into the ThreadLocal, and
+ separately holding a hard reference to each stored
+ value. When you call , these hard
+ references are cleared and then GC is freely able to
+ reclaim space by objects stored in it.
+
+
+
+
+ Byte[] referencing is used because a new norm object needs
+ to be created for each clone, and the byte array is all
+ that is needed for sharing between cloned readers. The
+ current norm referencing is for sharing between readers
+ whereas the byte[] referencing is for copy on write which
+ is independent of reader references (i.e. incRef, decRef).
+
+
+
+ Used by DocumentsWriter to implemented a StringReader
+ that can be reset to a new string; we use this when
+ tokenizing the string value from a Field.
+
+
+
+ Information about a segment such as it's name, directory, and files related
+ to the segment.
+
+ * NOTE: This API is new and still experimental
+ (subject to change suddenly in the next release)
+
+
+
+ Copy everything from src SegmentInfo into our instance.
+
+
+ Construct a new SegmentInfo instance by reading a
+ previously saved SegmentInfo from input.
+
+
+ directory to load from
+
+ format of the segments info file
+
+ input handle to read segment info from
+
+
+
+ Returns total size in bytes of all of files used by
+ this segment.
+
+
+
+ Returns true if this field for this segment has saved a separate norms file (_<segment>_N.sX).
+
+
+ the field index to check
+
+
+
+ Returns true if any fields in this segment have separate norms.
+
+
+ Increment the generation count for the norms file for
+ this field.
+
+
+ field whose norm file will be rewritten
+
+
+
+ Get the file name for the norms file for this field.
+
+
+ field index
+
+
+
+ Mark whether this segment is stored as a compound file.
+
+
+ true if this is a compound file;
+ else, false
+
+
+
+ Returns true if this segment is stored as a compound
+ file; else, false.
+
+
+
+ Save this segment's info.
+
+
+ Used for debugging
+
+
+ We consider another SegmentInfo instance equal if it
+ has the same dir and same name.
+
+
+
+ The SegmentMerger class combines two or more Segments, represented by an IndexReader (,
+ into a single Segment. After adding the appropriate readers, call the merge method to combine the
+ segments.
+
+ If the compoundFile flag is set, then the segments will be merged into a compound file.
+
+
+
+
+
+
+
+
+
+ Maximum number of contiguous documents to bulk-copy
+ when merging stored fields
+
+
+
+ norms header placeholder
+
+
+ This ctor used only by test code.
+
+
+ The Directory to merge the other segments into
+
+ The name of the new segment
+
+
+
+ Add an IndexReader to the collection of readers that are to be merged
+
+
+
+
+
+ The index of the reader to return
+
+ The ith reader to be merged
+
+
+
+ Merges the readers specified by the method into the directory passed to the constructor
+ The number of documents that were merged
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Merges the readers specified by the method
+ into the directory passed to the constructor.
+
+ if false, we will not merge the
+ stored fields nor vectors files
+
+ The number of documents that were merged
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ close all IndexReaders that have been added.
+ Should not be called before merge().
+
+ IOException
+
+
+
+ The number of documents in all of the readers
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Merge the TermVectors from each of the segments into the new one.
+ IOException
+
+
+ Process postings from multiple segments all positioned on the
+ same term. Writes out merged entries into freqOutput and
+ the proxOutput streams.
+
+
+ array of segments
+
+ number of cells in the array actually occupied
+
+ number of documents across all segments where this term was found
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Records the fact that roughly units amount of work
+ have been done since this method was last called.
+ When adding time-consuming code into SegmentMerger,
+ you should test different values for units to ensure
+ that the time in between calls to merge.checkAborted
+ is up to ~ 1 second.
+
+
+
+ Increments the enumeration to the next element. True if one exists.
+
+
+ Optimized scan, without allocating new terms.
+ Return number of invocations to next().
+
+
+
+ Returns the current Term in the enumeration.
+ Initially invalid, valid after next() called for the first time.
+
+
+
+ Returns the previous Term enumerated. Initially null.
+
+
+ Returns the current TermInfo in the enumeration.
+ Initially invalid, valid after next() called for the first time.
+
+
+
+ Sets the argument to the current TermInfo in the enumeration.
+ Initially invalid, valid after next() called for the first time.
+
+
+
+ Returns the docFreq from the current TermInfo in the enumeration.
+ Initially invalid, valid after next() called for the first time.
+
+
+
+ Closes the enumeration to further activity, freeing resources.
+
+
+ Called by super.skipTo().
+
+
+ Provides access to stored term vector of
+ a document field. The vector consists of the name of the field, an array of the terms tha occur in the field of the
+ and a parallel array of frequencies. Thus, getTermFrequencies()[5] corresponds with the
+ frequency of getTerms()[5], assuming there are at least 5 terms in the Document.
+
+
+
+ The name.
+ The name of the field this vector is associated with.
+
+
+
+
+ The number of terms in the term vector.
+
+
+
+ An Array of term texts in ascending order.
+
+
+
+ Array of term frequencies. Locations of the array correspond one to one
+ to the terms in the array obtained from getTerms
+ method. Each location in the array contains the number of times this
+ term occurs in the document or the document field.
+
+
+
+ Return an index in the term numbers array returned from
+ getTerms at which the term with the specified
+ term appears. If this term does not appear in the array,
+ return -1.
+
+
+
+ Just like indexOf(int) but searches for a number of terms
+ at the same time. Returns an array that has the same size as the number
+ of terms searched for, each slot containing the result of searching for
+ that term number.
+
+
+ array containing terms to look for
+
+ index in the array where the list of terms starts
+
+ the number of terms in the list
+
+
+
+
+ The number of the field this vector is associated with
+
+
+
+ Extends TermFreqVector to provide additional information about
+ positions in which each of the terms is found. A TermPositionVector not necessarily
+ contains both positions and offsets, but at least one of these arrays exists.
+
+
+
+ Returns an array of positions in which the term is found.
+ Terms are identified by the index at which its number appears in the
+ term String array obtained from the indexOf method.
+ May return null if positions have not been stored.
+
+
+
+ Returns an array of TermVectorOffsetInfo in which the term is found.
+ May return null if offsets have not been stored.
+
+
+
+
+
+ The position in the array to get the offsets from
+
+ An array of TermVectorOffsetInfo objects or the empty list
+
+
+
+ Returns an array of TermVectorOffsetInfo in which the term is found.
+
+
+ The position in the array to get the offsets from
+
+ An array of TermVectorOffsetInfo objects or the empty list
+
+
+
+
+
+ Returns an array of positions in which the term is found.
+ Terms are identified by the index at which its number appears in the
+ term String array obtained from the indexOf method.
+
+
+
+ A that simply does each merge
+ sequentially, using the current thread.
+
+
+
+ Just do the merges in sequence. We do this
+ "synchronized" so that even if the application is using
+ multiple threads, only one merge may run at a time.
+
+
+
+ A that wraps around any other
+ and adds the ability to hold and
+ later release a single "snapshot" of an index. While
+ the snapshot is held, the will not
+ remove any files associated with it even if the index is
+ otherwise being actively, arbitrarily changed. Because
+ we wrap another arbitrary , this
+ gives you the freedom to continue using whatever
+ you would normally want to use with your
+ index. Note that you can re-use a single instance of
+ SnapshotDeletionPolicy across multiple writers as long
+ as they are against the same index Directory. Any
+ snapshot held when a writer is closed will "survive"
+ when the next writer is opened.
+
+ WARNING: This API is a new and experimental and
+ may suddenly change.
+
+
+
+ Take a snapshot of the most recent commit to the
+ index. You must call release() to free this snapshot.
+ Note that while the snapshot is held, the files it
+ references will not be deleted, which will consume
+ additional disk space in your index. If you take a
+ snapshot at a particularly bad time (say just before
+ you call optimize()) then in the worst case this could
+ consume an extra 1X of your total index size, until
+ you release the snapshot.
+
+
+
+ Release the currently held snapshot.
+
+
+ Store a sorted collection of s. Collects all term information
+ into a single, SortedSet.
+
+ NOTE: This Mapper ignores all Field information for the Document. This means that if you are using offset/positions you will not
+ know what Fields they correlate with.
+
+ This is not thread-safe
+
+
+
+ Stand-in name for the field in .
+
+
+
+ A Comparator for sorting s
+
+
+
+
+ The term to map
+
+ The frequency of the term
+
+ Offset information, may be null
+
+ Position information, may be null
+
+
+
+ The TermVectorEntrySet. A SortedSet of objects. Sort is by the comparator passed into the constructor.
+
+ This set will be empty until after the mapping process takes place.
+
+
+ The SortedSet of .
+
+
+
+ This exception is thrown when an
+ tries to make changes to the index (via
+ ,
+ or )
+ but changes have already been committed to the index
+ since this reader was instantiated. When this happens
+ you must open a new reader on the current index to make
+ the changes.
+
+
+
+ This is a DocFieldConsumer that writes stored fields.
+
+
+ Fills in any hole in the docIDs
+
+
+ A Term represents a word from text. This is the unit of search. It is
+ composed of two elements, the text of the word, as a string, and the name of
+ the field that the text occured in, an interned string.
+ Note that terms may represent more than words from text fields, but also
+ things like dates, email addresses, urls, etc.
+
+
+
+ Constructs a Term with the given field and text.
+ Note that a null field or null text value results in undefined
+ behavior for most Lucene APIs that accept a Term parameter.
+
+
+
+ Constructs a Term with the given field and empty text.
+ This serves two purposes: 1) reuse of a Term with the same field.
+ 2) pattern for a query.
+
+
+
+
+
+
+ Returns the field of this term, an interned string. The field indicates
+ the part of a document which this term came from.
+
+
+
+ Returns the text of this term. In the case of words, this is simply the
+ text of the word. In the case of dates and other types, this is an
+ encoding of the object as a string.
+
+
+
+ Optimized construction of new Terms by reusing same field as this Term
+ - avoids field.intern() overhead
+
+ The text of the new term (field is implicitly same as this Term instance)
+
+ A new Term
+
+
+
+ Compares two terms, returning a negative integer if this
+ term belongs before the argument, zero if this term is equal to the
+ argument, and a positive integer if this term belongs after the argument.
+ The ordering of terms is first by field, then by text.
+
+
+
+ Resets the field and text of a Term.
+
+
+ Call this if the IndexInput passed to
+ stores terms in the "modified UTF8" (pre LUCENE-510)
+ format.
+
+
+
+ A TermInfo is the record of information stored for a term.
+
+
+ The number of documents which contain the term.
+
+
+ This stores a monotonically increasing set of <Term, TermInfo> pairs in a
+ Directory. Pairs are accessed either by Term or by ordinal position the
+ set.
+
+
+
+ Returns the number of term/value pairs in the set.
+
+
+ Returns the offset of the greatest index entry which is less than or equal to term.
+
+
+ Returns the TermInfo for a Term in the set, or null.
+
+
+ Returns the TermInfo for a Term in the set, or null.
+
+
+ Returns the position of a Term in the set or -1.
+
+
+ Returns an enumeration of all the Terms and TermInfos in the set.
+
+
+ Returns an enumeration of terms starting at or after the named term.
+
+
+ Per-thread resources managed by ThreadLocal
+
+
+ This stores a monotonically increasing set of <Term, TermInfo> pairs in a
+ Directory. A TermInfos can be written once, in order.
+
+
+
+ The file format version, a negative number.
+
+
+ Expert: The fraction of terms in the "dictionary" which should be stored
+ in RAM. Smaller values use more memory, but make searching slightly
+ faster, while larger values use less memory and make searching slightly
+ slower. Searching is typically not dominated by dictionary lookup, so
+ tweaking this is rarely useful.
+
+
+
+ Expert: The fraction of entries stored in skip tables,
+ used to accellerate . Larger values result in
+ smaller indexes, greater acceleration, but fewer accelerable cases, while
+ smaller values result in bigger indexes, less acceleration and more
+ accelerable cases. More detailed experiments would be useful here.
+
+
+
+ Expert: The maximum number of skip levels. Smaller values result in
+ slightly smaller indexes, but slower skipping in big posting lists.
+
+
+
+ Adds a new <fieldNumber, termBytes>, TermInfo> pair to the set.
+ Term must be lexicographically greater than all previous Terms added.
+ TermInfo pointers must be positive and greater than all previous.
+
+
+
+ Called to complete TermInfos creation.
+
+
+ This class implements , which
+ is passed each token produced by the analyzer on each
+ field. It stores these tokens in a hash table, and
+ allocates separate byte streams per token. Consumers of
+ this class, eg and
+ , write their own byte streams
+ under each term.
+
+
+
+ Collapse the hash table & sort in-place.
+
+
+ Compares term text for two Posting instance and
+ returns -1 if p1 < p2; 1 if p1 > p2; else 0.
+
+
+
+ Test whether the text for current RawPostingList p equals
+ current tokenText.
+
+
+
+ Called when postings hash is too small (> 50%
+ occupied) or too large (< 20% occupied).
+
+
+
+ Convenience class for holding TermVector information.
+
+
+ Compares s first by frequency and then by
+ the term (case-sensitive)
+
+
+
+
+
+ The TermVectorOffsetInfo class holds information pertaining to a Term in a 's
+ offset information. This offset information is the character offset as set during the Analysis phase (and thus may not be the actual offset in the
+ original content).
+
+
+
+ Convenience declaration when creating a that stores only position information.
+
+
+ The accessor for the ending offset for the term
+ The offset
+
+
+
+ The accessor for the starting offset of the term.
+
+
+ The offset
+
+
+
+ Two TermVectorOffsetInfos are equals if both the start and end offsets are the same
+ The comparison Object
+
+ true if both and are the same for both objects.
+
+
+
+ $Id: TermVectorsReader.java 687046 2008-08-19 13:01:11Z mikemccand $
+
+
+
+ Retrieve the length (in bytes) of the tvd and tvf
+ entries for the next numDocs starting with
+ startDocID. This is used for bulk copying when
+ merging segments, if the field numbers are
+ congruent. Once this returns, the tvf & tvd streams
+ are seeked to the startDocID.
+
+
+
+
+ The number of documents in the reader
+
+
+
+ Retrieve the term vector for the given document and field
+ The document number to retrieve the vector for
+
+ The field within the document to retrieve
+
+ The TermFreqVector for the document and field or null if there is no termVector for this field.
+
+ IOException if there is an error reading the term vector files
+
+
+ Return all term vectors stored for this document or null if the could not be read in.
+
+
+ The document number to retrieve the vector for
+
+ All term frequency vectors
+
+ IOException if there is an error reading the term vector files
+
+
+
+ The field to read in
+
+ The pointer within the tvf file where we should start reading
+
+ The mapper used to map the TermVector
+
+ IOException
+
+
+ Models the existing parallel array structure
+
+
+ Construct the vector
+ The based on the mappings.
+
+
+
+ Fills in no-term-vectors for all docs we haven't seen
+ since the last doc that had term vectors.
+
+
+
+ Called once per field per document if term vectors
+ are enabled, to write the vectors to
+ RAMOutputStream, which is then quickly flushed to
+ the real term vectors files in the Directory.
+
+
+
+ Add a complete document specified by all its term vectors. If document has no
+ term vectors, add value for tvx.
+
+
+
+
+ IOException
+
+
+ Do a bulk copy of numDocs documents from reader to our
+ streams. This is used to expedite merging, if the
+ field numbers are congruent.
+
+
+
+ Close all streams.
+
+
+ Lucene's package information, including version. *
+
+
+ Message Interface for a lazy loading.
+ For Native Language Support (NLS), system of software internationalization.
+
+
+
+ Default implementation of Message interface.
+ For Native Language Support (NLS), system of software internationalization.
+
+
+
+ MessageBundles classes extend this class, to implement a bundle.
+
+ For Native Language Support (NLS), system of software internationalization.
+
+ This interface is similar to the NLS class in eclipse.osgi.util.NLS class -
+ initializeMessages() method resets the values of all static strings, should
+ only be called by classes that extend from NLS (see TestMessages.java for
+ reference) - performs validation of all message in a bundle, at class load
+ time - performs per message validation at runtime - see NLSTest.java for
+ usage reference
+
+ MessageBundle classes may subclass this type.
+
+
+
+ Initialize a given class with the message bundle Keys Should be called from
+ a class that extends NLS in a static block at class load time.
+
+
+ Property file with that contains the message bundle
+
+ where constants will reside
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Message Key
+
+
+
+
+ Performs the priviliged action.
+
+ A value that may represent the result of the action.
+
+
+ Interface that exceptions should implement to support lazy loading of messages.
+
+ For Native Language Support (NLS), system of software internationalization.
+
+ This Interface should be implemented by all exceptions that require
+ translation
+
+
+
+
+ a instance of a class that implements the Message interface
+
+
+
+ This interface describes a character stream that maintains line and
+ column number positions of the characters. It also has the capability
+ to backup the stream to some extent. An implementation of this
+ interface is used in the TokenManager implementation generated by
+ JavaCCParser.
+
+ All the methods except backup can be implemented in any fashion. backup
+ needs to be implemented correctly for the correct operation of the lexer.
+ Rest of the methods are all used to get information like line number,
+ column number and the String that constitutes a token and are not used
+ by the lexer. Hence their implementation won't affect the generated lexer's
+ operation.
+
+
+
+ Returns the next character from the selected input. The method
+ of selecting the input is the responsibility of the class
+ implementing this interface. Can throw any java.io.IOException.
+
+
+
+ Returns the column position of the character last read.
+
+
+
+
+
+
+ Returns the line number of the character last read.
+
+
+
+
+
+
+ Returns the column number of the last character for current token (being
+ matched after the last call to BeginTOken).
+
+
+
+ Returns the line number of the last character for current token (being
+ matched after the last call to BeginTOken).
+
+
+
+ Returns the column number of the first character for current token (being
+ matched after the last call to BeginTOken).
+
+
+
+ Returns the line number of the first character for current token (being
+ matched after the last call to BeginTOken).
+
+
+
+ Backs up the input stream by amount steps. Lexer calls this method if it
+ had already read some characters, but could not use them to match a
+ (longer) token. So, they will be used again as the prefix of the next
+ token and it is the implemetation's responsibility to do this right.
+
+
+
+ Returns the next character that marks the beginning of the next token.
+ All characters must remain in the buffer between two successive calls
+ to this method to implement backup correctly.
+
+
+
+ Returns a string made up of characters from the marked token beginning
+ to the current buffer position. Implementations have the choice of returning
+ anything that they want to. For example, for efficiency, one might decide
+ to just return null, which is a valid implementation.
+
+
+
+ Returns an array of characters that make up the suffix of length 'len' for
+ the currently matched token. This is used to build up the matched string
+ for use in actions in the case of MORE. A simple and inefficient
+ implementation of this is as follows :
+
+ {
+ String t = GetImage();
+ return t.substring(t.length() - len, t.length()).toCharArray();
+ }
+
+
+
+ The lexer calls this function to indicate that it is done with the stream
+ and hence implementations can free any resources held by this class.
+ Again, the body of this function can be just empty and it will not
+ affect the lexer's operation.
+
+
+
+ An efficient implementation of JavaCC's CharStream interface. Note that
+ this does not do line-number counting, but instead keeps track of the
+ character position of the token in the input, as required by Lucene's
+ API.
+
+
+
+
+ Constructs from a Reader.
+
+
+ A QueryParser which constructs queries to search multiple fields.
+
+
+ $Revision: 829134 $
+
+
+
+ This class is generated by JavaCC. The most important method is
+ .
+
+ The syntax for query strings is as follows:
+ A Query is a series of clauses.
+ A clause may be prefixed by:
+
+ a plus (+) or a minus (-) sign, indicating
+ that the clause is required or prohibited respectively; or
+ a term followed by a colon, indicating the field to be searched.
+ This enables one to construct queries which search multiple fields.
+
+
+ A clause may be either:
+
+ a term, indicating all the documents that contain this term; or
+ a nested query, enclosed in parentheses. Note that this may be used
+ with a +/- prefix to require any of a set of
+ terms.
+
+
+ Thus, in BNF, the query grammar is:
+
+ Query ::= ( Clause )*
+ Clause ::= ["+", "-"] [<TERM> ":"] ( <TERM> | "(" Query ")" )
+
+
+
+ Examples of appropriately formatted queries can be found in the query syntax
+ documentation.
+
+
+
+ In s, QueryParser tries to detect date values, e.g.
+ date:[6/1/2005 TO 6/4/2005] produces a range query that searches
+ for "date" fields between 2005-06-01 and 2005-06-04. Note that the format
+ of the accepted input depends on the locale.
+ By default a date is converted into a search term using the deprecated
+ for compatibility reasons.
+ To use the new to convert dates, a
+ has to be set.
+
+
+ The date resolution that shall be used for RangeQueries can be set
+ using
+ or . The former
+ sets the default date resolution for all fields, whereas the latter can
+ be used to set field specific date resolutions. Field specific date
+ resolutions take, if set, precedence over the default date resolution.
+
+
+ If you use neither nor in your
+ index, you can create your own
+ query parser that inherits QueryParser and overwrites
+ to
+ use a different method for date conversion.
+
+
+ Note that QueryParser is not thread-safe.
+
+ NOTE: there is a new QueryParser in contrib, which matches
+ the same syntax as this class, but is more modular,
+ enabling substantial customization to how a query is created.
+
+ NOTE: there is a new QueryParser in contrib, which matches
+ the same syntax as this class, but is more modular,
+ enabling substantial customization to how a query is created.
+ NOTE: You must specify the required compatibility when
+ creating QueryParser:
+
+ As of 2.9, is true by default.
+
+
+
+
+ Token literal values and constants.
+ Generated by org.javacc.parser.OtherFilesGen#start()
+
+
+
+ End of File.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ RegularExpression Id.
+
+
+ Lexical state.
+
+
+ Lexical state.
+
+
+ Lexical state.
+
+
+ Lexical state.
+
+
+ Literal token values.
+
+
+ Alternative form of QueryParser.Operator.AND
+
+
+ Alternative form of QueryParser.Operator.OR
+
+
+ The actual operator that parser uses to combine query terms
+
+
+ Constructs a query parser.
+ the default field for query terms.
+
+ used to find terms in the query text.
+
+ Use instead
+
+
+
+ Constructs a query parser.
+
+
+ Lucene version to match. See above)
+
+ the default field for query terms.
+
+ used to find terms in the query text.
+
+
+
+ Parses a query string, returning a .
+ the query string to be parsed.
+
+ ParseException if the parsing fails
+
+
+ Returns the analyzer.
+
+
+
+ Returns the field.
+
+
+
+ Get the minimal similarity for fuzzy queries.
+
+
+ Set the minimum similarity for fuzzy queries.
+ Default is 0.5f.
+
+
+
+ Get the prefix length for fuzzy queries.
+ Returns the fuzzyPrefixLength.
+
+
+
+ Set the prefix length for fuzzy queries. Default is 0.
+ The fuzzyPrefixLength to set.
+
+
+
+ Sets the default slop for phrases. If zero, then exact phrase matches
+ are required. Default value is zero.
+
+
+
+ Gets the default slop for phrases.
+
+
+ Set to true to allow leading wildcard characters.
+
+ When set, * or ? are allowed as
+ the first character of a PrefixQuery and WildcardQuery.
+ Note that this can produce very slow
+ queries on big indexes.
+
+ Default: false.
+
+
+
+
+
+
+
+ Set to true to enable position increments in result query.
+
+ When set, result phrase and multi-phrase queries will
+ be aware of position increments.
+ Useful when e.g. a StopFilter increases the position increment of
+ the token that follows an omitted token.
+
+ Default: false.
+
+
+
+
+
+
+
+ Sets the boolean operator of the QueryParser.
+ In default mode (OR_OPERATOR) terms without any modifiers
+ are considered optional: for example capital of Hungary is equal to
+ capital OR of OR Hungary.
+ In AND_OPERATOR mode terms are considered to be in conjunction: the
+ above mentioned query is parsed as capital AND of AND Hungary
+
+
+
+ Gets implicit operator setting, which will be either AND_OPERATOR
+ or OR_OPERATOR.
+
+
+
+ Whether terms of wildcard, prefix, fuzzy and range queries are to be automatically
+ lower-cased or not. Default is true.
+
+
+
+
+
+
+
+ Please use instead.
+
+
+
+ Please use instead.
+
+
+
+ By default QueryParser uses
+ when creating a PrefixQuery, WildcardQuery or RangeQuery. This implementation is generally preferable because it
+ a) Runs faster b) Does not have the scarcity of terms unduly influence score
+ c) avoids any "TooManyBooleanClauses" exception.
+ However, if your application really needs to use the
+ old-fashioned BooleanQuery expansion rewriting and the above
+ points are not relevant then use this to change
+ the rewrite method.
+
+
+
+
+
+
+
+ Set locale used by date range parsing.
+
+
+ Returns current locale, allowing access by subclasses.
+
+
+ Sets the default date resolution used by RangeQueries for fields for which no
+ specific date resolutions has been set. Field specific resolutions can be set
+ with .
+
+
+ the default date resolution to set
+
+
+
+ Sets the date resolution used by RangeQueries for a specific field.
+
+
+ field for which the date resolution is to be set
+
+ date resolution to set
+
+
+
+ Returns the date resolution that is used by RangeQueries for the given field.
+ Returns null, if no default or field specific date resolution has been set
+ for the given field.
+
+
+
+
+ Sets the collator used to determine index term inclusion in ranges
+ for RangeQuerys.
+
+ WARNING: Setting the rangeCollator to a non-null
+ collator using this method will cause every single index Term in the
+ Field referenced by lowerTerm and/or upperTerm to be examined.
+ Depending on the number of index Terms in this Field, the operation could
+ be very slow.
+
+
+ the collator to use when constructing RangeQuerys
+
+
+
+ the collator used to determine index term inclusion in ranges
+ for RangeQuerys.
+
+
+
+ use instead.
+
+
+
+ throw in overridden method to disallow
+
+
+
+ Base implementation delegates to .
+ This method may be overridden, for example, to return
+ a SpanNearQuery instead of a PhraseQuery.
+
+
+ throw in overridden method to disallow
+
+
+
+ throw in overridden method to disallow
+
+
+
+ Builds a new BooleanQuery instance
+ disable coord
+
+ new BooleanQuery instance
+
+
+
+ Builds a new BooleanClause instance
+ sub query
+
+ how this clause should occur when matching documents
+
+ new BooleanClause instance
+
+
+
+ Builds a new TermQuery instance
+ term
+
+ new TermQuery instance
+
+
+
+ Builds a new PhraseQuery instance
+ new PhraseQuery instance
+
+
+
+ Builds a new MultiPhraseQuery instance
+ new MultiPhraseQuery instance
+
+
+
+ Builds a new PrefixQuery instance
+ Prefix term
+
+ new PrefixQuery instance
+
+
+
+ Builds a new FuzzyQuery instance
+ Term
+
+ minimum similarity
+
+ prefix length
+
+ new FuzzyQuery Instance
+
+
+
+ Builds a new TermRangeQuery instance
+ Field
+
+ min
+
+ max
+
+ true if range is inclusive
+
+ new TermRangeQuery instance
+
+
+
+ Builds a new MatchAllDocsQuery instance
+ new MatchAllDocsQuery instance
+
+
+
+ Builds a new WildcardQuery instance
+ wildcard term
+
+ new WildcardQuery instance
+
+
+
+ Factory method for generating query, given a set of clauses.
+ By default creates a boolean query composed of clauses passed in.
+
+ Can be overridden by extending classes, to modify query being
+ returned.
+
+
+ List that contains instances
+ to join.
+
+
+ Resulting object.
+
+ throw in overridden method to disallow
+
+ use instead
+
+
+
+ Factory method for generating query, given a set of clauses.
+ By default creates a boolean query composed of clauses passed in.
+
+ Can be overridden by extending classes, to modify query being
+ returned.
+
+
+ List that contains instances
+ to join.
+
+
+ Resulting object.
+
+ throw in overridden method to disallow
+
+
+
+ Factory method for generating query, given a set of clauses.
+ By default creates a boolean query composed of clauses passed in.
+
+ Can be overridden by extending classes, to modify query being
+ returned.
+
+
+ List that contains instances
+ to join.
+
+ true if coord scoring should be disabled.
+
+
+ Resulting object.
+
+ throw in overridden method to disallow
+
+ use instead
+
+
+
+ Factory method for generating query, given a set of clauses.
+ By default creates a boolean query composed of clauses passed in.
+
+ Can be overridden by extending classes, to modify query being
+ returned.
+
+
+ List that contains instances
+ to join.
+
+ true if coord scoring should be disabled.
+
+
+ Resulting object.
+
+ throw in overridden method to disallow
+
+
+
+ Factory method for generating a query. Called when parser
+ parses an input term token that contains one or more wildcard
+ characters (? and *), but is not a prefix term token (one
+ that has just a single * character at the end)
+
+ Depending on settings, prefix term may be lower-cased
+ automatically. It will not go through the default Analyzer,
+ however, since normal Analyzers are unlikely to work properly
+ with wildcard templates.
+
+ Can be overridden by extending classes, to provide custom handling for
+ wildcard queries, which may be necessary due to missing analyzer calls.
+
+
+ Name of the field query will use.
+
+ Term token that contains one or more wild card
+ characters (? or *), but is not simple prefix term
+
+
+ Resulting built for the term
+
+ throw in overridden method to disallow
+
+
+
+ Factory method for generating a query (similar to
+ ). Called when parser parses an input term
+ token that uses prefix notation; that is, contains a single '*' wildcard
+ character as its last character. Since this is a special case
+ of generic wildcard term, and such a query can be optimized easily,
+ this usually results in a different query object.
+
+ Depending on settings, a prefix term may be lower-cased
+ automatically. It will not go through the default Analyzer,
+ however, since normal Analyzers are unlikely to work properly
+ with wildcard templates.
+
+ Can be overridden by extending classes, to provide custom handling for
+ wild card queries, which may be necessary due to missing analyzer calls.
+
+
+ Name of the field query will use.
+
+ Term token to use for building term for the query
+ (without trailing '*' character!)
+
+
+ Resulting built for the term
+
+ throw in overridden method to disallow
+
+
+
+ Factory method for generating a query (similar to
+ ). Called when parser parses
+ an input term token that has the fuzzy suffix (~) appended.
+
+
+ Name of the field query will use.
+
+ Term token to use for building term for the query
+
+
+ Resulting built for the term
+
+ throw in overridden method to disallow
+
+
+
+ Returns a String where the escape char has been
+ removed, or kept only once if there was a double escape.
+
+ Supports escaped unicode characters, e. g. translates
+ \\u0041 to A.
+
+
+
+
+ Returns the numeric value of the hexadecimal character
+
+
+ Returns a String where those characters that QueryParser
+ expects to be escaped are escaped by a preceding \.
+
+
+
+ Command line tool to test QueryParser, using .
+ Usage:
+ java Lucene.Net.QueryParsers.QueryParser <input>
+
+
+
+ Generated Token Manager.
+
+
+ Current token.
+
+
+ Next token.
+
+
+ Constructor with user supplied CharStream.
+
+
+ Reinitialise.
+
+
+ Constructor with generated Token Manager.
+
+
+ Reinitialise.
+
+
+ Get the next Token.
+
+
+ Get the specific Token.
+
+
+ Generate ParseException.
+
+
+ Enable tracing.
+
+
+ Disable tracing.
+
+
+ The default operator for parsing queries.
+ Use to change it.
+
+
+
+ Creates a MultiFieldQueryParser. Allows passing of a map with term to
+ Boost, and the boost to apply to each term.
+
+
+ It will, when parse(String query) is called, construct a query like this
+ (assuming the query consists of two terms and you specify the two fields
+ title and body):
+
+
+
+ (title:term1 body:term1) (title:term2 body:term2)
+
+
+
+ When setDefaultOperator(AND_OPERATOR) is set, the result will be:
+
+
+
+ +(title:term1 body:term1) +(title:term2 body:term2)
+
+
+
+ When you pass a boost (title=>5 body=>10) you can get
+
+
+
+ +(title:term1^5.0 body:term1^10.0) +(title:term2^5.0 body:term2^10.0)
+
+
+
+ In other words, all the query's terms must appear, but it doesn't matter
+ in what fields they appear.
+
+
+
+ Please use
+
+ instead
+
+
+
+ Creates a MultiFieldQueryParser. Allows passing of a map with term to
+ Boost, and the boost to apply to each term.
+
+
+ It will, when parse(String query) is called, construct a query like this
+ (assuming the query consists of two terms and you specify the two fields
+ title and body):
+
+
+
+ (title:term1 body:term1) (title:term2 body:term2)
+
+
+
+ When setDefaultOperator(AND_OPERATOR) is set, the result will be:
+
+
+
+ +(title:term1 body:term1) +(title:term2 body:term2)
+
+
+
+ When you pass a boost (title=>5 body=>10) you can get
+
+
+
+ +(title:term1^5.0 body:term1^10.0) +(title:term2^5.0 body:term2^10.0)
+
+
+
+ In other words, all the query's terms must appear, but it doesn't matter
+ in what fields they appear.
+
+
+
+
+ Creates a MultiFieldQueryParser.
+
+
+ It will, when parse(String query) is called, construct a query like this
+ (assuming the query consists of two terms and you specify the two fields
+ title and body):
+
+
+
+ (title:term1 body:term1) (title:term2 body:term2)
+
+
+
+ When setDefaultOperator(AND_OPERATOR) is set, the result will be:
+
+
+
+ +(title:term1 body:term1) +(title:term2 body:term2)
+
+
+
+ In other words, all the query's terms must appear, but it doesn't matter
+ in what fields they appear.
+
+
+
+ Please use
+
+ instead
+
+
+
+ Creates a MultiFieldQueryParser.
+
+
+ It will, when parse(String query) is called, construct a query like this
+ (assuming the query consists of two terms and you specify the two fields
+ title and body):
+
+
+
+ (title:term1 body:term1) (title:term2 body:term2)
+
+
+
+ When setDefaultOperator(AND_OPERATOR) is set, the result will be:
+
+
+
+ +(title:term1 body:term1) +(title:term2 body:term2)
+
+
+
+ In other words, all the query's terms must appear, but it doesn't matter
+ in what fields they appear.
+
+
+
+
+ Parses a query which searches on the fields specified.
+
+ If x fields are specified, this effectively constructs:
+
+
+ (field1:query1) (field2:query2) (field3:query3)...(fieldx:queryx)
+
+
+
+ Queries strings to parse
+
+ Fields to search on
+
+ Analyzer to use
+
+ ParseException
+ if query parsing fails
+
+ IllegalArgumentException
+ if the length of the queries array differs from the length of
+ the fields array
+
+ Use
+ instead
+
+
+
+ Parses a query which searches on the fields specified.
+
+ If x fields are specified, this effectively constructs:
+
+
+ (field1:query1) (field2:query2) (field3:query3)...(fieldx:queryx)
+
+
+
+ Lucene version to match; this is passed through to
+ QueryParser.
+
+ Queries strings to parse
+
+ Fields to search on
+
+ Analyzer to use
+
+ ParseException
+ if query parsing fails
+
+ IllegalArgumentException
+ if the length of the queries array differs from the length of
+ the fields array
+
+
+
+ Parses a query, searching on the fields specified.
+ Use this if you need to specify certain fields as required,
+ and others as prohibited.
+
+ Usage:
+
+ String[] fields = {"filename", "contents", "description"};
+ BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD,
+ BooleanClause.Occur.MUST,
+ BooleanClause.Occur.MUST_NOT};
+ MultiFieldQueryParser.parse("query", fields, flags, analyzer);
+
+
+ The code above would construct a query:
+
+ (filename:query) +(contents:query) -(description:query)
+
+
+
+ Query string to parse
+
+ Fields to search on
+
+ Flags describing the fields
+
+ Analyzer to use
+
+ ParseException if query parsing fails
+ IllegalArgumentException if the length of the fields array differs
+ from the length of the flags array
+
+ Use
+
+ instead
+
+
+
+ Parses a query, searching on the fields specified. Use this if you need
+ to specify certain fields as required, and others as prohibited.
+
+ Uasge:
+
+ String[] fields = {"filename", "contents", "description"};
+ BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD,
+ BooleanClause.Occur.MUST,
+ BooleanClause.Occur.MUST_NOT};
+ MultiFieldQueryParser.parse("query", fields, flags, analyzer);
+
+
+ The code above would construct a query:
+
+
+ (filename:query) +(contents:query) -(description:query)
+
+
+
+ Lucene version to match; this is passed through to
+ QueryParser.
+
+ Query string to parse
+
+ Fields to search on
+
+ Flags describing the fields
+
+ Analyzer to use
+
+ ParseException
+ if query parsing fails
+
+ IllegalArgumentException
+ if the length of the fields array differs from the length of
+ the flags array
+
+
+
+ Parses a query, searching on the fields specified.
+ Use this if you need to specify certain fields as required,
+ and others as prohibited.
+
+ Usage:
+
+ String[] query = {"query1", "query2", "query3"};
+ String[] fields = {"filename", "contents", "description"};
+ BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD,
+ BooleanClause.Occur.MUST,
+ BooleanClause.Occur.MUST_NOT};
+ MultiFieldQueryParser.parse(query, fields, flags, analyzer);
+
+
+ The code above would construct a query:
+
+ (filename:query1) +(contents:query2) -(description:query3)
+
+
+
+ Queries string to parse
+
+ Fields to search on
+
+ Flags describing the fields
+
+ Analyzer to use
+
+ ParseException if query parsing fails
+ IllegalArgumentException if the length of the queries, fields,
+ and flags array differ
+
+ Used
+
+ instead
+
+
+
+ Parses a query, searching on the fields specified. Use this if you need
+ to specify certain fields as required, and others as prohibited.
+
+ Usage:
+
+ String[] query = {"query1", "query2", "query3"};
+ String[] fields = {"filename", "contents", "description"};
+ BooleanClause.Occur[] flags = {BooleanClause.Occur.SHOULD,
+ BooleanClause.Occur.MUST,
+ BooleanClause.Occur.MUST_NOT};
+ MultiFieldQueryParser.parse(query, fields, flags, analyzer);
+
+
+ The code above would construct a query:
+
+
+ (filename:query1) +(contents:query2) -(description:query3)
+
+
+
+ Lucene version to match; this is passed through to
+ QueryParser.
+
+ Queries string to parse
+
+ Fields to search on
+
+ Flags describing the fields
+
+ Analyzer to use
+
+ ParseException
+ if query parsing fails
+
+ IllegalArgumentException
+ if the length of the queries, fields, and flags array differ
+
+
+
+ This exception is thrown when parse errors are encountered.
+ You can explicitly create objects of this exception type by
+ calling the method generateParseException in the generated
+ parser.
+
+ You can modify this class to customize your error reporting
+ mechanisms so long as you retain the public fields.
+
+
+
+ This constructor is used by the method "generateParseException"
+ in the generated parser. Calling this constructor generates
+ a new object of this type with the fields "currentToken",
+ "expectedTokenSequences", and "tokenImage" set. The boolean
+ flag "specialConstructor" is also set to true to indicate that
+ this constructor was used to create this object.
+ This constructor calls its super class with the empty string
+ to force the "toString" method of parent class "Throwable" to
+ print the error message in the form:
+ ParseException: <result of getMessage>
+
+
+
+ The following constructors are for use by you for whatever
+ purpose you can think of. Constructing the exception in this
+ manner makes the exception behave in the normal way - i.e., as
+ documented in the class "Throwable". The fields "errorToken",
+ "expectedTokenSequences", and "tokenImage" do not contain
+ relevant information. The JavaCC generated code does not use
+ these constructors.
+
+
+
+ Constructor with message.
+
+
+ Constructor with message.
+
+
+ This variable determines which constructor was used to create
+ this object and thereby affects the semantics of the
+ "getMessage" method (see below).
+
+
+
+ This is the last token that has been consumed successfully. If
+ this object has been created due to a parse error, the token
+ followng this token will (therefore) be the first error token.
+
+
+
+ Each entry in this array is an array of integers. Each array
+ of integers represents a sequence of tokens (by their ordinal
+ values) that is expected at this point of the parse.
+
+
+
+ This is a reference to the "tokenImage" array of the generated
+ parser within which the parse error occurred. This array is
+ defined in the generated ...Constants interface.
+
+
+
+ The end of line string for this machine.
+
+
+ Used to convert raw characters to their escaped version
+ when these raw version cannot be used as part of an ASCII
+ string literal.
+
+
+
+ This method has the standard behavior when this object has been
+ created using the standard constructors. Otherwise, it uses
+ "currentToken" and "expectedTokenSequences" to generate a parse
+ error message and returns it. If this object has been created
+ due to a parse error, and you do not catch it (it gets thrown
+ from the parser), then this method is called during the printing
+ of the final stack trace, and hence the correct error message
+ gets displayed.
+
+
+
+ Token Manager.
+
+
+ Debug output.
+
+
+ Set debug output.
+
+
+ Token literal values.
+
+
+ Lexer state names.
+
+
+ Lex State array.
+
+
+ Constructor.
+
+
+ Constructor.
+
+
+ Reinitialise parser.
+
+
+ Reinitialise parser.
+
+
+ Switch to specified lex state.
+
+
+ Get the next Token.
+
+
+ Describes the input token stream.
+
+
+ An integer that describes the kind of this token. This numbering
+ system is determined by JavaCCParser, and a table of these numbers is
+ stored in the file ...Constants.java.
+
+
+
+ The line number of the first character of this Token.
+
+
+ The column number of the first character of this Token.
+
+
+ The line number of the last character of this Token.
+
+
+ The column number of the last character of this Token.
+
+
+ The string image of the token.
+
+
+ A reference to the next regular (non-special) token from the input
+ stream. If this is the last token from the input stream, or if the
+ token manager has not read tokens beyond this one, this field is
+ set to null. This is true only if this token is also a regular
+ token. Otherwise, see below for a description of the contents of
+ this field.
+
+
+
+ This field is used to access special tokens that occur prior to this
+ token, but after the immediately preceding regular (non-special) token.
+ If there are no such special tokens, this field is set to null.
+ When there are more than one such special token, this field refers
+ to the last of these special tokens, which in turn refers to the next
+ previous special token through its specialToken field, and so on
+ until the first special token (whose specialToken field is null).
+ The next fields of special tokens refer to other special tokens that
+ immediately follow it (without an intervening regular token). If there
+ is no such token, this field is null.
+
+
+
+ An optional attribute value of the Token.
+ Tokens which are not used as syntactic sugar will often contain
+ meaningful values that will be used later on by the compiler or
+ interpreter. This attribute value is often different from the image.
+ Any subclass of Token that actually wants to return a non-null value can
+ override this method as appropriate.
+
+
+
+ No-argument constructor
+
+
+ Constructs a new token for the specified Image.
+
+
+ Constructs a new token for the specified Image and Kind.
+
+
+ Returns the image.
+
+
+ Returns a new Token object, by default. However, if you want, you
+ can create and return subclass objects based on the value of ofKind.
+ Simply add the cases to the switch for all those special cases.
+ For example, if you have a subclass of Token called IDToken that
+ you want to create if ofKind is ID, simply add something like :
+
+ case MyParserConstants.ID : return new IDToken(ofKind, image);
+
+ to the following switch statement. Then you can cast matchedToken
+ variable to the appropriate type and use sit in your lexical actions.
+
+
+
+ Token Manager Error.
+
+
+ Lexical error occurred.
+
+
+ An attempt was made to create a second instance of a static token manager.
+
+
+ Tried to change to an invalid lexical state.
+
+
+ Detected (and bailed out of) an infinite loop in the token manager.
+
+
+ Indicates the reason why the exception is thrown. It will have
+ one of the above 4 values.
+
+
+
+ Replaces unprintable characters by their escaped (or unicode escaped)
+ equivalents in the given string
+
+
+
+ Returns a detailed message for the Error when it is thrown by the
+ token manager to indicate a lexical error.
+ Parameters :
+ EOFSeen : indicates if EOF caused the lexical error
+ curLexState : lexical state in which this error occurred
+ errorLine : line number when the error occurred
+ errorColumn : column number when the error occurred
+ errorAfter : prefix that was seen before this error occurred
+ curchar : the offending character
+ Note: You can customize the lexical error message by modifying this method.
+
+
+
+ No arg constructor.
+
+
+ Constructor with message and reason.
+
+
+ Full Constructor.
+
+
+ You can also modify the body of this method to customize your error messages.
+ For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not
+ of end-users concern, so you can return something like :
+
+ "Internal Error : Please file a bug report .... "
+
+ from this method for such cases in the release version of your parser.
+
+
+
+ A clause in a BooleanQuery.
+
+
+ The query whose matching documents are combined by the boolean query.
+
+
+ Constructs a BooleanClause.
+
+
+ Returns true if o is equal to this.
+
+
+ Returns a hash code value for this object.
+
+
+ Specifies how clauses are to occur in matching documents.
+
+
+ Use this operator for clauses that must appear in the matching documents.
+
+
+ Use this operator for clauses that should appear in the
+ matching documents. For a BooleanQuery with no MUST
+ clauses one or more SHOULD clauses must match a document
+ for the BooleanQuery to match.
+
+
+
+
+
+ Use this operator for clauses that must not appear in the matching documents.
+ Note that it is not possible to search for queries that only consist
+ of a MUST_NOT clause.
+
+
+
+ A Query that matches documents matching boolean combinations of other
+ queries, e.g. s, s or other
+ BooleanQuerys.
+
+
+
+ The abstract base class for queries.
+ Instantiable subclasses are:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A parser for queries is contained in:
+
+ QueryParser
+
+
+
+
+ Sets the boost for this query clause to b. Documents
+ matching this clause will (in addition to the normal weightings) have
+ their score multiplied by b.
+
+
+
+ Gets the boost for this clause. Documents matching
+ this clause will (in addition to the normal weightings) have their score
+ multiplied by b. The boost is 1.0 by default.
+
+
+
+ Prints a query to a string, with field assumed to be the
+ default field and omitted.
+ The representation used is one that is supposed to be readable
+ by QueryParser. However,
+ there are the following limitations:
+
+ If the query was created by the parser, the printed
+ representation may not be exactly what was parsed. For example,
+ characters that need to be escaped will be represented without
+ the required backslash.
+ Some of the more complicated queries (e.g. span queries)
+ don't have a representation that can be parsed by QueryParser.
+
+
+
+
+ Prints a query to a string.
+
+
+ Expert: Constructs an appropriate Weight implementation for this query.
+
+
+ Only implemented by primitive queries, which re-write to themselves.
+
+
+
+ Expert: Constructs and initializes a Weight for a top-level query.
+
+
+ Expert: called to re-write queries into primitive queries. For example,
+ a PrefixQuery will be rewritten into a BooleanQuery that consists
+ of TermQuerys.
+
+
+
+ Expert: called when re-writing queries under MultiSearcher.
+
+ Create a single query suitable for use by all subsearchers (in 1-1
+ correspondence with queries). This is an optimization of the OR of
+ all queries. We handle the common optimization cases of equal
+ queries and overlapping clauses of boolean OR queries (as generated
+ by MultiTermQuery.rewrite()).
+ Be careful overriding this method as queries[0] determines which
+ method will be called and is not necessarily of the same type as
+ the other queries.
+
+
+
+ Expert: adds all terms occuring in this query to the terms set. Only
+ works if this query is in its rewritten form.
+
+
+ UnsupportedOperationException if this query is not yet rewritten
+
+
+ Expert: merges the clauses of a set of BooleanQuery's into a single
+ BooleanQuery.
+
+ A utility for use by implementations.
+
+
+
+ Expert: Returns the Similarity implementation to be used for this query.
+ Subclasses may override this method to specify their own Similarity
+ implementation, perhaps one that delegates through that of the Searcher.
+ By default the Searcher's Similarity implementation is returned.
+
+
+
+ Returns a clone of this query.
+
+
+ Return the maximum number of clauses permitted, 1024 by default.
+ Attempts to add more than the permitted number of clauses cause
+ to be thrown.
+
+
+
+
+
+ Set the maximum number of clauses permitted per BooleanQuery.
+ Default value is 1024.
+
+
+
+ Constructs an empty boolean query.
+
+
+ Constructs an empty boolean query.
+
+ may be disabled in scoring, as
+ appropriate. For example, this score factor does not make sense for most
+ automatically generated queries, like and
+ .
+
+
+ disables in scoring.
+
+
+
+ Returns true iff is disabled in
+ scoring for this query instance.
+
+
+
+
+
+ Specifies a minimum number of the optional BooleanClauses
+ which must be satisfied.
+
+
+ By default no optional clauses are necessary for a match
+ (unless there are no required clauses). If this method is used,
+ then the specified number of clauses is required.
+
+
+ Use of this method is totally independent of specifying that
+ any specific clauses are required (or prohibited). This number will
+ only be compared against the number of matching optional clauses.
+
+
+ EXPERT NOTE: Using this method may force collecting docs in order,
+ regardless of whether setAllowDocsOutOfOrder(true) has been called.
+
+
+
+ the number of optional clauses that must match
+
+
+
+
+
+ Gets the minimum number of the optional BooleanClauses
+ which must be satisifed.
+
+
+
+ Adds a clause to a boolean query.
+
+
+ TooManyClauses if the new number of clauses exceeds the maximum clause number
+
+
+
+
+ Adds a clause to a boolean query.
+ TooManyClauses if the new number of clauses exceeds the maximum clause number
+
+
+
+
+ Returns the set of clauses in this query.
+
+
+ Returns the list of clauses in this query.
+
+
+ Whether hit docs may be collected out of docid order.
+
+
+ this will not be needed anymore, as
+ is used.
+
+
+
+ Expert: Indicates whether hit docs may be collected out of docid order.
+
+
+ Background: although the contract of the Scorer class requires that
+ documents be iterated in order of doc id, this was not true in early
+ versions of Lucene. Many pieces of functionality in the current Lucene code
+ base have undefined behavior if this contract is not upheld, but in some
+ specific simple cases may be faster. (For example: disjunction queries with
+ less than 32 prohibited clauses; This setting has no effect for other
+ queries.)
+
+
+
+ Specifics: By setting this option to true, docid N might be scored for a
+ single segment before docid N-1. Across multiple segments, docs may be
+ scored out of order regardless of this setting - it only applies to scoring
+ a single segment.
+
+ Being static, this setting is system wide.
+
+
+
+ this is not needed anymore, as
+ is used.
+
+
+
+ Whether hit docs may be collected out of docid order.
+
+
+
+
+ this is not needed anymore, as
+ is used.
+
+
+
+ Use instead.
+
+
+
+ Use instead.
+
+
+
+ Prints a user-readable version of this query.
+
+
+ Returns true iff o is equal to this.
+
+
+ Returns a hash code value for this object.
+
+
+ Expert: Delegating scoring implementation. Useful in
+ implementations, to override only certain
+ methods of a Searcher's Similiarty implementation..
+
+
+
+ Expert: Scoring API.
+ Subclasses implement search scoring.
+
+ The score of query q for document d correlates to the
+ cosine-distance or dot-product between document and query vectors in a
+
+ Vector Space Model (VSM) of Information Retrieval.
+ A document whose vector is closer to the query vector in that model is scored higher.
+
+ The score is computed as follows:
+
+
+
+
+ where
+
+
+
+ tf(t in d)
+ correlates to the term's frequency,
+ defined as the number of times term t appears in the currently scored document d.
+ Documents that have more occurrences of a given term receive a higher score.
+ The default computation for tf(t in d) in
+ DefaultSimilarity is:
+
+
+
+
+
+ tf(t in d) =
+
+
+ frequency½
+
+
+
+
+
+
+
+
+ idf(t) stands for Inverse Document Frequency. This value
+ correlates to the inverse of docFreq
+ (the number of documents in which the term t appears).
+ This means rarer terms give higher contribution to the total score.
+ The default computation for idf(t) in
+ DefaultSimilarity is:
+
+
+
+
+
+ idf(t) =
+
+
+ 1 + log (
+
+
+
+
numDocs
+
–––––––––
+
docFreq+1
+
+
+
+ )
+
+
+
+
+
+
+
+
+ coord(q,d)
+ is a score factor based on how many of the query terms are found in the specified document.
+ Typically, a document that contains more of the query's terms will receive a higher score
+ than another document with fewer query terms.
+ This is a search time factor computed in
+ coord(q,d)
+ by the Similarity in effect at search time.
+
+
+
+
+
+ queryNorm(q)
+
+ is a normalizing factor used to make scores between queries comparable.
+ This factor does not affect document ranking (since all ranked documents are multiplied by the same factor),
+ but rather just attempts to make scores from different queries (or even different indexes) comparable.
+ This is a search time factor computed by the Similarity in effect at search time.
+
+ The default computation in
+ DefaultSimilarity
+ is:
+
+
+
+
+
+
+ t.getBoost()
+ is a search time boost of term t in the query q as
+ specified in the query text
+ (see query syntax),
+ or as set by application calls to
+ .
+ Notice that there is really no direct API for accessing a boost of one term in a multi term query,
+ but rather multi terms are represented in a query as multi
+ TermQuery objects,
+ and so the boost of a term in the query is accessible by calling the sub-query
+ .
+
+
+
+
+
+ norm(t,d) encapsulates a few (indexing time) boost and length factors:
+
+
+ Document boost - set by calling
+ doc.setBoost()
+ before adding the document to the index.
+
+ Field boost - set by calling
+ field.SetBoost()
+ before adding the field to a document.
+
+ LengthNorm(field) - computed
+ when the document is added to the index in accordance with the number of tokens
+ of this field in the document, so that shorter fields contribute more to the score.
+ LengthNorm is computed by the Similarity class in effect at indexing.
+
+
+
+
+ When a document is added to the index, all the above factors are multiplied.
+ If the document has multiple fields with the same name, all their boosts are multiplied together:
+
+
+ However the resulted norm value is encoded as a single byte
+ before being stored.
+ At search time, the norm byte value is read from the index
+ directory and
+ decoded back to a float norm value.
+ This encoding/decoding, while reducing index size, comes with the price of
+ precision loss - it is not guaranteed that decode(encode(x)) = x.
+ For instance, decode(encode(0.89)) = 0.75.
+ Also notice that search time is too late to modify this norm part of scoring, e.g. by
+ using a different for search.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Set the default Similarity implementation used by indexing and search
+ code.
+
+
+
+
+
+
+
+
+ Return the default Similarity implementation used by indexing and search
+ code.
+
+ This is initially an instance of .
+
+
+
+
+
+
+
+
+ Cache of decoded bytes.
+
+
+ Decodes a normalization factor stored in an index.
+
+
+
+
+ Returns a table for decoding normalization bytes.
+
+
+
+
+ Compute the normalization value for a field, given the accumulated
+ state of term processing for this field (see ).
+
+ Implementations should calculate a float value based on the field
+ state and then return that value.
+
+ For backward compatibility this method by default calls
+ passing
+ as the second argument, and
+ then multiplies this value by .
+
+ WARNING: This API is new and experimental and may
+ suddenly change.
+
+
+ field name
+
+ current processing state for this field
+
+ the calculated float norm
+
+
+
+ Computes the normalization value for a field given the total number of
+ terms contained in a field. These values, together with field boosts, are
+ stored in an index and multipled into scores for hits on each field by the
+ search code.
+
+ Matches in longer fields are less precise, so implementations of this
+ method usually return smaller values when numTokens is large,
+ and larger values when numTokens is small.
+
+ Note that the return values are computed under
+
+ and then stored using
+ .
+ Thus they have limited precision, and documents
+ must be re-indexed if this method is altered.
+
+
+ the name of the field
+
+ the total number of tokens contained in fields named
+ fieldName of doc.
+
+ a normalization factor for hits on this field of this document
+
+
+
+
+
+
+ Computes the normalization value for a query given the sum of the squared
+ weights of each of the query terms. This value is then multipled into the
+ weight of each query term.
+
+ This does not affect ranking, but rather just attempts to make scores
+ from different queries comparable.
+
+
+ the sum of the squares of query term weights
+
+ a normalization factor for query weights
+
+
+
+ Encodes a normalization factor for storage in an index.
+
+ The encoding uses a three-bit mantissa, a five-bit exponent, and
+ the zero-exponent point at 15, thus
+ representing values from around 7x10^9 to 2x10^-9 with about one
+ significant decimal digit of accuracy. Zero is also represented.
+ Negative numbers are rounded up to zero. Values too large to represent
+ are rounded down to the largest representable value. Positive values too
+ small to represent are rounded up to the smallest positive representable
+ value.
+
+
+
+
+
+
+
+
+ Computes a score factor based on a term or phrase's frequency in a
+ document. This value is multiplied by the
+ factor for each term in the query and these products are then summed to
+ form the initial score for a document.
+
+ Terms and phrases repeated in a document indicate the topic of the
+ document, so implementations of this method usually return larger values
+ when freq is large, and smaller values when freq
+ is small.
+
+ The default implementation calls .
+
+
+ the frequency of a term within a document
+
+ a score factor based on a term's within-document frequency
+
+
+
+ Computes the amount of a sloppy phrase match, based on an edit distance.
+ This value is summed for each sloppy phrase match in a document to form
+ the frequency that is passed to .
+
+ A phrase match with a small edit distance to a document passage more
+ closely matches the document, so implementations of this method usually
+ return larger values when the edit distance is small and smaller values
+ when it is large.
+
+
+
+
+ the edit distance of this sloppy phrase match
+
+ the frequency increment for this match
+
+
+
+ Computes a score factor based on a term or phrase's frequency in a
+ document. This value is multiplied by the
+ factor for each term in the query and these products are then summed to
+ form the initial score for a document.
+
+ Terms and phrases repeated in a document indicate the topic of the
+ document, so implementations of this method usually return larger values
+ when freq is large, and smaller values when freq
+ is small.
+
+
+ the frequency of a term within a document
+
+ a score factor based on a term's within-document frequency
+
+
+
+ Computes a score factor for a simple term.
+
+ The default implementation is:
+ return idf(searcher.docFreq(term), searcher.maxDoc());
+
+
+ Note that is used instead of
+ because it is proportional to
+ , i.e., when one is inaccurate,
+ so is the other, and in the same direction.
+
+
+ the term in question
+
+ the document collection being searched
+
+ a score factor for the term
+
+ see
+
+
+
+ Computes a score factor for a simple term and returns an explanation
+ for that score factor.
+
+
+ The default implementation uses:
+
+
+ idf(searcher.docFreq(term), searcher.maxDoc());
+
+
+ Note that is used instead of
+ because it is
+ proportional to , i.e., when one is
+ inaccurate, so is the other, and in the same direction.
+
+
+ the term in question
+
+ the document collection being searched
+
+ an IDFExplain object that includes both an idf score factor
+ and an explanation for the term.
+
+ IOException
+
+
+ Computes a score factor for a phrase.
+
+ The default implementation sums the factor
+ for each term in the phrase.
+
+
+ the terms in the phrase
+
+ the document collection being searched
+
+ idf score factor
+
+ see
+
+
+
+ Computes a score factor for a phrase.
+
+
+ The default implementation sums the idf factor for
+ each term in the phrase.
+
+
+ the terms in the phrase
+
+ the document collection being searched
+
+ an IDFExplain object that includes both an idf
+ score factor for the phrase and an explanation
+ for each term.
+
+ IOException
+
+
+ Computes a score factor based on a term's document frequency (the number
+ of documents which contain the term). This value is multiplied by the
+ factor for each term in the query and these products are
+ then summed to form the initial score for a document.
+
+ Terms that occur in fewer documents are better indicators of topic, so
+ implementations of this method usually return larger values for rare terms,
+ and smaller values for common terms.
+
+
+ the number of documents which contain the term
+
+ the total number of documents in the collection
+
+ a score factor based on the term's document frequency
+
+
+
+ Computes a score factor based on the fraction of all query terms that a
+ document contains. This value is multiplied into scores.
+
+ The presence of a large portion of the query terms indicates a better
+ match with the query, so implementations of this method usually return
+ larger values when the ratio between these parameters is large and smaller
+ values when the ratio between them is small.
+
+
+ the number of query terms matched in the document
+
+ the total number of terms in the query
+
+ a score factor based on term overlap with the query
+
+
+
+ Calculate a scoring factor based on the data in the payload. Overriding implementations
+ are responsible for interpreting what is in the payload. Lucene makes no assumptions about
+ what is in the byte array.
+
+ The default implementation returns 1.
+
+
+ The fieldName of the term this payload belongs to
+
+ The payload byte array to be scored
+
+ The offset into the payload array
+
+ The length in the array
+
+ An implementation dependent float to be used as a scoring factor
+
+
+ See
+
+
+
+ Calculate a scoring factor based on the data in the payload. Overriding implementations
+ are responsible for interpreting what is in the payload. Lucene makes no assumptions about
+ what is in the byte array.
+
+ The default implementation returns 1.
+
+
+ The docId currently being scored. If this value is , then it should be assumed that the PayloadQuery implementation does not provide document information
+
+ The fieldName of the term this payload belongs to
+
+ The start position of the payload
+
+ The end position of the payload
+
+ The payload byte array to be scored
+
+ The offset into the payload array
+
+ The length in the array
+
+ An implementation dependent float to be used as a scoring factor
+
+
+
+
+ Remove this when old API is removed!
+
+
+
+ Remove this when old API is removed!
+
+
+
+ Remove this when old API is removed!
+
+
+
+ The Similarity implementation used by default.
+ TODO: move back to top when old API is removed!
+
+
+
+
+ Small Util class used to pass both an idf factor as well as an
+ explanation for that factor.
+
+ This class will likely be held on a , so be aware
+ before storing any large or un-serializable fields.
+
+
+
+
+ Expert: Describes the score computation for document and query.
+
+
+ Indicates whether or not this Explanation models a good match.
+
+
+ By default, an Explanation represents a "match" if the value is positive.
+
+
+
+
+
+
+ The value assigned to this explanation node.
+
+
+ Sets the value assigned to this explanation node.
+
+
+ A description of this explanation node.
+
+
+ Sets the description of this explanation node.
+
+
+ A short one line summary which should contain all high level
+ information about this Explanation, without the "Details"
+
+
+
+ The sub-nodes of this explanation node.
+
+
+ Adds a sub-node to this explanation node.
+
+
+ Render an explanation as text.
+
+
+ Render an explanation as HTML.
+
+
+ Small Util class used to pass both an idf factor as well as an
+ explanation for that factor.
+
+ This class will likely be held on a , so be aware
+ before storing any large or un-serializable fields.
+
+
+
+
+ the idf factor
+
+
+
+ This should be calculated lazily if possible.
+
+
+ the explanation for the idf factor.
+
+
+
+ Remove this when old API is removed!
+
+
+
+ Remove this when old API is removed!
+
+
+
+ Remove this when old API is removed!
+
+
+
+ Construct a that delegates all methods to another.
+
+
+ the Similarity implementation to delegate to
+
+
+
+ Thrown when an attempt is made to add more than
+ clauses. This typically happens if
+ a PrefixQuery, FuzzyQuery, WildcardQuery, or TermRangeQuery
+ is expanded to many terms during search.
+
+
+
+ Expert: the Weight for BooleanQuery, used to
+ normalize, score and explain these queries.
+
+ NOTE: this API and implementation is subject to
+ change suddenly in the next release.
+
+
+
+ Expert: Calculate query weights and build query scorers.
+
+ The purpose of is to ensure searching does not
+ modify a , so that a instance can be reused.
+ dependent state of the query should reside in the
+ .
+ dependent state should reside in the .
+
+ A Weight is used in the following way:
+
+ A Weight is constructed by a top-level query, given a
+ Searcher ().
+ The method is called on the
+ Weight to compute the query normalization factor
+ of the query clauses contained in the
+ query.
+ The query normalization factor is passed to . At
+ this point the weighting is complete.
+ A Scorer is constructed by .
+
+
+
+ 2.9
+
+
+
+ An explanation of the score computation for the named document.
+
+
+ sub-reader containing the give doc
+
+
+
+ an Explanation for the score
+
+ IOException
+
+
+ The query that this concerns.
+
+
+ The weight for this query.
+
+
+ Assigns the query normalization factor to this.
+
+
+ Returns a which scores documents in/out-of order according
+ to scoreDocsInOrder.
+
+ NOTE: even if scoreDocsInOrder is false, it is
+ recommended to check whether the returned Scorer indeed scores
+ documents out of order (i.e., call ), as
+ some Scorer implementations will always return documents
+ in-order.
+ NOTE: null can be returned if no documents will be scored by this
+ query.
+
+
+
+ the for which to return the .
+
+ specifies whether in-order scoring of documents is required. Note
+ that if set to false (i.e., out-of-order scoring is required),
+ this method can return whatever scoring mode it supports, as every
+ in-order scorer is also an out-of-order one. However, an
+ out-of-order scorer may not support
+ and/or , therefore it is recommended to
+ request an in-order scorer if use of these methods is required.
+
+
+ if true, will be called; if false,
+ and/or will
+ be called.
+
+ a which scores documents in/out-of order.
+
+ IOException
+
+
+ The sum of squared weights of contained query clauses.
+
+
+ Returns true iff this implementation scores docs only out of order. This
+ method is used in conjunction with 's
+ AcceptsDocsOutOfOrder and
+ to
+ create a matching instance for a given , or
+ vice versa.
+
+ NOTE: the default implementation returns false, i.e.
+ the Scorer scores documents in-order.
+
+
+
+ The Similarity implementation.
+
+
+ Expert: Common scoring functionality for different types of queries.
+
+
+ A Scorer iterates over documents matching a
+ query in increasing order of doc Id.
+
+
+ Document scores are computed using a given Similarity
+ implementation.
+
+
+ NOTE: The values Float.Nan,
+ Float.NEGATIVE_INFINITY and Float.POSITIVE_INFINITY are
+ not valid scores. Certain collectors (eg
+ ) will not properly collect hits
+ with these scores.
+
+
+
+
+
+
+ This abstract class defines methods to iterate over a set of non-decreasing
+ doc ids. Note that this class assumes it iterates on doc Ids, and therefore
+ is set to Int32.MaxValue in order to be used as
+ a sentinel object. Implementations of this class are expected to consider
+ as an invalid value.
+
+
+
+ When returned by , and
+ it means there are no more docs in the iterator.
+
+
+
+ Unsupported anymore. Call instead. This method throws
+ if called.
+
+
+ use instead.
+
+
+
+ Returns the following:
+
+ -1 or if or
+ were not called yet.
+ if the iterator has exhausted.
+ Otherwise it should return the doc ID it is currently on.
+
+
+ NOTE: in 3.0, this method will become abstract.
+
+
+ 2.9
+
+
+
+ Unsupported anymore. Call instead. This method throws
+ if called.
+
+
+ use instead. This will be removed in 3.0
+
+
+
+ Unsupported anymore. Call instead. This method throws
+ if called.
+
+
+ use instead. This will be removed in 3.0
+
+
+
+ Advances to the next document in the set and returns the doc it is
+ currently on, or if there are no more docs in the
+ set.
+
+ NOTE: in 3.0 this method will become abstract, following the removal
+ of . For backward compatibility it is implemented as:
+
+
+ public int nextDoc() throws IOException {
+ return next() ? doc() : NO_MORE_DOCS;
+ }
+
+
+ NOTE: after the iterator has exhausted you should not call this
+ method, as it may result in unpredicted behavior.
+
+
+ 2.9
+
+
+
+ Advances to the first beyond the current whose document number is greater
+ than or equal to target. Returns the current document number or
+ if there are no more docs in the set.
+
+ Behaves as if written:
+
+
+ int advance(int target) {
+ int doc;
+ while ((doc = nextDoc()) < target) {
+ }
+ return doc;
+ }
+
+
+ Some implementations are considerably more efficient than that.
+
+ NOTE: certain implemenations may return a different value (each
+ time) if called several times in a row with the same target.
+
+ NOTE: this method may be called with for
+ efficiency by some Scorers. If your implementation cannot efficiently
+ determine that it should exhaust, it is recommended that you check for that
+ value in each call to this method.
+
+ NOTE: after the iterator has exhausted you should not call this
+ method, as it may result in unpredicted behavior.
+
+ NOTE: in 3.0 this method will become abstract, following the removal
+ of .
+
+
+ 2.9
+
+
+
+ Constructs a Scorer.
+ The Similarity implementation used by this scorer.
+
+
+
+ Returns the Similarity implementation used by this scorer.
+
+
+ Scores and collects all matching documents.
+ The collector to which all matching documents are passed through
+ .
+ When this method is used the method should not be used.
+
+ use instead.
+
+
+
+ Scores and collects all matching documents.
+ The collector to which all matching documents are passed.
+ When this method is used the method should not be used.
+
+
+
+ Expert: Collects matching documents in a range. Hook for optimization.
+ Note that must be called once before this method is called
+ for the first time.
+
+ The collector to which all matching documents are passed through
+ .
+
+ Do not score documents past this.
+
+ true if more matching documents may remain.
+
+ use instead.
+
+
+
+ Expert: Collects matching documents in a range. Hook for optimization.
+ Note, is added to ensure that
+ was called before this method.
+
+
+ The collector to which all matching documents are passed.
+
+ Do not score documents past this.
+
+
+ The first document ID (ensures is called before
+ this method.
+
+ true if more matching documents may remain.
+
+
+
+ Returns the score of the current document matching the query.
+ Initially invalid, until or
+ is called the first time, or when called from within
+ .
+
+
+
+ Returns an explanation of the score for a document.
+ When this method is used, the , and
+ methods should not be used.
+
+ The document number for the explanation.
+
+
+ Please use
+ or instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Expert: Collectors are primarily meant to be used to
+ gather raw results from a search, and implement sorting
+ or custom result filtering, collation, etc.
+
+ As of 2.9, this class replaces the deprecated
+ HitCollector, and offers an API for efficient collection
+ of hits across sequential s.
+ advances the collector through each of the
+ sub readers, in an arbitrary order. This results in a
+ higher performance means of collection.
+
+ Lucene's core collectors are derived from Collector.
+ Likely your application can use one of these classes, or
+ subclass , instead of
+ implementing Collector directly:
+
+
+
+ is an abstract base class
+ that assumes you will retrieve the top N docs,
+ according to some criteria, after collection is
+ done.
+
+ is a concrete subclass
+ and sorts according to score +
+ docID. This is used internally by the
+ search methods that do not take an
+ explicit . It is likely the most frequently
+ used collector.
+
+ subclasses
+ and sorts according to a specified
+ object (sort by field). This is used
+ internally by the search methods
+ that take an explicit .
+
+ , which wraps any other
+ Collector and aborts the search if it's taken too much
+ time, will subclass Collector in 3.0 (presently it
+ subclasses the deprecated HitCollector).
+
+ wraps any other
+ Collector and prevents collection of hits whose score
+ is <= 0.0
+
+
+
+ Collector decouples the score from the collected doc:
+ the score computation is skipped entirely if it's not
+ needed. Collectors that do need the score should
+ implement the method, to hold onto the
+ passed instance, and call
+ within the collect method to compute the
+ current hit's score. If your collector may request the
+ score for a single hit multiple times, you should use
+ .
+
+ NOTE: The doc that is passed to the collect
+ method is relative to the current reader. If your
+ collector needs to resolve this to the docID space of the
+ Multi*Reader, you must re-base it by recording the
+ docBase from the most recent setNextReader call. Here's
+ a simple example showing how to collect docIDs into a
+ BitSet:
+
+
+ Searcher searcher = new IndexSearcher(indexReader);
+ final BitSet bits = new BitSet(indexReader.maxDoc());
+ searcher.search(query, new Collector() {
+ private int docBase;
+
+ // ignore scorer
+ public void setScorer(Scorer scorer) {
+ }
+
+ // accept docs out of order (for a BitSet it doesn't matter)
+ public boolean acceptsDocsOutOfOrder() {
+ return true;
+ }
+
+ public void collect(int doc) {
+ bits.set(doc + docBase);
+ }
+
+ public void setNextReader(IndexReader reader, int docBase) {
+ this.docBase = docBase;
+ }
+ });
+
+
+ Not all collectors will need to rebase the docID. For
+ example, a collector that simply counts the total number
+ of hits would skip it.
+
+ NOTE: Prior to 2.9, Lucene silently filtered
+ out hits with score <= 0. As of 2.9, the core Collectors
+ no longer do that. It's very unusual to have such hits
+ (a negative query boost, or function query returning
+ negative custom scores, could cause it to happen). If
+ you need that behavior, use
+ .
+
+ NOTE: This API is experimental and might change
+ in incompatible ways in the next release.
+
+
+ 2.9
+
+
+
+ Called before successive calls to . Implementations
+ that need the score of the current document (passed-in to
+ ), should save the passed-in Scorer and call
+ scorer.score() when needed.
+
+
+
+ Called once for every document matching a query, with the unbased document
+ number.
+
+
+ Note: This is called in an inner search loop. For good search performance,
+ implementations of this method should not call or
+ on every hit.
+ Doing so can slow searches by an order of magnitude or more.
+
+
+
+ Called before collecting from each IndexReader. All doc ids in
+ will correspond to reader.
+
+ Add docBase to the current IndexReaders internal document id to re-base ids
+ in .
+
+
+ next IndexReader
+
+
+
+
+
+
+ Return true if this collector does not
+ require the matching docIDs to be delivered in int sort
+ order (smallest to largest) to .
+ Most Lucene Query implementations will visit
+ matching docIDs in order. However, some queries
+ (currently limited to certain cases of )
+ can achieve faster searching if the
+ Collector allows them to deliver the
+ docIDs out of order.
+ Many collectors don't mind getting docIDs out of
+ order, so it's important to return true
+ here.
+
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ A simple hash table of document scores within a range.
+
+
+ An alternative to BooleanScorer that also allows a minimum number
+ of optional scorers that should match.
+ Implements skipTo(), and has no limitations on the numbers of added scorers.
+ Uses ConjunctionScorer, DisjunctionScorer, ReqOptScorer and ReqExclScorer.
+
+
+
+ The scorer to which all scoring will be delegated,
+ except for computing and using the coordination factor.
+
+
+
+ The number of optionalScorers that need to match (if there are any)
+
+
+ Creates a with the given similarity and lists of required,
+ prohibited and optional scorers. In no required scorers are added, at least
+ one of the optional scorers will have to match during the search.
+
+
+ The similarity to be used.
+
+ The minimum number of optional added scorers that should match
+ during the search. In case no required scorers are added, at least
+ one of the optional scorers will have to match during the search.
+
+ the list of required scorers.
+
+ the list of prohibited scorers.
+
+ the list of optional scorers.
+
+
+
+ Returns the scorer to be used for match counting and score summing.
+ Uses requiredScorers, optionalScorers and prohibitedScorers.
+
+
+
+ Returns the scorer to be used for match counting and score summing.
+ Uses the given required scorer and the prohibitedScorers.
+
+ A required scorer already built.
+
+
+
+ Scores and collects all matching documents.
+ The collector to which all matching documents are passed through
+ .
+ When this method is used the method should not be used.
+
+ use instead.
+
+
+
+ Scores and collects all matching documents.
+ The collector to which all matching documents are passed through.
+ When this method is used the method should not be used.
+
+
+
+ Expert: Collects matching documents in a range.
+ Note that must be called once before this method is
+ called for the first time.
+
+ The collector to which all matching documents are passed through
+ .
+
+ Do not score documents past this.
+
+ true if more matching documents may remain.
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Throws an UnsupportedOperationException.
+ TODO: Implement an explanation of the coordination factor.
+
+ The document number for the explanation.
+
+ UnsupportedOperationException
+
+
+ A Scorer for OR like queries, counterpart of ConjunctionScorer.
+ This Scorer implements and uses skipTo() on the given Scorers.
+ TODO: Implement score(HitCollector, int).
+
+
+
+ The number of subscorers.
+
+
+ The subscorers.
+
+
+ The minimum number of scorers that should match.
+
+
+ The scorerDocQueue contains all subscorers ordered by their current doc(),
+ with the minimum at the top.
+ The scorerDocQueue is initialized the first time next() or skipTo() is called.
+ An exhausted scorer is immediately removed from the scorerDocQueue.
+ If less than the minimumNrMatchers scorers
+ remain in the scorerDocQueue next() and skipTo() return false.
+
+ After each to call to next() or skipTo()
+ currentSumScore is the total score of the current matching doc,
+ nrMatchers is the number of matching scorers,
+ and all scorers are after the matching doc, or are exhausted.
+
+
+
+ The document number of the current match.
+
+
+ The number of subscorers that provide the current match.
+
+
+ Construct a DisjunctionScorer.
+ A collection of at least two subscorers.
+
+ The positive minimum number of subscorers that should
+ match to match this query.
+ When minimumNrMatchers is bigger than
+ the number of subScorers,
+ no matches will be produced.
+ When minimumNrMatchers equals the number of subScorers,
+ it more efficient to use ConjunctionScorer.
+
+
+
+ Construct a DisjunctionScorer, using one as the minimum number
+ of matching subscorers.
+
+
+
+ Called the first time next() or skipTo() is called to
+ initialize scorerDocQueue.
+
+
+
+ Scores and collects all matching documents.
+ The collector to which all matching documents are passed through
+ .
+ When this method is used the method should not be used.
+
+ use instead.
+
+
+
+ Scores and collects all matching documents.
+ The collector to which all matching documents are passed through.
+ When this method is used the method should not be used.
+
+
+
+ Expert: Collects matching documents in a range. Hook for optimization.
+ Note that must be called once before this method is called
+ for the first time.
+
+ The collector to which all matching documents are passed through
+ .
+
+ Do not score documents past this.
+
+ true if more matching documents may remain.
+
+ use instead.
+
+
+
+ Expert: Collects matching documents in a range. Hook for optimization.
+ Note that must be called once before this method is called
+ for the first time.
+
+ The collector to which all matching documents are passed through.
+
+ Do not score documents past this.
+
+
+ true if more matching documents may remain.
+
+
+
+ use instead.
+
+
+
+ Advance all subscorers after the current document determined by the
+ top of the scorerDocQueue.
+ Repeat until at least the minimum number of subscorers match on the same
+ document and all subscorers are after that document or are exhausted.
+ On entry the scorerDocQueue has at least minimumNrMatchers
+ available. At least the scorer with the minimum document number will be advanced.
+
+ true iff there is a match.
+ In case there is a match, currentDoc, currentSumScore,
+ and nrMatchers describe the match.
+
+ TODO: Investigate whether it is possible to use skipTo() when
+ the minimum number of matchers is bigger than one, ie. try and use the
+ character of ConjunctionScorer for the minimum number of matchers.
+ Also delay calling score() on the sub scorers until the minimum number of
+ matchers is reached.
+ For this, a Scorer array with minimumNrMatchers elements might
+ hold Scorers at currentDoc that are temporarily popped from scorerQueue.
+
+
+
+ Returns the score of the current document matching the query.
+ Initially invalid, until is called the first time.
+
+
+
+ use instead.
+
+
+
+ Returns the number of subscorers matching the current document.
+ Initially invalid, until is called the first time.
+
+
+
+ Skips to the first match beyond the current whose document number is
+ greater than or equal to a given target.
+ When this method is used the method should not be
+ used.
+ The implementation uses the skipTo() method on the subscorers.
+
+
+ The target document number.
+
+ true iff there is such a match.
+
+ use instead.
+
+
+
+ Advances to the first match beyond the current whose document number is
+ greater than or equal to a given target.
+ When this method is used the method should not be
+ used.
+ The implementation uses the skipTo() method on the subscorers.
+
+
+ The target document number.
+
+ the document whose number is greater than or equal to the given
+ target, or -1 if none exist.
+
+
+
+ An explanation for the score of a given document.
+
+
+
+ Scorer for conjunctions, sets of queries, all of which are required.
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Count a scorer as a single match.
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Wraps another SpanFilter's result and caches it. The purpose is to allow
+ filters to simply filter, and then wrap with this class to add caching.
+
+
+
+ Abstract base class providing a mechanism to restrict searches to a subset
+ of an index and also maintains and returns position information.
+ This is useful if you want to compare the positions from a SpanQuery with the positions of items in
+ a filter. For instance, if you had a SpanFilter that marked all the occurrences of the word "foo" in documents,
+ and then you entered a new SpanQuery containing bar, you could not only filter by the word foo, but you could
+ then compare position information for post processing.
+
+
+
+ Abstract base class for restricting which documents may be returned during searching.
+
+ Note: In Lucene 3.0 will be removed
+ and will be defined as abstract.
+ All implementing classes must therefore implement
+ in order to work with Lucene 3.0.
+
+
+
+ NOTE: See for
+ handling of multi-segment indexes (which applies to
+ this method as well.
+
+ A BitSet with true for documents which should be permitted in
+ search results, and false for those that should not.
+
+ Use instead.
+
+
+
+
+ Creates a enumerating the documents that should be
+ permitted in search results. NOTE: null can be
+ returned if no documents are accepted by this Filter.
+
+ Note: This method will be called once per segment in
+ the index during searching. The returned
+ must refer to document IDs for that segment, not for
+ the top-level reader.
+
+ a DocIdSet that provides the documents which should be permitted or
+ prohibited in search results. NOTE: null can be returned if
+ no documents will be accepted by this Filter.
+
+
+ A instance opened on the index currently
+ searched on. Note, it is likely that the provided reader does not
+ represent the whole underlying index i.e. if the index has more than
+ one segment the given reader only represents a single segment.
+
+
+
+
+
+ Returns a SpanFilterResult with true for documents which should be permitted in
+ search results, and false for those that should not and Spans for where the true docs match.
+
+ The to load position and DocIdSet information from
+
+ A
+
+ java.io.IOException if there was an issue accessing the necessary information
+
+
+
+
+ A transient Filter cache.
+
+
+
+ New deletions always result in a cache miss, by default
+ (.
+ Filter to cache results of
+
+
+
+
+ New deletions always result in a cache miss, specify the
+ Filter to cache results of
+ See
+
+
+ Use instead.
+
+
+
+ Wraps another filter's result and caches it. The purpose is to allow
+ filters to simply filter, and then wrap with this class to add caching.
+
+
+
+
+ New deletes are ignored by default, which gives higher
+ cache hit rate on reopened readers. Most of the time
+ this is safe, because the filter will be AND'd with a
+ Query that fully enforces deletions. If instead you
+ need this filter to always enforce deletions, pass
+ either or
+ .
+
+ Filter to cache results of
+
+
+
+
+ Expert: by default, the cached filter will be shared
+ across reopened segments that only had changes to their
+ deletions.
+
+ Filter to cache results of
+ See
+
+
+
+ Use instead.
+
+
+
+ Provide the DocIdSet to be cached, using the DocIdSet provided
+ by the wrapped Filter.
+ This implementation returns the given DocIdSet.
+
+
+
+
+ Expert: Specifies how new deletions against a reopened
+ reader should be handled.
+
+ The default is IGNORE, which means the cache entry
+ will be re-used for a given segment, even when that
+ segment has been reopened due to changes in deletions.
+ This is a big performance gain, especially with
+ near-real-timer readers, since you don't hit a cache
+ miss on every reopened reader for prior segments.
+
+ However, in some cases this can cause invalid query
+ results, allowing deleted documents to be returned.
+ This only happens if the main query does not rule out
+ deleted documents on its own, such as a toplevel
+ ConstantScoreQuery. To fix this, use RECACHE to
+ re-create the cached filter (at a higher per-reopen
+ cost, but at faster subsequent search performance), or
+ use DYNAMIC to dynamically intersect deleted docs (fast
+ reopen time but some hit to search performance).
+
+
+
+ A transient Filter cache (package private because of test)
+
+
+ Abstract decorator class for a DocIdSet implementation
+ that provides on-demand filtering/validation
+ mechanism on a given DocIdSet.
+
+
+
+ Technically, this same functionality could be achieved
+ with ChainedFilter (under contrib/misc), however the
+ benefit of this class is it never materializes the full
+ bitset for the filter. Instead, the
+ method is invoked on-demand, per docID visited during
+ searching. If you know few docIDs will be visited, and
+ the logic behind is relatively costly,
+ this may be a better way to filter than ChainedFilter.
+
+
+
+
+
+
+ A DocIdSet contains a set of doc ids. Implementing classes must
+ only implement to provide access to the set.
+
+
+
+ An empty instance for easy use, e.g. in Filters that hit no documents.
+
+
+ Provides a to access the set.
+ This implementation can return null or
+ EMPTY_DOCIDSET.Iterator() if there
+ are no docs that match.
+
+
+
+ This method is a hint for , if this DocIdSet
+ should be cached without copying it into a BitSet. The default is to return
+ false. If you have an own DocIdSet implementation
+ that does its iteration very effective and fast without doing disk I/O,
+ override this method and return true.
+
+
+
+ Constructor.
+ Underlying DocIdSet
+
+
+
+ This DocIdSet implementation is cacheable if the inner set is cacheable.
+
+
+ Validation method to determine whether a docid should be in the result set.
+ docid to be tested
+
+ true if input docid should be in the result set, false otherwise.
+
+
+
+ Implementation of the contract to build a DocIdSetIterator.
+
+
+
+
+
+
+ Abstract decorator class of a DocIdSetIterator
+ implementation that provides on-demand filter/validation
+ mechanism on an underlying DocIdSetIterator. See
+ .
+
+
+
+ Constructor.
+ Underlying DocIdSetIterator.
+
+
+
+ Validation method to determine whether a docid should be in the result set.
+ docid to be tested
+
+ true if input docid should be in the result set, false otherwise.
+
+
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Expert: Describes the score computation for document and query, and
+ can distinguish a match independent of a positive value.
+
+
+
+ The match status of this explanation node.
+ May be null if match status is unknown
+
+
+
+ Sets the match status assigned to this explanation node.
+ May be null if match status is unknown
+
+
+
+ Indicates whether or not this Explanation models a good match.
+
+
+ If the match status is explicitly set (i.e.: not null) this method
+ uses it; otherwise it defers to the superclass.
+
+
+
+
+
+
+ A query that wraps a filter and simply returns a constant score equal to the
+ query boost for every document in the filter.
+
+
+
+ $Id: ConstantScoreQuery.java 807180 2009-08-24 12:26:43Z markrmiller $
+
+
+
+ Returns the encapsulated filter
+
+
+ Prints a user-readable version of this query.
+
+
+ Returns true if o is equal to this.
+
+
+ Returns a hash code value for this object.
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ A range query that returns a constant score equal to its boost for
+ all documents in the exclusive range of terms.
+
+ It does not have an upper bound on the number of clauses covered in the range.
+
+ This query matches the documents looking for terms that fall into the
+ supplied range according to . It is not intended
+ for numerical ranges, use instead.
+
+ This query is hardwired to .
+ If you want to change this, use instead.
+
+
+ Use for term ranges or
+ for numeric ranges instead.
+ This class will be removed in Lucene 3.0.
+
+ $Id: ConstantScoreRangeQuery.java 797694 2009-07-25 00:03:33Z mikemccand $
+
+
+
+ A Query that matches documents within an exclusive range of terms.
+
+ This query matches the documents looking for terms that fall into the
+ supplied range according to . It is not intended
+ for numerical ranges, use instead.
+
+ This query uses the
+
+ rewrite method.
+
+ 2.9
+
+
+
+ An abstract that matches documents
+ containing a subset of terms provided by a
+ enumeration.
+
+ This query cannot be used directly; you must subclass
+ it and define to provide a
+ that iterates through the terms to be
+ matched.
+
+ NOTE: if is either
+ or
+ , you may encounter a
+ exception during
+ searching, which happens when the number of terms to be
+ searched exceeds
+ . Setting
+ to
+ prevents this.
+
+ The recommended rewrite method is
+ : it doesn't spend CPU
+ computing unhelpful scores, and it tries to pick the most
+ performant rewrite method given the query.
+
+ Note that produces
+ MultiTermQueries using
+ by default.
+
+
+
+ A rewrite method that first creates a private Filter,
+ by visiting each term in sequence and marking all docs
+ for that term. Matching documents are assigned a
+ constant score equal to the query's boost.
+
+ This method is faster than the BooleanQuery
+ rewrite methods when the number of matched terms or
+ matched documents is non-trivial. Also, it will never
+ hit an errant
+ exception.
+
+
+
+
+
+
+ A rewrite method that first translates each term into
+ clause in a
+ BooleanQuery, and keeps the scores as computed by the
+ query. Note that typically such scores are
+ meaningless to the user, and require non-trivial CPU
+ to compute, so it's almost always better to use
+ instead.
+
+ NOTE: This rewrite method will hit
+ if the number of terms
+ exceeds .
+
+
+
+
+
+
+ Like except
+ scores are not computed. Instead, each matching
+ document receives a constant score equal to the
+ query's boost.
+
+ NOTE: This rewrite method will hit
+ if the number of terms
+ exceeds .
+
+
+
+
+
+
+ Read-only default instance of
+ , with
+ set to
+
+
+ and
+ set to
+
+ .
+ Note that you cannot alter the configuration of this
+ instance; you'll need to create a private instance
+ instead.
+
+
+
+ Constructs a query for terms matching term.
+ check sub class for possible term access - the Term does not
+ make sense for all MultiTermQuerys and will be removed.
+
+
+
+ Constructs a query matching terms that cannot be represented with a single
+ Term.
+
+
+
+ Returns the pattern term.
+ check sub class for possible term access - getTerm does not
+ make sense for all MultiTermQuerys and will be removed.
+
+
+
+ Construct the enumeration to be used, expanding the pattern term.
+
+
+ Expert: Return the number of unique terms visited during execution of the query.
+ If there are many of them, you may consider using another query type
+ or optimize your total term count in index.
+ This method is not thread safe, be sure to only call it when no query is running!
+ If you re-use the same query instance for another
+ search, be sure to first reset the term counter
+ with .
+ On optimized indexes / no MultiReaders, you get the correct number of
+ unique terms for the whole index. Use this number to compare different queries.
+ For non-optimized indexes this number can also be achived in
+ non-constant-score mode. In constant-score mode you get the total number of
+ terms seeked for all segments / sub-readers.
+
+
+
+
+
+ Expert: Resets the counting of unique terms.
+ Do this before executing the query/filter.
+
+
+
+
+
+
+
+
+
+ Sets the rewrite method to be used when executing the
+ query. You can use one of the four core methods, or
+ implement your own subclass of .
+
+
+
+ A rewrite method that tries to pick the best
+ constant-score rewrite method based on term and
+ document counts from the query. If both the number of
+ terms and documents is small enough, then
+ is used.
+ Otherwise, is
+ used.
+
+
+
+ Abstract class that defines how the query is rewritten.
+
+
+ If the number of terms in this query is equal to or
+ larger than this setting then
+ is used.
+
+
+
+
+
+
+
+ If the number of documents to be visited in the
+ postings exceeds this specified percentage of the
+ maxDoc() for the index, then
+ is used.
+
+ 0.0 to 100.0
+
+
+
+
+
+
+
+ Constructs a query selecting all terms greater/equal than lowerTerm
+ but less/equal than upperTerm.
+
+
+ If an endpoint is null, it is said
+ to be "open". Either or both endpoints may be open. Open endpoints may not
+ be exclusive (you can't select all but the first or last term without
+ explicitly specifying the term to exclude.)
+
+
+ The field that holds both lower and upper terms.
+
+ The term text at the lower end of the range
+
+ The term text at the upper end of the range
+
+ If true, the lowerTerm is
+ included in the range.
+
+ If true, the upperTerm is
+ included in the range.
+
+
+
+ Constructs a query selecting all terms greater/equal than
+ lowerTerm but less/equal than upperTerm.
+
+ If an endpoint is null, it is said
+ to be "open". Either or both endpoints may be open. Open endpoints may not
+ be exclusive (you can't select all but the first or last term without
+ explicitly specifying the term to exclude.)
+
+ If collator is not null, it will be used to decide whether
+ index terms are within the given range, rather than using the Unicode code
+ point order in which index terms are stored.
+
+ WARNING: Using this constructor and supplying a non-null
+ value in the collator parameter will cause every single
+ index Term in the Field referenced by lowerTerm and/or upperTerm to be
+ examined. Depending on the number of index Terms in this Field, the
+ operation could be very slow.
+
+
+
+ The Term text at the lower end of the range
+
+ The Term text at the upper end of the range
+
+ If true, the lowerTerm is
+ included in the range.
+
+ If true, the upperTerm is
+ included in the range.
+
+ The collator to use to collate index Terms, to determine
+ their membership in the range bounded by lowerTerm and
+ upperTerm.
+
+
+
+ Returns the field name for this query
+
+
+ Returns the lower value of this range query
+
+
+ Returns the upper value of this range query
+
+
+ Returns true if the lower endpoint is inclusive
+
+
+ Returns true if the upper endpoint is inclusive
+
+
+ Returns the collator used to determine range inclusion, if any.
+
+
+ Prints a user-readable version of this query.
+
+
+ Changes of mode are not supported by this class (fixed to constant score rewrite mode)
+
+
+ Expert: Default scoring implementation.
+
+
+ Implemented as
+ state.getBoost()*lengthNorm(numTerms), where
+ numTerms is if
+ is false, else it's
+ -
+ .
+
+ WARNING: This API is new and experimental, and may suddenly
+ change.
+
+
+
+ Implemented as 1/sqrt(numTerms).
+
+
+ Implemented as 1/sqrt(sumOfSquaredWeights).
+
+
+ Implemented as sqrt(freq).
+
+
+ Implemented as 1 / (distance + 1).
+
+
+ Implemented as log(numDocs/(docFreq+1)) + 1.
+
+
+ Implemented as overlap / maxOverlap.
+
+
+ Determines whether overlap tokens (Tokens with
+ 0 position increment) are ignored when computing
+ norm. By default this is false, meaning overlap
+ tokens are counted just like non-overlap tokens.
+
+ WARNING: This API is new and experimental, and may suddenly
+ change.
+
+
+
+
+
+
+
+
+
+
+ A query that generates the union of documents produced by its subqueries, and that scores each document with the maximum
+ score for that document as produced by any subquery, plus a tie breaking increment for any additional matching subqueries.
+ This is useful when searching for a word in multiple fields with different boost factors (so that the fields cannot be
+ combined equivalently into a single search field). We want the primary score to be the one associated with the highest boost,
+ not the sum of the field scores (as BooleanQuery would give).
+ If the query is "albino elephant" this ensures that "albino" matching one field and "elephant" matching
+ another gets a higher score than "albino" matching both fields.
+ To get this result, use both BooleanQuery and DisjunctionMaxQuery: for each term a DisjunctionMaxQuery searches for it in
+ each field, while the set of these DisjunctionMaxQuery's is combined into a BooleanQuery.
+ The tie breaker capability allows results that include the same term in multiple fields to be judged better than results that
+ include this term in only the best of those multiple fields, without confusing this with the better case of two different terms
+ in the multiple fields.
+
+
+
+ Creates a new empty DisjunctionMaxQuery. Use add() to add the subqueries.
+ the score of each non-maximum disjunct for a document is multiplied by this weight
+ and added into the final score. If non-zero, the value should be small, on the order of 0.1, which says that
+ 10 occurrences of word in a lower-scored field that is also in a higher scored field is just as good as a unique
+ word in the lower scored field (i.e., one that is not in any higher scored field.
+
+
+
+ Creates a new DisjunctionMaxQuery
+ a Collection<Query> of all the disjuncts to add
+
+ the weight to give to each matching non-maximum disjunct
+
+
+
+ Add a subquery to this disjunction
+ the disjunct added
+
+
+
+ Add a collection of disjuncts to this disjunction
+ via Iterable
+
+
+
+ An Iterator<Query> over the disjuncts
+
+
+ Optimize our representation and our subqueries representations
+ the IndexReader we query
+
+ an optimized copy of us (which may not be a copy if there is nothing to optimize)
+
+
+
+ Create a shallow copy of us -- used in rewriting if necessary
+ a copy of us (but reuse, don't copy, our subqueries)
+
+
+
+ Prettyprint us.
+ the field to which we are applied
+
+ a string that shows what we do, of the form "(disjunct1 | disjunct2 | ... | disjunctn)^boost"
+
+
+
+ Return true iff we represent the same query as o
+ another object
+
+ true iff o is a DisjunctionMaxQuery with the same boost and the same subqueries, in the same order, as us
+
+
+
+ Compute a hash code for hashing us
+ the hash code
+
+
+
+ Expert: the Weight for DisjunctionMaxQuery, used to
+ normalize, score and explain these queries.
+
+ NOTE: this API and implementation is subject to
+ change suddenly in the next release.
+
+
+
+ The Similarity implementation.
+
+
+ The Weights for our subqueries, in 1-1 correspondence with disjuncts
+
+
+ The Scorer for DisjunctionMaxQuery's. The union of all documents generated by the the subquery scorers
+ is generated in document number order. The score for each document is the maximum of the scores computed
+ by the subquery scorers that generate that document, plus tieBreakerMultiplier times the sum of the scores
+ for the other subqueries that generate the document.
+
+
+
+ Creates a new instance of DisjunctionMaxScorer
+
+
+ Multiplier applied to non-maximum-scoring subqueries for a
+ document as they are summed into the result.
+
+ -- not used since our definition involves neither coord nor terms
+ directly
+
+ The sub scorers this Scorer should iterate on
+
+ The actual number of scorers to iterate on. Note that the array's
+ length may be larger than the actual number of scorers.
+
+
+
+ Generate the next document matching our associated DisjunctionMaxQuery.
+
+
+ true iff there is a next document
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Determine the current document score. Initially invalid, until is called the first time.
+ the score of the current generated document
+
+
+
+ Advance to the first document beyond the current whose number is greater
+ than or equal to target.
+
+
+ the minimum number of the next desired document
+
+ true iff there is a document to be generated whose number is at
+ least target
+
+ use instead.
+
+
+
+ Explain a score that we computed. UNSUPPORTED -- see explanation capability in DisjunctionMaxQuery.
+ the number of a document we scored
+
+ the Explanation for our score
+
+
+
+ Expert: Scoring functionality for phrase queries.
+ A document is considered matching if it contains the phrase-query terms
+ at "valid" positons. What "valid positions" are
+ depends on the type of the phrase query: for an exact phrase query terms are required
+ to appear in adjacent locations, while for a sloppy phrase query some distance between
+ the terms is allowed. The abstract method of extending classes
+ is invoked for each document containing all the phrase query terms, in order to
+ compute the frequency of the phrase query in that document. A non zero frequency
+ means a match.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ For a document containing all the phrase query terms, compute the
+ frequency of the phrase in that document.
+ A non zero frequency means a match.
+ Note, that containing all phrase terms does not guarantee a match - they have to be found in matching locations.
+
+ frequency of the phrase in current doc, 0 if not found.
+
+
+
+ This interface is obsolete, use instead.
+
+
+ Use , this will be removed in Lucene 3.0
+
+
+
+
+ Use ; this will be removed in Lucene 3.0
+
+
+
+ Checks the internal cache for an appropriate entry, and if none is
+ found, reads the terms in field as a single byte and returns an array
+ of size reader.maxDoc() of the value each document
+ has in the given field.
+
+ Used to get field values.
+
+ Which field contains the single byte values.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if none is found,
+ reads the terms in field as bytes and returns an array of
+ size reader.maxDoc() of the value each document has in the
+ given field.
+
+ Used to get field values.
+
+ Which field contains the bytes.
+
+ Computes byte for string values.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if none is
+ found, reads the terms in field as shorts and returns an array
+ of size reader.maxDoc() of the value each document
+ has in the given field.
+
+ Used to get field values.
+
+ Which field contains the shorts.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if none is found,
+ reads the terms in field as shorts and returns an array of
+ size reader.maxDoc() of the value each document has in the
+ given field.
+
+ Used to get field values.
+
+ Which field contains the shorts.
+
+ Computes short for string values.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if none is
+ found, reads the terms in field as integers and returns an array
+ of size reader.maxDoc() of the value each document
+ has in the given field.
+
+ Used to get field values.
+
+ Which field contains the integers.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if none is found,
+ reads the terms in field as integers and returns an array of
+ size reader.maxDoc() of the value each document has in the
+ given field.
+
+ Used to get field values.
+
+ Which field contains the integers.
+
+ Computes integer for string values.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if
+ none is found, reads the terms in field as floats and returns an array
+ of size reader.maxDoc() of the value each document
+ has in the given field.
+
+ Used to get field values.
+
+ Which field contains the floats.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if
+ none is found, reads the terms in field as floats and returns an array
+ of size reader.maxDoc() of the value each document
+ has in the given field.
+
+ Used to get field values.
+
+ Which field contains the floats.
+
+ Computes float for string values.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if none is
+ found, reads the terms in field as longs and returns an array
+ of size reader.maxDoc() of the value each document
+ has in the given field.
+
+
+ Used to get field values.
+
+ Which field contains the longs.
+
+ The values in the given field for each document.
+
+ java.io.IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if none is found,
+ reads the terms in field as longs and returns an array of
+ size reader.maxDoc() of the value each document has in the
+ given field.
+
+
+ Used to get field values.
+
+ Which field contains the longs.
+
+ Computes integer for string values.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if none is
+ found, reads the terms in field as integers and returns an array
+ of size reader.maxDoc() of the value each document
+ has in the given field.
+
+
+ Used to get field values.
+
+ Which field contains the doubles.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if none is found,
+ reads the terms in field as doubles and returns an array of
+ size reader.maxDoc() of the value each document has in the
+ given field.
+
+
+ Used to get field values.
+
+ Which field contains the doubles.
+
+ Computes integer for string values.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if none
+ is found, reads the term values in field and returns an array
+ of size reader.maxDoc() containing the value each document
+ has in the given field.
+
+ Used to get field values.
+
+ Which field contains the strings.
+
+ The values in the given field for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if none
+ is found reads the term values in field and returns
+ an array of them in natural order, along with an array telling
+ which element in the term array each document uses.
+
+ Used to get field values.
+
+ Which field contains the strings.
+
+ Array of terms and index into the array for each document.
+
+ IOException If any error occurs.
+
+
+ Checks the internal cache for an appropriate entry, and if
+ none is found reads field to see if it contains integers, longs, floats
+ or strings, and then calls one of the other methods in this class to get the
+ values. For string values, a StringIndex is returned. After
+ calling this method, there is an entry in the cache for both
+ type AUTO and the actual found type.
+
+ Used to get field values.
+
+ Which field contains the values.
+
+ int[], long[], float[] or StringIndex.
+
+ IOException If any error occurs.
+ Please specify the exact type, instead.
+ Especially, guessing does not work with the new
+ type.
+
+
+
+ Checks the internal cache for an appropriate entry, and if none
+ is found reads the terms out of field and calls the given SortComparator
+ to get the sort values. A hit in the cache will happen if reader,
+ field, and comparator are the same (using equals())
+ as a previous call to this method.
+
+ Used to get field values.
+
+ Which field contains the values.
+
+ Used to convert terms into something to sort by.
+
+ Array of sort objects, one for each document.
+
+ IOException If any error occurs.
+ Please implement
+ directly, instead.
+
+
+
+ EXPERT: Generates an array of CacheEntry objects representing all items
+ currently in the FieldCache.
+
+ NOTE: These CacheEntry objects maintain a strong refrence to the
+ Cached Values. Maintaining refrences to a CacheEntry the IndexReader
+ associated with it has garbage collected will prevent the Value itself
+ from being garbage collected when the Cache drops the WeakRefrence.
+
+
+ EXPERIMENTAL API: This API is considered extremely advanced
+ and experimental. It may be removed or altered w/o warning in future
+ releases
+ of Lucene.
+
+
+
+
+
+ EXPERT: Instructs the FieldCache to forcibly expunge all entries
+ from the underlying caches. This is intended only to be used for
+ test methods as a way to ensure a known base state of the Cache
+ (with out needing to rely on GC to free WeakReferences).
+ It should not be relied on for "Cache maintenance" in general
+ application code.
+
+
+ EXPERIMENTAL API: This API is considered extremely advanced
+ and experimental. It may be removed or altered w/o warning in future
+ releases
+ of Lucene.
+
+
+
+
+
+ Expert: drops all cache entries associated with this
+ reader. NOTE: this reader must precisely match the
+ reader that the cache entry is keyed on. If you pass a
+ top-level reader, it usually will have no effect as
+ Lucene now caches at the segment reader level.
+
+
+
+ If non-null, FieldCacheImpl will warn whenever
+ entries are created that are not sane according to
+ .
+
+
+
+ counterpart of
+
+
+ Will be removed in 3.0, this is for binary compatibility only
+
+
+
+ Will be removed in 3.0, this is for binary compatibility only
+
+
+
+ Use , this will be removed in Lucene 3.0
+
+
+
+ Interface to parse long from document fields.
+
+
+ Use , this will be removed in Lucene 3.0
+
+
+
+ Marker interface as super-interface to all parsers. It
+ is used to specify a custom parser to .
+
+
+
+ Return an long representation of this field's value.
+
+
+ Use , this will be removed in Lucene 3.0
+
+
+
+ Interface to parse doubles from document fields.
+
+
+ Use , this will be removed in Lucene 3.0
+
+
+
+ Return an long representation of this field's value.
+
+
+ Expert: Maintains caches of term values.
+
+ Created: May 19, 2004 11:13:14 AM
+
+
+ lucene 1.4
+
+ $Id: FieldCache.java 807841 2009-08-25 22:27:31Z markrmiller $
+
+
+
+
+
+ Expert: Stores term text values and document ordering data.
+
+
+ All the term values, in natural order.
+
+
+ For each document, an index into the lookup array.
+
+
+ Creates one of these objects
+
+
+ EXPERT: A unique Identifier/Description for each item in the FieldCache.
+ Can be useful for logging/debugging.
+
+ EXPERIMENTAL API: This API is considered extremely advanced
+ and experimental. It may be removed or altered w/o warning in future
+ releases
+ of Lucene.
+
+
+
+
+
+
+
+
+ Computes (and stores) the estimated size of the cache Value
+
+
+
+
+ The most recently estimated size of the value, null unless
+ estimateSize has been called.
+
+
+
+ Indicator for StringIndex values in the cache.
+
+
+ Expert: The cache used internally by sorting and range query classes.
+
+
+ The default parser for byte values, which are encoded by
+
+
+ The default parser for short values, which are encoded by
+
+
+ The default parser for int values, which are encoded by
+
+
+ The default parser for float values, which are encoded by
+
+
+ The default parser for long values, which are encoded by
+
+
+ The default parser for double values, which are encoded by
+
+
+ A parser instance for int values encoded by , e.g. when indexed
+ via /.
+
+
+
+ A parser instance for float values encoded with , e.g. when indexed
+ via /.
+
+
+
+ A parser instance for long values encoded by , e.g. when indexed
+ via /.
+
+
+
+ A parser instance for double values encoded with , e.g. when indexed
+ via /.
+
+
+
+ Interface to parse bytes from document fields.
+
+
+
+
+ Return a single Byte representation of this field's value.
+
+
+ Interface to parse shorts from document fields.
+
+
+
+
+ Return a short representation of this field's value.
+
+
+ Interface to parse ints from document fields.
+
+
+
+
+ Return an integer representation of this field's value.
+
+
+ Interface to parse floats from document fields.
+
+
+
+
+ Return an float representation of this field's value.
+
+
+ Expert: The default cache implementation, storing all values in memory.
+ A WeakHashMap is used for storage.
+
+ Created: May 19, 2004 4:40:36 PM
+
+
+ lucene 1.4
+
+ $Id: FieldCacheImpl.java 807572 2009-08-25 11:44:45Z mikemccand $
+
+
+
+ Will be removed in 3.0, this is for binary compatibility only
+
+
+
+ Will be removed in 3.0, this is for binary compatibility only
+
+
+
+
+
+
+
+ Only needed because of Entry (ab)use by
+ FieldSortedHitQueue, remove when FieldSortedHitQueue
+ is removed
+
+
+
+ Only needed because of Entry (ab)use by
+ FieldSortedHitQueue, remove when FieldSortedHitQueue
+ is removed
+
+
+
+ Adds warning to super.toString if Local or sortFieldType were specified
+ Only needed because of Entry (ab)use by
+ FieldSortedHitQueue, remove when FieldSortedHitQueue
+ is removed
+
+
+
+ Hack: When thrown from a Parser (NUMERIC_UTILS_* ones), this stops
+ processing terms and returns the current FieldCache
+ array.
+
+
+
+ Expert: Internal cache.
+
+
+ Remove this reader from the cache, if present.
+
+
+ Expert: Every composite-key in the internal cache is of this type.
+
+
+ Only (ab)used by FieldSortedHitQueue,
+ remove when FieldSortedHitQueue is removed
+
+
+
+ Only (ab)used by FieldSortedHitQueue,
+ remove when FieldSortedHitQueue is removed
+
+
+
+ Only (ab)used by FieldSortedHitQueue,
+ remove when FieldSortedHitQueue is removed
+
+
+
+ Creates one of these objects for a custom comparator/parser.
+
+
+ Only (ab)used by FieldSortedHitQueue,
+ remove when FieldSortedHitQueue is removed
+
+
+
+ Two of these are equal iff they reference the same field and type.
+
+
+ Composes a hashcode based on the field and type.
+
+
+ Please specify the exact type, instead.
+ Especially, guessing does not work with the new
+ type.
+
+
+
+
+
+
+
+ A range filter built on top of a cached single term field (in ).
+
+ FieldCacheRangeFilter builds a single cache for the field the first time it is used.
+ Each subsequent FieldCacheRangeFilter on the same field then reuses this cache,
+ even if the range itself changes.
+
+ This means that FieldCacheRangeFilter is much faster (sometimes more than 100x as fast)
+ as building a (or on a )
+ for each query, if using a . However, if the range never changes it
+ is slower (around 2x as slow) than building a CachingWrapperFilter on top of a single TermRangeFilter.
+
+ For numeric data types, this filter may be significantly faster than .
+ Furthermore, it does not need the numeric values encoded by . But
+ it has the problem that it only works with exact one value/document (see below).
+
+ As with all based functionality, FieldCacheRangeFilter is only valid for
+ fields which exact one term for each document (except for
+ where 0 terms are also allowed). Due to a restriction of , for numeric ranges
+ all terms that do not have a numeric value, 0 is assumed.
+
+ Thus it works on dates, prices and other single value fields but will not work on
+ regular text fields. It is preferable to use a NOT_ANALYZED field to ensure that
+ there is only a single term.
+
+ This class does not have an constructor, use one of the static factory methods available,
+ that create a correct instance for different data types supported by .
+
+
+
+ This method is implemented for each data type
+
+
+ Creates a string range query using . This works with all
+ fields containing zero or one term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ byte fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ byte fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ short fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ short fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ int fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ int fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ long fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ long fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ float fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ float fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ double fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ Creates a numeric range query using . This works with all
+ double fields containing exactly one numeric term in the field. The range can be half-open by setting one
+ of the values to null.
+
+
+
+ this method checks, if a doc is a hit, should throw AIOBE, when position invalid
+
+
+ this DocIdSet is cacheable, if it works solely with FieldCache and no TermDocs
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ A that only accepts documents whose single
+ term value in the specified field is contained in the
+ provided set of allowed terms.
+
+
+
+ This is the same functionality as TermsFilter (from
+ contrib/queries), except this filter requires that the
+ field contains only a single term for all documents.
+ Because of drastically different implementations, they
+ also have different performance characteristics, as
+ described below.
+
+
+
+ The first invocation of this filter on a given field will
+ be slower, since a must be
+ created. Subsequent invocations using the same field
+ will re-use this cache. However, as with all
+ functionality based on , persistent RAM
+ is consumed to hold the cache, and is not freed until the
+ is closed. In contrast, TermsFilter
+ has no persistent RAM consumption.
+
+
+
+
+ With each search, this filter translates the specified
+ set of Terms into a private keyed by
+ term number per unique (normally one
+ reader per segment). Then, during matching, the term
+ number for each docID is retrieved from the cache and
+ then checked for inclusion using the .
+ Since all testing is done using RAM resident data
+ structures, performance should be very fast, most likely
+ fast enough to not require further caching of the
+ DocIdSet for each possible combination of terms.
+ However, because docIDs are simply scanned linearly, an
+ index with a great many small documents may find this
+ linear scan too costly.
+
+
+
+ In contrast, TermsFilter builds up an ,
+ keyed by docID, every time it's created, by enumerating
+ through all matching docs using to seek
+ and scan through each term's docID list. While there is
+ no linear scan of all docIDs, besides the allocation of
+ the underlying array in the , this
+ approach requires a number of "disk seeks" in proportion
+ to the number of terms, which can be exceptionally costly
+ when there are cache misses in the OS's IO cache.
+
+
+
+ Generally, this filter will be slower on the first
+ invocation for a given field, but subsequent invocations,
+ even if you change the allowed set of Terms, should be
+ faster than TermsFilter, especially as the number of
+ Terms being matched increases. If you are matching only
+ a very small number of terms, and those terms in turn
+ match a very small number of documents, TermsFilter may
+ perform faster.
+
+
+
+ Which filter is best is very application dependent.
+
+
+
+ This DocIdSet implementation is cacheable.
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Expert: a FieldComparator compares hits so as to determine their
+ sort order when collecting the top results with
+ . The concrete public FieldComparator
+ classes here correspond to the SortField types.
+
+ This API is designed to achieve high performance
+ sorting, by exposing a tight interaction with
+ as it visits hits. Whenever a hit is
+ competitive, it's enrolled into a virtual slot, which is
+ an int ranging from 0 to numHits-1. The
+ is made aware of segment transitions
+ during searching in case any internal state it's tracking
+ needs to be recomputed during these transitions.
+
+ A comparator must define these functions:
+
+
+
+ Compare a hit at 'slot a'
+ with hit 'slot b'.
+
+ This method is called by
+ to notify the
+ FieldComparator of the current weakest ("bottom")
+ slot. Note that this slot may not hold the weakest
+ value according to your comparator, in cases where
+ your comparator is not the primary one (ie, is only
+ used to break ties from the comparators before it).
+
+ Compare a new hit (docID)
+ against the "weakest" (bottom) entry in the queue.
+
+ Installs a new hit into the
+ priority queue. The
+ calls this method when a new hit is competitive.
+
+ Invoked
+ when the search is switching to the next segment.
+ You may need to update internal state of the
+ comparator, for example retrieving new values from
+ the .
+
+ Return the sort value stored in
+ the specified slot. This is only called at the end
+ of the search, in order to populate
+ when returning the top results.
+
+
+ NOTE: This API is experimental and might change in
+ incompatible ways in the next release.
+
+
+
+ Compare hit at slot1 with hit at slot2.
+
+
+ first slot to compare
+
+ second slot to compare
+
+ any N < 0 if slot2's value is sorted after
+ slot1, any N > 0 if the slot2's value is sorted before
+ slot1 and 0 if they are equal
+
+
+
+ Set the bottom slot, ie the "weakest" (sorted last)
+ entry in the queue. When is
+ called, you should compare against this slot. This
+ will always be called before .
+
+
+ the currently weakest (sorted last) slot in the queue
+
+
+
+ Compare the bottom of the queue with doc. This will
+ only invoked after setBottom has been called. This
+ should return the same result as
+ } as if bottom were slot1 and the new
+ document were slot 2.
+
+ For a search that hits many results, this method
+ will be the hotspot (invoked by far the most
+ frequently).
+
+
+ that was hit
+
+ any N < 0 if the doc's value is sorted after
+ the bottom entry (not competitive), any N > 0 if the
+ doc's value is sorted before the bottom entry and 0 if
+ they are equal.
+
+
+
+ This method is called when a new hit is competitive.
+ You should copy any state associated with this document
+ that will be required for future comparisons, into the
+ specified slot.
+
+
+ which slot to copy the hit to
+
+ docID relative to current reader
+
+
+
+ Set a new Reader. All doc correspond to the current Reader.
+
+
+ current reader
+
+ docBase of this reader
+
+ IOException
+ IOException
+
+
+ Sets the Scorer to use in case a document's score is
+ needed.
+
+
+ Scorer instance that you should use to
+ obtain the current hit's score, if necessary.
+
+
+
+ Return the actual value in the slot.
+
+
+ the value
+
+ value in this slot upgraded to Comparable
+
+
+
+ Parses field's values as byte (using
+ and sorts by ascending value
+
+
+
+ Sorts by ascending docID
+
+
+ Parses field's values as double (using
+ and sorts by ascending value
+
+
+
+ Parses field's values as float (using
+ and sorts by ascending value
+
+
+
+ Parses field's values as int (using
+ and sorts by ascending value
+
+
+
+ Parses field's values as long (using
+ and sorts by ascending value
+
+
+
+ Sorts by descending relevance. NOTE: if you are
+ sorting only by descending relevance and then
+ secondarily by ascending docID, peformance is faster
+ using directly (which
+ uses when no is
+ specified).
+
+
+
+ Parses field's values as short (using )
+ and sorts by ascending value
+
+
+
+ Sorts by a field's value using the Collator for a
+ given Locale.
+
+
+
+ Sorts by field's natural String sort order, using
+ ordinals. This is functionally equivalent to
+ , but it first resolves the string
+ to their relative ordinal positions (using the index
+ returned by ), and
+ does most comparisons using the ordinals. For medium
+ to large results, this comparator will be much faster
+ than . For very small
+ result sets it may be slower.
+
+
+
+ Sorts by field's natural String sort order. All
+ comparisons are done using String.compareTo, which is
+ slow for medium to large result sets but possibly
+ very fast for very small results sets.
+
+
+
+ Provides a for custom field sorting.
+
+ NOTE: This API is experimental and might change in
+ incompatible ways in the next release.
+
+
+
+
+ Creates a comparator for the field in the given index.
+
+
+ Name of the field to create comparator for.
+
+ FieldComparator.
+
+ IOException
+ If an error occurs reading the index.
+
+
+
+ Expert: A ScoreDoc which also contains information about
+ how to sort the referenced document. In addition to the
+ document number and score, this object contains an array
+ of values for the document from the field(s) used to sort.
+ For example, if the sort criteria was to sort by fields
+ "a", "b" then "c", the fields object array
+ will have three elements, corresponding respectively to
+ the term values for the document in fields "a", "b" and "c".
+ The class of each element in the array will be either
+ Integer, Float or String depending on the type of values
+ in the terms of each field.
+
+ Created: Feb 11, 2004 1:23:38 PM
+
+
+ lucene 1.4
+
+ $Id: FieldDoc.java 773194 2009-05-09 10:36:41Z mikemccand $
+
+
+
+
+
+
+
+ Expert: Returned by low-level search implementations.
+
+
+
+
+ Expert: The score of this document for the query.
+
+
+ Expert: A hit document's number.
+
+
+
+
+ Expert: Constructs a ScoreDoc.
+
+
+ Expert: The values which are used to sort the referenced document.
+ The order of these will match the original sort criteria given by a
+ Sort object. Each Object will be either an Integer, Float or String,
+ depending on the type of values in the terms of the original field.
+
+
+
+
+
+
+
+ Expert: Creates one of these objects with empty sort information.
+
+
+ Expert: Creates one of these objects with the given sort information.
+
+
+ Expert: Collects sorted results from Searchable's and collates them.
+ The elements put into this queue must be of type FieldDoc.
+
+ Created: Feb 11, 2004 2:04:21 PM
+
+
+ lucene 1.4
+
+ $Id: FieldDocSortedHitQueue.java 695514 2008-09-15 15:42:11Z otis $
+
+
+
+ Creates a hit queue sorted by the given list of fields.
+ Fieldable names, in priority order (highest priority first).
+
+ The number of hits to retain. Must be greater than zero.
+
+
+
+ Allows redefinition of sort fields if they are null.
+ This is to handle the case using ParallelMultiSearcher where the
+ original list contains AUTO and we don't know the actual sort
+ type until the values come back. The fields can only be set once.
+ This method is thread safe.
+
+
+
+
+
+ Returns the fields being used to sort.
+
+
+ Returns an array of collators, possibly null. The collators
+ correspond to any SortFields which were given a specific locale.
+
+ Array of sort fields.
+
+ Array, possibly null.
+
+
+
+ Returns whether a is less relevant than b.
+ ScoreDoc
+
+ ScoreDoc
+
+ true if document a should be sorted after document b.
+
+
+
+ Expert: A hit queue for sorting by hits by terms in more than one field.
+ Uses FieldCache.DEFAULT for maintaining internal term lookup tables.
+
+ Created: Dec 8, 2003 12:56:03 PM
+
+
+ lucene 1.4
+
+ $Id: FieldSortedHitQueue.java 803676 2009-08-12 19:31:38Z hossman $
+
+
+
+
+
+ see
+
+
+
+ Creates a hit queue sorted by the given list of fields.
+ Index to use.
+
+ Fieldable names, in priority order (highest priority first). Cannot be null or empty.
+
+ The number of hits to retain. Must be greater than zero.
+
+ IOException
+
+
+ Stores a comparator corresponding to each field being sorted by
+
+
+ Stores the sort criteria being used.
+
+
+ Stores the maximum score value encountered, needed for normalizing.
+
+
+ returns the maximum score encountered by elements inserted via insert()
+
+
+ Returns whether a is less relevant than b.
+ ScoreDoc
+
+ ScoreDoc
+
+ true if document a should be sorted after document b.
+
+
+
+ Given a FieldDoc object, stores the values used
+ to sort the given document. These values are not the raw
+ values out of the index, but the internal representation
+ of them. This is so the given search hit can be collated
+ by a MultiSearcher with other search hits.
+
+ The FieldDoc to store sort values into.
+
+ The same FieldDoc passed in.
+
+
+
+
+
+ Returns the SortFields being used by this hit queue.
+
+
+ Internal cache of comparators. Similar to FieldCache, only
+ caches comparators instead of term values.
+
+
+
+ Returns a comparator for sorting hits according to a field containing bytes.
+ Index to use.
+
+ Fieldable containing integer values.
+
+ Comparator for sorting hits.
+
+ IOException If an error occurs reading the index.
+
+
+ Returns a comparator for sorting hits according to a field containing shorts.
+ Index to use.
+
+ Fieldable containing integer values.
+
+ Comparator for sorting hits.
+
+ IOException If an error occurs reading the index.
+
+
+ Returns a comparator for sorting hits according to a field containing integers.
+ Index to use.
+
+ Fieldable containing integer values.
+
+ Comparator for sorting hits.
+
+ IOException If an error occurs reading the index.
+
+
+ Returns a comparator for sorting hits according to a field containing integers.
+ Index to use.
+
+ Fieldable containing integer values.
+
+ Comparator for sorting hits.
+
+ IOException If an error occurs reading the index.
+
+
+ Returns a comparator for sorting hits according to a field containing floats.
+ Index to use.
+
+ Fieldable containing float values.
+
+ Comparator for sorting hits.
+
+ IOException If an error occurs reading the index.
+
+
+ Returns a comparator for sorting hits according to a field containing doubles.
+ Index to use.
+
+ Fieldable containing float values.
+
+ Comparator for sorting hits.
+
+ IOException If an error occurs reading the index.
+
+
+ Returns a comparator for sorting hits according to a field containing strings.
+ Index to use.
+
+ Fieldable containing string values.
+
+ Comparator for sorting hits.
+
+ IOException If an error occurs reading the index.
+
+
+ Returns a comparator for sorting hits according to a field containing strings.
+ Index to use.
+
+ Fieldable containing string values.
+
+
+ Comparator for sorting hits.
+
+ IOException If an error occurs reading the index.
+
+
+ Returns a comparator for sorting hits according to values in the given field.
+ The terms in the field are looked at to determine whether they contain integers,
+ floats or strings. Once the type is determined, one of the other static methods
+ in this class is called to get the comparator.
+
+ Index to use.
+
+ Fieldable containing values.
+
+ Comparator for sorting hits.
+
+ IOException If an error occurs reading the index.
+
+
+ Compares two ScoreDoc objects and returns a result indicating their
+ sort order.
+
+ First ScoreDoc
+
+ Second ScoreDoc
+
+ a negative integer if i should come before j
+ a positive integer if i should come after j
+ 0 if they are equal
+
+
+
+
+
+ Returns the value used to sort the given document. The
+ object returned must implement the java.io.Serializable
+ interface. This is used by multisearchers to determine how
+ to collate results from their searchers.
+
+
+
+ Document
+
+ Serializable object
+
+
+
+ Returns the type of sort. Should return SortField.SCORE,
+ SortField.DOC, SortField.STRING,
+ SortField.INTEGER, SortField.FLOAT or
+ SortField.CUSTOM. It is not valid to return
+ SortField.AUTO.
+ This is used by multisearchers to determine how to collate results
+ from their searchers.
+
+ One of the constants in SortField.
+
+
+
+
+
+ Expert: A hit queue for sorting by hits by terms in more than one field.
+ Uses FieldCache.DEFAULT for maintaining
+ internal term lookup tables.
+
+ This class will not resolve SortField.AUTO types, and expects the type
+ of all SortFields used for construction to already have been resolved.
+ is a utility method which
+ may be used for field type detection.
+
+ NOTE: This API is experimental and might change in
+ incompatible ways in the next release.
+
+
+ 2.9
+
+ $Id:
+
+
+
+
+
+
+
+ Creates a hit queue sorted by the given list of fields.
+
+ NOTE: The instances returned by this method
+ pre-allocate a full array of length numHits.
+
+
+ SortField array we are sorting by in priority order (highest
+ priority first); cannot be null or empty
+
+ The number of hits to retain. Must be greater than zero.
+
+ IOException
+
+
+ Stores the sort criteria being used.
+
+
+ Given a queue Entry, creates a corresponding FieldDoc
+ that contains the values used to sort the given document.
+ These values are not the raw values out of the index, but the internal
+ representation of them. This is so the given search hit can be collated by
+ a MultiSearcher with other search hits.
+
+
+ The Entry used to create a FieldDoc
+
+ The newly created FieldDoc
+
+
+
+
+
+ Returns the SortFields being used by this hit queue.
+
+
+ An implementation of which is optimized in case
+ there is just one comparator.
+
+
+
+ Returns whether a is less relevant than b.
+ ScoreDoc
+
+ ScoreDoc
+
+ true if document a should be sorted after document b.
+
+
+
+ An implementation of which is optimized in case
+ there is more than one comparator.
+
+
+
+ A query that applies a filter to the results of another query.
+
+ Note: the bits are retrieved from the filter each time this
+ query is used in a search - use a CachingWrapperFilter to avoid
+ regenerating the bits every time.
+
+ Created: Apr 20, 2004 8:58:29 AM
+
+
+ 1.4
+
+ $Id: FilteredQuery.java 807821 2009-08-25 21:55:49Z mikemccand $
+
+
+
+
+
+ Constructs a new query which applies a filter to the results of the original query.
+ Filter.getDocIdSet() will be called every time this query is used in a search.
+
+ Query to be filtered, cannot be null.
+
+ Filter to apply to query results, cannot be null.
+
+
+
+ Returns a Weight that applies the filter to the enclosed query's Weight.
+ This is accomplished by overriding the Scorer returned by the Weight.
+
+
+
+ Rewrites the wrapped query.
+
+
+ Prints a user-readable version of this query.
+
+
+ Returns true iff o is equal to this.
+
+
+ Returns a hash code value for this object.
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Abstract class for enumerating a subset of all terms.
+ Term enumerations are always ordered by Term.compareTo(). Each term in
+ the enumeration is greater than all that precede it.
+
+
+
+ the current term
+
+
+ the delegate enum - to set this member use
+
+
+ Equality compare on the term
+
+
+ Equality measure on the term
+
+
+ Indicates the end of the enumeration has been reached
+
+
+ use this method to set the actual TermEnum (e.g. in ctor),
+ it will be automatically positioned on the first matching term.
+
+
+
+ Returns the docFreq of the current Term in the enumeration.
+ Returns -1 if no Term matches or all terms have been enumerated.
+
+
+
+ Increments the enumeration to the next element. True if one exists.
+
+
+ Returns the current Term in the enumeration.
+ Returns null if no Term matches or all terms have been enumerated.
+
+
+
+ Closes the enumeration to further activity, freeing resources.
+
+
+ Filter caching singleton. It can be used
+ to save filters locally for reuse.
+ This class makes it possble to cache Filters even when using RMI, as it
+ keeps the cache on the seaercher side of the RMI connection.
+
+ Also could be used as a persistent storage for any filter as long as the
+ filter provides a proper hashCode(), as that is used as the key in the cache.
+
+ The cache is periodically cleaned up from a separate thread to ensure the
+ cache doesn't exceed the maximum size.
+
+
+
+ The default maximum number of Filters in the cache
+
+
+ The default frequency of cache clenup
+
+
+ The cache itself
+
+
+ Maximum allowed cache size
+
+
+ Cache cleaning frequency
+
+
+ Cache cleaner that runs in a separate thread
+
+
+ Sets up the FilterManager singleton.
+
+
+ Sets the max size that cache should reach before it is cleaned up
+ maximum allowed cache size
+
+
+
+ Sets the cache cleaning frequency in milliseconds.
+ cleaning frequency in millioseconds
+
+
+
+ Returns the cached version of the filter. Allows the caller to pass up
+ a small filter but this will keep a persistent version around and allow
+ the caching filter to do its job.
+
+
+ The input filter
+
+ The cached version of the filter
+
+
+
+ Holds the filter and the last time the filter was used, to make LRU-based
+ cache cleaning possible.
+ TODO: Clean this up when we switch to Java 1.5
+
+
+
+ Keeps the cache from getting too big.
+ If we were using Java 1.5, we could use LinkedHashMap and we would not need this thread
+ to clean out the cache.
+
+ The SortedSet sortedFilterItems is used only to sort the items from the cache,
+ so when it's time to clean up we have the TreeSet sort the FilterItems by
+ timestamp.
+
+ Removes 1.5 * the numbers of items to make the cache smaller.
+ For example:
+ If cache clean size is 10, and the cache is at 15, we would remove (15 - 10) * 1.5 = 7.5 round up to 8.
+ This way we clean the cache a bit more, and avoid having the cache cleaner having to do it frequently.
+
+
+
+ Expert: obtains single byte field values from the
+ FieldCache
+ using getBytes() and makes those values
+ available as other numeric types, casting as needed.
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+
+ for requirements"
+ on the field.
+
+ NOTE: with the switch in 2.9 to segment-based
+ searching, if is invoked with a
+ composite (multi-segment) reader, this can easily cause
+ double RAM usage for the values in the FieldCache. It's
+ best to switch your application to pass only atomic
+ (single segment) readers to this API. Alternatively, for
+ a short-term fix, you could wrap your ValueSource using
+ , which costs more CPU per lookup
+ but will not consume double the FieldCache RAM.
+
+
+
+ Expert: A base class for ValueSource implementations that retrieve values for
+ a single field from the FieldCache.
+
+ Fields used herein nust be indexed (doesn't matter if these fields are stored or not).
+
+ It is assumed that each such indexed field is untokenized, or at least has a single token in a document.
+ For documents with multiple tokens of the same field, behavior is undefined (It is likely that current
+ code would use the value of one of these tokens, but this is not guaranteed).
+
+ Document with no tokens in this field are assigned the Zero value.
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+ NOTE: with the switch in 2.9 to segment-based
+ searching, if is invoked with a
+ composite (multi-segment) reader, this can easily cause
+ double RAM usage for the values in the FieldCache. It's
+ best to switch your application to pass only atomic
+ (single segment) readers to this API. Alternatively, for
+ a short-term fix, you could wrap your ValueSource using
+ , which costs more CPU per lookup
+ but will not consume double the FieldCache RAM.
+
+
+
+ Expert: source of values for basic function queries.
+ At its default/simplest form, values - one per doc - are used as the score of that doc.
+ Values are instantiated as
+ DocValues for a particular reader.
+ ValueSource implementations differ in RAM requirements: it would always be a factor
+ of the number of documents, but for each document the number of bytes can be 1, 2, 4, or 8.
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+
+
+
+
+ Return the DocValues used by the function query.
+ the IndexReader used to read these values.
+ If any caching is involved, that caching would also be IndexReader based.
+
+ IOException for any error.
+
+
+ description of field, used in explain()
+
+
+ Needed for possible caching of query results - used by .
+
+
+
+
+ Needed for possible caching of query results - used by .
+
+
+
+
+ Create a cached field source for the input field.
+
+
+ Return cached DocValues for input field and reader.
+ FieldCache so that values of a field are loaded once per reader (RAM allowing)
+
+ Field for which values are required.
+
+
+
+
+
+ Check if equals to another , already knowing that cache and field are equal.
+
+
+
+
+ Return a hash code of a , without the hash-codes of the field
+ and the cache (those are taken care of elsewhere).
+
+
+
+
+
+ Create a cached byte field source with default string-to-byte parser.
+
+
+ Create a cached byte field source with a specific string-to-byte parser.
+
+
+ Expert: represents field values as different types.
+ Normally created via a
+ ValueSuorce
+ for a particular field and reader.
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+
+
+
+
+ Return doc value as a float.
+ Mandatory: every DocValues implementation must implement at least this method.
+
+ document whose float value is requested.
+
+
+
+ Return doc value as an int.
+ Optional: DocValues implementation can (but don't have to) override this method.
+
+ document whose int value is requested.
+
+
+
+ Return doc value as a long.
+ Optional: DocValues implementation can (but don't have to) override this method.
+
+ document whose long value is requested.
+
+
+
+ Return doc value as a double.
+ Optional: DocValues implementation can (but don't have to) override this method.
+
+ document whose double value is requested.
+
+
+
+ Return doc value as a string.
+ Optional: DocValues implementation can (but don't have to) override this method.
+
+ document whose string value is requested.
+
+
+
+ Return a string representation of a doc value, as reuired for Explanations.
+
+
+ Explain the scoring value for the input doc.
+
+
+ Expert: for test purposes only, return the inner array of values, or null if not applicable.
+
+ Allows tests to verify that loaded values are:
+
+ indeed cached/reused.
+ stored in the expected size/type (byte/short/int/float).
+
+ Note: implementations of DocValues must override this method for
+ these test elements to be tested, Otherwise the test would not fail, just
+ print a warning.
+
+
+
+ Returns the minimum of all values or Float.NaN if this
+ DocValues instance does not contain any value.
+
+ This operation is optional
+
+
+
+ the minimum of all values or Float.NaN if this
+ DocValues instance does not contain any value.
+
+
+
+ Returns the maximum of all values or Float.NaN if this
+ DocValues instance does not contain any value.
+
+ This operation is optional
+
+
+
+ the maximum of all values or Float.NaN if this
+ DocValues instance does not contain any value.
+
+
+
+ Returns the average of all values or Float.NaN if this
+ DocValues instance does not contain any value. *
+
+ This operation is optional
+
+
+
+ the average of all values or Float.NaN if this
+ DocValues instance does not contain any value
+
+
+
+
+ An instance of this subclass should be returned by
+ , if you want
+ to modify the custom score calculation of a .
+ Since Lucene 2.9, queries operate on each segment of an Index separately,
+ so overriding the similar (now deprecated) methods in
+ is no longer suitable, as the supplied doc ID is per-segment
+ and without knowledge of the IndexReader you cannot access the
+ document or .
+
+ @lucene.experimental
+ @since 2.9.2
+
+
+
+
+ Creates a new instance of the provider class for the given IndexReader.
+
+
+
+
+ * Compute a custom score by the subQuery score and a number of
+ ValueSourceQuery scores.
+
+ Subclasses can override this method to modify the custom score.
+
+ If your custom scoring is different than the default herein you
+ should override at least one of the two customScore() methods.
+ If the number of ValueSourceQueries is always < 2 it is
+ sufficient to override the other
+ CustomScore()
+ method, which is simpler.
+
+ The default computation herein is a multiplication of given scores:
+
+
+ id of scored doc
+ score of that doc by the subQuery
+ scores of that doc by the ValueSourceQuery
+ custom score
+
+
+
+ Compute a custom score by the subQuery score and the ValueSourceQuery score.
+
+ Subclasses can override this method to modify the custom score.
+
+ If your custom scoring is different than the default herein you
+ should override at least one of the two customScore() methods.
+ If the number of ValueSourceQueries is always < 2 it is
+ sufficient to override this customScore() method, which is simpler.
+
+ The default computation herein is a multiplication of the two scores:
+
+ ModifiedScore = subQueryScore * valSrcScore
+
+
+ id of scored doc
+ score of that doc by the subQuery
+ score of that doc by the ValueSourceQuery
+ custom score
+
+
+
+ Explain the custom score.
+ Whenever overriding ,
+ this method should also be overridden to provide the correct explanation
+ for the part of the custom scoring.
+
+ doc being explained
+ explanation for the sub-query part
+ explanation for the value source part
+ an explanation for the custom score
+
+
+
+ Explain the custom score.
+ Whenever overriding ,
+ this method should also be overridden to provide the correct explanation
+ for the part of the custom scoring.
+
+
+ doc being explained
+ explanation for the sub-query part
+ explanation for the value source part
+ an explanation for the custom score
+
+
+ Query that sets document score as a programmatic function of several (sub) scores:
+
+ the score of its subQuery (any query)
+ (optional) the score of its ValueSourceQuery (or queries).
+ For most simple/convenient use cases this query is likely to be a
+ FieldScoreQuery
+
+ Subclasses can modify the computation by overriding .
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+
+
+ Create a CustomScoreQuery over input subQuery.
+ the sub query whose scored is being customed. Must not be null.
+
+
+
+ Create a CustomScoreQuery over input subQuery and a .
+ the sub query whose score is being customed. Must not be null.
+
+ a value source query whose scores are used in the custom score
+ computation. For most simple/convineient use case this would be a
+ FieldScoreQuery.
+ This parameter is optional - it can be null or even an empty array.
+
+
+
+ Create a CustomScoreQuery over input subQuery and a .
+ the sub query whose score is being customized. Must not be null.
+
+ value source queries whose scores are used in the custom score
+ computation. For most simple/convenient use case these would be
+ FieldScoreQueries.
+ This parameter is optional - it can be null or even an empty array.
+
+
+
+ Returns true if o is equal to this.
+
+
+ Returns a hash code value for this object.
+
+
+
+ Returns a that calculates the custom scores
+ for the given . The default implementation returns a default
+ implementation as specified in the docs of .
+
+
+
+
+ Compute a custom score by the subQuery score and a number of
+ ValueSourceQuery scores.
+
+ The doc is relative to the current reader, which is
+ unknown to CustomScoreQuery when using per-segment search (since Lucene 2.9).
+ Please override and return a subclass
+ of for the given .
+ see CustomScoreProvider#customScore(int,float,float[])
+
+
+
+ Compute a custom score by the subQuery score and the ValueSourceQuery score.
+
+ The doc is relative to the current reader, which is
+ unknown to CustomScoreQuery when using per-segment search (since Lucene 2.9).
+ Please override and return a subclass
+ of for the given .
+
+
+
+
+ Explain the custom score.
+
+ The doc is relative to the current reader, which is
+ unknown to CustomScoreQuery when using per-segment search (since Lucene 2.9).
+ Please override and return a subclass
+ of for the given .
+
+
+
+ Explain the custom score.
+ The doc is relative to the current reader, which is
+ unknown to CustomScoreQuery when using per-segment search (since Lucene 2.9).
+ Please override and return a subclass
+ of for the given .
+
+
+
+ Checks if this is strict custom scoring.
+ In strict custom scoring, the ValueSource part does not participate in weight normalization.
+ This may be useful when one wants full control over how scores are modified, and does
+ not care about normalizing by the ValueSource part.
+ One particular case where this is useful if for testing this query.
+
+ Note: only has effect when the ValueSource part is not null.
+
+
+
+ Set the strict mode of this query.
+ The strict mode to set.
+
+
+
+
+
+ A short name of this query, used in .
+
+
+ A scorer that applies a (callback) function on scores of the subQuery.
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ A query that scores each document as the value of the numeric input field.
+
+ The query matches all documents, and scores each document according to the numeric
+ value of that field.
+
+ It is assumed, and expected, that:
+
+ The field used here is indexed, and has exactly
+ one token in every scored document.
+ Best if this field is un_tokenized.
+ That token is parsable to the selected type.
+
+
+ Combining this query in a FunctionQuery allows much freedom in affecting document scores.
+ Note, that with this freedom comes responsibility: it is more than likely that the
+ default Lucene scoring is superior in quality to scoring modified as explained here.
+ However, in some cases, and certainly for research experiments, this capability may turn useful.
+
+ When contructing this query, select the appropriate type. That type should match the data stored in the
+ field. So in fact the "right" type should be selected before indexing. Type selection
+ has effect on the RAM usage:
+
+ consumes 1 * maxDocs bytes.
+ consumes 2 * maxDocs bytes.
+ consumes 4 * maxDocs bytes.
+ consumes 8 * maxDocs bytes.
+
+
+ Caching:
+ Values for the numeric field are loaded once and cached in memory for further use with the same IndexReader.
+ To take advantage of this, it is extremely important to reuse index-readers or index-searchers,
+ otherwise, for instance if for each query a new index reader is opened, large penalties would be
+ paid for loading the field values into memory over and over again!
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+
+
+ Expert: A Query that sets the scores of document to the
+ values obtained from a ValueSource.
+
+ This query provides a score for each and every undeleted document in the index.
+
+ The value source can be based on a (cached) value of an indexed field, but it
+ can also be based on an external source, e.g. values read from an external database.
+
+ Score is set as: Score(doc,query) = query.getBoost()2 * valueSource(doc).
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+
+
+ Create a value source query
+ provides the values defines the function to be used for scoring
+
+
+
+ Returns true if o is equal to this.
+
+
+ Returns a hash code value for this object.
+
+
+ A scorer that (simply) matches all documents, and scores each document with
+ the value of the value soure in effect. As an example, if the value source
+ is a (cached) field source, then value of that field in that document will
+ be used. (assuming field is indexed for this doc, with a single token.)
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Create a FieldScoreQuery - a query that scores each document as the value of the numeric input field.
+
+ The type param tells how to parse the field string values into a numeric score value.
+
+ the numeric field to be used.
+
+ the type of the field: either
+ , , , or .
+
+
+
+ Type of score field, indicating how field values are interpreted/parsed.
+
+ The type selected at search search time should match the data stored in the field.
+ Different types have different RAM requirements:
+
+ consumes 1 * maxDocs bytes.
+ consumes 2 * maxDocs bytes.
+ consumes 4 * maxDocs bytes.
+ consumes 8 * maxDocs bytes.
+
+
+
+
+ field values are interpreted as numeric byte values.
+
+
+ field values are interpreted as numeric short values.
+
+
+ field values are interpreted as numeric int values.
+
+
+ field values are interpreted as numeric float values.
+
+
+ Expert: obtains float field values from the
+ FieldCache
+ using getFloats() and makes those values
+ available as other numeric types, casting as needed.
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+
+ for requirements"
+ on the field.
+
+ NOTE: with the switch in 2.9 to segment-based
+ searching, if is invoked with a
+ composite (multi-segment) reader, this can easily cause
+ double RAM usage for the values in the FieldCache. It's
+ best to switch your application to pass only atomic
+ (single segment) readers to this API. Alternatively, for
+ a short-term fix, you could wrap your ValueSource using
+ , which costs more CPU per lookup
+ but will not consume double the FieldCache RAM.
+
+
+
+ Create a cached float field source with default string-to-float parser.
+
+
+ Create a cached float field source with a specific string-to-float parser.
+
+
+ Expert: obtains int field values from the
+ FieldCache
+ using getInts() and makes those values
+ available as other numeric types, casting as needed.
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+
+ for requirements
+ on the field.
+
+ NOTE: with the switch in 2.9 to segment-based
+ searching, if is invoked with a
+ composite (multi-segment) reader, this can easily cause
+ double RAM usage for the values in the FieldCache. It's
+ best to switch your application to pass only atomic
+ (single segment) readers to this API. Alternatively, for
+ a short-term fix, you could wrap your ValueSource using
+ , which costs more CPU per lookup
+ but will not consume double the FieldCache RAM.
+
+
+
+ Create a cached int field source with default string-to-int parser.
+
+
+ Create a cached int field source with a specific string-to-int parser.
+
+
+ This class wraps another ValueSource, but protects
+ against accidental double RAM usage in FieldCache when
+ a composite reader is passed to .
+
+ NOTE: this class adds a CPU penalty to every
+ lookup, as it must resolve the incoming document to the
+ right sub-reader using a binary search.
+
+
+ This class is temporary, to ease the
+ migration to segment-based searching. Please change your
+ code to not pass composite readers to these APIs.
+
+
+
+ Expert: obtains the ordinal of the field value from the default Lucene
+ Fieldcache using getStringIndex().
+
+ The native lucene index order is used to assign an ordinal value for each field value.
+
+ Field values (terms) are lexicographically ordered by unicode value, and numbered starting at 1.
+
+ Example:
+ If there were only three field values: "apple","banana","pear"
+ then ord("apple")=1, ord("banana")=2, ord("pear")=3
+
+ WARNING:
+ ord() depends on the position in an index and can thus change
+ when other documents are inserted or deleted,
+ or if a MultiSearcher is used.
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+ NOTE: with the switch in 2.9 to segment-based
+ searching, if is invoked with a
+ composite (multi-segment) reader, this can easily cause
+ double RAM usage for the values in the FieldCache. It's
+ best to switch your application to pass only atomic
+ (single segment) readers to this API. Alternatively, for
+ a short-term fix, you could wrap your ValueSource using
+ , which costs more CPU per lookup
+ but will not consume double the FieldCache RAM.
+
+
+
+ Constructor for a certain field.
+ field whose values order is used.
+
+
+
+ Expert: obtains the ordinal of the field value from the default Lucene
+ FieldCache using getStringIndex()
+ and reverses the order.
+
+ The native lucene index order is used to assign an ordinal value for each field value.
+
+ Field values (terms) are lexicographically ordered by unicode value, and numbered starting at 1.
+
+ Example of reverse ordinal (rord):
+ If there were only three field values: "apple","banana","pear"
+ then rord("apple")=3, rord("banana")=2, ord("pear")=1
+
+ WARNING:
+ rord() depends on the position in an index and can thus change
+ when other documents are inserted or deleted,
+ or if a MultiSearcher is used.
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+ NOTE: with the switch in 2.9 to segment-based
+ searching, if is invoked with a
+ composite (multi-segment) reader, this can easily cause
+ double RAM usage for the values in the FieldCache. It's
+ best to switch your application to pass only atomic
+ (single segment) readers to this API. Alternatively, for
+ a short-term fix, you could wrap your ValueSource using
+ , which costs more CPU per lookup
+ but will not consume double the FieldCache RAM.
+
+
+
+ Contructor for a certain field.
+ field whose values reverse order is used.
+
+
+
+ Expert: obtains short field values from the
+ FieldCache
+ using getShorts() and makes those values
+ available as other numeric types, casting as needed.
+
+
+ WARNING: The status of the Search.Function package is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+
+ for requirements
+ on the field.
+
+ NOTE: with the switch in 2.9 to segment-based
+ searching, if is invoked with a
+ composite (multi-segment) reader, this can easily cause
+ double RAM usage for the values in the FieldCache. It's
+ best to switch your application to pass only atomic
+ (single segment) readers to this API. Alternatively, for
+ a short-term fix, you could wrap your ValueSource using
+ , which costs more CPU per lookup
+ but will not consume double the FieldCache RAM.
+
+
+
+ Create a cached short field source with default string-to-short parser.
+
+
+ Create a cached short field source with a specific string-to-short parser.
+
+
+ Implements the fuzzy search query. The similarity measurement
+ is based on the Levenshtein (edit distance) algorithm.
+
+ Warning: this query is not very scalable with its default prefix
+ length of 0 - in this case, *every* term will be enumerated and
+ cause an edit score calculation.
+
+
+
+
+ Create a new FuzzyQuery that will match terms with a similarity
+ of at least minimumSimilarity to term.
+ If a prefixLength > 0 is specified, a common prefix
+ of that length is also required.
+
+
+ the term to search for
+
+ a value between 0 and 1 to set the required similarity
+ between the query term and the matching terms. For example, for a
+ minimumSimilarity of 0.5 a term of the same length
+ as the query term is considered similar to the query term if the edit distance
+ between both terms is less than length(term)*0.5
+
+ length of common (non-fuzzy) prefix
+
+ IllegalArgumentException if minimumSimilarity is >= 1 or < 0
+ or if prefixLength < 0
+
+
+
+ Calls FuzzyQuery(term, minimumSimilarity, 0).
+
+
+ Calls FuzzyQuery(term, 0.5f, 0).
+
+
+ Returns the minimum similarity that is required for this query to match.
+ float value between 0.0 and 1.0
+
+
+
+ Returns the non-fuzzy prefix length. This is the number of characters at the start
+ of a term that must be identical (not fuzzy) to the query term if the query
+ is to match that term.
+
+
+
+ Returns the pattern term.
+
+
+ Subclass of FilteredTermEnum for enumerating all terms that are similiar
+ to the specified filter term.
+
+ Term enumerations are always ordered by Term.compareTo(). Each term in
+ the enumeration is greater than all that precede it.
+
+
+
+ Creates a FuzzyTermEnum with an empty prefix and a minSimilarity of 0.5f.
+
+ After calling the constructor the enumeration is already pointing to the first
+ valid term if such a term exists.
+
+
+
+
+
+
+ IOException
+
+
+
+
+ Creates a FuzzyTermEnum with an empty prefix.
+
+ After calling the constructor the enumeration is already pointing to the first
+ valid term if such a term exists.
+
+
+
+
+
+
+
+
+ IOException
+
+
+
+
+ Constructor for enumeration of all terms from specified reader which share a prefix of
+ length prefixLength with term and which have a fuzzy similarity >
+ minSimilarity.
+
+ After calling the constructor the enumeration is already pointing to the first
+ valid term if such a term exists.
+
+
+ Delivers terms.
+
+ Pattern term.
+
+ Minimum required similarity for terms from the reader. Default value is 0.5f.
+
+ Length of required common prefix. Default value is 0.
+
+ IOException
+
+
+ The termCompare method in FuzzyTermEnum uses Levenshtein distance to
+ calculate the distance between the given term and the comparing term.
+
+
+
+ Finds and returns the smallest of three integers
+
+
+ Similarity returns a number that is 1.0f or less (including negative numbers)
+ based on how similar the Term is compared to a target term. It returns
+ exactly 0.0f when
+
+ editDistance < maximumEditDistance
+ Otherwise it returns:
+
+ 1 - (editDistance / length)
+ where length is the length of the shortest term (text or target) including a
+ prefix that are identical and editDistance is the Levenshtein distance for
+ the two words.
+
+ Embedded within this algorithm is a fail-fast Levenshtein distance
+ algorithm. The fail-fast algorithm differs from the standard Levenshtein
+ distance algorithm in that it is aborted if it is discovered that the
+ mimimum distance between the words is greater than some threshold.
+
+ To calculate the maximum distance threshold we use the following formula:
+
+ (1 - minimumSimilarity) * length
+ where length is the shortest term including any prefix that is not part of the
+ similarity comparision. This formula was derived by solving for what maximum value
+ of distance returns false for the following statements:
+
+ similarity = 1 - ((float)distance / (float) (prefixLength + Math.min(textlen, targetlen)));
+ return (similarity > minimumSimilarity);
+ where distance is the Levenshtein distance for the two words.
+
+ Levenshtein distance (also known as edit distance) is a measure of similiarity
+ between two strings where the distance is measured as the number of character
+ deletions, insertions or substitutions required to transform one string to
+ the other string.
+
+ the target word or phrase
+
+ the similarity, 0.0 or less indicates that it matches less than the required
+ threshold and 1.0 indicates that the text and target are identical
+
+
+
+ Grow the second dimension of the array, so that we can calculate the
+ Levenshtein difference.
+
+
+
+ The max Distance is the maximum Levenshtein distance for the text
+ compared to some other value that results in score that is
+ better than the minimum similarity.
+
+ the length of the "other value"
+
+ the maximum levenshtein distance that we care about
+
+
+
+ Wrapper used by to provide a lazily loaded hit
+ from .
+
+
+ Use and instead. Hits will be removed in Lucene 3.0.
+
+
+
+ Constructed from
+ Hits returned from a search
+
+ Hit index in Hits
+
+
+
+ Returns document for this hit.
+
+
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Returns score for this hit.
+
+
+
+
+
+
+ Returns id for this hit.
+
+
+
+
+
+
+ Returns the boost factor for this hit on any field of the underlying document.
+
+
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Returns the string value of the field with the given name if any exist in
+ this document, or null. If multiple fields exist with this name, this
+ method returns the first value added. If only binary fields with this name
+ exist, returns null.
+
+
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Prints the parameters to be used to discover the promised result.
+
+
+ Lower-level search API.
+ HitCollectors are primarily meant to be used to implement queries, sorting
+ and filtering. See for a lower level and higher performance
+ (on a multi-segment index) API.
+
+
+
+
+ $Id: HitCollector.java 764551 2009-04-13 18:33:56Z mikemccand $
+
+ Please use instead.
+
+
+
+ Called once for every document matching a query, with the document
+ number and its raw score.
+
+ If, for example, an application wished to collect all of the hits for a
+ query in a BitSet, then it might:
+
+ Searcher searcher = new IndexSearcher(indexReader);
+ final BitSet bits = new BitSet(indexReader.maxDoc());
+ searcher.search(query, new HitCollector() {
+ public void collect(int doc, float score) {
+ bits.set(doc);
+ }
+ });
+
+
+ Note: This is called in an inner search loop. For good search
+ performance, implementations of this method should not call
+ or
+ on every
+ document number encountered. Doing so can slow searches by an order
+ of magnitude or more.
+ Note: The score passed to this method is a raw score.
+ In other words, the score will not necessarily be a float whose value is
+ between 0 and 1.
+
+
+
+ Wrapper for () implementations, which simply re-bases the
+ incoming docID before calling .
+
+
+ Please migrate custom HitCollectors to the new
+ class. This class will be removed when is
+ removed.
+
+
+
+ An iterator over that provides lazy fetching of each document.
+ returns an instance of this class. Calls to
+ return a instance.
+
+
+ Use and instead. Hits will be removed in Lucene 3.0.
+
+
+
+ Constructed from .
+
+
+ true if current hit is less than the total number of .
+
+
+
+ Unsupported operation.
+
+
+ UnsupportedOperationException
+
+
+ Returns the total number of hits.
+
+
+ Returns a instance representing the next hit in .
+
+
+ Next .
+
+
+
+ Creates a new instance with size elements. If
+ prePopulate is set to true, the queue will pre-populate itself
+ with sentinel objects and set its to size. In
+ that case, you should not rely on to get the number of
+ actual elements that were added to the queue, but keep track yourself.
+ NOTE: in case prePopulate is true, you should pop
+ elements from the queue using the following code example:
+
+
+ PriorityQueue pq = new HitQueue(10, true); // pre-populate.
+ ScoreDoc top = pq.top();
+
+ // Add/Update one element.
+ top.score = 1.0f;
+ top.doc = 0;
+ top = (ScoreDoc) pq.updateTop();
+ int totalHits = 1;
+
+ // Now pop only the elements that were *truly* inserted.
+ // First, pop all the sentinel elements (there are pq.size() - totalHits).
+ for (int i = pq.size() - totalHits; i > 0; i--) pq.pop();
+
+ // Now pop the truly added elements.
+ ScoreDoc[] results = new ScoreDoc[totalHits];
+ for (int i = totalHits - 1; i >= 0; i--) {
+ results[i] = (ScoreDoc) pq.pop();
+ }
+
+
+ NOTE: This class pre-allocate a full array of
+ length size.
+
+
+ the requested size of this queue.
+
+ specifies whether to pre-populate the queue with sentinel values.
+
+
+
+
+
+ A ranked list of documents, used to hold search results.
+
+ Caution: Iterate only over the hits needed. Iterating over all hits is
+ generally not desirable and may be the source of performance issues. If you
+ need to iterate over many or all hits, consider using the search method that
+ takes a .
+
+
+ Note: Deleting matching documents concurrently with traversing the
+ hits, might, when deleting hits that were not yet retrieved, decrease
+ . In such case, an exceptionw is thrown when accessing hit n
+ > current_ (but n <
+ _at_start).
+
+
+ see ,
+ and
+ :
+
+
+ TopDocs topDocs = searcher.Search(query, numHits);
+ ScoreDoc[] hits = topDocs.scoreDocs;
+ for (int i = 0; i < hits.Length; i++) {
+ int docId = hits[i].doc;
+ Document d = searcher.Doc(docId);
+ // do something with current hit
+ ...
+
+
+
+
+ Tries to add new documents to hitDocs.
+ Ensures that the hit numbered min has been retrieved.
+
+
+
+ Returns the total number of hits available in this set.
+
+
+ Returns the stored fields of the nth document in this set.
+ Documents are cached, so that repeated requests for the same element may
+ return the same Document object.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Returns the score for the nth document in this set.
+
+
+ Returns the id for the nth document in this set.
+ Note that ids may change when the index changes, so you cannot
+ rely on the id to be stable.
+
+
+
+ Returns a to navigate the Hits. Each item returned
+ from is a .
+
+ Caution: Iterate only over the hits needed. Iterating over all
+ hits is generally not desirable and may be the source of
+ performance issues. If you need to iterate over many or all hits, consider
+ using a search method that takes a .
+
+
+
+
+ Implements search over a single IndexReader.
+
+ Applications usually need only call the inherited
+ or methods. For performance reasons it is
+ recommended to open only one IndexSearcher and use it for all of your searches.
+
+ Note that you can only access Hits from an IndexSearcher as long as it is
+ not yet closed, otherwise an IOException will be thrown.
+
+ NOTE:
+ instances are completely
+ thread safe, meaning multiple threads can call any of its
+ methods, concurrently. If your application requires
+ external synchronization, you should not
+ synchronize on the IndexSearcher instance;
+ use your own (non-Lucene) objects instead.
+
+
+
+ An abstract base class for search implementations. Implements the main search
+ methods.
+
+
+ Note that you can only access hits from a Searcher as long as it is not yet
+ closed, otherwise an IOException will be thrown.
+
+
+
+ The interface for search implementations.
+
+
+ Searchable is the abstract network protocol for searching. Implementations
+ provide search over a single index, over multiple indices, and over indices
+ on remote servers.
+
+
+ Queries, filters and sort criteria are designed to be compact so that they
+ may be efficiently passed to a remote index, with only the top-scoring hits
+ being returned, rather than every matching hit.
+
+ NOTE: this interface is kept public for convenience. Since it is not
+ expected to be implemented directly, it may be changed unexpectedly between
+ releases.
+
+
+
+ Lower-level search API.
+
+ is called for every non-zero
+ scoring document.
+ HitCollector-based access to remote indexes is discouraged.
+
+ Applications should only use this if they need all of the
+ matching documents. The high-level search API ()
+ is usually more efficient, as it skips
+ non-high-scoring hits.
+
+
+ to match documents
+
+ if non-null, used to permit documents to be collected.
+
+ to receive hits
+
+ BooleanQuery.TooManyClauses
+ use instead.
+
+
+
+ Lower-level search API.
+
+
+ is called for every document.
+ Collector-based access to remote indexes is discouraged.
+
+
+ Applications should only use this if they need all of the matching
+ documents. The high-level search API () is
+ usually more efficient, as it skips non-high-scoring hits.
+
+
+ to match documents
+
+ if non-null, used to permit documents to be collected.
+
+ to receive hits
+
+ BooleanQuery.TooManyClauses
+
+
+ Frees resources associated with this Searcher.
+ Be careful not to call this method while you are still using objects
+ like .
+
+
+
+ Expert: Returns the number of documents containing term.
+ Called by search code to compute term weights.
+
+
+
+
+
+ Expert: For each term in the terms array, calculates the number of
+ documents containing term. Returns an array with these
+ document frequencies. Used to minimize number of remote calls.
+
+
+
+ Expert: Returns one greater than the largest possible document number.
+ Called by search code to compute term weights.
+
+
+
+
+
+ Expert: Low-level search implementation. Finds the top n
+ hits for query, applying filter if non-null.
+
+ Called by .
+
+ Applications should usually call or
+ instead.
+
+ BooleanQuery.TooManyClauses
+
+
+ Expert: Returns the stored fields of document i.
+ Called by implementations.
+
+
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+ Get the at the nth position. The
+ may be used to determine what s to load and how they should be loaded.
+
+ NOTE: If the underlying Reader (more specifically, the underlying FieldsReader) is closed before the lazy is
+ loaded an exception may be thrown. If you want the value of a lazy to be available after closing you must
+ explicitly load it or fetch the Document again with a new loader.
+
+
+
+ Get the document at the nth position
+
+ The to use to determine what Fields should be loaded on the Document. May be null, in which case all Fields will be loaded.
+
+ The stored fields of the at the nth position
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Expert: called to re-write queries into primitive queries.
+ BooleanQuery.TooManyClauses
+
+
+ Expert: low-level implementation method
+ Returns an Explanation that describes how doc scored against
+ weight.
+
+ This is intended to be used in developing Similarity implementations,
+ and, for good performance, should not be displayed with every hit.
+ Computing an explanation is as expensive as executing the query over the
+ entire index.
+ Applications should call .
+
+ BooleanQuery.TooManyClauses
+
+
+ Expert: Low-level search implementation with arbitrary sorting. Finds
+ the top n hits for query, applying
+ filter if non-null, and sorting the hits by the criteria in
+ sort.
+
+ Applications should usually call
+ instead.
+
+
+ BooleanQuery.TooManyClauses
+
+
+ Returns the documents matching query.
+ BooleanQuery.TooManyClauses
+ Hits will be removed in Lucene 3.0. Use
+ instead.
+
+
+
+ Returns the documents matching query and
+ filter.
+
+ BooleanQuery.TooManyClauses
+ Hits will be removed in Lucene 3.0. Use
+ instead.
+
+
+
+ Returns documents matching query sorted by
+ sort.
+
+ BooleanQuery.TooManyClauses
+ Hits will be removed in Lucene 3.0. Use
+ instead.
+
+
+
+ Returns documents matching query and filter,
+ sorted by sort.
+
+ BooleanQuery.TooManyClauses
+ Hits will be removed in Lucene 3.0. Use
+ instead.
+
+
+
+ Search implementation with arbitrary sorting. Finds
+ the top n hits for query, applying
+ filter if non-null, and sorting the hits by the criteria in
+ sort.
+
+ NOTE: this does not compute scores by default; use
+ to enable scoring.
+
+
+ BooleanQuery.TooManyClauses
+
+
+ Lower-level search API.
+
+ is called for every matching
+ document.
+
+ Applications should only use this if they need all of the
+ matching documents. The high-level search API ()
+ is usually more efficient, as it skips
+ non-high-scoring hits.
+ Note: The score passed to this method is a raw score.
+ In other words, the score will not necessarily be a float whose value is
+ between 0 and 1.
+
+ BooleanQuery.TooManyClauses
+ use instead.
+
+
+
+ Lower-level search API.
+
+ is called for every matching document.
+
+ Applications should only use this if they need all of the matching
+ documents. The high-level search API (
+ ) is usually more efficient, as it skips non-high-scoring hits.
+ Note: The score passed to this method is a raw score.
+ In other words, the score will not necessarily be a float whose value is
+ between 0 and 1.
+
+ BooleanQuery.TooManyClauses
+
+
+ Lower-level search API.
+
+ is called for every matching
+ document.
+ HitCollector-based access to remote indexes is discouraged.
+
+ Applications should only use this if they need all of the
+ matching documents. The high-level search API ()
+ is usually more efficient, as it skips
+ non-high-scoring hits.
+
+
+ to match documents
+
+ if non-null, used to permit documents to be collected.
+
+ to receive hits
+
+ BooleanQuery.TooManyClauses
+ use instead.
+
+
+
+ Lower-level search API.
+
+ is called for every matching
+ document.
+ Collector-based access to remote indexes is discouraged.
+
+ Applications should only use this if they need all of the
+ matching documents. The high-level search API ()
+ is usually more efficient, as it skips
+ non-high-scoring hits.
+
+
+ to match documents
+
+ if non-null, used to permit documents to be collected.
+
+ to receive hits
+
+ BooleanQuery.TooManyClauses
+
+
+ Finds the top n
+ hits for query, applying filter if non-null.
+
+
+ BooleanQuery.TooManyClauses
+
+
+ Finds the top n
+ hits for query.
+
+
+ BooleanQuery.TooManyClauses
+
+
+ Returns an Explanation that describes how doc scored against
+ query.
+
+ This is intended to be used in developing Similarity implementations,
+ and, for good performance, should not be displayed with every hit.
+ Computing an explanation is as expensive as executing the query over the
+ entire index.
+
+
+
+ The Similarity implementation used by this searcher.
+
+
+ Expert: Set the Similarity implementation used by this Searcher.
+
+
+
+
+
+
+ Expert: Return the Similarity implementation used by this Searcher.
+
+ This defaults to the current value of .
+
+
+
+ creates a weight for query
+ new weight
+
+
+
+ use instead.
+
+
+
+ Creates a searcher searching the index in the named directory.
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ Use instead
+
+
+
+ Creates a searcher searching the index in the named
+ directory. You should pass readOnly=true, since it
+ gives much better concurrent performance, unless you
+ intend to do write operations (delete documents or
+ change norms) with the underlying IndexReader.
+
+ directory where IndexReader will be opened
+
+ if true, the underlying IndexReader
+ will be opened readOnly
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ Use instead
+
+
+
+ Creates a searcher searching the index in the provided directory.
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ Use instead
+
+
+
+ Creates a searcher searching the index in the named
+ directory. You should pass readOnly=true, since it
+ gives much better concurrent performance, unless you
+ intend to do write operations (delete documents or
+ change norms) with the underlying IndexReader.
+
+ CorruptIndexException if the index is corrupt
+ IOException if there is a low-level IO error
+ directory where IndexReader will be opened
+
+ if true, the underlying IndexReader
+ will be opened readOnly
+
+
+
+ Creates a searcher searching the provided index.
+
+
+ Return the this searches.
+
+
+ Note that the underlying IndexReader is not closed, if
+ IndexSearcher was constructed with IndexSearcher(IndexReader r).
+ If the IndexReader was supplied implicitly by specifying a directory, then
+ the IndexReader gets closed.
+
+
+
+
+ .NET
+
+
+
+ Just like , but you choose
+ whether or not the fields in the returned instances
+ should be set by specifying fillFields.
+
+
+ NOTE: this does not compute scores by default. If you need scores, create
+ a instance by calling
+ and then pass that to
+ .
+
+
+
+
+ By default, no scores are computed when sorting by field (using
+ ). You can change that, per
+ IndexSearcher instance, by calling this method. Note that this will incur
+ a CPU cost.
+
+
+ If true, then scores are returned for every matching document
+ in .
+
+
+ If true, then the max score for all matching docs is computed.
+
+
+
+ A query that matches all documents.
+
+
+
+
+ Field used for normalization factor (document boost). Null if nothing.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ MultiPhraseQuery is a generalized version of PhraseQuery, with an added
+ method .
+ To use this class, to search for the phrase "Microsoft app*" first use
+ add(Term) on the term "Microsoft", then find all terms that have "app" as
+ prefix using IndexReader.terms(Term), and use MultiPhraseQuery.add(Term[]
+ terms) to add them to the query.
+
+
+ 1.0
+
+
+
+ Sets the phrase slop for this query.
+
+
+
+
+ Sets the phrase slop for this query.
+
+
+
+
+ Add a single term at the next position in the phrase.
+
+
+
+
+ Add multiple terms at the next position in the phrase. Any of the terms
+ may match.
+
+
+
+
+
+
+ Allows to specify the relative position of terms within the phrase.
+
+
+
+
+
+
+
+
+
+
+ Returns a List<Term[]> of the terms in the multiphrase.
+ Do not modify the List or its contents.
+
+
+
+ Returns the relative positions of terms in this phrase.
+
+
+ Prints a user-readable version of this query.
+
+
+ Returns true if o is equal to this.
+
+
+ Returns a hash code value for this object.
+
+
+ Implements search over a set of Searchables.
+
+ Applications usually need only call the inherited
+ or methods.
+
+
+
+ Creates a searcher which searches searchers.
+
+
+ Return the array of s this searches.
+
+
+
+ .NET
+
+
+
+ Returns index of the searcher for document n in the array
+ used to construct this searcher.
+
+
+
+ Returns the document number of document n within its
+ sub-index.
+
+
+
+ Create weight in multiple index scenario.
+
+ Distributed query processing is done in the following steps:
+ 1. rewrite query
+ 2. extract necessary terms
+ 3. collect dfs for these terms from the Searchables
+ 4. create query weight using aggregate dfs.
+ 5. distribute that weight to Searchables
+ 6. merge results
+
+ Steps 1-4 are done here, 5+6 in the search() methods
+
+
+ rewritten queries
+
+
+
+ Document Frequency cache acting as a Dummy-Searcher. This class is no
+ full-fledged Searcher, but only supports the methods necessary to
+ initialize Weights.
+
+
+
+
+ .NET
+
+
+
+ A wrapper for , that exposes its
+ functionality as a .
+
+ MultiTermQueryWrapperFilter is not designed to
+ be used by itself. Normally you subclass it to provide a Filter
+ counterpart for a subclass.
+
+ For example, and extend
+ MultiTermQueryWrapperFilter.
+ This class also provides the functionality behind
+ ;
+ this is why it is not abstract.
+
+
+
+ Wrap a as a Filter.
+
+
+ Expert: Return the number of unique terms visited during execution of the filter.
+ If there are many of them, you may consider using another filter type
+ or optimize your total term count in index.
+ This method is not thread safe, be sure to only call it when no filter is running!
+ If you re-use the same filter instance for another
+ search, be sure to first reset the term counter
+ with .
+
+
+
+
+
+ Expert: Resets the counting of unique terms.
+ Do this before executing the filter.
+
+
+
+
+
+ Returns a BitSet with true for documents which should be
+ permitted in search results, and false for those that should
+ not.
+
+ Use instead.
+
+
+
+ Returns a DocIdSet with documents that should be
+ permitted in search results.
+
+
+
+ A that only accepts numeric values within
+ a specified range. To use this, you must first index the
+ numeric values using (expert:
+ ).
+
+ You create a new NumericRangeFilter with the static
+ factory methods, eg:
+
+
+ Filter f = NumericRangeFilter.newFloatRange("weight",
+ new Float(0.3f), new Float(0.10f),
+ true, true);
+
+
+ accepts all documents whose float valued "weight" field
+ ranges from 0.3 to 0.10, inclusive.
+ See for details on how Lucene
+ indexes and searches numeric valued fields.
+
+ NOTE: This API is experimental and
+ might change in incompatible ways in the next
+ release.
+
+
+ 2.9
+
+
+
+
+ Factory that creates a NumericRangeFilter, that filters a long
+ range using the given precisionStep.
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeFilter, that queries a long
+ range using the default precisionStep (4).
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeFilter, that filters a int
+ range using the given precisionStep.
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeFilter, that queries a int
+ range using the default precisionStep (4).
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeFilter, that filters a double
+ range using the given precisionStep.
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeFilter, that queries a double
+ range using the default precisionStep (4).
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeFilter, that filters a float
+ range using the given precisionStep.
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeFilter, that queries a float
+ range using the default precisionStep (4).
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Returns the field name for this filter
+
+
+ Returns true if the lower endpoint is inclusive
+
+
+ Returns true if the upper endpoint is inclusive
+
+
+ Returns the lower value of this range filter
+
+
+ Returns the upper value of this range filter
+
+
+ A that matches numeric values within a
+ specified range. To use this, you must first index the
+ numeric values using (expert:
+ ). If your terms are instead textual,
+ you should use .
+ is the filter equivalent of this
+ query.
+
+ You create a new NumericRangeQuery with the static
+ factory methods, eg:
+
+
+ Query q = NumericRangeQuery.newFloatRange("weight",
+ new Float(0.3f), new Float(0.10f),
+ true, true);
+
+
+ matches all documents whose float valued "weight" field
+ ranges from 0.3 to 0.10, inclusive.
+
+ The performance of NumericRangeQuery is much better
+ than the corresponding because the
+ number of terms that must be searched is usually far
+ fewer, thanks to trie indexing, described below.
+
+ You can optionally specify a precisionStep
+ when creating this query. This is necessary if you've
+ changed this configuration from its default (4) during
+ indexing. Lower values consume more disk space but speed
+ up searching. Suitable values are between 1 and
+ 8. A good starting point to test is 4,
+ which is the default value for all Numeric*
+ classes. See below for
+ details.
+
+ This query defaults to
+ for
+ 32 bit (int/float) ranges with precisionStep <8 and 64
+ bit (long/double) ranges with precisionStep <6.
+ Otherwise it uses
+ as the
+ number of terms is likely to be high. With precision
+ steps of <4, this query can be run with one of the
+ BooleanQuery rewrite methods without changing
+ BooleanQuery's default max clause count.
+
+ NOTE: This API is experimental and
+ might change in incompatible ways in the next release.
+
+
How it works
+
+ See the publication about panFMP,
+ where this algorithm was described (referred to as TrieRangeQuery):
+
+
Schindler, U, Diepenbroek, M, 2008.
+ Generic XML-based Framework for Metadata Portals.
+ Computers & Geosciences 34 (12), 1947-1955.
+ doi:10.1016/j.cageo.2008.02.023
+
+ A quote from this paper: Because Apache Lucene is a full-text
+ search engine and not a conventional database, it cannot handle numerical ranges
+ (e.g., field value is inside user defined bounds, even dates are numerical values).
+ We have developed an extension to Apache Lucene that stores
+ the numerical values in a special string-encoded format with variable precision
+ (all numerical values like doubles, longs, floats, and ints are converted to
+ lexicographic sortable string representations and stored with different precisions
+ (for a more detailed description of how the values are stored,
+ see ). A range is then divided recursively into multiple intervals for searching:
+ The center of the range is searched only with the lowest possible precision in the trie,
+ while the boundaries are matched more exactly. This reduces the number of terms dramatically.
+
+ For the variant that stores long values in 8 different precisions (each reduced by 8 bits) that
+ uses a lowest precision of 1 byte, the index contains only a maximum of 256 distinct values in the
+ lowest precision. Overall, a range could consist of a theoretical maximum of
+ 7*255*2 + 255 = 3825 distinct terms (when there is a term for every distinct value of an
+ 8-byte-number in the index and the range covers almost all of them; a maximum of 255 distinct values is used
+ because it would always be possible to reduce the full 256 values to one term with degraded precision).
+ In practice, we have seen up to 300 terms in most cases (index with 500,000 metadata records
+ and a uniform value distribution).
+
+
Precision Step
+ You can choose any precisionStep when encoding values.
+ Lower step values mean more precisions and so more terms in index (and index gets larger).
+ On the other hand, the maximum number of terms to match reduces, which optimized query speed.
+ The formula to calculate the maximum term count is:
+
+ n = [ (bitsPerValue/precisionStep - 1) * (2^precisionStep - 1 ) * 2 ] + (2^precisionStep - 1 )
+
+ (this formula is only correct, when bitsPerValue/precisionStep is an integer;
+ in other cases, the value must be rounded up and the last summand must contain the modulo of the division as
+ precision step).
+ For longs stored using a precision step of 4, n = 15*15*2 + 15 = 465, and for a precision
+ step of 2, n = 31*3*2 + 3 = 189. But the faster search speed is reduced by more seeking
+ in the term enum of the index. Because of this, the ideal precisionStep value can only
+ be found out by testing. Important: You can index with a lower precision step value and test search speed
+ using a multiple of the original step value.
+
+ Good values for precisionStep are depending on usage and data type:
+
+ The default for all data types is 4, which is used, when no precisionStep is given.
+ Ideal value in most cases for 64 bit data types (long, double) is 6 or 8.
+ Ideal value in most cases for 32 bit data types (int, float) is 4.
+ Steps >64 for long/double and >32 for int/float produces one token
+ per value in the index and querying is as slow as a conventional . But it can be used
+ to produce fields, that are solely used for sorting (in this case simply use as
+ precisionStep). Using NumericFields for sorting
+ is ideal, because building the field cache is much faster than with text-only numbers.
+ Sorting is also possible with range query optimized fields using one of the above precisionSteps.
+
+
+ Comparisons of the different types of RangeQueries on an index with about 500,000 docs showed
+ that in boolean rewrite mode (with raised clause count)
+ took about 30-40 secs to complete, in constant score filter rewrite mode took 5 secs
+ and executing this class took <100ms to complete (on an Opteron64 machine, Java 1.5, 8 bit
+ precision step). This query type was developed for a geographic portal, where the performance for
+ e.g. bounding boxes or exact date/time stamps is important.
+
+
+ 2.9
+
+
+
+
+ Factory that creates a NumericRangeQuery, that queries a long
+ range using the given precisionStep.
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeQuery, that queries a long
+ range using the default precisionStep (4).
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeQuery, that queries a int
+ range using the given precisionStep.
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeQuery, that queries a int
+ range using the default precisionStep (4).
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeQuery, that queries a double
+ range using the given precisionStep.
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeQuery, that queries a double
+ range using the default precisionStep (4).
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeQuery, that queries a float
+ range using the given precisionStep.
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Factory that creates a NumericRangeQuery, that queries a float
+ range using the default precisionStep (4).
+ You can have half-open ranges (which are in fact </≤ or >/≥ queries)
+ by setting the min or max value to null. By setting inclusive to false, it will
+ match all documents excluding the bounds, with inclusive on, the boundaries are hits, too.
+
+
+
+ Returns the field name for this query
+
+
+ Returns true if the lower endpoint is inclusive
+
+
+ Returns true if the upper endpoint is inclusive
+
+
+ Returns the lower value of this range query
+
+
+ Returns the upper value of this range query
+
+
+ Subclass of FilteredTermEnum for enumerating all terms that match the
+ sub-ranges for trie range queries.
+
+ WARNING: This term enumeration is not guaranteed to be always ordered by
+ .
+ The ordering depends on how and
+ generates the sub-ranges. For
+ ordering is not relevant.
+
+
+
+ this is a dummy, it is not used by this class.
+
+
+ Compares if current upper bound is reached,
+ this also updates the term count for statistics.
+ In contrast to , a return value
+ of false ends iterating the current enum
+ and forwards to the next sub-range.
+
+
+
+ Increments the enumeration to the next element. True if one exists.
+
+
+ Closes the enumeration to further activity, freeing resources.
+
+
+ Expert: Callback for .
+ You need to overwrite only one of the methods.
+ NOTE: This is a very low-level interface,
+ the method signatures may change in later versions.
+
+
+
+ This is a helper class to generate prefix-encoded representations for numerical values
+ and supplies converters to represent float/double values as sortable integers/longs.
+
+ To quickly execute range queries in Apache Lucene, a range is divided recursively
+ into multiple intervals for searching: The center of the range is searched only with
+ the lowest possible precision in the trie, while the boundaries are matched
+ more exactly. This reduces the number of terms dramatically.
+
+ This class generates terms to achive this: First the numerical integer values need to
+ be converted to strings. For that integer values (32 bit or 64 bit) are made unsigned
+ and the bits are converted to ASCII chars with each 7 bit. The resulting string is
+ sortable like the original integer value. Each value is also prefixed
+ (in the first char) by the shift value (number of bits removed) used
+ during encoding.
+
+ To also index floating point numbers, this class supplies two methods to convert them
+ to integer values by changing their bit layout: ,
+ . You will have no precision loss by
+ converting floating point numbers to integers and back (only that the integer form
+ is not usable). Other data types like dates can easily converted to longs or ints (e.g.
+ date to long: ).
+
+ For easy usage, the trie algorithm is implemented for indexing inside
+ that can index int, long,
+ float, and double. For querying,
+ and implement the query part
+ for the same data types.
+
+ This class can also be used, to generate lexicographically sortable (according
+ ) representations of numeric data types for other
+ usages (e.g. sorting).
+
+ NOTE: This API is experimental and
+ might change in incompatible ways in the next release.
+
+
+ 2.9
+
+
+
+ The default precision step used by , ,
+ , and as default
+
+
+
+ Expert: The maximum term length (used for char[] buffer size)
+ for encoding long values.
+
+
+
+
+
+ Expert: The maximum term length (used for char[] buffer size)
+ for encoding int values.
+
+
+
+
+
+ Expert: Longs are stored at lower precision by shifting off lower bits. The shift count is
+ stored as SHIFT_START_LONG+shift in the first character
+
+
+
+ Expert: Integers are stored at lower precision by shifting off lower bits. The shift count is
+ stored as SHIFT_START_INT+shift in the first character
+
+
+
+ Expert: Returns prefix coded bits after reducing the precision by shift bits.
+ This is method is used by .
+
+ the numeric value
+
+ how many bits to strip from the right
+
+ that will contain the encoded chars, must be at least of
+ length
+
+ number of chars written to buffer
+
+
+
+ Expert: Returns prefix coded bits after reducing the precision by shift bits.
+ This is method is used by .
+
+ the numeric value
+
+ how many bits to strip from the right
+
+
+
+ This is a convenience method, that returns prefix coded bits of a long without
+ reducing the precision. It can be used to store the full precision value as a
+ stored field in index.
+ To decode, use .
+
+
+
+ Expert: Returns prefix coded bits after reducing the precision by shift bits.
+ This is method is used by .
+
+ the numeric value
+
+ how many bits to strip from the right
+
+ that will contain the encoded chars, must be at least of
+ length
+
+ number of chars written to buffer
+
+
+
+ Expert: Returns prefix coded bits after reducing the precision by shift bits.
+ This is method is used by .
+
+ the numeric value
+
+ how many bits to strip from the right
+
+
+
+ This is a convenience method, that returns prefix coded bits of an int without
+ reducing the precision. It can be used to store the full precision value as a
+ stored field in index.
+ To decode, use .
+
+
+
+ Returns a long from prefixCoded characters.
+ Rightmost bits will be zero for lower precision codes.
+ This method can be used to decode e.g. a stored field.
+
+ NumberFormatException if the supplied string is
+ not correctly prefix encoded.
+
+
+
+
+
+ Returns an int from prefixCoded characters.
+ Rightmost bits will be zero for lower precision codes.
+ This method can be used to decode e.g. a stored field.
+
+ NumberFormatException if the supplied string is
+ not correctly prefix encoded.
+
+
+
+
+
+ Converts a double value to a sortable signed long.
+ The value is converted by getting their IEEE 754 floating-point "double format"
+ bit layout and then some bits are swapped, to be able to compare the result as long.
+ By this the precision is not reduced, but the value can easily used as a long.
+
+
+
+
+
+ Convenience method: this just returns:
+ longToPrefixCoded(doubleToSortableLong(val))
+
+
+
+ Converts a sortable long back to a double.
+
+
+
+
+ Convenience method: this just returns:
+ sortableLongToDouble(prefixCodedToLong(val))
+
+
+
+ Converts a float value to a sortable signed int.
+ The value is converted by getting their IEEE 754 floating-point "float format"
+ bit layout and then some bits are swapped, to be able to compare the result as int.
+ By this the precision is not reduced, but the value can easily used as an int.
+
+
+
+
+
+ Convenience method: this just returns:
+ intToPrefixCoded(floatToSortableInt(val))
+
+
+
+ Converts a sortable int back to a float.
+
+
+
+
+ Convenience method: this just returns:
+ sortableIntToFloat(prefixCodedToInt(val))
+
+
+
+ Expert: Splits a long range recursively.
+ You may implement a builder that adds clauses to a
+ for each call to its
+
+ method.
+ This method is used by .
+
+
+
+ Expert: Splits an int range recursively.
+ You may implement a builder that adds clauses to a
+ for each call to its
+
+ method.
+ This method is used by .
+
+
+
+ This helper does the splitting for both 32 and 64 bit.
+
+
+ Helper that delegates to correct range builder
+
+
+ Expert: Callback for .
+ You need to overwrite only one of the methods.
+ NOTE: This is a very low-level interface,
+ the method signatures may change in later versions.
+
+
+
+ Overwrite this method, if you like to receive the already prefix encoded range bounds.
+ You can directly build classical (inclusive) range queries from them.
+
+
+
+ Overwrite this method, if you like to receive the raw long range bounds.
+ You can use this for e.g. debugging purposes (print out range bounds).
+
+
+
+ Expert: Callback for .
+ You need to overwrite only one of the methods.
+ NOTE: This is a very low-level interface,
+ the method signatures may change in later versions.
+
+
+
+ Overwrite this method, if you like to receive the already prefix encoded range bounds.
+ You can directly build classical range (inclusive) queries from them.
+
+
+
+ Overwrite this method, if you like to receive the raw int range bounds.
+ You can use this for e.g. debugging purposes (print out range bounds).
+
+
+
+ Implements parallel search over a set of Searchables.
+
+ Applications usually need only call the inherited
+ or methods.
+
+
+
+ Creates a searchable which searches searchables.
+
+
+ TODO: parallelize this one too
+
+
+ A search implementation which spans a new thread for each
+ Searchable, waits for each search to complete and merge
+ the results back together.
+
+
+
+ A search implementation allowing sorting which spans a new thread for each
+ Searchable, waits for each search to complete and merges
+ the results back together.
+
+
+
+ Lower-level search API.
+
+ is called for every matching document.
+
+ Applications should only use this if they need all of the
+ matching documents. The high-level search API ()
+ is usually more efficient, as it skips
+ non-high-scoring hits.
+
+
+ to match documents
+
+ if non-null, a bitset used to eliminate some documents
+
+ to receive hits
+
+ TODO: parallelize this one too
+
+
+
+
+ TODO: this one could be parallelized too
+
+
+
+
+ A thread subclass for searching a single searchable
+
+
+ Calculate the final score as the average score of all payloads seen.
+
+ Is thread safe and completely reusable.
+
+
+
+
+
+ An abstract class that defines a way for Payload*Query instances
+ to transform the cumulative effects of payload scores for a document.
+
+
+ for more information
+
+
+ This class and its derivations are experimental and subject to change
+
+
+
+
+
+ Calculate the score up to this point for this doc and field
+ The current doc
+
+ The field
+
+ The start position of the matching Span
+
+ The end position of the matching Span
+
+ The number of payloads seen so far
+
+ The current score so far
+
+ The score for the current payload
+
+ The new current Score
+
+
+
+
+
+
+ Calculate the final score for all the payloads seen so far for this doc/field
+ The current doc
+
+ The current field
+
+ The total number of payloads seen on this document
+
+ The raw score for those payloads
+
+ The final score for the payloads
+
+
+
+ The BoostingTermQuery is very similar to the except
+ that it factors in the value of the payload located at each of the positions where the
+ occurs.
+
+ In order to take advantage of this, you must override
+ which returns 1 by default.
+
+ Payload scores are averaged across term occurrences in the document.
+
+
+
+
+
+ See
+
+
+
+ This class is very similar to
+ except that it factors
+ in the value of the payload located at each of the positions where the
+ occurs.
+
+ In order to take advantage of this, you must override
+
+ which returns 1 by default.
+
+ Payload scores are aggregated using a pluggable .
+
+
+
+
+ Matches spans containing a term.
+
+
+ Base class for span-based queries.
+
+
+ Expert: Returns the matches for this query in an index. Used internally
+ to search for spans.
+
+
+
+ Returns the name of the field matched by this query.
+
+
+ Returns a collection of all terms matched by this query.
+ use extractTerms instead
+
+
+
+
+
+ Construct a SpanTermQuery matching the named term's spans.
+
+
+ Return the term whose spans are matched.
+
+
+ Returns a collection of all terms matched by this query.
+ use extractTerms instead
+
+
+
+
+
+ Expert-only. Public for use by other weight implementations
+
+
+ Public for extension only.
+
+
+ not needed anymore
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+
+ *
+
+ IOException
+
+
+ Returns the SpanScorer score only.
+
+ Should not be overriden without good cause!
+
+
+ the score for just the Span part w/o the payload
+
+ IOException
+
+
+
+
+
+
+ The score for the payload
+
+
+ The score, as calculated by
+
+
+
+
+ Returns the maximum payload score seen, else 1 if there are no payloads on the doc.
+
+ Is thread safe and completely reusable.
+
+
+
+
+
+ Calculates the minimum payload seen
+
+
+
+
+
+ This class is very similar to
+ except that it factors
+ in the value of the payloads located at each of the positions where the
+ occurs.
+
+ In order to take advantage of this, you must override
+
+ which returns 1 by default.
+
+ Payload scores are aggregated using a pluggable .
+
+
+
+
+
+
+ Matches spans which are near one another. One can specify slop, the
+ maximum number of intervening unmatched positions, as well as whether
+ matches are required to be in-order.
+
+
+
+ Construct a SpanNearQuery. Matches spans matching a span from each
+ clause, with up to slop total unmatched positions between
+ them. * When inOrder is true, the spans from each clause
+ must be * ordered as in clauses.
+
+
+
+ Return the clauses whose spans are matched.
+
+
+ Return the maximum number of intervening unmatched positions permitted.
+
+
+ Return true if matches are required to be in-order.
+
+
+ Returns a collection of all terms matched by this query.
+ use extractTerms instead
+
+
+
+
+
+ Returns true iff o is equal to this.
+
+
+ By default, uses the to score the payloads, but
+ can be overridden to do other things.
+
+
+ The payloads
+
+ The start position of the span being scored
+
+ The end position of the span being scored
+
+
+
+
+
+
+ Experimental class to get set of payloads for most standard Lucene queries.
+ Operates like Highlighter - IndexReader should only contain doc of interest,
+ best to use MemoryIndex.
+
+
+
+ WARNING: The status of the Payloads feature is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+
+
+
+ that contains doc with payloads to extract
+
+
+
+ Query should be rewritten for wild/fuzzy support.
+
+
+
+
+ payloads Collection
+
+ IOException
+
+
+ Position of a term in a document that takes into account the term offset within the phrase.
+
+
+ Go to next location of this term current document, and set
+ position as location - offset, so that a
+ matching exact phrase is easily identified when all PhrasePositions
+ have exactly the same position.
+
+
+
+ A Query that matches documents containing a particular sequence of terms.
+ A PhraseQuery is built by QueryParser for input like "new york".
+
+ This query may be combined with other terms or queries with a .
+
+
+
+ Constructs an empty phrase query.
+
+
+ Sets the number of other words permitted between words in query phrase.
+ If zero, then this is an exact phrase search. For larger values this works
+ like a WITHIN or NEAR operator.
+ The slop is in fact an edit-distance, where the units correspond to
+ moves of terms in the query phrase out of position. For example, to switch
+ the order of two words requires two moves (the first move places the words
+ atop one another), so to permit re-orderings of phrases, the slop must be
+ at least two.
+ More exact matches are scored higher than sloppier matches, thus search
+ results are sorted by exactness.
+ The slop is zero by default, requiring exact matches.
+
+
+
+ Returns the slop. See setSlop().
+
+
+ Adds a term to the end of the query phrase.
+ The relative position of the term is the one immediately after the last term added.
+
+
+
+ Adds a term to the end of the query phrase.
+ The relative position of the term within the phrase is specified explicitly.
+ This allows e.g. phrases with more than one term at the same position
+ or phrases with gaps (e.g. in connection with stopwords).
+
+
+
+
+
+
+
+
+ Returns the set of terms in this phrase.
+
+
+ Returns the relative positions of terms in this phrase.
+
+
+
+
+
+
+ Prints a user-readable version of this query.
+
+
+ Returns true iff o is equal to this.
+
+
+ Returns a hash code value for this object.
+
+
+ A implementation which wraps another
+ and makes sure only documents with
+ scores > 0 are collected.
+
+
+
+ A Filter that restricts search results to values that have a matching prefix in a given
+ field.
+
+
+
+ Prints a user-readable version of this query.
+
+
+ A Query that matches documents containing terms with a specified prefix. A PrefixQuery
+ is built by QueryParser for input like app*.
+
+ This query uses the
+
+ rewrite method.
+
+
+
+ Constructs a query for terms starting with prefix.
+
+
+ Returns the prefix of this query.
+
+
+ Prints a user-readable version of this query.
+
+
+ Subclass of FilteredTermEnum for enumerating all terms that match the
+ specified prefix filter term.
+
+ Term enumerations are always ordered by Term.compareTo(). Each term in
+ the enumeration is greater than all that precede it.
+
+
+
+
+ Constrains search results to only match those which also match a provided
+ query. Results are cached, so that searches after the first on the same
+ index using this filter are much faster.
+
+
+ $Id: QueryFilter.java 528298 2007-04-13 00:59:28Z hossman $
+
+ use a CachingWrapperFilter with QueryWrapperFilter
+
+
+
+ Constructs a filter which only matches documents matching
+ query.
+
+
+
+
+
+
+
+
+
+
+ The original list of terms from the query, can contain duplicates
+
+
+
+ Constrains search results to only match those which also match a provided
+ query.
+
+ This could be used, for example, with a on a suitably
+ formatted date field to implement date filtering. One could re-use a single
+ QueryFilter that matches, e.g., only documents modified within the last
+ week. The QueryFilter and TermRangeQuery would only need to be reconstructed
+ once per day.
+
+
+ $Id:$
+
+
+
+ Constructs a filter which only matches documents matching
+ query.
+
+
+
+ Use instead.
+
+
+
+ A Filter that restricts search results to a range of values in a given
+ field.
+
+ This filter matches the documents looking for terms that fall into the
+ supplied range according to . It is not intended
+ for numerical ranges, use instead.
+
+ If you construct a large number of range filters with different ranges but on the
+ same field, may have significantly better performance.
+
+
+ Use for term ranges or
+ for numeric ranges instead.
+ This class will be removed in Lucene 3.0.
+
+
+
+ The field this range applies to
+
+ The lower bound on this range
+
+ The upper bound on this range
+
+ Does this range include the lower bound?
+
+ Does this range include the upper bound?
+
+ IllegalArgumentException if both terms are null or if
+ lowerTerm is null and includeLower is true (similar for upperTerm
+ and includeUpper)
+
+
+
+ WARNING: Using this constructor and supplying a non-null
+ value in the collator parameter will cause every single
+ index Term in the Field referenced by lowerTerm and/or upperTerm to be
+ examined. Depending on the number of index Terms in this Field, the
+ operation could be very slow.
+
+
+
+ The lower bound on this range
+
+ The upper bound on this range
+
+ Does this range include the lower bound?
+
+ Does this range include the upper bound?
+
+ The collator to use when determining range inclusion; set
+ to null to use Unicode code point ordering instead of collation.
+
+ IllegalArgumentException if both terms are null or if
+ lowerTerm is null and includeLower is true (similar for upperTerm
+ and includeUpper)
+
+
+
+ Constructs a filter for field fieldName matching
+ less than or equal to upperTerm.
+
+
+
+ Constructs a filter for field fieldName matching
+ greater than or equal to lowerTerm.
+
+
+
+ A Query that matches documents within an exclusive range of terms.
+
+ This query matches the documents looking for terms that fall into the
+ supplied range according to . It is not intended
+ for numerical ranges, use instead.
+
+ This query uses
+ . If you
+ want to change this, use the new
+ instead.
+
+
+ Use for term ranges or
+ for numeric ranges instead.
+ This class will be removed in Lucene 3.0.
+
+
+
+ Constructs a query selecting all terms greater than
+ lowerTerm but less than upperTerm.
+ There must be at least one term and either term may be null,
+ in which case there is no bound on that side, but if there are
+ two terms, both terms must be for the same field.
+
+
+ The Term at the lower end of the range
+
+ The Term at the upper end of the range
+
+ If true, both lowerTerm and
+ upperTerm will themselves be included in the range.
+
+
+
+ Constructs a query selecting all terms greater than
+ lowerTerm but less than upperTerm.
+ There must be at least one term and either term may be null,
+ in which case there is no bound on that side, but if there are
+ two terms, both terms must be for the same field.
+
+ If collator is not null, it will be used to decide whether
+ index terms are within the given range, rather than using the Unicode code
+ point order in which index terms are stored.
+
+ WARNING: Using this constructor and supplying a non-null
+ value in the collator parameter will cause every single
+ index Term in the Field referenced by lowerTerm and/or upperTerm to be
+ examined. Depending on the number of index Terms in this Field, the
+ operation could be very slow.
+
+
+ The Term at the lower end of the range
+
+ The Term at the upper end of the range
+
+ If true, both lowerTerm and
+ upperTerm will themselves be included in the range.
+
+ The collator to use to collate index Terms, to determine
+ their membership in the range bounded by lowerTerm and
+ upperTerm.
+
+
+
+ Returns the field name for this query
+
+
+ Returns the lower term of this range query.
+
+
+ Returns the upper term of this range query.
+
+
+ Returns true if the range query is inclusive
+
+
+ Returns the collator used to determine range inclusion, if any.
+
+
+ Prints a user-readable version of this query.
+
+
+ Returns true iff o is equal to this.
+
+
+ Returns a hash code value for this object.
+
+
+ A Scorer for queries with a required subscorer
+ and an excluding (prohibited) sub DocIdSetIterator.
+
+ This Scorer implements ,
+ and it uses the skipTo() on the given scorers.
+
+
+
+ Construct a ReqExclScorer.
+ The scorer that must match, except where
+
+ indicates exclusion.
+
+
+
+ use instead.
+
+
+
+ Advance to non excluded doc.
+ On entry:
+
+ reqScorer != null,
+ exclScorer != null,
+ reqScorer was advanced once via next() or skipTo()
+ and reqScorer.doc() may still be excluded.
+
+ Advances reqScorer a non excluded required doc, if any.
+
+ true iff there is a non excluded required doc.
+
+
+
+ use instead.
+
+
+
+ Returns the score of the current document matching the query.
+ Initially invalid, until is called the first time.
+
+ The score of the required scorer.
+
+
+
+ use instead.
+
+
+
+ A Scorer for queries with a required part and an optional part.
+ Delays skipTo() on the optional part until a score() is needed.
+
+ This Scorer implements .
+
+
+
+ The scorers passed from the constructor.
+ These are set to null as soon as their next() or skipTo() returns false.
+
+
+
+ Construct a ReqOptScorer.
+ The required scorer. This must match.
+
+ The optional scorer. This is used for scoring only.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Returns the score of the current document matching the query.
+ Initially invalid, until is called the first time.
+
+ The score of the required scorer, eventually increased by the score
+ of the optional scorer when it also matches the current document.
+
+
+
+ Explain the score of a document.
+ TODO: Also show the total score.
+ See BooleanScorer.explain() on how to do this.
+
+
+
+ A which wraps another scorer and caches the score of the
+ current document. Successive calls to will return the same
+ result and will not invoke the wrapped Scorer's score() method, unless the
+ current document has changed.
+ This class might be useful due to the changes done to the
+ interface, in which the score is not computed for a document by default, only
+ if the collector requests it. Some collectors may need to use the score in
+ several places, however all they have in hand is a object, and
+ might end up computing the score of a document more than once.
+
+
+
+ Creates a new instance by wrapping the given scorer.
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Expert: Compares two ScoreDoc objects for sorting.
+
+ Created: Feb 3, 2004 9:00:16 AM
+
+
+ lucene 1.4
+
+ $Id: ScoreDocComparator.java 738219 2009-01-27 20:15:21Z mikemccand $
+
+ use
+
+
+
+ Special comparator for sorting hits according to computed relevance (document score).
+
+
+ Special comparator for sorting hits according to index order (document number).
+
+
+ Score a candidate doc for all slop-valid position-combinations (matches)
+ encountered while traversing/hopping the PhrasePositions.
+ The score contribution of a match depends on the distance:
+ - highest score for distance=0 (exact match).
+ - score gets lower as distance gets higher.
+ Example: for query "a b"~2, a document "x a b a y" can be scored twice:
+ once for "a b" (distance=0), and once for "b a" (distance=2).
+ Possibly not all valid combinations are encountered, because for efficiency
+ we always propagate the least PhrasePosition. This allows to base on
+ PriorityQueue and move forward faster.
+ As result, for example, document "a b c b a"
+ would score differently for queries "a b c"~4 and "c b a"~4, although
+ they really are equivalent.
+ Similarly, for doc "a b c b a f g", query "c b"~2
+ would get same score as "g f"~2, although "c b"~2 could be matched twice.
+ We may want to fix this in the future (currently not, for performance reasons).
+
+
+
+ Init PhrasePositions in place.
+ There is a one time initialization for this scorer:
+ - Put in repeats[] each pp that has another pp with same position in the doc.
+ - Also mark each such pp by pp.repeats = true.
+ Later can consult with repeats[] in termPositionsDiffer(pp), making that check efficient.
+ In particular, this allows to score queries with no repetitions with no overhead due to this computation.
+ - Example 1 - query with no repetitions: "ho my"~2
+ - Example 2 - query with repetitions: "ho my my"~2
+ - Example 3 - query with repetitions: "my ho my"~2
+ Init per doc w/repeats in query, includes propagating some repeating pp's to avoid false phrase detection.
+
+ end (max position), or -1 if any term ran out (i.e. done)
+
+ IOException
+
+
+ We disallow two pp's to have the same TermPosition, thereby verifying multiple occurrences
+ in the query of the same word would go elsewhere in the matched doc.
+
+ null if differ (i.e. valid) otherwise return the higher offset PhrasePositions
+ out of the first two PPs found to not differ.
+
+
+
+ Encapsulates sort criteria for returned hits.
+
+ The fields used to determine sort order must be carefully chosen.
+ Documents must contain a single term in such a field,
+ and the value of the term should indicate the document's relative position in
+ a given sort order. The field must be indexed, but should not be tokenized,
+ and does not need to be stored (unless you happen to want it back with the
+ rest of your document data). In other words:
+
+ document.add (new Field ("byNumber", Integer.toString(x), Field.Store.NO, Field.Index.NOT_ANALYZED));
+
+
+
Valid Types of Values
+
+ There are four possible kinds of term values which may be put into
+ sorting fields: Integers, Longs, Floats, or Strings. Unless
+ SortField objects are specified, the type of value
+ in the field is determined by parsing the first term in the field.
+
+ Integer term values should contain only digits and an optional
+ preceding negative sign. Values must be base 10 and in the range
+ Integer.MIN_VALUE and Integer.MAX_VALUE inclusive.
+ Documents which should appear first in the sort
+ should have low value integers, later documents high values
+ (i.e. the documents should be numbered 1..n where
+ 1 is the first and n the last).
+
+ Long term values should contain only digits and an optional
+ preceding negative sign. Values must be base 10 and in the range
+ Long.MIN_VALUE and Long.MAX_VALUE inclusive.
+ Documents which should appear first in the sort
+ should have low value integers, later documents high values.
+
+ Float term values should conform to values accepted by
+ (except that NaN
+ and Infinity are not supported).
+ Documents which should appear first in the sort
+ should have low values, later documents high values.
+
+ String term values can contain any valid String, but should
+ not be tokenized. The values are sorted according to their
+ natural order. Note that using this type
+ of term value has higher memory requirements than the other
+ two types.
+
+
Object Reuse
+
+ One of these objects can be
+ used multiple times and the sort order changed between usages.
+
+ This class is thread safe.
+
+
Memory Usage
+
+ Sorting uses of caches of term values maintained by the
+ internal HitQueue(s). The cache is static and contains an integer
+ or float array of length IndexReader.maxDoc() for each field
+ name for which a sort is performed. In other words, the size of the
+ cache in bytes is:
+
+ 4 * IndexReader.maxDoc() * (# of different fields actually used to sort)
+
+ For String fields, the cache is larger: in addition to the
+ above array, the value of every term in the field is kept in memory.
+ If there are many unique terms in the field, this could
+ be quite large.
+
+ Note that the size of the cache is not affected by how many
+ fields are in the index and might be used to sort - only by
+ the ones actually used to sort a result set.
+
+ Created: Feb 12, 2004 10:53:57 AM
+
+
+ lucene 1.4
+
+ $Id: Sort.java 795179 2009-07-17 18:23:30Z mikemccand $
+
+
+
+ Represents sorting by computed relevance. Using this sort criteria returns
+ the same results as calling
+ Searcher#search()without a sort criteria,
+ only with slightly more overhead.
+
+
+
+ Represents sorting by index order.
+
+
+ Sorts by computed relevance. This is the same sort criteria as calling
+ without a sort criteria,
+ only with slightly more overhead.
+
+
+
+ Sorts by the terms in field then by index order (document
+ number). The type of value in field is determined
+ automatically.
+
+
+
+
+ Please specify the type explicitly by
+ first creating a and then use
+
+
+
+
+ Sorts possibly in reverse by the terms in field then by
+ index order (document number). The type of value in field is
+ determined automatically.
+
+
+
+
+ Please specify the type explicitly by
+ first creating a and then use
+
+
+
+
+ Sorts in succession by the terms in each field. The type of value in
+ field is determined automatically.
+
+
+
+
+ Please specify the type explicitly by
+ first creating s and then use
+
+
+
+
+ Sorts by the criteria in the given SortField.
+
+
+ Sorts in succession by the criteria in each SortField.
+
+
+ Sets the sort to the terms in field then by index order
+ (document number).
+
+ Please specify the type explicitly by
+ first creating a and then use
+
+
+
+
+ Sets the sort to the terms in field possibly in reverse,
+ then by index order (document number).
+
+ Please specify the type explicitly by
+ first creating a and then use
+
+
+
+
+ Sets the sort to the terms in each field in succession.
+ Please specify the type explicitly by
+ first creating s and then use
+
+
+
+
+ Sets the sort to the given criteria.
+
+
+ Sets the sort to the given criteria in succession.
+
+
+ Representation of the sort criteria.
+ Array of SortField objects used in this sort criteria
+
+
+
+ Returns true if o is equal to this.
+
+
+ Returns a hash code value for this object.
+
+
+ Abstract base class for sorting hits returned by a Query.
+
+
+ This class should only be used if the other SortField types (SCORE, DOC,
+ STRING, INT, FLOAT) do not provide an adequate sorting. It maintains an
+ internal cache of values which could be quite large. The cache is an array of
+ Comparable, one for each document in the index. There is a distinct
+ Comparable for each unique term in the field - if some documents have the
+ same term in the field, the cache array will have entries which reference the
+ same Comparable.
+
+ This class will be used as part of a key to a FieldCache value. You must
+ implement hashCode and equals to avoid an explosion in RAM usage if you use
+ instances that are not the same instance. If you are searching using the
+ Remote contrib, the same instance of this class on the client will be a new
+ instance on every call to the server, so hashCode/equals is very important in
+ that situation.
+
+
+ Created: Apr 21, 2004 5:08:38 PM
+
+
+
+ $Id: SortComparator.java 800119 2009-08-02 17:59:21Z markrmiller $
+
+ 1.4
+
+ Please use instead.
+
+
+
+ Expert: returns a comparator for sorting ScoreDocs.
+
+
+ Created: Apr 21, 2004 3:49:28 PM
+
+ This class will be used as part of a key to a FieldCache value. You must
+ implement hashCode and equals to avoid an explosion in RAM usage if you use
+ instances that are not the same instance. If you are searching using the
+ Remote contrib, the same instance of this class on the client will be a new
+ instance on every call to the server, so hashCode/equals is very important in
+ that situation.
+
+
+ $Id: SortComparatorSource.java 747019 2009-02-23 13:59:50Z
+ mikemccand $
+
+ 1.4
+
+ Please use instead.
+
+
+
+ Creates a comparator for the field in the given index.
+ Index to create comparator for.
+
+ Name of the field to create comparator for.
+
+ Comparator of ScoreDoc objects.
+
+ IOException If an error occurs reading the index.
+
+
+ Returns an object which, when sorted according to natural order,
+ will order the Term values in the correct order.
+ For example, if the Terms contained integer values, this method
+ would return new Integer(termtext). Note that this
+ might not always be the most efficient implementation - for this
+ particular example, a better implementation might be to make a
+ ScoreDocLookupComparator that uses an internal lookup table of int.
+
+ The textual value of the term.
+
+ An object representing termtext that sorts according to the natural order of termtext.
+
+
+
+
+
+
+
+ Stores information about how to sort documents by terms in an individual
+ field. Fields must be indexed in order to sort by them.
+
+ Created: Feb 11, 2004 1:25:29 PM
+
+
+ lucene 1.4
+
+ $Id: SortField.java 801344 2009-08-05 18:05:06Z yonik $
+
+
+
+
+
+ Sort by document score (relevancy). Sort values are Float and higher
+ values are at the front.
+
+
+
+ Sort by document number (index order). Sort values are Integer and lower
+ values are at the front.
+
+
+
+ Guess type of sort based on field contents. A regular expression is used
+ to look at the first term indexed for the field and determine if it
+ represents an integer number, a floating point number, or just arbitrary
+ string characters.
+
+ Please specify the exact type, instead.
+ Especially, guessing does not work with the new
+ type.
+
+
+
+ Sort using term values as Strings. Sort values are String and lower
+ values are at the front.
+
+
+
+ Sort using term values as encoded Integers. Sort values are Integer and
+ lower values are at the front.
+
+
+
+ Sort using term values as encoded Floats. Sort values are Float and
+ lower values are at the front.
+
+
+
+ Sort using term values as encoded Longs. Sort values are Long and
+ lower values are at the front.
+
+
+
+ Sort using term values as encoded Doubles. Sort values are Double and
+ lower values are at the front.
+
+
+
+ Sort using term values as encoded Shorts. Sort values are Short and
+ lower values are at the front.
+
+
+
+ Sort using a custom Comparator. Sort values are any Comparable and
+ sorting is done according to natural order.
+
+
+
+ Sort using term values as encoded Bytes. Sort values are Byte and
+ lower values are at the front.
+
+
+
+ Sort using term values as Strings, but comparing by
+ value (using String.compareTo) for all comparisons.
+ This is typically slower than , which
+ uses ordinals to do the sorting.
+
+
+
+ Represents sorting by document score (relevancy).
+
+
+ Represents sorting by document number (index order).
+
+
+ Creates a sort by terms in the given field where the type of term value
+ is determined dynamically ().
+
+ Name of field to sort by, cannot be
+ null.
+
+ Please specify the exact type instead.
+
+
+
+ Creates a sort, possibly in reverse, by terms in the given field where
+ the type of term value is determined dynamically ().
+
+ Name of field to sort by, cannot be null.
+
+ True if natural order should be reversed.
+
+ Please specify the exact type instead.
+
+
+
+ Creates a sort by terms in the given field with the type of term
+ values explicitly given.
+
+ Name of field to sort by. Can be null if
+ type is SCORE or DOC.
+
+ Type of values in the terms.
+
+
+
+ Creates a sort, possibly in reverse, by terms in the given field with the
+ type of term values explicitly given.
+
+ Name of field to sort by. Can be null if
+ type is SCORE or DOC.
+
+ Type of values in the terms.
+
+ True if natural order should be reversed.
+
+
+
+ Creates a sort by terms in the given field, parsed
+ to numeric values using a custom .
+
+ Name of field to sort by. Must not be null.
+
+ Instance of a ,
+ which must subclass one of the existing numeric
+ parsers from . Sort type is inferred
+ by testing which numeric parser the parser subclasses.
+
+ IllegalArgumentException if the parser fails to
+ subclass an existing numeric parser, or field is null
+
+
+
+ Creates a sort, possibly in reverse, by terms in the given field, parsed
+ to numeric values using a custom .
+
+ Name of field to sort by. Must not be null.
+
+ Instance of a ,
+ which must subclass one of the existing numeric
+ parsers from . Sort type is inferred
+ by testing which numeric parser the parser subclasses.
+
+ True if natural order should be reversed.
+
+ IllegalArgumentException if the parser fails to
+ subclass an existing numeric parser, or field is null
+
+
+
+ Creates a sort by terms in the given field sorted
+ according to the given locale.
+
+ Name of field to sort by, cannot be null.
+
+ Locale of values in the field.
+
+
+
+ Creates a sort, possibly in reverse, by terms in the given field sorted
+ according to the given locale.
+
+ Name of field to sort by, cannot be null.
+
+ Locale of values in the field.
+
+
+
+ Creates a sort with a custom comparison function.
+ Name of field to sort by; cannot be null.
+
+ Returns a comparator for sorting hits.
+
+ use SortField (String field, FieldComparatorSource comparator)
+
+
+
+ Creates a sort with a custom comparison function.
+ Name of field to sort by; cannot be null.
+
+ Returns a comparator for sorting hits.
+
+
+
+ Creates a sort, possibly in reverse, with a custom comparison function.
+ Name of field to sort by; cannot be null.
+
+ Returns a comparator for sorting hits.
+
+ True if natural order should be reversed.
+
+ use SortField (String field, FieldComparatorSource comparator, boolean reverse)
+
+
+
+ Creates a sort, possibly in reverse, with a custom comparison function.
+ Name of field to sort by; cannot be null.
+
+ Returns a comparator for sorting hits.
+
+ True if natural order should be reversed.
+
+
+
+ Returns the name of the field. Could return null
+ if the sort is by SCORE or DOC.
+
+ Name of field, possibly null.
+
+
+
+ Returns the type of contents in the field.
+ One of the constants SCORE, DOC, AUTO, STRING, INT or FLOAT.
+
+
+
+ Returns the Locale by which term values are interpreted.
+ May return null if no Locale was specified.
+
+ Locale, or null.
+
+
+
+ Returns the instance of a parser that fits to the given sort type.
+ May return null if no parser was specified. Sorting is using the default parser then.
+
+ An instance of a parser, or null.
+
+
+
+ Returns whether the sort should be reversed.
+ True if natural order should be reversed.
+
+
+
+ use
+
+
+
+ Use legacy IndexSearch implementation: search with a DirectoryReader rather
+ than passing a single hit collector to multiple SegmentReaders.
+
+
+ true for legacy behavior
+
+ will be removed in Lucene 3.0.
+
+
+
+ if true, IndexSearch will use legacy sorting search implementation.
+ eg. multiple Priority Queues.
+
+ will be removed in Lucene 3.0.
+
+
+
+ Returns true if o is equal to this. If a
+ (deprecated) or
+ was provided, it must properly
+ implement equals (unless a singleton is always used).
+
+
+
+ Returns true if o is equal to this. If a
+ (deprecated) or
+ was provided, it must properly
+ implement hashCode (unless a singleton is always
+ used).
+
+
+
+ Returns the to use for
+ sorting.
+
+ NOTE: This API is experimental and might change in
+ incompatible ways in the next release.
+
+
+ number of top hits the queue will store
+
+ position of this SortField within
+ . The comparator is primary if sortPos==0,
+ secondary if sortPos==1, etc. Some comparators can
+ optimize themselves when they are the primary sort.
+
+ to use when sorting
+
+
+
+ Attempts to detect the given field type for an IndexReader.
+
+
+
+
+ The results of a SpanQueryFilter. Wraps the BitSet and the position information from the SpanQuery
+
+
+ NOTE: This API is still experimental and subject to change.
+
+
+
+
+
+
+
+
+
+
+ The bits for the Filter
+
+ A List of objects
+
+ Use instead
+
+
+
+
+ The DocIdSet for the Filter
+
+ A List of objects
+
+
+
+ The first entry in the array corresponds to the first "on" bit.
+ Entries are increasing by document order
+
+ A List of PositionInfo objects
+
+
+
+ Use
+
+
+
+ Returns the docIdSet
+
+
+
+ A List of objects
+
+
+
+
+ The end position of this match
+
+
+
+ The Start position
+ The start position of this match
+
+
+
+ Constrains search results to only match those which also match a provided
+ query. Also provides position information about where each document matches
+ at the cost of extra space compared with the QueryWrapperFilter.
+ There is an added cost to this above what is stored in a . Namely,
+ the position information for each matching document is stored.
+
+ This filter does not cache. See the for a wrapper that
+ caches.
+
+
+
+ $Id:$
+
+
+
+ Constructs a filter which only matches documents matching
+ query.
+
+ The to use as the basis for the Filter.
+
+
+
+ Wrapper to allow objects participate in composite
+ single-field SpanQueries by 'lying' about their search field. That is,
+ the masked SpanQuery will function as normal,
+ but simply hands back the value supplied
+ in this class's constructor.
+
+ This can be used to support Queries like or
+ across different fields, which is not ordinarily
+ permitted.
+
+ This can be useful for denormalized relational data: for example, when
+ indexing a document with conceptually many 'children':
+
+
+ teacherid: 1
+ studentfirstname: james
+ studentsurname: jones
+
+ teacherid: 2
+ studenfirstname: james
+ studentsurname: smith
+ studentfirstname: sally
+ studentsurname: jones
+
+
+ a SpanNearQuery with a slop of 0 can be applied across two
+ objects as follows:
+
+ SpanQuery q1 = new SpanTermQuery(new Term("studentfirstname", "james"));
+ SpanQuery q2 = new SpanTermQuery(new Term("studentsurname", "jones"));
+ SpanQuery q2m new FieldMaskingSpanQuery(q2, "studentfirstname");
+ Query q = new SpanNearQuery(new SpanQuery[]{q1, q2m}, -1, false);
+
+ to search for 'studentfirstname:james studentsurname:jones' and find
+ teacherid 1 without matching teacherid 2 (which has a 'james' in position 0
+ and 'jones' in position 1).
+
+ Note: as returns the masked field, scoring will be
+ done using the norms of the field name supplied. This may lead to unexpected
+ scoring behaviour.
+
+
+
+ use instead.
+
+
+
+ A Spans that is formed from the ordered subspans of a SpanNearQuery
+ where the subspans do not overlap and have a maximum slop between them.
+
+ The formed spans only contains minimum slop matches.
+ The matching slop is computed from the distance(s) between
+ the non overlapping matching Spans.
+ Successive matches are always formed from the successive Spans
+ of the SpanNearQuery.
+
+ The formed spans may contain overlaps when the slop is at least 1.
+ For example, when querying using
+ t1 t2 t3
+ with slop at least 1, the fragment:
+ t1 t2 t1 t3 t2 t3
+ matches twice:
+ t1 t2 .. t3
+ t1 .. t2 t3
+
+
+ Expert:
+ Only public for subclassing. Most implementations should not need this class
+
+
+
+ Expert: an enumeration of span matches. Used to implement span searching.
+ Each span represents a range of term positions within a document. Matches
+ are enumerated in order, by increasing document number, within that by
+ increasing start position and finally by increasing end position.
+
+
+
+ Move to the next match, returning true iff any such exists.
+
+
+ Skips to the first match beyond the current, whose document number is
+ greater than or equal to target. Returns true iff there is such
+ a match. Behaves as if written:
+ boolean skipTo(int target) {
+ do {
+ if (!next())
+ return false;
+ } while (target > doc());
+ return true;
+ }
+
+ Most implementations are considerably more efficient than that.
+
+
+
+ Returns the document number of the current match. Initially invalid.
+
+
+ Returns the start position of the current match. Initially invalid.
+
+
+ Returns the end position of the current match. Initially invalid.
+
+
+ Returns the payload data for the current span.
+ This is invalid until is called for
+ the first time.
+ This method must not be called more than once after each call
+ of . However, most payloads are loaded lazily,
+ so if the payload data for the current position is not needed,
+ this method may not be called at all for performance reasons. An ordered
+ SpanQuery does not lazy load, so if you have payloads in your index and
+ you do not want ordered SpanNearQuerys to collect payloads, you can
+ disable collection with a constructor option.
+
+ Note that the return type is a collection, thus the ordering should not be relied upon.
+
+
+ WARNING: The status of the Payloads feature is experimental.
+ The APIs introduced here might change in the future and will not be
+ supported anymore in such a case.
+
+
+ a List of byte arrays containing the data of this payload, otherwise null if isPayloadAvailable is false
+
+ java.io.IOException
+
+
+ Checks if a payload can be loaded at this position.
+
+ Payloads can only be loaded once per call to
+ .
+
+
+ true if there is a payload available at this position that can be loaded
+
+
+
+ The spans in the same order as the SpanNearQuery
+
+
+ Indicates that all subSpans have same doc()
+
+
+ Advances the subSpans to just after an ordered match with a minimum slop
+ that is smaller than the slop allowed by the SpanNearQuery.
+
+ true iff there is such a match.
+
+
+
+ Advance the subSpans to the same document
+
+
+ Check whether two Spans in the same document are ordered.
+
+
+
+
+ true iff spans1 starts before spans2
+ or the spans start at the same position,
+ and spans1 ends before spans2.
+
+
+
+ Like , but use the spans
+ starts and ends as parameters.
+
+
+
+ Order the subSpans within the same document by advancing all later spans
+ after the previous one.
+
+
+
+ The subSpans are ordered in the same doc, so there is a possible match.
+ Compute the slop while making the match as short as possible by advancing
+ all subSpans except the last one in reverse order.
+
+
+
+ Similar to , but for the unordered case.
+
+ Expert:
+ Only public for subclassing. Most implementations should not need this class
+
+
+
+ WARNING: The List is not necessarily in order of the the positions
+ Collection of byte[] payloads
+
+ IOException
+
+
+ Wraps a Spans, and can be used to form a linked list.
+
+
+ Matches spans near the beginning of a field.
+
+
+ Construct a SpanFirstQuery matching spans in match whose end
+ position is less than or equal to end.
+
+
+
+ Return the SpanQuery whose matches are filtered.
+
+
+ Return the maximum end position permitted in a match.
+
+
+ Returns a collection of all terms matched by this query.
+ use extractTerms instead
+
+
+
+
+
+ Removes matches which overlap with another SpanQuery.
+
+
+ Construct a SpanNotQuery matching spans from include which
+ have no overlap with spans from exclude.
+
+
+
+ Return the SpanQuery whose matches are filtered.
+
+
+ Return the SpanQuery whose matches must not overlap those returned.
+
+
+ Returns a collection of all terms matched by this query.
+ use extractTerms instead
+
+
+
+
+
+ Returns true iff o is equal to this.
+
+
+ Matches the union of its clauses.
+
+
+ Construct a SpanOrQuery merging the provided clauses.
+
+
+ Return the clauses whose spans are matched.
+
+
+ Returns a collection of all terms matched by this query.
+ use extractTerms instead
+
+
+
+
+
+ Expert:
+ Public for extension only
+
+
+
+ A Query that matches documents containing a term.
+ This may be combined with other terms with a .
+
+
+
+ Constructs a query for the term t.
+
+
+ Returns the term of this query.
+
+
+ Prints a user-readable version of this query.
+
+
+ Returns true iff o is equal to this.
+
+
+ Returns a hash code value for this object.
+
+
+ A Filter that restricts search results to a range of values in a given
+ field.
+
+ This filter matches the documents looking for terms that fall into the
+ supplied range according to . It is not intended
+ for numerical ranges, use instead.
+
+ If you construct a large number of range filters with different ranges but on the
+ same field, may have significantly better performance.
+
+ 2.9
+
+
+
+ The field this range applies to
+
+ The lower bound on this range
+
+ The upper bound on this range
+
+ Does this range include the lower bound?
+
+ Does this range include the upper bound?
+
+ IllegalArgumentException if both terms are null or if
+ lowerTerm is null and includeLower is true (similar for upperTerm
+ and includeUpper)
+
+
+
+ WARNING: Using this constructor and supplying a non-null
+ value in the collator parameter will cause every single
+ index Term in the Field referenced by lowerTerm and/or upperTerm to be
+ examined. Depending on the number of index Terms in this Field, the
+ operation could be very slow.
+
+
+
+ The lower bound on this range
+
+ The upper bound on this range
+
+ Does this range include the lower bound?
+
+ Does this range include the upper bound?
+
+ The collator to use when determining range inclusion; set
+ to null to use Unicode code point ordering instead of collation.
+
+ IllegalArgumentException if both terms are null or if
+ lowerTerm is null and includeLower is true (similar for upperTerm
+ and includeUpper)
+
+
+
+ Constructs a filter for field fieldName matching
+ less than or equal to upperTerm.
+
+
+
+ Constructs a filter for field fieldName matching
+ greater than or equal to lowerTerm.
+
+
+
+ Returns the field name for this filter
+
+
+ Returns the lower value of this range filter
+
+
+ Returns the upper value of this range filter
+
+
+ Returns true if the lower endpoint is inclusive
+
+
+ Returns true if the upper endpoint is inclusive
+
+
+ Returns the collator used to determine range inclusion, if any.
+
+
+ Subclass of FilteredTermEnum for enumerating all terms that match the
+ specified range parameters.
+
+ Term enumerations are always ordered by Term.compareTo(). Each term in
+ the enumeration is greater than all that precede it.
+
+ 2.9
+
+
+
+ Enumerates all terms greater/equal than lowerTerm
+ but less/equal than upperTerm.
+
+ If an endpoint is null, it is said to be "open". Either or both
+ endpoints may be open. Open endpoints may not be exclusive
+ (you can't select all but the first or last term without
+ explicitly specifying the term to exclude.)
+
+
+
+
+ An interned field that holds both lower and upper terms.
+
+ The term text at the lower end of the range
+
+ The term text at the upper end of the range
+
+ If true, the lowerTerm is included in the range.
+
+ If true, the upperTerm is included in the range.
+
+ The collator to use to collate index Terms, to determine their
+ membership in the range bounded by lowerTerm and
+ upperTerm.
+
+
+ IOException
+
+
+ Expert: A Scorer for documents matching a Term.
+
+
+ Construct a TermScorer.
+
+
+ The weight of the Term in the query.
+
+ An iterator over the documents matching the Term.
+
+ The Similarity implementation to be used for score
+ computations.
+
+ The field norms of the document fields for the Term.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Advances to the next document matching the query.
+ The iterator over the matching documents is buffered using
+ .
+
+
+ true iff there is another document matching the query.
+
+ use instead.
+
+
+
+ Advances to the next document matching the query.
+ The iterator over the matching documents is buffered using
+ .
+
+
+ the document matching the query or -1 if there are no more documents.
+
+
+
+ Skips to the first match beyond the current whose document number is
+ greater than or equal to a given target.
+ The implementation uses .
+
+
+ The target document number.
+
+ true iff there is such a match.
+
+ use instead.
+
+
+
+ Advances to the first match beyond the current whose document number is
+ greater than or equal to a given target.
+ The implementation uses .
+
+
+ The target document number.
+
+ the matching document or -1 if none exist.
+
+
+
+ Returns an explanation of the score for a document.
+ When this method is used, the method
+ and the method should not be used.
+
+ The document number for the explanation.
+
+
+
+ Returns a string representation of this TermScorer.
+
+
+
+ The TimeLimitedCollector is used to timeout search requests that take longer
+ than the maximum allowed search time limit. After this time is exceeded, the
+ search thread is stopped by throwing a TimeExceeded Exception.
+
+
+
+ Use instead, which extends the new
+ . This class will be removed in 3.0.
+
+
+
+ Default timer resolution.
+
+
+
+
+ Default for .
+
+
+
+
+ Create a TimeLimitedCollector wrapper over another HitCollector with a specified timeout.
+ the wrapped HitCollector
+
+ max time allowed for collecting hits after which is thrown
+
+
+
+ Calls collect() on the decorated HitCollector.
+
+
+ TimeExceededException if the time allowed has been exceeded.
+
+
+ Return the timer resolution.
+
+
+
+
+ Set the timer resolution.
+ The default timer resolution is 20 milliseconds.
+ This means that a search required to take no longer than
+ 800 milliseconds may be stopped after 780 to 820 milliseconds.
+ Note that:
+
+ Finer (smaller) resolution is more accurate but less efficient.
+ Setting resolution to less than 5 milliseconds will be silently modified to 5 milliseconds.
+ Setting resolution smaller than current resolution might take effect only after current
+ resolution. (Assume current resolution of 20 milliseconds is modified to 5 milliseconds,
+ then it can take up to 20 milliseconds for the change to have effect.
+
+
+
+
+ Checks if this time limited collector is greedy in collecting the last hit.
+ A non greedy collector, upon a timeout, would throw a
+ without allowing the wrapped collector to collect current doc. A greedy one would
+ first allow the wrapped hit collector to collect current doc and only then
+ throw a .
+
+
+
+
+
+ Sets whether this time limited collector is greedy.
+ true to make this time limited greedy
+
+
+
+
+
+ TimerThread provides a pseudo-clock service to all searching
+ threads, so that they can count elapsed time with less overhead
+ than repeatedly calling System.currentTimeMillis. A single
+ thread should be created to be used for all searches.
+
+
+
+ Get the timer value in milliseconds.
+
+
+ Thrown when elapsed search time exceeds allowed search time.
+
+
+ Returns allowed time (milliseconds).
+
+
+ Returns elapsed time (milliseconds).
+
+
+ Returns last doc that was collected when the search time exceeded.
+
+
+ The is used to timeout search requests that
+ take longer than the maximum allowed search time limit. After this time is
+ exceeded, the search thread is stopped by throwing a
+ .
+
+
+
+ Default timer resolution.
+
+
+
+
+ Default for .
+
+
+
+
+ Create a TimeLimitedCollector wrapper over another with a specified timeout.
+ the wrapped
+
+ max time allowed for collecting hits after which is thrown
+
+
+
+ Return the timer resolution.
+
+
+
+
+ Set the timer resolution.
+ The default timer resolution is 20 milliseconds.
+ This means that a search required to take no longer than
+ 800 milliseconds may be stopped after 780 to 820 milliseconds.
+ Note that:
+
+ Finer (smaller) resolution is more accurate but less efficient.
+ Setting resolution to less than 5 milliseconds will be silently modified to 5 milliseconds.
+ Setting resolution smaller than current resolution might take effect only after current
+ resolution. (Assume current resolution of 20 milliseconds is modified to 5 milliseconds,
+ then it can take up to 20 milliseconds for the change to have effect.
+
+
+
+
+ Checks if this time limited collector is greedy in collecting the last hit.
+ A non greedy collector, upon a timeout, would throw a
+ without allowing the wrapped collector to collect current doc. A greedy one would
+ first allow the wrapped hit collector to collect current doc and only then
+ throw a .
+
+
+
+
+
+ Sets whether this time limited collector is greedy.
+ true to make this time limited greedy
+
+
+
+
+
+ Calls on the decorated
+ unless the allowed time has passed, in which case it throws an exception.
+
+
+ TimeExceededException
+ if the time allowed has exceeded.
+
+
+
+ TimerThread provides a pseudo-clock service to all searching
+ threads, so that they can count elapsed time with less overhead
+ than repeatedly calling System.currentTimeMillis. A single
+ thread should be created to be used for all searches.
+
+
+
+ Get the timer value in milliseconds.
+
+
+ Thrown when elapsed search time exceeds allowed search time.
+
+
+ Returns allowed time (milliseconds).
+
+
+ Returns elapsed time (milliseconds).
+
+
+ Returns last doc(absolute doc id) that was collected when the search time exceeded.
+
+
+ A implementation that collects the top-scoring
+ documents, returning them as a . This is used by
+ to implement -based search.
+
+ This may be extended, overriding the collect method to, e.g.,
+ conditionally invoke super() in order to filter which
+ documents are collected.
+
+
+ Please use
+ instead, which has better performance.
+
+
+
+
+ The total number of hits the collector encountered.
+
+
+ The priority queue which holds the top-scoring documents.
+
+
+ Construct to collect a given number of hits.
+ the maximum number of hits to collect
+
+
+
+ use TopDocCollector(hq) instead. numHits is not used by this
+ constructor. It will be removed in a future release.
+
+
+
+ Constructor to collect the top-scoring documents by using the given PQ.
+ the PQ to use by this instance.
+
+
+
+ The total number of documents that matched this query.
+
+
+ The top-scoring hits.
+
+
+ Represents hits returned by
+ and
+
+
+
+ The total number of hits for the query.
+
+
+
+
+ The top hits for the query.
+
+
+ Stores the maximum score value encountered, needed for normalizing.
+
+
+ Returns the maximum score value encountered. Note that in case
+ scores are not tracked, this returns .
+
+
+
+ Sets the maximum score value encountered.
+
+
+ Constructs a TopDocs with a default maxScore=Float.NaN.
+
+
+
+
+
+ A base class for all collectors that return a output. This
+ collector allows easy extension by providing a single constructor which
+ accepts a as well as protected members for that
+ priority queue and a counter of the number of total hits.
+ Extending classes can override and
+ in order to provide their own implementation.
+
+
+
+ The priority queue which holds the top documents. Note that different
+ implementations of PriorityQueue give different meaning to 'top documents'.
+ HitQueue for example aggregates the top scoring documents, while other PQ
+ implementations may hold documents sorted by other criteria.
+
+
+
+ The total number of documents that the collector encountered.
+
+
+ Populates the results array with the ScoreDoc instaces. This can be
+ overridden in case a different ScoreDoc type should be returned.
+
+
+
+ Returns a instance containing the given results. If
+ results is null it means there are no results to return,
+ either because there were 0 calls to collect() or because the arguments to
+ topDocs were invalid.
+
+
+
+ The total number of documents that matched this query.
+
+
+ Returns the top docs that were collected by this collector.
+
+
+ Returns the documents in the rage [start .. pq.size()) that were collected
+ by this collector. Note that if start >= pq.size(), an empty TopDocs is
+ returned.
+ This method is convenient to call if the application allways asks for the
+ last results, starting from the last 'page'.
+ NOTE: you cannot call this method more than once for each search
+ execution. If you need to call it more than once, passing each time a
+ different start, you should call and work
+ with the returned object, which will contain all the
+ results this search execution collected.
+
+
+
+ Returns the documents in the rage [start .. start+howMany) that were
+ collected by this collector. Note that if start >= pq.size(), an empty
+ TopDocs is returned, and if pq.size() - start < howMany, then only the
+ available documents in [start .. pq.size()) are returned.
+ This method is useful to call in case pagination of search results is
+ allowed by the search application, as well as it attempts to optimize the
+ memory used by allocating only as much as requested by howMany.
+ NOTE: you cannot call this method more than once for each search
+ execution. If you need to call it more than once, passing each time a
+ different range, you should call and work with the
+ returned object, which will contain all the results this
+ search execution collected.
+
+
+
+ A that sorts by using
+ s.
+
+ See the method
+ for instantiating a TopFieldCollector.
+
+ NOTE: This API is experimental and might change in
+ incompatible ways in the next release.
+
+
+
+ Creates a new from the given
+ arguments.
+
+ NOTE: The instances returned by this method
+ pre-allocate a full array of length
+ numHits.
+
+
+ the sort criteria (SortFields).
+
+ the number of results to collect.
+
+ specifies whether the actual field values should be returned on
+ the results (FieldDoc).
+
+ specifies whether document scores should be tracked and set on the
+ results. Note that if set to false, then the results' scores will
+ be set to Float.NaN. Setting this to true affects performance, as
+ it incurs the score computation on each competitive result.
+ Therefore if document scores are not required by the application,
+ it is recommended to set it to false.
+
+ specifies whether the query's maxScore should be tracked and set
+ on the resulting . Note that if set to false,
+ returns Float.NaN. Setting this to
+ true affects performance as it incurs the score computation on
+ each result. Also, setting this true automatically sets
+ trackDocScores to true as well.
+
+ specifies whether documents are scored in doc Id order or not by
+ the given in .
+
+ a instance which will sort the results by
+ the sort criteria.
+
+ IOException
+
+
+ A implementation that collects the top-sorting
+ documents, returning them as a . This is used by
+ to implement -based search.
+
+ This may be extended, overriding the collect method to, e.g.,
+ conditionally invoke super() in order to filter which
+ documents are collected.
+
+
+ Please use instead.
+
+
+
+ Construct to collect a given number of hits.
+ the index to be searched
+
+ the sort criteria
+
+ the maximum number of hits to collect
+
+
+
+
+ Represents hits returned by .
+
+
+
+ The fields which were used to sort results by.
+
+
+ Creates one of these objects.
+ Total number of hits for the query.
+
+ The top hits for the query.
+
+ The sort criteria used to find the top hits.
+
+ The maximum score encountered.
+
+
+
+ A implementation that collects the top-scoring hits,
+ returning them as a . This is used by to
+ implement -based search. Hits are sorted by score descending
+ and then (when the scores are tied) docID ascending. When you create an
+ instance of this collector you should know in advance whether documents are
+ going to be collected in doc Id order or not.
+
+ NOTE: The values and
+ are not valid scores. This
+ collector will not properly collect hits with such
+ scores.
+
+
+
+ Creates a new given the number of hits to
+ collect and whether documents are scored in order by the input
+ to .
+
+ NOTE: The instances returned by this method
+ pre-allocate a full array of length
+ numHits, and fill the array with sentinel
+ objects.
+
+
+
+ Implements the wildcard search query. Supported wildcards are *, which
+ matches any character sequence (including the empty one), and ?,
+ which matches any single character. Note this query can be slow, as it
+ needs to iterate over many terms. In order to prevent extremely slow WildcardQueries,
+ a Wildcard term should not start with one of the wildcards * or
+ ?.
+
+ This query uses the
+
+ rewrite method.
+
+
+
+
+
+
+ Returns the pattern term.
+
+
+ Prints a user-readable version of this query.
+
+
+ Subclass of FilteredTermEnum for enumerating all terms that match the
+ specified wildcard filter term.
+
+ Term enumerations are always ordered by Term.compareTo(). Each term in
+ the enumeration is greater than all that precede it.
+
+
+ $Id: WildcardTermEnum.java 783371 2009-06-10 14:39:56Z mikemccand $
+
+
+
+ *****************************************
+ String equality with support for wildcards
+ ******************************************
+
+
+
+ Creates a new WildcardTermEnum.
+
+ After calling the constructor the enumeration is already pointing to the first
+ valid term if such a term exists.
+
+
+
+ Determines if a word matches a wildcard pattern.
+ Work released by Granta Design Ltd after originally being done on
+ company time.
+
+
+
+ This exception is thrown when there is an attempt to
+ access something that has already been closed.
+
+
+
+ Base implementation class for buffered .
+
+
+ Abstract base class for output to a file in a Directory. A random-access
+ output stream. Used for all Lucene index output operations.
+
+
+
+
+
+
+
+ Writes a single byte.
+
+
+
+
+ Writes an array of bytes.
+ the bytes to write
+
+ the number of bytes to write
+
+
+
+
+
+ Writes an array of bytes.
+ the bytes to write
+
+ the offset in the byte array
+
+ the number of bytes to write
+
+
+
+
+
+ Writes an int as four bytes.
+
+
+
+
+ Writes an int in a variable-length format. Writes between one and
+ five bytes. Smaller values take fewer bytes. Negative numbers are not
+ supported.
+
+
+
+
+
+ Writes a long as eight bytes.
+
+
+
+
+ Writes an long in a variable-length format. Writes between one and five
+ bytes. Smaller values take fewer bytes. Negative numbers are not
+ supported.
+
+
+
+
+
+ Writes a string.
+
+
+
+
+ Writes a sub sequence of characters from s as the old
+ format (modified UTF-8 encoded bytes).
+
+ the source of the characters
+
+ the first character in the sequence
+
+ the number of characters in the sequence
+
+ -- please pre-convert to utf8 bytes
+ instead or use
+
+
+
+ Writes a sub sequence of characters from char[] as
+ the old format (modified UTF-8 encoded bytes).
+
+ the source of the characters
+
+ the first character in the sequence
+
+ the number of characters in the sequence
+
+ -- please pre-convert to utf8 bytes instead or use
+
+
+
+ Copy numBytes bytes from input to ourself.
+
+
+ Forces any buffered output to be written.
+
+
+ Closes this stream to further operations.
+
+
+ Returns the current position in this file, where the next write will
+ occur.
+
+
+
+
+
+ Sets current position in this file, where the next write will occur.
+
+
+
+
+ The number of bytes in the file.
+
+
+ Set the file length. By default, this method does
+ nothing (it's optional for a Directory to implement
+ it). But, certain Directory implementations (for
+
+ can use this to inform the
+ underlying IO system to pre-allocate the file to the
+ specified size. If the length is longer than the
+ current file length, the bytes added to the file are
+ undefined. Otherwise the file is truncated.
+
+ file length
+
+
+
+ Writes a single byte.
+
+
+
+
+ Writes an array of bytes.
+ the bytes to write
+
+ the number of bytes to write
+
+
+
+
+
+ Forces any buffered output to be written.
+
+
+ Expert: implements buffer write. Writes bytes at the current position in
+ the output.
+
+ the bytes to write
+
+ the number of bytes to write
+
+
+
+ Expert: implements buffer write. Writes bytes at the current position in
+ the output.
+
+ the bytes to write
+
+ the offset in the byte array
+
+ the number of bytes to write
+
+
+
+ Closes this stream to further operations.
+
+
+ Returns the current position in this file, where the next write will
+ occur.
+
+
+
+
+
+ Sets current position in this file, where the next write will occur.
+
+
+
+
+ The number of bytes in the file.
+
+
+ Writes bytes through to a primary IndexOutput, computing
+ checksum as it goes. Note that you cannot use seek().
+
+
+
+ Writes bytes through to a primary IndexOutput, computing
+ checksum. Note that you cannot use seek().
+
+
+
+ Starts but does not complete the commit of this file (=
+ writing of the final checksum at the end). After this
+ is called must call and the
+ to complete the commit.
+
+
+
+ See
+
+
+ Expert: A Directory instance that switches files between
+ two other Directory instances.
+ Files with the specified extensions are placed in the
+ primary directory; others are placed in the secondary
+ directory. The provided Set must not change once passed
+ to this class, and must allow multiple threads to call
+ contains at once.
+
+ NOTE: this API is new and experimental and is
+ subject to suddenly change in the next release.
+
+
+
+ Return the primary directory
+
+
+ Return the secondary directory
+
+
+
+ .NET
+
+
+
+ Utility method to return a file's extension.
+
+
+
+ Base class for Directory implementations that store index
+ files in the file system. There are currently three core
+ subclasses:
+
+
+
+ is a straightforward
+ implementation using java.io.RandomAccessFile.
+ However, it has poor concurrent performance
+ (multiple threads will bottleneck) as it
+ synchronizes when multiple threads read from the
+ same file.
+
+ uses java.nio's
+ FileChannel's positional io when reading to avoid
+ synchronization when reading from the same file.
+ Unfortunately, due to a Windows-only Sun
+ JRE bug this is a poor choice for Windows, but
+ on all other platforms this is the preferred
+ choice. Applications using or
+ Future#cancel(boolean) (on Java 1.5) should use
+ instead. See java doc
+ for details.
+
+
+
+ uses memory-mapped IO when
+ reading. This is a good choice if you have plenty
+ of virtual memory relative to your index size, eg
+ if you are running on a 64 bit JRE, or you are
+ running on a 32 bit JRE but your index sizes are
+ small enough to fit into the virtual memory space.
+ Java has currently the limitation of not being able to
+ unmap files from user code. The files are unmapped, when GC
+ releases the byte buffers. Due to
+
+ this bug in Sun's JRE, MMapDirectory's
+ is unable to close the underlying OS file handle. Only when
+ GC finally collects the underlying objects, which could be
+ quite some time later, will the file handle be closed.
+ This will consume additional transient disk usage: on Windows,
+ attempts to delete or overwrite the files will result in an
+ exception; on other platforms, which typically have a "delete on
+ last close" semantics, while such operations will succeed, the bytes
+ are still consuming space on disk. For many applications this
+ limitation is not a problem (e.g. if you have plenty of disk space,
+ and you don't rely on overwriting files on Windows) but it's still
+ an important limitation to be aware of. This class supplies a
+ (possibly dangerous) workaround mentioned in the bug report,
+ which may fail on non-Sun JVMs.
+
+ Applications using or
+ Future#cancel(boolean) (on Java 1.5) should use
+ instead. See
+ java doc for details.
+
+
+ Unfortunately, because of system peculiarities, there is
+ no single overall best implementation. Therefore, we've
+ added the method, to allow Lucene to choose
+ the best FSDirectory implementation given your
+ environment, and the known limitations of each
+ implementation. For users who have no reason to prefer a
+ specific implementation, it's best to simply use
+ . For all others, you should instantiate the
+ desired implementation directly.
+
+ The locking implementation is by default
+ , but can be changed by
+ passing in a custom instance.
+ The deprecated getDirectory methods default to use
+ for backwards compatibility.
+ The system properties
+ org.apache.lucene.store.FSDirectoryLockFactoryClass
+ and org.apache.lucene.FSDirectory.class
+ are deprecated and only used by the deprecated
+ getDirectory methods. The system property
+ org.apache.lucene.lockDir is ignored completely,
+ If you really want to store locks
+ elsewhere, you can create your own
+ (or ,
+ etc.) passing in your preferred lock directory.
+
+ In 3.0 this class will become abstract.
+
+
+
+
+
+
+ This cache of directories ensures that there is a unique Directory
+ instance per path, so that synchronization on the Directory can be used to
+ synchronize access between readers and writers. We use
+ refcounts to ensure when the last use of an FSDirectory
+ instance for a given canonical path is closed, we remove the
+ instance from the cache. See LUCENE-776
+ for some relevant discussion.
+
+ Not used by any non-deprecated methods anymore
+
+
+
+ Set whether Lucene's use of lock files is disabled. By default,
+ lock files are enabled. They should only be disabled if the index
+ is on a read-only medium like a CD-ROM.
+
+ Use a or a constructor
+ that takes a and supply
+ . This setting does not work
+ with only the deprecated getDirectory
+ respect this setting.
+
+
+
+ Returns whether Lucene's use of lock files is disabled.
+ true if locks are disabled, false if locks are enabled.
+
+
+
+ Use a constructor that takes a and
+ supply .
+
+
+
+ The default class which implements filesystem-based directories.
+
+
+ A buffer optionally used in renameTo method
+
+
+ Returns the directory instance for the named location.
+
+
+ Use
+
+
+ the path to the directory.
+
+ the FSDirectory for the named file.
+
+
+
+ Returns the directory instance for the named location.
+
+
+ Use
+
+
+ the path to the directory.
+
+ instance of providing the
+ locking implementation.
+
+ the FSDirectory for the named file.
+
+
+
+ Returns the directory instance for the named location.
+
+
+ Use
+
+
+ the path to the directory.
+
+ the FSDirectory for the named file.
+
+
+
+ Returns the directory instance for the named location.
+
+
+ Use
+
+
+ the path to the directory.
+
+ the FSDirectory for the named file.
+
+
+
+ Returns the directory instance for the named location.
+
+
+ Use
+
+
+ the path to the directory.
+
+ instance of providing the
+ locking implementation.
+
+ the FSDirectory for the named file.
+
+
+
+ Returns the directory instance for the named location.
+
+
+ Use
+
+
+ the path to the directory.
+
+ instance of providing the
+ locking implementation.
+
+ the FSDirectory for the named file.
+
+
+
+ Returns the directory instance for the named location.
+
+
+ Use IndexWriter's create flag, instead, to
+ create a new index.
+
+
+ the path to the directory.
+
+ if true, create, or erase any existing contents.
+
+ the FSDirectory for the named file.
+
+
+
+ Returns the directory instance for the named location.
+
+
+ Use IndexWriter's create flag, instead, to
+ create a new index.
+
+
+ the path to the directory.
+
+ if true, create, or erase any existing contents.
+
+ the FSDirectory for the named file.
+
+
+
+ Returns the directory instance for the named location.
+
+
+ Use IndexWriter's create flag, instead, to
+ create a new index.
+
+
+ the path to the directory.
+
+ if true, create, or erase any existing contents.
+
+ the FSDirectory for the named file.
+
+
+
+
+
+
+
+ Initializes the directory to create a new file with the given name.
+ This method should be used in .
+
+
+
+ The underlying filesystem directory
+
+
+
+
+
+
+
+
+
+
+ Create a new FSDirectory for the named location (ctor for subclasses).
+ the path of the directory
+
+ the lock factory to use, or null for the default
+ ();
+
+ IOException
+
+
+ Creates an FSDirectory instance, trying to pick the
+ best implementation given the current environment.
+ The directory returned uses the .
+
+ Currently this returns as
+ NIOFSDirectory is currently not supported.
+
+ Currently this returns as
+ NIOFSDirectory is currently not supported.
+
+ NOTE: this method may suddenly change which
+ implementation is returned from release to release, in
+ the event that higher performance defaults become
+ possible; if the precise implementation is important to
+ your application, please instantiate it directly,
+ instead. On 64 bit systems, it may also good to
+ return , but this is disabled
+ because of officially missing unmap support in Java.
+ For optimal performance you should consider using
+ this implementation on 64 bit JVMs.
+
+ See above
+
+
+
+ Creates an FSDirectory instance, trying to pick the
+ best implementation given the current environment.
+ The directory returned uses the .
+
+ Currently this returns as
+ NIOFSDirectory is currently not supported.
+
+ NOTE: this method may suddenly change which
+ implementation is returned from release to release, in
+ the event that higher performance defaults become
+ possible; if the precise implementation is important to
+ your application, please instantiate it directly,
+ instead. On 64 bit systems, it may also good to
+ return , but this is disabled
+ because of officially missing unmap support in Java.
+ For optimal performance you should consider using
+ this implementation on 64 bit JVMs.
+
+ See above
+
+
+
+ Just like , but allows you to
+ also specify a custom .
+
+
+
+ Lists all files (not subdirectories) in the
+ directory. This method never returns null (throws
+ instead).
+
+
+ NoSuchDirectoryException if the directory
+ does not exist, or does exist but is not a
+ directory.
+
+ IOException if list() returns null
+
+
+ Lists all files (not subdirectories) in the
+ directory. This method never returns null (throws
+ instead).
+
+
+ NoSuchDirectoryException if the directory
+ does not exist, or does exist but is not a
+ directory.
+
+ IOException if list() returns null
+
+
+ Lists all files (not subdirectories) in the
+ directory.
+
+
+
+
+
+ Returns true iff a file with the given name exists.
+
+
+ Returns the time the named file was last modified.
+
+
+ Returns the time the named file was last modified.
+
+
+ Set the modified time of an existing file to now.
+
+
+ Returns the length in bytes of a file in the directory.
+
+
+ Removes an existing file in the directory.
+
+
+ Renames an existing file in the directory.
+ Warning: This is not atomic.
+
+
+
+
+
+ Creates an IndexOutput for the file with the given name.
+ In 3.0 this method will become abstract.
+
+
+
+ Creates an IndexInput for the file with the given name.
+ In 3.0 this method will become abstract.
+
+
+
+ So we can do some byte-to-hexchar conversion below
+
+
+ Closes the store to future operations.
+
+
+
+ .NET
+
+
+
+ For debug output.
+
+
+ Default read chunk size. This is a conditional
+ default: on 32bit JVMs, it defaults to 100 MB. On
+ 64bit JVMs, it's Integer.MAX_VALUE.
+
+
+
+
+
+ Sets the maximum number of bytes read at once from the
+ underlying file during .
+ The default value is ;
+
+ This was introduced due to Sun
+ JVM Bug 6478546, which throws an incorrect
+ OutOfMemoryError when attempting to read too many bytes
+ at once. It only happens on 32bit JVMs with a large
+ maximum heap size.
+
+ Changes to this value will not impact any
+ already-opened s. You should call
+ this before attempting to open an index on the
+ directory.
+
+ NOTE: This value should be as large as
+ possible to reduce any possible performance impact. If
+ you still encounter an incorrect OutOfMemoryError,
+ trying lowering the chunk size.
+
+
+
+ The maximum number of bytes to read at once from the
+ underlying file during .
+
+
+
+
+
+ Use SimpleFSDirectory.SimpleFSIndexInput instead
+
+
+
+ A straightforward implementation of
+ using java.io.RandomAccessFile. However, this class has
+ poor concurrent performance (multiple threads will
+ bottleneck) as it synchronizes when multiple threads
+ read from the same file. It's usually better to use
+ or instead.
+
+
+
+ Create a new SimpleFSDirectory for the named location.
+
+
+ the path of the directory
+
+ the lock factory to use, or null for the default.
+
+ IOException
+
+
+ Create a new SimpleFSDirectory for the named location.
+
+
+ the path of the directory
+
+ the lock factory to use, or null for the default.
+
+ IOException
+
+
+ Create a new SimpleFSDirectory for the named location and the default lock factory.
+
+
+ the path of the directory
+
+ IOException
+
+
+
+
+
+
+ Create a new SimpleFSDirectory for the named location and the default lock factory.
+
+
+ the path of the directory
+
+ IOException
+
+
+ Creates an IndexOutput for the file with the given name.
+
+
+ Creates an IndexInput for the file with the given name.
+
+
+ Please use ctor taking chunkSize
+
+
+
+ Please use ctor taking chunkSize
+
+
+
+ IndexInput methods
+
+
+ Method used for testing. Returns true if the underlying
+ file descriptor is valid.
+
+
+
+ output methods:
+
+
+ Random-access methods
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Use SimpleFSDirectory.SimpleFSIndexOutput instead
+
+
+
+
+
+
+
+ Base class for file system based locking implementation.
+
+
+ Base class for Locking implementation. uses
+ instances of this class to implement locking.
+
+ Note that there are some useful tools to verify that
+ your LockFactory is working correctly:
+ , ,
+ .
+
+
+
+
+
+
+
+
+
+
+ Set the prefix in use for all locks created in this
+ LockFactory. This is normally called once, when a
+ Directory gets this LockFactory instance. However, you
+ can also call this (after this instance is assigned to
+ a Directory) to override the prefix in use. This
+ is helpful if you're running Lucene on machines that
+ have different mount points for the same shared
+ directory.
+
+
+
+ Get the prefix in use for all locks created in this LockFactory.
+
+
+ Return a new Lock instance identified by lockName.
+ name of the lock to be created.
+
+
+
+ Attempt to clear (forcefully unlock and remove) the
+ specified lock. Only call this at a time when you are
+ certain this lock is no longer in use.
+
+ name of the lock to be cleared.
+
+
+
+ Directory for the lock files.
+
+
+ Set the lock directory. This method can be only called
+ once to initialize the lock directory. It is used by
+ to set the lock directory to itsself.
+ Subclasses can also use this method to set the directory
+ in the constructor.
+
+
+
+ Retrieve the lock directory.
+
+
+ An interprocess mutex lock.
+ Typical use might look like:
+ new Lock.With(directory.makeLock("my.lock")) {
+ public Object doBody() {
+ ... code to execute while locked ...
+ }
+ }.run();
+
+
+
+
+ $Id: Lock.java 769409 2009-04-28 14:05:43Z mikemccand $
+
+
+
+
+
+ Pass this value to to try
+ forever to obtain the lock.
+
+
+
+ How long waits, in milliseconds,
+ in between attempts to acquire the lock.
+
+
+
+ Attempts to obtain exclusive access and immediately return
+ upon success or failure.
+
+ true iff exclusive access is obtained
+
+
+
+ If a lock obtain called, this failureReason may be set
+ with the "root cause" Exception as to why the lock was
+ not obtained.
+
+
+
+ Attempts to obtain an exclusive lock within amount of
+ time given. Polls once per
+ (currently 1000) milliseconds until lockWaitTimeout is
+ passed.
+
+ length of time to wait in
+ milliseconds or
+ to retry forever
+
+ true if lock was obtained
+
+ LockObtainFailedException if lock wait times out
+ IllegalArgumentException if lockWaitTimeout is
+ out of bounds
+
+ IOException if obtain() throws IOException
+
+
+ Releases exclusive access.
+
+
+ Returns true if the resource is currently locked. Note that one must
+ still call before using the resource.
+
+
+
+ Utility class for executing code with exclusive access.
+
+
+ Constructs an executor that will grab the named lock.
+
+
+ Code to execute with exclusive access.
+
+
+ Calls while lock is obtained. Blocks if lock
+ cannot be obtained immediately. Retries to obtain lock once per second
+ until it is obtained, or until it has tried ten times. Lock is released when
+ exits.
+
+ LockObtainFailedException if lock could not
+ be obtained
+
+ IOException if throws IOException
+
+
+ This exception is thrown when the write.lock
+ could not be acquired. This
+ happens when a writer tries to open an index
+ that another writer already has open.
+
+
+
+
+
+ This exception is thrown when the write.lock
+ could not be released.
+
+
+
+
+
+ Simple standalone tool that forever acquires & releases a
+ lock using a specific LockFactory. Run without any args
+ to see usage.
+
+
+
+
+
+
+
+
+ Simple standalone server that must be running when you
+ use . This server simply
+ verifies at most one process holds the lock at a time.
+ Run without any args to see usage.
+
+
+
+
+
+
+
+
+ File-based implementation that uses
+ mmap for reading, and
+ for writing.
+
+ NOTE: memory mapping uses up a portion of the
+ virtual memory address space in your process equal to the
+ size of the file being mapped. Before using this class,
+ be sure your have plenty of virtual address space, e.g. by
+ using a 64 bit JRE, or a 32 bit JRE with indexes that are
+ guaranteed to fit within the address space.
+ On 32 bit platforms also consult
+ if you have problems with mmap failing because of fragmented
+ address space. If you get an OutOfMemoryException, it is recommened
+ to reduce the chunk size, until it works.
+
+ Due to
+ this bug in Sun's JRE, MMapDirectory's
+ is unable to close the underlying OS file handle. Only when GC
+ finally collects the underlying objects, which could be quite
+ some time later, will the file handle be closed.
+
+ This will consume additional transient disk usage: on Windows,
+ attempts to delete or overwrite the files will result in an
+ exception; on other platforms, which typically have a "delete on
+ last close" semantics, while such operations will succeed, the bytes
+ are still consuming space on disk. For many applications this
+ limitation is not a problem (e.g. if you have plenty of disk space,
+ and you don't rely on overwriting files on Windows) but it's still
+ an important limitation to be aware of.
+
+ This class supplies the workaround mentioned in the bug report
+ (disabled by default, see ), which may fail on
+ non-Sun JVMs. It forcefully unmaps the buffer on close by using
+ an undocumented internal cleanup functionality.
+ is true, if the workaround
+ can be enabled (with no guarantees).
+
+
+
+ Create a new MMapDirectory for the named location.
+
+
+ the path of the directory
+
+ the lock factory to use, or null for the default.
+
+ IOException
+
+
+ Create a new MMapDirectory for the named location.
+
+
+ the path of the directory
+
+ the lock factory to use, or null for the default.
+
+ IOException
+
+
+ Create a new MMapDirectory for the named location and the default lock factory.
+
+
+ the path of the directory
+
+ IOException
+
+
+ Create a new MMapDirectory for the named location and the default lock factory.
+
+
+ the path of the directory
+
+ IOException
+
+
+
+
+
+
+ true, if this platform supports unmapping mmaped files.
+
+
+ This method enables the workaround for unmapping the buffers
+ from address space after closing , that is
+ mentioned in the bug report. This hack may fail on non-Sun JVMs.
+ It forcefully unmaps the buffer on close by using
+ an undocumented internal cleanup functionality.
+ NOTE: Enabling this is completely unsupported
+ by Java and may lead to JVM crashs if IndexInput
+ is closed while another thread is still accessing it (SIGSEGV).
+
+ IllegalArgumentException if
+ is false and the workaround cannot be enabled.
+
+
+
+ Returns true, if the unmap workaround is enabled.
+
+
+
+
+ Try to unmap the buffer, this method silently fails if no support
+ for that in the JVM. On Windows, this leads to the fact,
+ that mmapped files cannot be modified or deleted.
+
+
+
+ Sets the maximum chunk size (default is for
+ 64 bit JVMs and 256 MiBytes for 32 bit JVMs) used for memory mapping.
+ Especially on 32 bit platform, the address space can be very fragmented,
+ so large index files cannot be mapped.
+ Using a lower chunk size makes the directory implementation a little
+ bit slower (as the correct chunk must be resolved on each seek)
+ but the chance is higher that mmap does not fail. On 64 bit
+ Java platforms, this parameter should always be ,
+ as the adress space is big enough.
+
+
+
+ Returns the current mmap chunk size.
+
+
+
+
+ Creates an IndexInput for the file with the given name.
+
+
+ Creates an IndexOutput for the file with the given name.
+
+
+ Implements using native OS file
+ locks. Note that because this LockFactory relies on
+ java.nio.* APIs for locking, any problems with those APIs
+ will cause locking to fail. Specifically, on certain NFS
+ environments the java.nio.* locks will fail (the lock can
+ incorrectly be double acquired) whereas
+ worked perfectly in those same
+ environments. For NFS based access to an index, it's
+ recommended that you try
+ first and work around the one limitation that a lock file
+ could be left when the JVM exits abnormally.
+
+ The primary benefit of is
+ that lock files will be properly removed (by the OS) if
+ the JVM has an abnormal exit.
+
+ Note that, unlike , the existence of
+ leftover lock files in the filesystem on exiting the JVM
+ is fine because the OS will free the locks held against
+ these files even though the files still remain.
+
+ If you suspect that this or any other LockFactory is
+ not working properly in your environment, you can easily
+ test it by using ,
+ and .
+
+
+
+
+
+
+ Create a NativeFSLockFactory instance, with null (unset)
+ lock directory. When you pass this factory to a
+ subclass, the lock directory is automatically set to the
+ directory itsself. Be sure to create one instance for each directory
+ your create!
+
+
+
+ Create a NativeFSLockFactory instance, storing lock
+ files into the specified lockDirName:
+
+
+ where lock files are created.
+
+
+
+ Create a NativeFSLockFactory instance, storing lock
+ files into the specified lockDir:
+
+
+ where lock files are created.
+
+
+
+ Create a NativeFSLockFactory instance, storing lock
+ files into the specified lockDir:
+
+
+ where lock files are created.
+
+
+
+
+ Not implemented. Waiting for volunteers.
+
+
+
+
+ Not implemented. Waiting for volunteers.
+
+
+
+ Use this to disable locking entirely.
+ This LockFactory is used when you call .
+ Only one instance of this lock is created. You should call
+ to get the instance.
+
+
+
+
+
+
+ This exception is thrown when you try to list a
+ non-existent directory.
+
+
+
+ A memory-resident implementation. Locking
+ implementation is by default the
+ but can be changed with .
+
+
+ $Id: RAMDirectory.java 781333 2009-06-03 10:38:57Z mikemccand $
+
+
+
+ Constructs an empty .
+
+
+ Creates a new RAMDirectory instance from a different
+ Directory implementation. This can be used to load
+ a disk-based index into memory.
+
+ This should be used only with indices that can fit into memory.
+
+ Note that the resulting RAMDirectory instance is fully
+ independent from the original Directory (it is a
+ complete copy). Any subsequent changes to the
+ original Directory will not be visible in the
+ RAMDirectory instance.
+
+
+ a Directory value
+
+ if an error occurs
+
+
+
+ Creates a new RAMDirectory instance from the .
+
+
+ a File specifying the index directory
+
+
+
+
+ Use instead
+
+
+
+ Creates a new RAMDirectory instance from the .
+
+
+ a String specifying the full index directory path
+
+
+
+
+ Use instead
+
+
+
+ Returns true iff the named file exists in this directory.
+
+
+ Returns the time the named file was last modified.
+ IOException if the file does not exist
+
+
+ Set the modified time of an existing file to now.
+ IOException if the file does not exist
+
+
+ Returns the length in bytes of a file in the directory.
+ IOException if the file does not exist
+
+
+ Return total size in bytes of all files in this
+ directory. This is currently quantized to
+ RAMOutputStream.BUFFER_SIZE.
+
+
+
+ Removes an existing file in the directory.
+ IOException if the file does not exist
+
+
+ Renames an existing file in the directory.
+ FileNotFoundException if from does not exist
+
+
+
+
+ Creates a new, empty file in the directory with the given name. Returns a stream writing this file.
+
+
+ Returns a stream reading an existing file.
+
+
+ Closes the store to future operations, releasing associated memory.
+
+
+
+ .NET
+
+
+
+ A memory-resident implementation.
+
+
+ $Id: RAMInputStream.java 632120 2008-02-28 21:13:59Z mikemccand $
+
+
+
+ A memory-resident implementation.
+
+
+ $Id: RAMOutputStream.java 691694 2008-09-03 17:34:29Z mikemccand $
+
+
+
+ Construct an empty output buffer.
+
+
+ Copy the current contents of this buffer to the named output.
+
+
+ Resets this to an empty buffer.
+
+
+ Returns byte usage of all buffers.
+
+
+ Implements using
+ .
+
+ NOTE: the javadocs
+ for File.createNewFile contain a vague
+ yet spooky warning about not using the API for file
+ locking. This warning was added due to this
+ bug, and in fact the only known problem with using
+ this API for locking is that the Lucene write lock may
+ not be released when the JVM exits abnormally.
+ When this happens, a
+ is hit when trying to create a writer, in which case you
+ need to explicitly clear the lock file first. You can
+ either manually remove the file, or use the
+
+ API. But, first be certain that no writer is in fact
+ writing to the index otherwise you can easily corrupt
+ your index.
+
+ If you suspect that this or any other LockFactory is
+ not working properly in your environment, you can easily
+ test it by using ,
+ and .
+
+
+
+
+
+
+ Create a SimpleFSLockFactory instance, with null (unset)
+ lock directory. When you pass this factory to a
+ subclass, the lock directory is automatically set to the
+ directory itsself. Be sure to create one instance for each directory
+ your create!
+
+
+
+ Instantiate using the provided directory (as a File instance).
+ where lock files should be created.
+
+
+
+ Instantiate using the provided directory (as a File instance).
+ where lock files should be created.
+
+
+
+ Instantiate using the provided directory name (String).
+ where lock files should be created.
+
+
+
+ Implements for a single in-process instance,
+ meaning all locking will take place through this one instance.
+ Only use this when you are certain all
+ IndexReaders and IndexWriters for a given index are running
+ against a single shared in-process Directory instance. This is
+ currently the default locking for RAMDirectory.
+
+
+
+
+
+
+ A that wraps another
+ and verifies that each lock obtain/release
+ is "correct" (never results in two processes holding the
+ lock at the same time). It does this by contacting an
+ external server () to assert that
+ at most one process holds the lock at a time. To use
+ this, you should also run on the
+ host & port matching what you pass to the constructor.
+
+
+
+
+
+
+
+
+ should be a unique id across all clients
+
+ the LockFactory that we are testing
+
+ host or IP where
+ is running
+
+ the port is
+ listening on
+
+
+
+ Methods for manipulating arrays.
+
+
+ Parses the string argument as if it was an int value and returns the
+ result. Throws NumberFormatException if the string does not represent an
+ int quantity.
+
+
+ a string representation of an int quantity.
+
+ int the value represented by the argument
+
+ NumberFormatException if the argument could not be parsed as an int quantity.
+
+
+ Parses a char array into an int.
+ the character array
+
+ The offset into the array
+
+ The length
+
+ the int
+
+ NumberFormatException if it can't parse
+
+
+ Parses the string argument as if it was an int value and returns the
+ result. Throws NumberFormatException if the string does not represent an
+ int quantity. The second argument specifies the radix to use when parsing
+ the value.
+
+
+ a string representation of an int quantity.
+
+
+
+ the base to use for conversion.
+
+ int the value represented by the argument
+
+ NumberFormatException if the argument could not be parsed as an int quantity.
+
+
+ Returns hash of chars in range start (inclusive) to
+ end (inclusive)
+
+
+
+ Returns hash of chars in range start (inclusive) to
+ end (inclusive)
+
+
+
+ An average, best guess, MemoryModel that should work okay on most systems.
+
+
+
+
+ Returns primitive memory sizes for estimating RAM usage.
+
+
+
+
+ size of array beyond contents
+
+
+
+ Class size overhead
+
+
+
+ a primitive Class - bool, byte, char, short, long, float,
+ short, double, int
+
+ the size in bytes of given primitive Class
+
+
+
+ size of reference
+
+
+
+ A variety of high efficiencly bit twiddling routines.
+
+
+ $Id$
+
+
+
+ Returns the number of bits set in the long
+
+
+ Returns the number of set bits in an array of longs.
+
+
+ Returns the popcount or cardinality of the two sets after an intersection.
+ Neither array is modified.
+
+
+
+ Returns the popcount or cardinality of the union of two sets.
+ Neither array is modified.
+
+
+
+ Returns the popcount or cardinality of A & ~B
+ Neither array is modified.
+
+
+
+ table of number of trailing zeros in a byte
+
+
+ Returns number of trailing zeros in a 64 bit long value.
+
+
+ Returns number of trailing zeros in a 32 bit int value.
+
+
+ returns 0 based index of first set bit
+ (only works for x!=0)
+ This is an alternate implementation of ntz()
+
+
+
+ returns 0 based index of first set bit
+ This is an alternate implementation of ntz()
+
+
+
+ returns true if v is a power of two or zero
+
+
+ returns true if v is a power of two or zero
+
+
+ returns the next highest power of two, or the current value if it's already a power of two or zero
+
+
+ returns the next highest power of two, or the current value if it's already a power of two or zero
+
+
+ Optimized implementation of a vector of bits. This is more-or-less like
+ java.util.BitSet, but also includes the following:
+
+ a count() method, which efficiently computes the number of one bits;
+ optimized read from and write to disk;
+ inlinable get() method;
+ store and load, as bit set or d-gaps, depending on sparseness;
+
+
+ $Id: BitVector.java 765649 2009-04-16 14:29:26Z mikemccand $
+
+
+
+ Constructs a vector capable of holding n bits.
+
+
+ Sets the value of bit to one.
+
+
+ Sets the value of bit to true, and
+ returns true if bit was already set
+
+
+
+ Sets the value of bit to zero.
+
+
+ Returns true if bit is one and
+ false if it is zero.
+
+
+
+ Returns the number of bits in this vector. This is also one greater than
+ the number of the largest valid bit number.
+
+
+
+ Returns the total number of one bits in this vector. This is efficiently
+ computed and cached, so that, if the vector is not changed, no
+ recomputation is done for repeated calls.
+
+
+
+
+ For testing
+
+
+
+ Writes this vector to the file name in Directory
+ d, in a format that can be read by the constructor
+ .
+
+
+
+ Write as a bit set
+
+
+ Write as a d-gaps list
+
+
+ Indicates if the bit vector is sparse and should be saved as a d-gaps list, or dense, and should be saved as a bit set.
+
+
+ Constructs a bit vector from the file name in Directory
+ d, as written by the method.
+
+
+
+ Read as a bit set
+
+
+ read as a d-gaps list
+
+
+ Retrieve a subset of this BitVector.
+
+
+ starting index, inclusive
+
+ ending index, exclusive
+
+ subset
+
+
+
+ Some useful constants.
+
+
+
+ $Id: Constants.java 828327 2009-10-22 06:47:40Z uschindler $
+
+
+
+
+ The value of System.getProperty("java.version"). *
+
+
+ True iff this is Java version 1.1.
+
+
+ True iff this is Java version 1.2.
+
+
+ True iff this is Java version 1.3.
+
+
+ The value of System.getProperty("os.name"). *
+
+
+ True iff running on Linux.
+
+
+ True iff running on Windows.
+
+
+ True iff running on SunOS.
+
+
+ Simple DocIdSet and DocIdSetIterator backed by a BitSet
+
+
+ This DocIdSet implementation is cacheable.
+
+
+ Returns the underlying BitSet.
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Provides methods for sanity checking that entries in the FieldCache
+ are not wasteful or inconsistent.
+
+
+ Lucene 2.9 Introduced numerous enhancements into how the FieldCache
+ is used by the low levels of Lucene searching (for Sorting and
+ ValueSourceQueries) to improve both the speed for Sorting, as well
+ as reopening of IndexReaders. But these changes have shifted the
+ usage of FieldCache from "top level" IndexReaders (frequently a
+ MultiReader or DirectoryReader) down to the leaf level SegmentReaders.
+ As a result, existing applications that directly access the FieldCache
+ may find RAM usage increase significantly when upgrading to 2.9 or
+ Later. This class provides an API for these applications (or their
+ Unit tests) to check at run time if the FieldCache contains "insane"
+ usages of the FieldCache.
+
+
+ EXPERIMENTAL API: This API is considered extremely advanced and
+ experimental. It may be removed or altered w/o warning in future releases
+ of Lucene.
+
+
+
+
+
+
+
+
+
+
+ If set, will be used to estimate size for all CacheEntry objects
+ dealt with.
+
+
+
+ Quick and dirty convenience method
+
+
+
+
+ Quick and dirty convenience method that instantiates an instance with
+ "good defaults" and uses it to test the CacheEntry[]
+
+
+
+
+
+ Tests a CacheEntry[] for indication of "insane" cache usage.
+
+ NOTE:FieldCache CreationPlaceholder objects are ignored.
+ (:TODO: is this a bad idea? are we masking a real problem?)
+
+
+
+
+ Internal helper method used by check that iterates over
+ valMismatchKeys and generates a Collection of Insanity
+ instances accordingly. The MapOfSets are used to populate
+ the Insantiy objects.
+
+
+
+
+
+ Internal helper method used by check that iterates over
+ the keys of readerFieldToValIds and generates a Collection
+ of Insanity instances whenever two (or more) ReaderField instances are
+ found that have an ancestery relationships.
+
+
+
+
+
+
+ Checks if the seed is an IndexReader, and if so will walk
+ the hierarchy of subReaders building up a list of the objects
+ returned by obj.getFieldCacheKey()
+
+
+
+ Simple pair object for using "readerKey + fieldName" a Map key
+
+
+ Simple container for a collection of related CacheEntry objects that
+ in conjunction with eachother represent some "insane" usage of the
+ FieldCache.
+
+
+
+ Type of insane behavior this object represents
+
+
+ Description of hte insane behavior
+
+
+ CacheEntry objects which suggest a problem
+
+
+ Multi-Line representation of this Insanity object, starting with
+ the Type and Msg, followed by each CacheEntry.toString() on it's
+ own line prefaced by a tab character
+
+
+
+ An Enumaration of the differnet types of "insane" behavior that
+ may be detected in a FieldCache.
+
+
+
+
+
+
+
+
+
+
+ Indicates an overlap in cache usage on a given field
+ in sub/super readers.
+
+
+
+
+ Indicates entries have the same reader+fieldname but
+ different cached values. This can happen if different datatypes,
+ or parsers are used -- and while it's not necessarily a bug
+ it's typically an indication of a possible problem.
+
+
+ PNOTE: Only the reader, fieldname, and cached value are actually
+ tested -- if two cache entries have different parsers or datatypes but
+ the cached values are the same Object (== not just equal()) this method
+ does not consider that a red flag. This allows for subtle variations
+ in the way a Parser is specified (null vs DEFAULT_LONG_PARSER, etc...)
+
+
+
+
+ Indicates an expected bit of "insanity". This may be useful for
+ clients that wish to preserve/log information about insane usage
+ but indicate that it was expected.
+
+
+
+ Provides support for converting byte sequences to Strings and back again.
+ The resulting Strings preserve the original byte sequences' sort order.
+
+ The Strings are constructed using a Base 8000h encoding of the original
+ binary data - each char of an encoded String represents a 15-bit chunk
+ from the byte sequence. Base 8000h was chosen because it allows for all
+ lower 15 bits of char to be used without restriction; the surrogate range
+ [U+D8000-U+DFFF] does not represent valid chars, and would require
+ complicated handling to avoid them and allow use of char's high bit.
+
+ Although unset bits are used as padding in the final char, the original
+ byte sequence could contain trailing bytes with no set bits (null bytes):
+ padding is indistinguishable from valid information. To overcome this
+ problem, a char is appended, indicating the number of encoded bytes in the
+ final content char.
+
+ This class's operations are defined over CharBuffers and ByteBuffers, to
+ allow for wrapped arrays to be reused, reducing memory allocation costs for
+ repeated operations. Note that this class calls array() and arrayOffset()
+ on the CharBuffers and ByteBuffers it uses, so only wrapped arrays may be
+ used. This class interprets the arrayOffset() and limit() values returned by
+ its input buffers as beginning and end+1 positions on the wrapped array,
+ resprectively; similarly, on the output buffer, arrayOffset() is the first
+ position written to, and limit() is set to one past the final output array
+ position.
+
+
+
+ Returns the number of chars required to encode the given byte sequence.
+
+
+ The byte sequence to be encoded. Must be backed by an array.
+
+ The number of chars required to encode the given byte sequence
+
+ IllegalArgumentException If the given ByteBuffer is not backed by an array
+
+
+ Returns the number of bytes required to decode the given char sequence.
+
+
+ The char sequence to be encoded. Must be backed by an array.
+
+ The number of bytes required to decode the given char sequence
+
+ IllegalArgumentException If the given CharBuffer is not backed by an array
+
+
+ Encodes the input byte sequence into the output char sequence. Before
+ calling this method, ensure that the output CharBuffer has sufficient
+ capacity by calling .
+
+
+ The byte sequence to encode
+
+ Where the char sequence encoding result will go. The limit
+ is set to one past the position of the final char.
+
+ IllegalArgumentException If either the input or the output buffer
+ is not backed by an array
+
+
+
+ Decodes the input char sequence into the output byte sequence. Before
+ calling this method, ensure that the output ByteBuffer has sufficient
+ capacity by calling .
+
+
+ The char sequence to decode
+
+ Where the byte sequence decoding result will go. The limit
+ is set to one past the position of the final char.
+
+ IllegalArgumentException If either the input or the output buffer
+ is not backed by an array
+
+
+
+ Decodes the given char sequence, which must have been encoded by
+ or
+ .
+
+
+ The char sequence to decode
+
+ A byte sequence containing the decoding result. The limit
+ is set to one past the position of the final char.
+
+ IllegalArgumentException If the input buffer is not backed by an
+ array
+
+
+
+ Encodes the input byte sequence.
+
+
+ The byte sequence to encode
+
+ A char sequence containing the encoding result. The limit is set
+ to one past the position of the final char.
+
+ IllegalArgumentException If the input buffer is not backed by an
+ array
+
+
+
+ Helper class for keeping Listss of Objects associated with keys. WARNING: THIS CLASS IS NOT THREAD SAFE
+
+
+ the backing store for this object
+
+
+
+ direct access to the map backing this object.
+
+
+
+ Adds val to the Set associated with key in the Map. If key is not
+ already in the map, a new Set will first be created.
+
+ the size of the Set associated with key once val is added to it.
+
+
+
+ Adds multiple vals to the Set associated with key in the Map.
+ If key is not
+ already in the map, a new Set will first be created.
+
+ the size of the Set associated with key once val is added to it.
+
+
+
+ An "open" BitSet implementation that allows direct access to the array of words
+ storing the bits.
+
+ Unlike java.util.bitset, the fact that bits are packed into an array of longs
+ is part of the interface. This allows efficient implementation of other algorithms
+ by someone other than the author. It also allows one to efficiently implement
+ alternate serialization or interchange formats.
+
+ OpenBitSet is faster than java.util.BitSet in most operations
+ and *much* faster at calculating cardinality of sets and results of set operations.
+ It can also handle sets of larger cardinality (up to 64 * 2**32-1)
+
+ The goals of OpenBitSet are the fastest implementation possible, and
+ maximum code reuse. Extra safety and encapsulation
+ may always be built on top, but if that's built in, the cost can never be removed (and
+ hence people re-implement their own version in order to get better performance).
+ If you want a "safe", totally encapsulated (and slower and limited) BitSet
+ class, use java.util.BitSet.
+
+
Performance Results
+
+ Test system: Pentium 4, Sun Java 1.5_06 -server -Xbatch -Xmx64M
+ BitSet size = 1,000,000
+ Results are java.util.BitSet time divided by OpenBitSet time.
+
+
+
cardinality
intersect_count
union
nextSetBit
get
iterator
+
+
+
50% full
3.36
3.96
1.44
1.46
1.99
1.58
+
+
+
1% full
3.31
3.90
1.04
0.99
+
+
+
+ Test system: AMD Opteron, 64 bit linux, Sun Java 1.5_06 -server -Xbatch -Xmx64M
+ BitSet size = 1,000,000
+ Results are java.util.BitSet time divided by OpenBitSet time.
+
+
+
cardinality
intersect_count
union
nextSetBit
get
iterator
+
+
+
50% full
2.50
3.50
1.00
1.03
1.12
1.25
+
+
+
1% full
2.51
3.49
1.00
1.02
+
+
+
+ $Id$
+
+
+
+ Constructs an OpenBitSet large enough to hold numBits.
+
+
+
+
+
+
+ Constructs an OpenBitSet from an existing long[].
+
+ The first 64 bits are in long[0],
+ with bit index 0 at the least significant bit, and bit index 63 at the most significant.
+ Given a bit index,
+ the word containing it is long[index/64], and it is at bit number index%64 within that word.
+
+ numWords are the number of elements in the array that contain
+ set bits (non-zero longs).
+ numWords should be <= bits.length, and
+ any existing words in the array at position >= numWords should be zero.
+
+
+
+
+ This DocIdSet implementation is cacheable.
+
+
+ Returns the current capacity in bits (1 greater than the index of the last bit)
+
+
+ Returns the current capacity of this set. Included for
+ compatibility. This is *not* equal to
+
+
+
+ Returns true if there are no set bits
+
+
+ Expert: returns the long[] storing the bits
+
+
+ Expert: sets a new long[] to use as the bit storage
+
+
+ Expert: gets the number of longs in the array that are in use
+
+
+ Expert: sets the number of longs in the array that are in use
+
+
+ Returns true or false for the specified bit index.
+
+
+ Returns true or false for the specified bit index.
+ The index should be less than the OpenBitSet size
+
+
+
+ Returns true or false for the specified bit index
+
+
+ Returns true or false for the specified bit index.
+ The index should be less than the OpenBitSet size.
+
+
+
+ returns 1 if the bit is set, 0 if not.
+ The index should be less than the OpenBitSet size
+
+
+
+ sets a bit, expanding the set size if necessary
+
+
+ Sets the bit at the specified index.
+ The index should be less than the OpenBitSet size.
+
+
+
+ Sets the bit at the specified index.
+ The index should be less than the OpenBitSet size.
+
+
+
+ Sets a range of bits, expanding the set size if necessary
+
+
+ lower index
+
+ one-past the last bit to set
+
+
+
+ clears a bit.
+ The index should be less than the OpenBitSet size.
+
+
+
+ clears a bit.
+ The index should be less than the OpenBitSet size.
+
+
+
+ clears a bit, allowing access beyond the current set size without changing the size.
+
+
+ Clears a range of bits. Clearing past the end does not change the size of the set.
+
+
+ lower index
+
+ one-past the last bit to clear
+
+
+
+ Clears a range of bits. Clearing past the end does not change the size of the set.
+
+
+ lower index
+
+ one-past the last bit to clear
+
+
+
+ Sets a bit and returns the previous value.
+ The index should be less than the OpenBitSet size.
+
+
+
+ Sets a bit and returns the previous value.
+ The index should be less than the OpenBitSet size.
+
+
+
+ flips a bit.
+ The index should be less than the OpenBitSet size.
+
+
+
+ flips a bit.
+ The index should be less than the OpenBitSet size.
+
+
+
+ flips a bit, expanding the set size if necessary
+
+
+ flips a bit and returns the resulting bit value.
+ The index should be less than the OpenBitSet size.
+
+
+
+ flips a bit and returns the resulting bit value.
+ The index should be less than the OpenBitSet size.
+
+
+
+ Flips a range of bits, expanding the set size if necessary
+
+
+ lower index
+
+ one-past the last bit to flip
+
+
+
+ the number of set bits
+
+
+
+ Returns the popcount or cardinality of the intersection of the two sets.
+ Neither set is modified.
+
+
+
+ Returns the popcount or cardinality of the union of the two sets.
+ Neither set is modified.
+
+
+
+ Returns the popcount or cardinality of "a and not b"
+ or "intersection(a, not(b))".
+ Neither set is modified.
+
+
+
+ Returns the popcount or cardinality of the exclusive-or of the two sets.
+ Neither set is modified.
+
+
+
+ Returns the index of the first set bit starting at the index specified.
+ -1 is returned if there are no more set bits.
+
+
+
+ Returns the index of the first set bit starting at the index specified.
+ -1 is returned if there are no more set bits.
+
+
+
+ this = this AND other
+
+
+ this = this OR other
+
+
+ Remove all elements set in other. this = this AND_NOT other
+
+
+ this = this XOR other
+
+
+ returns true if the sets have any elements in common
+
+
+ Expand the long[] with the size given as a number of words (64 bit longs).
+ getNumWords() is unchanged by this call.
+
+
+
+ Ensure that the long[] is big enough to hold numBits, expanding it if necessary.
+ getNumWords() is unchanged by this call.
+
+
+
+ Lowers numWords, the number of words in use,
+ by checking for trailing zero words.
+
+
+
+ returns the number of 64 bit words it would take to hold numBits
+
+
+ returns true if both sets have the same bits set
+
+
+ Construct an OpenBitSetDISI with its bits set
+ from the doc ids of the given DocIdSetIterator.
+ Also give a maximum size one larger than the largest doc id for which a
+ bit may ever be set on this OpenBitSetDISI.
+
+
+
+ Construct an OpenBitSetDISI with no bits set, and a given maximum size
+ one larger than the largest doc id for which a bit may ever be set
+ on this OpenBitSetDISI.
+
+
+
+ Perform an inplace OR with the doc ids from a given DocIdSetIterator,
+ setting the bit for each such doc id.
+ These doc ids should be smaller than the maximum size passed to the
+ constructor.
+
+
+
+ Perform an inplace AND with the doc ids from a given DocIdSetIterator,
+ leaving only the bits set for which the doc ids are in common.
+ These doc ids should be smaller than the maximum size passed to the
+ constructor.
+
+
+
+ Perform an inplace NOT with the doc ids from a given DocIdSetIterator,
+ clearing all the bits for each such doc id.
+ These doc ids should be smaller than the maximum size passed to the
+ constructor.
+
+
+
+ Perform an inplace XOR with the doc ids from a given DocIdSetIterator,
+ flipping all the bits for each such doc id.
+ These doc ids should be smaller than the maximum size passed to the
+ constructor.
+
+
+
+ An iterator to iterate over set bits in an OpenBitSet.
+ This is faster than nextSetBit() for iterating over the complete set of bits,
+ especially when the density of the bits set is high.
+
+
+ $Id$
+
+
+
+ ** the python code that generated bitlist
+ def bits2int(val):
+ arr=0
+ for shift in range(8,0,-1):
+ if val & 0x80:
+ arr = (arr << 4) | shift
+ val = val << 1
+ return arr
+ def int_table():
+ tbl = [ hex(bits2int(val)).strip('L') for val in range(256) ]
+ return ','.join(tbl)
+ ****
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Base class for cache implementations.
+
+
+ Returns a thread-safe cache backed by the specified cache.
+ In order to guarantee thread-safety, all access to the backed cache must
+ be accomplished through the returned cache.
+
+
+
+ Called by . This method
+ returns a instance that wraps
+ this instance by default and can be overridden to return
+ e. g. subclasses of or this
+ in case this cache is already synchronized.
+
+
+
+ Puts a (key, value)-pair into the cache.
+
+
+ Returns the value for the given key.
+
+
+ Returns whether the given key is in this cache.
+
+
+ Closes the cache.
+
+
+ Simple Cache wrapper that synchronizes all
+ calls that access the cache.
+
+
+
+ Simple cache implementation that uses a HashMap to store (key, value) pairs.
+ This cache is not synchronized, use
+ if needed.
+
+
+
+ Returns a Set containing all keys in this cache.
+
+
+
+ The maximum number of items to cache.
+
+
+
+
+ The list to efficiently maintain the LRU state.
+
+
+
+
+ The dictionary to hash into any location in the list.
+
+
+
+
+ The node instance to use/re-use when adding an item to the cache.
+
+
+
+
+ Container to hold the key and value to aid in removal from
+ the dictionary when an item is removed from cache.
+
+
+
+ Estimates the size of a given Object using a given MemoryModel for primitive
+ size information.
+
+ Resource Usage:
+
+ Internally uses a Map to temporally hold a reference to every
+ object seen.
+
+ If checkIntered, all Strings checked will be interned, but those
+ that were not already interned will be released for GC when the
+ estimate is complete.
+
+
+
+ Constructs this object with an AverageGuessMemoryModel and
+ checkInterned = true.
+
+
+
+ check if Strings are interned and don't add to size
+ if they are. Defaults to true but if you know the objects you are checking
+ won't likely contain many interned Strings, it will be faster to turn off
+ intern checking.
+
+
+
+ MemoryModel to use for primitive object sizes.
+
+
+
+ MemoryModel to use for primitive object sizes.
+
+ check if Strings are interned and don't add to size
+ if they are. Defaults to true but if you know the objects you are checking
+ won't likely contain many interned Strings, it will be faster to turn off
+ intern checking.
+
+
+
+ Return good default units based on byte size.
+
+
+ Common util methods for dealing with s.
+
+
+
+
+ Gathers sub-readers from reader into a List.
+
+
+
+
+
+
+
+
+ Returns sub IndexReader that contains the given document id.
+
+
+ id of document
+
+ parent reader
+
+ sub reader of parent which contains the specified doc id
+
+
+
+ Returns sub-reader subIndex from reader.
+
+
+ parent reader
+
+ index of desired sub reader
+
+ the subreader at subINdex
+
+
+
+ Returns index of the searcher/reader for document n in the
+ array used to construct this searcher/reader.
+
+
+
+ A ScorerDocQueue maintains a partial ordering of its Scorers such that the
+ least Scorer can always be found in constant time. Put()'s and pop()'s
+ require log(size) time. The ordering is by Scorer.doc().
+
+
+
+ Create a ScorerDocQueue with a maximum size.
+
+
+ Adds a Scorer to a ScorerDocQueue in log(size) time.
+ If one tries to add more Scorers than maxSize
+ a RuntimeException (ArrayIndexOutOfBound) is thrown.
+
+
+
+ Adds a Scorer to the ScorerDocQueue in log(size) time if either
+ the ScorerDocQueue is not full, or not lessThan(scorer, top()).
+
+
+
+ true if scorer is added, false otherwise.
+
+
+
+ Returns the least Scorer of the ScorerDocQueue in constant time.
+ Should not be used when the queue is empty.
+
+
+
+ Returns document number of the least Scorer of the ScorerDocQueue
+ in constant time.
+ Should not be used when the queue is empty.
+
+
+
+ Removes and returns the least scorer of the ScorerDocQueue in log(size)
+ time.
+ Should not be used when the queue is empty.
+
+
+
+ Removes the least scorer of the ScorerDocQueue in log(size) time.
+ Should not be used when the queue is empty.
+
+
+
+ Should be called when the scorer at top changes doc() value.
+ Still log(n) worst case, but it's at least twice as fast to
+ { pq.top().change(); pq.adjustTop(); }
+ instead of
+ { o = pq.pop(); o.change(); pq.push(o); }
+
+
+
+
+ Returns the number of scorers currently stored in the ScorerDocQueue.
+
+
+ Removes all entries from the ScorerDocQueue.
+
+
+ Simple lockless and memory barrier free String intern cache that is guaranteed
+ to return the same String instance as String.intern() does.
+
+
+
+ Subclasses of StringInterner are required to
+ return the same single String object for all equal strings.
+ Depending on the implementation, this may not be
+ the same object returned as String.intern().
+
+ This StringInterner base class simply delegates to String.intern().
+
+
+
+ Returns a single object instance for each equal string.
+
+
+ Returns a single object instance for each equal string.
+
+
+ Size of the hash table, should be a power of two.
+
+ Maximum length of each bucket, after which the oldest item inserted is dropped.
+
+
+
+ Floating point numbers smaller than 32 bits.
+
+
+ $Id$
+
+
+
+ Converts a 32 bit float to an 8 bit float.
+ Values less than zero are all mapped to zero.
+ Values are truncated (rounded down) to the nearest 8 bit value.
+ Values between zero and the smallest representable value
+ are rounded up.
+
+
+ the 32 bit float to be converted to an 8 bit float (byte)
+
+ the number of mantissa bits to use in the byte, with the remainder to be used in the exponent
+
+ the zero-point in the range of exponent values
+
+ the 8 bit float representation
+
+
+
+ Converts an 8 bit float to a 32 bit float.
+
+
+ floatToByte(b, mantissaBits=3, zeroExponent=15)
+ smallest non-zero value = 5.820766E-10
+ largest value = 7.5161928E9
+ epsilon = 0.125
+
+
+
+ byteToFloat(b, mantissaBits=3, zeroExponent=15)
+
+
+ floatToByte(b, mantissaBits=5, zeroExponent=2)
+ smallest nonzero value = 0.033203125
+ largest value = 1984.0
+ epsilon = 0.03125
+
+
+
+ byteToFloat(b, mantissaBits=5, zeroExponent=2)
+
+
+ Stores and iterate on sorted integers in compressed form in RAM.
+ The code for compressing the differences between ascending integers was
+ borrowed from and
+ .
+ NOTE: this class assumes the stored integers are doc Ids (hence why it
+ extends ). Therefore its assumes
+ can be used as sentinel. If you intent to use
+ this value, then make sure it's not used during search flow.
+
+
+
+ When a BitSet has fewer than 1 in BITS2VINTLIST_SIZE bits set,
+ a SortedVIntList representing the index numbers of the set bits
+ will be smaller than that BitSet.
+
+
+
+ Create a SortedVIntList from all elements of an array of integers.
+
+
+ A sorted array of non negative integers.
+
+
+
+ Create a SortedVIntList from an array of integers.
+ An array of sorted non negative integers.
+
+ The number of integers to be used from the array.
+
+
+
+ Create a SortedVIntList from a BitSet.
+ A bit set representing a set of integers.
+
+
+
+ Create a SortedVIntList from an OpenBitSet.
+ A bit set representing a set of integers.
+
+
+
+ Create a SortedVIntList.
+ An iterator providing document numbers as a set of integers.
+ This DocIdSetIterator is iterated completely when this constructor
+ is called and it must provide the integers in non
+ decreasing order.
+
+
+
+ The total number of sorted integers.
+
+
+
+ The size of the byte array storing the compressed sorted integers.
+
+
+
+ This DocIdSet implementation is cacheable.
+
+
+ An iterator over the sorted integers.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ use instead.
+
+
+
+ Borrowed from Cglib. Allows custom swap so that two arrays can be sorted
+ at the same time.
+
+
+
+ Methods for manipulating strings.
+
+ $Id: StringHelper.java 801344 2009-08-05 18:05:06Z yonik $
+
+
+
+ Expert:
+ The StringInterner implementation used by Lucene.
+ This shouldn't be changed to an incompatible implementation after other Lucene APIs have been used.
+
+
+
+ Return the same string object for all equal strings
+
+
+ Compares two byte[] arrays, element by element, and returns the
+ number of elements common to both arrays.
+
+
+ The first byte[] to compare
+
+
+ The second byte[] to compare
+
+
+ The number of common elements.
+
+
+
+ Compares two strings, character by character, and returns the
+ first position where the two strings differ from one another.
+
+
+ The first string to compare
+
+ The second string to compare
+
+ The first position where the two strings differ.
+
+
+
+ Helper methods to ease implementing .
+
+
+ for printing boost only if not 1.0
+
+
+ Class to encode java's UTF16 char[] into UTF8 byte[]
+ without always allocating a new byte[] as
+ String.getBytes("UTF-8") does.
+
+ WARNING: This API is a new and experimental and
+ may suddenly change.
+
+
+
+ Encode characters from a char[] source, starting at
+ offset and stopping when the character 0xffff is seen.
+ Returns the number of bytes written to bytesOut.
+
+
+
+ Encode characters from a char[] source, starting at
+ offset for length chars. Returns the number of bytes
+ written to bytesOut.
+
+
+
+ Encode characters from this String, starting at offset
+ for length characters. Returns the number of bytes
+ written to bytesOut.
+
+
+
+ Convert UTF8 bytes into UTF16 characters. If offset
+ is non-zero, conversion starts at that starting point
+ in utf8, re-using the results from the previous call
+ up until offset.
+
+
+
+ Use by certain classes to match version compatibility
+ across releases of Lucene.
+
+ WARNING: When changing the version parameter
+ that you supply to components in Lucene, do not simply
+ change the version at search-time, but instead also adjust
+ your indexing code to match, and re-index.
+
+
+
+
+ WARNING: if you use this setting, and then
+ upgrade to a newer release of Lucene, sizable changes
+ may happen. If precise back compatibility is important
+ then you should instead explicitly specify an actual
+ version.
+ If you use this constant then you may need to
+ re-index all of your documents when upgrading
+ Lucene, as the way text is indexed may have changed.
+ Additionally, you may need to re-test your entire
+ application to ensure it behaves as expected, as
+ some defaults may have changed and may break functionality
+ in your application.
+
+
+
+ Match settings and bugs in Lucene's 2.0 release.
+
+
+ Match settings and bugs in Lucene's 2.1 release.
+
+
+ Match settings and bugs in Lucene's 2.2 release.
+
+
+ Match settings and bugs in Lucene's 2.3 release.
+
+
+ Match settings and bugs in Lucene's 2.3 release.
+
+
+ Match settings and bugs in Lucene's 2.3 release.
+ Use this to get the latest and greatest settings, bug
+ fixes, etc, for Lucene.
+
+
+
+
diff --git a/Blog/bin/Microsoft.ApplicationBlocks.Data.dll b/Blog/bin/Microsoft.ApplicationBlocks.Data.dll
new file mode 100644
index 0000000..c431985
Binary files /dev/null and b/Blog/bin/Microsoft.ApplicationBlocks.Data.dll differ
diff --git a/Blog/bin/Microsoft.AspNet.Identity.Core.dll b/Blog/bin/Microsoft.AspNet.Identity.Core.dll
new file mode 100644
index 0000000..47ffda5
Binary files /dev/null and b/Blog/bin/Microsoft.AspNet.Identity.Core.dll differ
diff --git a/Blog/bin/Microsoft.AspNet.Identity.Core.xml b/Blog/bin/Microsoft.AspNet.Identity.Core.xml
new file mode 100644
index 0000000..f27dd0f
--- /dev/null
+++ b/Blog/bin/Microsoft.AspNet.Identity.Core.xml
@@ -0,0 +1,2740 @@
+
+
+
+ Microsoft.AspNet.Identity.Core
+
+
+
+
+ Sync method to send the IdentityMessage
+
+
+
+
+
+
+ Expose a way to send messages (i.e. email/sms)
+
+
+
+
+ This method should send the message
+
+
+
+
+
+
+ Represents a message
+
+
+
+
+ Destination, i.e. To email, or SMS phone number
+
+
+
+
+ Subject
+
+
+
+
+ Message contents
+
+
+
+
+ Interface to generate user tokens
+
+
+
+
+ Generate a token for a user with a specific purpose
+
+
+
+
+
+
+
+
+ Validate a token for a user with a specific purpose
+
+
+
+
+
+
+
+
+
+ Notifies the user that a token has been generated, for example an email or sms could be sent, or
+ this can be a no-op
+
+
+
+
+
+
+
+
+ Returns true if provider can be used for this user, i.e. could require a user to have an email
+
+
+
+
+
+
+
+ Stores a user's phone number
+
+
+
+
+
+ Stores a user's phone number
+
+
+
+
+
+
+ Interface that exposes basic user management apis
+
+
+
+
+
+
+ Insert a new user
+
+
+
+
+
+
+ Update a user
+
+
+
+
+
+
+ Delete a user
+
+
+
+
+
+
+ Finds a user
+
+
+
+
+
+
+ Find a user by name
+
+
+
+
+
+
+ Set the user's phone number
+
+
+
+
+
+
+
+ Get the user phone number
+
+
+
+
+
+
+ Returns true if the user phone number is confirmed
+
+
+
+
+
+
+ Sets whether the user phone number is confirmed
+
+
+
+
+
+
+
+ Stores information which can be used to implement account lockout, including access failures and lockout status
+
+
+
+
+
+
+ Returns the DateTimeOffset that represents the end of a user's lockout, any time in the past should be considered
+ not locked out.
+
+
+
+
+
+
+ Locks a user out until the specified end date (set to a past date, to unlock a user)
+
+
+
+
+
+
+
+ Used to record when an attempt to access the user has failed
+
+
+
+
+
+
+ Used to reset the access failed count, typically after the account is successfully accessed
+
+
+
+
+
+
+ Returns the current number of failed access attempts. This number usually will be reset whenever the password is
+ verified or the account is locked out.
+
+
+
+
+
+
+ Returns whether the user can be locked out.
+
+
+
+
+
+
+ Sets whether the user can be locked out.
+
+
+
+
+
+
+
+ Stores whether two factor authentication is enabled for a user
+
+
+
+
+
+
+ Sets whether two factor authentication is enabled for the user
+
+
+
+
+
+
+
+ Returns whether two factor authentication is enabled for the user
+
+
+
+
+
+
+ Stores a user's email
+
+
+
+
+
+ Stores a user's email
+
+
+
+
+
+
+ Set the user email
+
+
+
+
+
+
+
+ Get the user email
+
+
+
+
+
+
+ Returns true if the user email is confirmed
+
+
+
+
+
+
+ Sets whether the user email is confirmed
+
+
+
+
+
+
+
+ Returns the user associated with this email
+
+
+
+
+
+
+ Interface that exposes an IQueryable roles
+
+
+
+
+
+ Interface that exposes an IQueryable roles
+
+
+
+
+
+
+ Interface that exposes basic role management
+
+
+
+
+
+
+ Create a new role
+
+
+
+
+
+
+ Update a role
+
+
+
+
+
+
+ Delete a role
+
+
+
+
+
+
+ Find a role by id
+
+
+
+
+
+
+ Find a role by name
+
+
+
+
+
+
+ IQueryable Roles
+
+
+
+
+ Interface that exposes an IQueryable users
+
+
+
+
+
+ Interface that exposes an IQueryable users
+
+
+
+
+
+
+ IQueryable users
+
+
+
+
+ Stores a user's security stamp
+
+
+
+
+
+ Stores a user's security stamp
+
+
+
+
+
+
+ Set the security stamp for the user
+
+
+
+
+
+
+
+ Get the user security stamp
+
+
+
+
+
+
+ Interface for creating a ClaimsIdentity from an IUser
+
+
+
+
+
+
+ Create a ClaimsIdentity from an user using a UserManager
+
+
+
+
+
+
+
+
+ Interface for creating a ClaimsIdentity from a user
+
+
+
+
+
+ Create a ClaimsIdentity from an user using a UserManager
+
+
+
+
+
+
+
+
+ Extension methods for RoleManager
+
+
+
+
+ Find a role by id
+
+
+
+
+
+
+
+ Find a role by name
+
+
+
+
+
+
+
+ Create a role
+
+
+
+
+
+
+
+ Update an existing role
+
+
+
+
+
+
+
+ Delete a role
+
+
+
+
+
+
+
+ Returns true if the role exists
+
+
+
+
+
+
+
+ Stores a user's password hash
+
+
+
+
+
+ Stores a user's password hash
+
+
+
+
+
+
+ Set the user password hash
+
+
+
+
+
+
+
+ Get the user password hash
+
+
+
+
+
+
+ Returns true if a user has a password set
+
+
+
+
+
+
+ Used to validate some basic password policy like length and number of non alphanumerics
+
+
+
+
+ Used to validate an item
+
+
+
+
+
+ Validate the item
+
+
+
+
+
+
+ Ensures that the string is of the required length and meets the configured requirements
+
+
+
+
+
+
+ Returns true if the character is a digit between '0' and '9'
+
+
+
+
+
+
+ Returns true if the character is between 'a' and 'z'
+
+
+
+
+
+
+ Returns true if the character is between 'A' and 'Z'
+
+
+
+
+
+
+ Returns true if the character is upper, lower, or a digit
+
+
+
+
+
+
+ Minimum required length
+
+
+
+
+ Require a non letter or digit character
+
+
+
+
+ Require a lower case letter ('a' - 'z')
+
+
+
+
+ Require an upper case letter ('A' - 'Z')
+
+
+
+
+ Require a digit ('0' - '9')
+
+
+
+
+ Return result for IPasswordHasher
+
+
+
+
+ Password verification failed
+
+
+
+
+ Success
+
+
+
+
+ Success but should update and rehash the password
+
+
+
+
+ TokenProvider that generates tokens from the user's security stamp and notifies a user via their email
+
+
+
+
+
+ TokenProvider that generates tokens from the user's security stamp and notifies a user via their email
+
+
+
+
+
+
+ TokenProvider that generates time based codes using the user's security stamp
+
+
+
+
+
+
+ This token provider does not notify the user by default
+
+
+
+
+
+
+
+
+ Returns true if the provider can generate tokens for the user, by default this is equal to
+ manager.SupportsUserSecurityStamp
+
+
+
+
+
+
+
+ Generate a token for the user using their security stamp
+
+
+
+
+
+
+
+
+ Validate the token for the user
+
+
+
+
+
+
+
+
+
+ Used for entropy in the token, uses the user.Id by default
+
+
+
+
+
+
+
+
+ True if the user has an email set
+
+
+
+
+
+
+
+ Returns the email of the user for entropy in the token
+
+
+
+
+
+
+
+
+ Notifies the user with a token via email using the Subject and BodyFormat
+
+
+
+
+
+
+
+
+ Email subject used when a token notification is received
+
+
+
+
+ Email body which should contain a formatted string which the token will be the only argument
+
+
+
+
+ TokenProvider that generates tokens from the user's security stamp and notifies a user via their phone number
+
+
+
+
+
+ TokenProvider that generates tokens from the user's security stamp and notifies a user via their phone number
+
+
+
+
+
+
+ Returns true if the user has a phone number set
+
+
+
+
+
+
+
+ Returns the phone number of the user for entropy in the token
+
+
+
+
+
+
+
+
+ Notifies the user with a token via sms using the MessageFormat
+
+
+
+
+
+
+
+
+ Message contents which should contain a format string which the token will be the only argument
+
+
+
+
+ Validates roles before they are saved
+
+
+
+
+
+ Validates roles before they are saved
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+ Validates a role before saving
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+ Interface that exposes basic role management
+
+
+
+
+
+ Exposes role related api which will automatically save changes to the RoleStore
+
+
+
+
+
+ Exposes role related api which will automatically save changes to the RoleStore
+
+
+
+
+
+
+ Constructor
+
+ The IRoleStore is responsible for commiting changes via the UpdateAsync/CreateAsync methods
+
+
+
+ Dispose this object
+
+
+
+
+ Create a role
+
+
+
+
+
+
+ Update an existing role
+
+
+
+
+
+
+ Delete a role
+
+
+
+
+
+
+ Returns true if the role exists
+
+
+
+
+
+
+ Find a role by id
+
+
+
+
+
+
+ Find a role by name
+
+
+
+
+
+
+ When disposing, actually dipose the store
+
+
+
+
+
+ Persistence abstraction that the Manager operates against
+
+
+
+
+ Used to validate roles before persisting changes
+
+
+
+
+ Returns an IQueryable of roles if the store is an IQueryableRoleStore
+
+
+
+
+ Constructor
+
+
+
+
+
+ Interface that maps users to their roles
+
+
+
+
+
+ Interface that maps users to their roles
+
+
+
+
+
+
+ Adds a user to a role
+
+
+
+
+
+
+
+ Removes the role for the user
+
+
+
+
+
+
+
+ Returns the roles for this user
+
+
+
+
+
+
+ Returns true if a user is in the role
+
+
+
+
+
+
+
+ Default authentication types values
+
+
+
+
+ Default value for the main application cookie used by UseSignInCookies
+
+
+
+
+ Default value used for the ExternalSignInAuthenticationType configured by UseSignInCookies
+
+
+
+
+ Default value used by the UseOAuthBearerTokens method
+
+
+
+
+ Default value for authentication type used for two factor partial sign in
+
+
+
+
+ Default value for authentication type used for two factor remember browser
+
+
+
+
+ Extensions making it easier to get the user name/user id claims off of an identity
+
+
+
+
+ Return the user name using the UserNameClaimType
+
+
+
+
+
+
+ Return the user id using the UserIdClaimType
+
+
+
+
+
+
+
+ Return the user id using the UserIdClaimType
+
+
+
+
+
+
+ Return the claim value for the first claim with the specified type if it exists, null otherwise
+
+
+
+
+
+
+
+ Extension methods for UserManager
+
+
+
+
+ Creates a ClaimsIdentity representing the user
+
+
+
+
+
+
+
+
+ Find a user by id
+
+
+
+
+
+
+
+ Return a user with the specified username and password or null if there is no match.
+
+
+
+
+
+
+
+
+ Find a user by name
+
+
+
+
+
+
+
+ Find a user by email
+
+
+
+
+
+
+
+ Create a user with no password
+
+
+
+
+
+
+
+ Create a user and associates it with the given password (if one is provided)
+
+
+
+
+
+
+
+
+ Update an user
+
+
+
+
+
+
+
+ Delete an user
+
+
+
+
+
+
+
+ Returns true if a user has a password set
+
+
+
+
+
+
+
+ Add a user password only if one does not already exist
+
+
+
+
+
+
+
+
+ Change a user password
+
+
+
+
+
+
+
+
+
+ Reset a user's password using a reset password token
+
+
+
+ This should be the user's security stamp by default
+
+
+
+
+
+ Get the password reset token for the user
+
+
+
+
+
+
+
+ Get the current security stamp for a user
+
+
+
+
+
+
+
+ Get the confirmation token for the user
+
+
+
+
+
+
+
+ Confirm the user with confirmation token
+
+
+
+
+
+
+
+
+ Returns true if the user's email has been confirmed
+
+
+
+
+
+
+
+ Generate a new security stamp for a user, used for SignOutEverywhere functionality
+
+
+
+
+
+
+
+ Returns true if the password combination is valid for the user
+
+
+
+
+
+
+
+
+ Associate a login with a user
+
+
+
+
+
+
+
+ Sync extension
+
+
+
+
+
+
+
+
+ Remove a user login
+
+
+
+
+
+
+
+
+ Gets the logins for a user.
+
+
+
+
+
+
+
+ Sync extension
+
+
+
+
+
+
+
+ Add a user claim
+
+
+
+
+
+
+
+
+ Remove a user claim
+
+
+
+
+
+
+
+
+ Get a users's claims
+
+
+
+
+
+
+
+ Add a user to a role
+
+
+
+
+
+
+
+
+ Add a user to several roles
+
+
+
+
+
+
+
+
+ Remove a user from a role.
+
+
+
+
+
+
+
+
+ Remove a user from the specified roles.
+
+
+
+
+
+
+
+
+ Get a users's roles
+
+
+
+
+
+
+
+ Returns true if the user is in the specified role
+
+
+
+
+
+
+
+
+ Get an user's email
+
+
+
+
+
+
+
+ Set an user's email
+
+
+
+
+
+
+
+
+ Get an user's phoneNumber
+
+
+
+
+
+
+
+ Set an user's phoneNumber
+
+
+
+
+
+
+
+
+ Change a phone number using the verification token
+
+
+
+
+
+
+
+
+
+
+
+ Generate a token for using to change to a specific phone number for the user
+
+
+
+
+
+
+
+
+
+
+ Verify that a token is valid for changing the user's phone number
+
+
+
+
+
+
+
+
+
+
+
+ Returns true if the user's phone number has been confirmed
+
+
+
+
+
+
+
+ Get a user token for a factor provider
+
+
+
+
+
+
+
+
+
+
+ Verify a user factor token with the specified provider
+
+
+
+
+
+
+
+
+
+
+
+ Returns a list of valid two factor providers for a user
+
+
+
+
+
+
+
+
+
+ Get a user token for a specific purpose
+
+
+
+
+
+
+
+
+ Validate a user token
+
+
+
+
+
+
+
+
+
+
+
+ Notify a user with a token from a specific user factor provider
+
+
+
+
+
+
+
+
+
+ Returns true if two factor is enabled for the user
+
+
+
+
+
+
+
+ Set whether a user's two factor is enabled
+
+
+
+
+
+
+
+
+
+
+ Send email with supplied subject and body
+
+
+
+
+
+
+
+
+
+
+ Send text message using the given message
+
+
+
+
+
+
+
+
+
+ Returns true if the user is locked out
+
+
+
+
+
+
+
+ Sets whether the user allows lockout
+
+
+
+
+
+
+
+
+ Returns whether the user allows lockout
+
+
+
+
+
+
+
+ Returns the user lockout end date
+
+
+
+
+
+
+
+ Sets the user lockout end date
+
+
+
+
+
+
+
+
+ Increments the access failed count for the user
+
+
+
+
+
+
+
+ Resets the access failed count for the user to 0
+
+
+
+
+
+
+
+ Returns the number of failed access attempts for the user
+
+
+
+
+
+
+
+ Constants class
+
+
+
+
+ ClaimType used for the security stamp by default
+
+
+
+
+ Creates a ClaimsIdentity from a User
+
+
+
+
+
+ Creates a ClaimsIdentity from a User
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Create a ClaimsIdentity from a user
+
+
+
+
+
+
+
+
+ Convert the key to a string, by default just calls .ToString()
+
+
+
+
+
+
+ Claim type used for role claims
+
+
+
+
+ Claim type used for the user name
+
+
+
+
+ Claim type used for the user id
+
+
+
+
+ Claim type used for the user security stamp
+
+
+
+
+ Stores user specific claims
+
+
+
+
+
+ Stores user specific claims
+
+
+
+
+
+
+ Returns the claims for the user with the issuer set
+
+
+
+
+
+
+ Add a new user claim
+
+
+
+
+
+
+
+ Remove a user claim
+
+
+
+
+
+
+
+ Interface that maps users to login providers, i.e. Google, Facebook, Twitter, Microsoft
+
+
+
+
+
+ Interface that maps users to login providers, i.e. Google, Facebook, Twitter, Microsoft
+
+
+
+
+
+
+ Adds a user login with the specified provider and key
+
+
+
+
+
+
+
+ Removes the user login with the specified combination if it exists
+
+
+
+
+
+
+
+ Returns the linked accounts for this user
+
+
+
+
+
+
+ Returns the user associated with this login
+
+
+
+
+
+ Abstraction for password hashing methods
+
+
+
+
+ Hash a password
+
+
+
+
+
+
+ Verify that a password matches the hashed password
+
+
+
+
+
+
+
+ Interface that exposes basic user management apis
+
+
+
+
+
+ Implements password hashing methods
+
+
+
+
+ Hash a password
+
+
+
+
+
+
+ Verify that a password matches the hashedPassword
+
+
+
+
+
+
+
+ Used to validate that passwords are a minimum length
+
+
+
+
+ Constructor
+
+
+
+
+
+ Ensures that the password is of the required length
+
+
+
+
+
+
+ Minimum required length for the password
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to An unknown failure has occured..
+
+
+
+
+ Looks up a localized string similar to Email '{0}' is already taken..
+
+
+
+
+ Looks up a localized string similar to Name {0} is already taken..
+
+
+
+
+ Looks up a localized string similar to A user with that external login already exists..
+
+
+
+
+ Looks up a localized string similar to Email '{0}' is invalid..
+
+
+
+
+ Looks up a localized string similar to Invalid token..
+
+
+
+
+ Looks up a localized string similar to User name {0} is invalid, can only contain letters or digits..
+
+
+
+
+ Looks up a localized string similar to Lockout is not enabled for this user..
+
+
+
+
+ Looks up a localized string similar to No IUserTokenProvider is registered..
+
+
+
+
+ Looks up a localized string similar to No IUserTwoFactorProvider for '{0}' is registered..
+
+
+
+
+ Looks up a localized string similar to Incorrect password..
+
+
+
+
+ Looks up a localized string similar to Passwords must have at least one digit ('0'-'9')..
+
+
+
+
+ Looks up a localized string similar to Passwords must have at least one lowercase ('a'-'z')..
+
+
+
+
+ Looks up a localized string similar to Passwords must have at least one non letter or digit character..
+
+
+
+
+ Looks up a localized string similar to Passwords must have at least one uppercase ('A'-'Z')..
+
+
+
+
+ Looks up a localized string similar to Passwords must be at least {0} characters..
+
+
+
+
+ Looks up a localized string similar to {0} cannot be null or empty..
+
+
+
+
+ Looks up a localized string similar to Role {0} does not exist..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IQueryableRoleStore<TRole>..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IQueryableUserStore<TUser>..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IUserClaimStore<TUser>..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IUserConfirmationStore<TUser>..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IUserEmailStore<TUser>..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IUserLockoutStore<TUser>..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IUserLoginStore<TUser>..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IUserPasswordStore<TUser>..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IUserPhoneNumberStore<TUser>..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IUserRoleStore<TUser>..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IUserSecurityStampStore<TUser>..
+
+
+
+
+ Looks up a localized string similar to Store does not implement IUserTwoFactorStore<TUser>..
+
+
+
+
+ Looks up a localized string similar to User already has a password set..
+
+
+
+
+ Looks up a localized string similar to User already in role..
+
+
+
+
+ Looks up a localized string similar to UserId not found..
+
+
+
+
+ Looks up a localized string similar to User {0} does not exist..
+
+
+
+
+ Looks up a localized string similar to User is not in role..
+
+
+
+
+ Represents the result of an identity operation
+
+
+
+
+ Failure constructor that takes error messages
+
+
+
+
+
+ Failure constructor that takes error messages
+
+
+
+
+
+ Constructor that takes whether the result is successful
+
+
+
+
+
+ Failed helper method
+
+
+
+
+
+
+ True if the operation was successful
+
+
+
+
+ List of errors
+
+
+
+
+ Static success result
+
+
+
+
+
+ Mimimal set of data needed to persist role information
+
+
+
+
+ Mimimal set of data needed to persist role information
+
+
+
+
+
+ Id of the role
+
+
+
+
+ Name of the role
+
+
+
+
+ Represents a linked login for a user (i.e. a facebook/google account)
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Provider for the linked login, i.e. Facebook, Google, etc.
+
+
+
+
+ User specific key for the login provider
+
+
+
+
+ Minimal interface for a user with id and username
+
+
+
+
+ Minimal interface for a user with id and username
+
+
+
+
+
+ Unique key for the user
+
+
+
+
+ Unique username
+
+
+
+
+ UserManager for users where the primary key for the User is of type string
+
+
+
+
+
+ Exposes user related api which will automatically save changes to the UserStore
+
+
+
+
+
+
+ Constructor
+
+ The IUserStore is responsible for commiting changes via the UpdateAsync/CreateAsync methods
+
+
+
+ Dispose this object
+
+
+
+
+ Creates a ClaimsIdentity representing the user
+
+
+
+
+
+
+
+ Create a user with no password
+
+
+
+
+
+
+ Update a user
+
+
+
+
+
+
+ Delete a user
+
+
+
+
+
+
+ Find a user by id
+
+
+
+
+
+
+ Find a user by user name
+
+
+
+
+
+
+ Create a user with the given password
+
+
+
+
+
+
+
+ Return a user with the specified username and password or null if there is no match.
+
+
+
+
+
+
+
+ Returns true if the password is valid for the user
+
+
+
+
+
+
+
+ Returns true if the user has a password
+
+
+
+
+
+
+ Add a user password only if one does not already exist
+
+
+
+
+
+
+
+ Change a user password
+
+
+
+
+
+
+
+
+ Remove a user's password
+
+
+
+
+
+
+ By default, retrieves the hashed password from the user store and calls PasswordHasher.VerifyHashPassword
+
+
+
+
+
+
+
+
+ Returns the current security stamp for a user
+
+
+
+
+
+
+ Generate a new security stamp for a user, used for SignOutEverywhere functionality
+
+
+
+
+
+
+ Generate a password reset token for the user using the UserTokenProvider
+
+
+
+
+
+
+ Reset a user's password using a reset password token
+
+
+
+
+
+
+
+
+ Returns the user associated with this login
+
+
+
+
+
+ Remove a user login
+
+
+
+
+
+
+
+ Associate a login with a user
+
+
+
+
+
+
+
+ Gets the logins for a user.
+
+
+
+
+
+
+ Add a user claim
+
+
+
+
+
+
+
+ Remove a user claim
+
+
+
+
+
+
+
+ Get a users's claims
+
+
+
+
+
+
+ Add a user to a role
+
+
+
+
+
+
+
+ Method to add user to multiple roles
+
+ user id
+ list of role names
+
+
+
+
+ Remove user from multiple roles
+
+ user id
+ list of role names
+
+
+
+
+ Remove a user from a role.
+
+
+
+
+
+
+
+ Returns the roles for the user
+
+
+
+
+
+
+ Returns true if the user is in the specified role
+
+
+
+
+
+
+
+ Get a user's email
+
+
+
+
+
+
+ Set a user's email
+
+
+
+
+
+
+
+ Find a user by his email
+
+
+
+
+
+
+ Get the email confirmation token for the user
+
+
+
+
+
+
+ Confirm the user's email with confirmation token
+
+
+
+
+
+
+
+ Returns true if the user's email has been confirmed
+
+
+
+
+
+
+ Get a user's phoneNumber
+
+
+
+
+
+
+ Set a user's phoneNumber
+
+
+
+
+
+
+
+ Set a user's phoneNumber with the verification token
+
+
+
+
+
+
+
+
+ Returns true if the user's phone number has been confirmed
+
+
+
+
+
+
+ Generate a code that the user can use to change their phone number to a specific number
+
+
+
+
+
+
+
+ Verify the code is valid for a specific user and for a specific phone number
+
+
+
+
+
+
+
+
+ Verify a user token with the specified purpose
+
+
+
+
+
+
+
+
+ Get a user token for a specific purpose
+
+
+
+
+
+
+
+ Register a two factor authentication provider with the TwoFactorProviders mapping
+
+
+
+
+
+
+ Returns a list of valid two factor providers for a user
+
+
+
+
+
+
+ Verify a two factor token with the specified provider
+
+
+
+
+
+
+
+
+ Get a token for a specific two factor provider
+
+
+
+
+
+
+
+ Notify a user with a token using a specific two-factor authentication provider's Notify method
+
+
+
+
+
+
+
+
+ Get whether two factor authentication is enabled for a user
+
+
+
+
+
+
+ Set whether a user has two factor authentication enabled
+
+
+
+
+
+
+
+ Send an email to the user
+
+
+
+
+
+
+
+
+ Send a user a sms message
+
+
+
+
+
+
+
+ Returns true if the user is locked out
+
+
+
+
+
+
+ Sets whether lockout is enabled for this user
+
+
+
+
+
+
+
+ Returns whether lockout is enabled for the user
+
+
+
+
+
+
+ Returns when the user is no longer locked out, dates in the past are considered as not being locked out
+
+
+
+
+
+
+ Sets the when a user lockout ends
+
+
+
+
+
+
+
+ Increments the access failed count for the user and if the failed access account is greater than or equal
+ to the MaxFailedAccessAttempsBeforeLockout, the user will be locked out for the next DefaultAccountLockoutTimeSpan
+ and the AccessFailedCount will be reset to 0. This is used for locking out the user account.
+
+
+
+
+
+
+ Resets the access failed count for the user to 0
+
+
+
+
+
+
+ Returns the number of failed access attempts for the user
+
+
+
+
+
+
+ When disposing, actually dipose the store
+
+
+
+
+
+ Persistence abstraction that the UserManager operates against
+
+
+
+
+ Used to hash/verify passwords
+
+
+
+
+ Used to validate users before changes are saved
+
+
+
+
+ Used to validate passwords before persisting changes
+
+
+
+
+ Used to create claims identities from users
+
+
+
+
+ Used to send email
+
+
+
+
+ Used to send a sms message
+
+
+
+
+ Used for generating reset password and confirmation tokens
+
+
+
+
+ If true, will enable user lockout when users are created
+
+
+
+
+ Number of access attempts allowed before a user is locked out (if lockout is enabled)
+
+
+
+
+ Default amount of time that a user is locked out for after MaxFailedAccessAttemptsBeforeLockout is reached
+
+
+
+
+ Returns true if the store is an IUserTwoFactorStore
+
+
+
+
+ Returns true if the store is an IUserPasswordStore
+
+
+
+
+ Returns true if the store is an IUserSecurityStore
+
+
+
+
+ Returns true if the store is an IUserRoleStore
+
+
+
+
+ Returns true if the store is an IUserLoginStore
+
+
+
+
+ Returns true if the store is an IUserEmailStore
+
+
+
+
+ Returns true if the store is an IUserPhoneNumberStore
+
+
+
+
+ Returns true if the store is an IUserClaimStore
+
+
+
+
+ Returns true if the store is an IUserLockoutStore
+
+
+
+
+ Returns true if the store is an IQueryableUserStore
+
+
+
+
+ Returns an IQueryable of users if the store is an IQueryableUserStore
+
+
+
+
+ Maps the registered two-factor authentication providers for users by their id
+
+
+
+
+ Constructor
+
+
+
+
+
+ Validates users before they are saved
+
+
+
+
+
+ Validates users before they are saved
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+ Validates a user before saving
+
+
+
+
+
+
+ Only allow [A-Za-z0-9@_] in UserNames
+
+
+
+
+ If set, enforces that emails are non empty, valid, and unique
+
+
+
+
+ Constructor
+
+
+
+
+
diff --git a/Blog/bin/Microsoft.AspNet.Identity.Owin.dll b/Blog/bin/Microsoft.AspNet.Identity.Owin.dll
new file mode 100644
index 0000000..37d4be9
Binary files /dev/null and b/Blog/bin/Microsoft.AspNet.Identity.Owin.dll differ
diff --git a/Blog/bin/Microsoft.AspNet.Identity.Owin.xml b/Blog/bin/Microsoft.AspNet.Identity.Owin.xml
new file mode 100644
index 0000000..e2a9ec7
--- /dev/null
+++ b/Blog/bin/Microsoft.AspNet.Identity.Owin.xml
@@ -0,0 +1,642 @@
+
+
+
+ Microsoft.AspNet.Identity.Owin
+
+
+
+
+ Extension methods for SignInManager/>
+
+
+
+
+ Called to generate the ClaimsIdentity for the user, override to add additional claims before SignIn
+
+
+
+
+
+
+
+ Creates a user identity and then signs the identity using the AuthenticationManager
+
+
+
+
+
+
+
+
+
+ Send a two factor code to a user
+
+
+
+
+
+
+
+ Get the user id that has been verified already or null.
+
+
+
+
+
+
+ Has the user been verified (ie either via password or external login)
+
+
+
+
+
+
+ Two factor verification step
+
+
+
+
+
+
+
+
+
+
+ Sign the user in using an associated external login
+
+
+
+
+
+
+
+
+ Sign in the user in using the user name and password
+
+
+
+
+
+
+
+
+
+
+ OwinMiddleware that initializes an object for use in the OwinContext via the Get/Set generic extensions method
+
+
+
+
+
+
+ Constructor
+
+ The next middleware in the OWIN pipeline to invoke
+ Configuration options for the middleware
+
+
+
+ Create an object using the Options.Provider, storing it in the OwinContext and then disposes the object when finished
+
+
+
+
+
+
+ Configuration options
+
+
+
+
+ Configuration options for a IdentityFactoryMiddleware
+
+
+
+
+
+ Used to configure the data protection provider
+
+
+
+
+ Provider used to Create and Dispose objects
+
+
+
+
+ Interface used to create objects per request
+
+
+
+
+
+ Called once per request to create an object
+
+
+
+
+
+
+
+ Called at the end of the request to dispose the object created
+
+
+
+
+
+
+ Used to configure how the IdentityFactoryMiddleware will create an instance of the specified type for each OwinContext
+
+
+
+
+
+ Constructor
+
+
+
+
+ Calls the OnCreate Delegate
+
+
+
+
+
+
+
+ Calls the OnDispose delegate
+
+
+
+
+
+
+ A delegate assigned to this property will be invoked when the related method is called
+
+
+
+
+ A delegate assigned to this property will be invoked when the related method is called
+
+
+
+
+ Token provider that uses an IDataProtector to generate encrypted tokens based off of the security stamp
+
+
+
+
+ Token provider that uses an IDataProtector to generate encrypted tokens based off of the security stamp
+
+
+
+
+ Constructor
+
+
+
+
+
+ Generate a protected string for a user
+
+
+
+
+
+
+
+
+ Return false if the token is not valid
+
+
+
+
+
+
+
+
+
+ Returns true if the provider can be used to generate tokens for this user
+
+
+
+
+
+
+
+ This provider no-ops by default when asked to notify a user
+
+
+
+
+
+
+
+
+ IDataProtector for the token
+
+
+
+
+ Lifespan after which the token is considered expired
+
+
+
+
+ Constructor
+
+
+
+
+
+ Extensions off of IAppBuilder to make it easier to configure the SignInCookies
+
+
+
+
+ Registers a callback that will be invoked to create an instance of type T that will be stored in the OwinContext
+ which can fetched via context.Get
+
+
+ The passed to the configuration method
+ Invoked to create an instance of T
+ The updated
+
+
+
+ Registers a callback that will be invoked to create an instance of type T that will be stored in the OwinContext
+ which can fetched via context.Get
+
+
+
+
+
+
+
+
+ Registers a callback that will be invoked to create an instance of type T that will be stored in the OwinContext
+ which can fetched via context.Get
+
+
+
+
+
+
+
+
+
+ Configure the app to use owin middleware based cookie authentication for external identities
+
+
+
+
+
+ Configure the app to use owin middleware based cookie authentication for external identities
+
+
+
+
+
+
+ Configures a cookie intended to be used to store the partial credentials for two factor authentication
+
+
+
+
+
+
+
+ Configures a cookie intended to be used to store whether two factor authentication has been done already
+
+
+
+
+
+
+ Configure the app to use owin middleware based oauth bearer tokens
+
+
+
+
+
+
+ Extensions methods on IAuthenticationManager that add methods for using the default Application and External
+ authentication type constants
+
+
+
+
+ Return the authentication types which are considered external because they have captions
+
+
+
+
+
+
+ Return the identity associated with the default external authentication type
+
+
+
+
+
+ Return the identity associated with the default external authentication type
+
+
+
+
+
+
+
+ Extracts login info out of an external identity
+
+
+
+
+
+
+ Extracts login info out of an external identity
+
+
+
+
+
+
+ Extracts login info out of an external identity
+
+
+ key that will be used to find the userId to verify
+
+ the value expected to be found using the xsrfKey in the AuthenticationResult.Properties
+ dictionary
+
+
+
+
+
+ Extracts login info out of an external identity
+
+
+ key that will be used to find the userId to verify
+
+ the value expected to be found using the xsrfKey in the AuthenticationResult.Properties
+ dictionary
+
+
+
+
+
+ Returns true if there is a TwoFactorRememberBrowser cookie for a user
+
+
+
+
+
+
+
+ Returns true if there is a TwoFactorRememberBrowser cookie for a user
+
+
+
+
+
+
+
+ Creates a TwoFactorRememberBrowser cookie for a user
+
+
+
+
+
+
+
+ Extension methods for OwinContext/>
+
+
+
+
+ Stores an object in the OwinContext using a key based on the AssemblyQualified type name
+
+
+
+
+
+
+
+
+ Retrieves an object from the OwinContext using a key based on the AssemblyQualified type name
+
+
+
+
+
+
+
+ Get the user manager from the context
+
+
+
+
+
+
+
+ Used to return information needed to associate an external login
+
+
+
+
+ Associated login data
+
+
+
+
+ Suggested user name for a user
+
+
+
+
+ Email claim from the external identity
+
+
+
+
+ The external identity
+
+
+
+
+ Static helper class used to configure a CookieAuthenticationProvider to validate a cookie against a user's security
+ stamp
+
+
+
+
+ Can be used as the ValidateIdentity method for a CookieAuthenticationProvider which will check a user's security
+ stamp after validateInterval
+ Rejects the identity if the stamp changes, and otherwise will call regenerateIdentity to sign in a new
+ ClaimsIdentity
+
+
+
+
+
+
+
+
+
+ Can be used as the ValidateIdentity method for a CookieAuthenticationProvider which will check a user's security
+ stamp after validateInterval
+ Rejects the identity if the stamp changes, and otherwise will call regenerateIdentity to sign in a new
+ ClaimsIdentity
+
+
+
+
+
+
+
+
+
+
+
+ Manages Sign In operations for users
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Called to generate the ClaimsIdentity for the user, override to add additional claims before SignIn
+
+
+
+
+
+
+ Convert a TKey userId to a string, by default this just calls ToString()
+
+
+
+
+
+
+ Convert a string id to the proper TKey using Convert.ChangeType
+
+
+
+
+
+
+ Creates a user identity and then signs the identity using the AuthenticationManager
+
+
+
+
+
+
+
+
+ Send a two factor code to a user
+
+
+
+
+
+
+ Get the user id that has been verified already or null.
+
+
+
+
+
+ Has the user been verified (ie either via password or external login)
+
+
+
+
+
+ Two factor verification step
+
+
+
+
+
+
+
+
+
+ Sign the user in using an associated external login
+
+
+
+
+
+
+
+ Sign in the user in using the user name and password
+
+
+
+
+
+
+
+
+
+ Dispose
+
+
+
+
+ If disposing, calls dispose on the Context. Always nulls out the Context
+
+
+
+
+
+ AuthenticationType that will be used by sign in, defaults to DefaultAuthenticationTypes.ApplicationCookie
+
+
+
+
+ Used to operate on users
+
+
+
+
+ Used to sign in identities
+
+
+
+
+ Possible results from a sign in attempt
+
+
+
+
+ Sign in was successful
+
+
+
+
+ User is locked out
+
+
+
+
+ Sign in requires addition verification (i.e. two factor)
+
+
+
+
+ Sign in failed
+
+
+
+
diff --git a/Blog/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll b/Blog/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll
new file mode 100644
index 0000000..4d638b3
Binary files /dev/null and b/Blog/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll differ
diff --git a/Blog/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml b/Blog/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml
new file mode 100644
index 0000000..1a49351
--- /dev/null
+++ b/Blog/bin/Microsoft.CodeDom.Providers.DotNetCompilerPlatform.xml
@@ -0,0 +1,40 @@
+
+
+
+ Microsoft.CodeDom.Providers.DotNetCompilerPlatform
+
+
+
+
+ Provides access to instances of the .NET Compiler Platform C# code generator and code compiler.
+
+
+
+
+ Default Constructor
+
+
+
+
+ Gets an instance of the .NET Compiler Platform C# code compiler.
+
+ An instance of the .NET Compiler Platform C# code compiler
+
+
+
+ Provides access to instances of the .NET Compiler Platform VB code generator and code compiler.
+
+
+
+
+ Default Constructor
+
+
+
+
+ Gets an instance of the .NET Compiler Platform VB code compiler.
+
+ An instance of the .NET Compiler Platform VB code compiler
+
+
+
diff --git a/Blog/bin/Microsoft.Owin.Host.SystemWeb.dll b/Blog/bin/Microsoft.Owin.Host.SystemWeb.dll
new file mode 100644
index 0000000..00bc448
Binary files /dev/null and b/Blog/bin/Microsoft.Owin.Host.SystemWeb.dll differ
diff --git a/Blog/bin/Microsoft.Owin.Host.SystemWeb.xml b/Blog/bin/Microsoft.Owin.Host.SystemWeb.xml
new file mode 100644
index 0000000..c164a16
--- /dev/null
+++ b/Blog/bin/Microsoft.Owin.Host.SystemWeb.xml
@@ -0,0 +1,526 @@
+
+
+
+ Microsoft.Owin.Host.SystemWeb
+
+
+
+
+ Locates the startup class based on the following convention:
+ AssemblyName.Startup, with a method named Configuration
+
+
+
+
+
+
+
+
+
+ Allows for a fallback loader to be specified.
+
+
+
+
+
+ Allows for a fallback loader and a Dependency Injection activator to be specified.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Executes the loader, searching for the entry point by name.
+
+ The name of the assembly and type entry point
+
+
+
+
+
+
+
+
+
+
+
+
+ A default fallback loader that does nothing.
+
+
+
+
+ A placeholder method that always returns null.
+
+
+
+ null.
+
+
+
+ A singleton instance of the NullLoader type.
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to For the app startup parameter value '{0}', the assembly '{1}' was not found..
+
+
+
+
+ Looks up a localized string similar to For the app startup parameter value '{0}', the class '{1}' was not found in assembly '{2}'..
+
+
+
+
+ Looks up a localized string similar to The OwinStartup attribute discovered in assembly '{0}' referencing startup type '{1}' conflicts with the attribute in assembly '{2}' referencing startup type '{3}' because they have the same FriendlyName '{4}'. Remove or rename one of the attributes, or reference the desired type directly..
+
+
+
+
+ Looks up a localized string similar to The discovered startup type '{0}' conflicts with the type '{1}'. Remove or rename one of the types, or reference the desired type directly..
+
+
+
+
+ Looks up a localized string similar to The OwinStartupAttribute.FriendlyName value '{0}' does not match the given value '{1}' in Assembly '{2}'..
+
+
+
+
+ Looks up a localized string similar to No '{0}' method was found in class '{1}'..
+
+
+
+
+ Looks up a localized string similar to No assembly found containing a Startup or [AssemblyName].Startup class..
+
+
+
+
+ Looks up a localized string similar to No assembly found containing an OwinStartupAttribute..
+
+
+
+
+ Looks up a localized string similar to The OwinStartupAttribute.StartupType value is empty in Assembly '{0}'..
+
+
+
+
+ Looks up a localized string similar to The type '{0}' referenced from assembly '{1}' does not define a property 'StartupType' of type 'Type'..
+
+
+
+
+ Looks up a localized string similar to The given type or method '{0}' was not found. Try specifying the Assembly..
+
+
+
+
+ Looks up a localized string similar to The '{0}' method on class '{1}' does not have the expected signature 'void {0}(IAppBuilder)'..
+
+
+
+
+ Used to provide the data protection services that are derived from the MachineKey API. It is the best choice of
+ data protection when you application is hosted by ASP.NET and all servers in the farm are running with the same Machine Key values.
+
+
+
+
+ Returns a new instance of IDataProtection for the provider.
+
+ Additional entropy used to ensure protected data may only be unprotected for the correct purposes.
+ An instance of a data protection service
+
+
+
+ Provides extension methods for .
+
+
+
+
+ Gets the for the current request.
+
+
+
+
+
+
+ Gets the for the current request.
+
+
+
+
+
+
+ Provides extension methods for .
+
+
+
+
+ Gets the for the current request.
+
+
+
+
+
+
+ Gets the for the current request.
+
+
+
+
+
+
+ Processes requests from System.Web as OWIN requests.
+
+
+
+
+ Processes requests using the default OWIN application.
+
+
+
+
+ Initiates an asynchronous call to the HTTP handler.
+
+
+ An System.Web.HttpContextBase object that provides references to intrinsic server
+ objects (for example, Request, Response, Session, and Server) used to service
+ HTTP requests.
+
+
+ The System.AsyncCallback to call when the asynchronous method call is complete.
+ If callback is null, the delegate is not called.
+
+
+ Any extra data needed to process the request.
+
+
+ An System.IAsyncResult that contains information about the status of the process.
+
+
+
+
+ Provides an asynchronous process End method when the process ends.
+
+
+ An System.IAsyncResult that contains information about the status of the process.
+
+
+
+
+ Gets a value indicating whether another request can use the System.Web.IHttpHandler instance.
+
+
+ true.
+
+
+
+
+ Processes a route through an OWIN pipeline.
+
+
+
+
+ Initialize an OwinRouteHandler
+
+ The method to initialize the pipeline that processes requests for the route.
+
+
+
+ Provides the object that processes the request.
+
+
+ An object that processes the request.
+
+ An object that encapsulates information about the request.
+
+
+
+ Registers the OWIN request processing module at application startup.
+
+
+
+
+ Registers the OWIN request processing module.
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to The following errors occurred while attempting to load the app..
+
+
+
+
+ Looks up a localized string similar to Cannot register for 'OnSendingHeaders' event after response headers have been sent..
+
+
+
+
+ Looks up a localized string similar to The key '{0}' is already present in the dictionary..
+
+
+
+
+ Looks up a localized string similar to To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config..
+
+
+
+
+ Looks up a localized string similar to To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config..
+
+
+
+
+ Looks up a localized string similar to The given stage '{0}' is not supported..
+
+
+
+
+ Looks up a localized string similar to No owin.Environment item was found in the context..
+
+
+
+
+ Looks up a localized string similar to An exception was thrown while trying to load the client certificate:.
+
+
+
+
+ Looks up a localized string similar to The OWIN entry point threw an exception:.
+
+
+
+
+ Looks up a localized string similar to The IAsyncResult callback for OwinCallHandler threw an exception:.
+
+
+
+
+ Looks up a localized string similar to Failed to register the OWIN module:.
+
+
+
+
+ Looks up a localized string similar to The application threw one or more exceptions when notified of a client disconnect:.
+
+
+
+
+ Looks up a localized string similar to Shutdown detection setup failed:.
+
+
+
+
+ Looks up a localized string similar to One or more exceptions were thrown during app pool shutdown:.
+
+
+
+
+ Looks up a localized string similar to An exception was thrown from a timer callback:.
+
+
+
+
+ Looks up a localized string similar to An exception was thrown while processing the WebSocket:.
+
+
+
+
+ Looks up a localized string similar to Support for WebSockets has been detected..
+
+
+
+
+ Looks up a localized string similar to No support for WebSockets has been detected..
+
+
+
+
+ Provides extension methods for registering OWIN applications as System.Web routes.
+
+
+
+
+ Registers a route for the default OWIN application.
+
+ The route collection.
+ The route path to map to the default OWIN application.
+ The created route.
+
+
+
+ Registers a route for a specific OWIN application entry point.
+
+ The OWIN application entry point type.
+ The route collection.
+ The route path to map to the given OWIN application.
+ The OWIN application entry point.
+ The created route.
+
+
+
+ Invokes the System.Action startup delegate to build the OWIN application
+ and then registers a route for it on the given path.
+
+ The route collection.
+ The route path to map to the given OWIN application.
+ A System.Action delegate invoked to build the OWIN application.
+ The created route.
+
+
+
+ Registers a route for the default OWIN application.
+
+ The route collection.
+ The given name of the route.
+ The route path to map to the default OWIN application.
+ The created route.
+
+
+
+ Registers a route for a specific OWIN application entry point.
+
+ The OWIN application entry point type.
+ The route collection.
+ The given name of the route.
+ The route path to map to the given OWIN application.
+ The OWIN application entry point.
+ The created route.
+
+
+
+ Invokes the System.Action startup delegate to build the OWIN application
+ and then registers a route for it on the given path.
+
+ The route collection.
+ The given name of the route.
+ The route path to map to the given OWIN application.
+ A System.Action delegate invoked to build the OWIN application.
+ The created route.
+
+
+
+ Provides a way to define routes for an OWIN pipeline.
+
+ The route collection.
+ The URL pattern for the route.
+ The method to initialize the pipeline that processes requests for the route.
+
+
+
+ Provides a way to define routes for an OWIN pipeline.
+
+ The route collection.
+ The URL pattern for the route.
+ The values to use if the URL does not contain all the parameters.
+ The method to initialize the pipeline that processes requests for the route.
+
+
+
+ Provides a way to define routes for an OWIN pipeline.
+
+ The route collection.
+ The URL pattern for the route.
+ The values to use if the URL does not contain all the parameters.
+ A regular expression that specifies valid values for a URL parameter.
+ The method to initialize the pipeline that processes requests for the route.
+
+
+
+ Provides a way to define routes for an OWIN pipeline.
+
+ The route collection.
+ The URL pattern for the route.
+ The values to use if the URL does not contain all the parameters.
+ A regular expression that specifies valid values for a URL parameter.
+ Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request.
+ The method to initialize the pipeline that processes requests for the route.
+
+
+
+ Provides a way to define routes for an OWIN pipeline.
+
+ The route collection.
+ The name of the route.
+ The URL pattern for the route.
+ The method to initialize the pipeline that processes requests for the route.
+
+
+
+ Provides a way to define routes for an OWIN pipeline.
+
+ The route collection.
+ The name of the route.
+ The URL pattern for the route.
+ The values to use if the URL does not contain all the parameters.
+ The method to initialize the pipeline that processes requests for the route.
+
+
+
+ Provides a way to define routes for an OWIN pipeline.
+
+ The route collection.
+ The name of the route.
+ The URL pattern for the route.
+ The values to use if the URL does not contain all the parameters.
+ A regular expression that specifies valid values for a URL parameter.
+ The method to initialize the pipeline that processes requests for the route.
+
+
+
+ Provides a way to define routes for an OWIN pipeline.
+
+ The route collection.
+ The name of the route.
+ The URL pattern for the route.
+ The values to use if the URL does not contain all the parameters.
+ A regular expression that specifies valid values for a URL parameter.
+ Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request.
+ The method to initialize the pipeline that processes requests for the route.
+
+
+
diff --git a/Blog/bin/Microsoft.Owin.Security.Cookies.dll b/Blog/bin/Microsoft.Owin.Security.Cookies.dll
new file mode 100644
index 0000000..431cee6
Binary files /dev/null and b/Blog/bin/Microsoft.Owin.Security.Cookies.dll differ
diff --git a/Blog/bin/Microsoft.Owin.Security.Cookies.xml b/Blog/bin/Microsoft.Owin.Security.Cookies.xml
new file mode 100644
index 0000000..50815b0
--- /dev/null
+++ b/Blog/bin/Microsoft.Owin.Security.Cookies.xml
@@ -0,0 +1,545 @@
+
+
+
+ Microsoft.Owin.Security.Cookies
+
+
+
+
+ Default values related to cookie-based authentication middleware
+
+
+
+
+ The default value used for CookieAuthenticationOptions.AuthenticationType
+
+
+
+
+ The prefix used to provide a default CookieAuthenticationOptions.CookieName
+
+
+
+
+ The default value of the CookieAuthenticationOptions.ReturnUrlParameter
+
+
+
+
+ The default value used by UseApplicationSignInCookie for the
+ CookieAuthenticationOptions.LoginPath
+
+
+
+
+ The default value used by UseApplicationSignInCookie for the
+ CookieAuthenticationOptions.LogoutPath
+
+
+
+
+ Determines how the identity cookie's security property is set.
+
+
+
+
+ If the URI that provides the cookie is HTTPS, then the cookie will only be returned to the server on
+ subsequent HTTPS requests. Otherwise if the URI that provides the cookie is HTTP, then the cookie will
+ be returned to the server on all HTTP and HTTPS requests. This is the default value because it ensures
+ HTTPS for all authenticated requests on deployed servers, and also supports HTTP for localhost development
+ and for servers that do not have HTTPS support.
+
+
+
+
+ CookieOptions.Secure is never marked true. Use this value when your login page is HTTPS, but other pages
+ on the site which are HTTP also require authentication information. This setting is not recommended because
+ the authentication information provided with an HTTP request may be observed and used by other computers
+ on your local network or wireless connection.
+
+
+
+
+ CookieOptions.Secure is always marked true. Use this value when your login page and all subsequent pages
+ requiring the authenticated identity are HTTPS. Local development will also need to be done with HTTPS urls.
+
+
+
+
+ Extension methods provided by the cookies authentication middleware
+
+
+
+
+ Adds a cookie-based authentication middleware to your web application pipeline.
+
+ The IAppBuilder passed to your configuration method
+ An options class that controls the middleware behavior
+ The original app parameter
+
+
+
+ Adds a cookie-based authentication middleware to your web application pipeline.
+
+ The IAppBuilder passed to your configuration method
+ An options class that controls the middleware behavior
+
+ The original app parameter
+
+
+
+ Cookie based authentication middleware
+
+
+
+
+ Initializes a
+
+ The next middleware in the OWIN pipeline to invoke
+ The OWIN application
+ Configuration options for the middleware
+
+
+
+ Provides the object for processing authentication-related requests.
+
+ An configured with the supplied to the constructor.
+
+
+
+ Contains the options used by the CookiesAuthenticationMiddleware
+
+
+
+
+ Create an instance of the options initialized with the default values
+
+
+
+
+ Determines the cookie name used to persist the identity. The default value is ".AspNet.Cookies".
+ This value should be changed if you change the name of the AuthenticationType, especially if your
+ system uses the cookie authentication middleware multiple times.
+
+
+
+
+ Determines the domain used to create the cookie. Is not provided by default.
+
+
+
+
+ Determines the path used to create the cookie. The default value is "/" for highest browser compatability.
+
+
+
+
+ Determines if the browser should allow the cookie to be accessed by client-side javascript. The
+ default is true, which means the cookie will only be passed to http requests and is not made available
+ to script on the page.
+
+
+
+
+ Determines if the cookie should only be transmitted on HTTPS request. The default is to limit the cookie
+ to HTTPS requests if the page which is doing the SignIn is also HTTPS. If you have an HTTPS sign in page
+ and portions of your site are HTTP you may need to change this value.
+
+
+
+
+ Controls how much time the cookie will remain valid from the point it is created. The expiration
+ information is in the protected cookie ticket. Because of that an expired cookie will be ignored
+ even if it is passed to the server after the browser should have purged it
+
+
+
+
+ The SlidingExpiration is set to true to instruct the middleware to re-issue a new cookie with a new
+ expiration time any time it processes a request which is more than halfway through the expiration window.
+
+
+
+
+ The LoginPath property informs the middleware that it should change an outgoing 401 Unauthorized status
+ code into a 302 redirection onto the given login path. The current url which generated the 401 is added
+ to the LoginPath as a query string parameter named by the ReturnUrlParameter. Once a request to the
+ LoginPath grants a new SignIn identity, the ReturnUrlParameter value is used to redirect the browser back
+ to the url which caused the original unauthorized status code.
+
+ If the LoginPath is null or empty, the middleware will not look for 401 Unauthorized status codes, and it will
+ not redirect automatically when a login occurs.
+
+
+
+
+ If the LogoutPath is provided the middleware then a request to that path will redirect based on the ReturnUrlParameter.
+
+
+
+
+ The ReturnUrlParameter determines the name of the query string parameter which is appended by the middleware
+ when a 401 Unauthorized status code is changed to a 302 redirect onto the login path. This is also the query
+ string parameter looked for when a request arrives on the login path or logout path, in order to return to the
+ original url after the action is performed.
+
+
+
+
+ The Provider may be assigned to an instance of an object created by the application at startup time. The middleware
+ calls methods on the provider which give the application control at certain points where processing is occuring.
+ If it is not provided a default instance is supplied which does nothing when the methods are called.
+
+
+
+
+ The TicketDataFormat is used to protect and unprotect the identity and other properties which are stored in the
+ cookie value. If it is not provided a default data handler is created using the data protection service contained
+ in the IAppBuilder.Properties. The default data protection service is based on machine key when running on ASP.NET,
+ and on DPAPI when running in a different process.
+
+
+
+
+ The SystemClock provides access to the system's current time coordinates. If it is not provided a default instance is
+ used which calls DateTimeOffset.UtcNow. This is typically not replaced except for unit testing.
+
+
+
+
+ The component used to get cookies from the request or set them on the response.
+
+ ChunkingCookieManager will be used by default.
+
+
+
+
+ An optional container in which to store the identity across requests. When used, only a session identifier is sent
+ to the client. This can be used to mitigate potential problems with very large identities.
+
+
+
+
+ Context passed when a Challenge, SignIn, or SignOut causes a redirect in the cookie middleware
+
+
+
+
+ Creates a new context object.
+
+ The OWIN request context
+ The cookie middleware options
+ The initial redirect URI
+
+
+
+ Gets or Sets the URI used for the redirect operation.
+
+
+
+
+ This default implementation of the ICookieAuthenticationProvider may be used if the
+ application only needs to override a few of the interface methods. This may be used as a base class
+ or may be instantiated directly.
+
+
+
+
+ Specifies callback methods which the invokes to enable developer control over the authentication process. />
+
+
+
+
+ Called each time a request identity has been validated by the middleware. By implementing this method the
+ application may alter or reject the identity which has arrived with the request.
+
+ Contains information about the login session as well as the user .
+ A representing the completed operation.
+
+
+
+ Called when an endpoint has provided sign in information before it is converted into a cookie. By
+ implementing this method the claims and extra information that go into the ticket may be altered.
+
+ Contains information about the login session as well as the user .
+
+
+
+ Called when an endpoint has provided sign in information after it is converted into a cookie.
+
+ Contains information about the login session as well as the user .
+
+
+
+ Called when a Challenge, SignIn, or SignOut causes a redirect in the cookie middleware
+
+ Contains information about the event
+
+
+
+ Called during the sign-out flow to augment the cookie cleanup process.
+
+ Contains information about the login session as well as information about the authentication cookie.
+
+
+
+ Called when an exception occurs during request or response processing.
+
+ Contains information about the exception that occurred
+
+
+
+ Create a new instance of the default provider.
+
+
+
+
+ Implements the interface method by invoking the related delegate method
+
+
+
+
+
+
+ Implements the interface method by invoking the related delegate method
+
+
+
+
+
+ Implements the interface method by invoking the related delegate method
+
+
+
+
+
+ Implements the interface method by invoking the related delegate method
+
+
+
+
+
+ Implements the interface method by invoking the related delegate method
+
+ Contains information about the event
+
+
+
+ Implements the interface method by invoking the related delegate method
+
+ Contains information about the event
+
+
+
+ A delegate assigned to this property will be invoked when the related method is called
+
+
+
+
+ A delegate assigned to this property will be invoked when the related method is called
+
+
+
+
+ A delegate assigned to this property will be invoked when the related method is called
+
+
+
+
+ A delegate assigned to this property will be invoked when the related method is called
+
+
+
+
+ A delegate assigned to this property will be invoked when the related method is called
+
+
+
+
+ A delegate assigned to this property will be invoked when the related method is called
+
+
+
+
+ Context object passed to the ICookieAuthenticationProvider method Exception.
+
+
+
+
+ Creates a new instance of the context object.
+
+ The OWIN request context
+ The middleware options
+ The location of the exception
+ The exception thrown.
+ The current ticket, if any.
+
+
+
+ The code path the exception occurred in.
+
+
+
+
+ The exception thrown.
+
+
+
+
+ True if the exception should be re-thrown (default), false if it should be suppressed.
+
+
+
+
+ The current authentication ticket, if any.
+ In the AuthenticateAsync code path, if the given exception is not re-thrown then this ticket
+ will be returned to the application. The ticket may be replaced if needed.
+
+
+
+
+ The code paths where exceptions may be reported.
+
+
+
+
+ The exception was reported in the AuthenticateAsync code path.
+
+
+
+
+ The exception was reported in the ApplyResponseGrant code path, during sign-in, sign-out, or refresh.
+
+
+
+
+ The exception was reported in the ApplyResponseChallenge code path, during redirect generation.
+
+
+
+
+ Context object passed to the ICookieAuthenticationProvider method ResponseSignedIn.
+
+
+
+
+ Creates a new instance of the context object.
+
+ The OWIN request context
+ The middleware options
+ Initializes AuthenticationType property
+ Initializes Identity property
+ Initializes Properties property
+
+
+
+ The name of the AuthenticationType creating a cookie
+
+
+
+
+ Contains the claims that were converted into the outgoing cookie.
+
+
+
+
+ Contains the extra data that was contained in the outgoing cookie.
+
+
+
+
+ Context object passed to the ICookieAuthenticationProvider method ResponseSignIn.
+
+
+
+
+ Creates a new instance of the context object.
+
+ The OWIN request context
+ The middleware options
+ Initializes AuthenticationType property
+ Initializes Identity property
+ Initializes Extra property
+ Initializes options for the authentication cookie.
+
+
+
+ The name of the AuthenticationType creating a cookie
+
+
+
+
+ Contains the claims about to be converted into the outgoing cookie.
+ May be replaced or altered during the ResponseSignIn call.
+
+
+
+
+ Contains the extra data about to be contained in the outgoing cookie.
+ May be replaced or altered during the ResponseSignIn call.
+
+
+
+
+ The options for creating the outgoing cookie.
+ May be replace or altered during the ResponseSignIn call.
+
+
+
+
+ Context object passed to the ICookieAuthenticationProvider method ResponseSignOut
+
+
+
+
+
+
+
+
+
+
+
+
+ The options for creating the outgoing cookie.
+ May be replace or altered during the ResponseSignOut call.
+
+
+
+
+ Context object passed to the ICookieAuthenticationProvider method ValidateIdentity.
+
+
+
+
+ Creates a new instance of the context object.
+
+
+ Contains the initial values for identity and extra data
+
+
+
+
+ Called to replace the claims identity. The supplied identity will replace the value of the
+ Identity property, which determines the identity of the authenticated request.
+
+ The identity used as the replacement
+
+
+
+ Called to reject the incoming identity. This may be done if the application has determined the
+ account is no longer active, and the request should be treated as if it was anonymous.
+
+
+
+
+ Contains the claims identity arriving with the request. May be altered to change the
+ details of the authenticated user.
+
+
+
+
+ Contains the extra meta-data arriving with the request ticket. May be altered.
+
+
+
+
diff --git a/Blog/bin/Microsoft.Owin.Security.OAuth.dll b/Blog/bin/Microsoft.Owin.Security.OAuth.dll
new file mode 100644
index 0000000..8f95e30
Binary files /dev/null and b/Blog/bin/Microsoft.Owin.Security.OAuth.dll differ
diff --git a/Blog/bin/Microsoft.Owin.Security.OAuth.xml b/Blog/bin/Microsoft.Owin.Security.OAuth.xml
new file mode 100644
index 0000000..c480bc8
--- /dev/null
+++ b/Blog/bin/Microsoft.Owin.Security.OAuth.xml
@@ -0,0 +1,1637 @@
+
+
+
+ Microsoft.Owin.Security.OAuth
+
+
+
+
+ Data object used by TokenEndpointRequest which contains parameter information when the "grant_type" is unrecognized.
+
+
+
+
+ The parameter information when the "grant_type" is unrecognized.
+
+
+
+
+ Data object used by TokenEndpointRequest when the "grant_type" parameter is "refresh_token".
+
+
+
+
+ The value passed to the Token endpoint in the "refresh_token" parameter
+
+
+
+
+ The value passed to the Token endpoint in the "scope" parameter
+
+
+
+
+ Data object used by TokenEndpointRequest when the "grant_type" is "authorization_code".
+
+
+
+
+ The value passed to the Token endpoint in the "code" parameter
+
+
+
+
+ The value passed to the Token endpoint in the "redirect_uri" parameter. This MUST be provided by the caller
+ if the original visit to the Authorize endpoint contained a "redirect_uri" parameter.
+
+
+
+
+ Data object representing the information contained in the query string of an Authorize endpoint request.
+
+
+
+
+ Creates a new instance populated with values from the query string parameters.
+
+ Query string parameters from a request.
+
+
+
+ True if the "response_type" query string contains the passed responseType.
+ See also, http://openid.net/specs/oauth-v2-multiple-response-types-1_0.html
+
+ The responseType that is expected within the "response_type" query string
+ True if the "response_type" query string contains the passed responseType.
+
+
+
+ The "response_type" query string parameter of the Authorize request. Known values are "code" and "token".
+
+
+
+
+ The "response_mode" query string parameter of the Authorize request. Known values are "query", "fragment" and "form_post"
+ See also, http://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html
+
+
+
+
+ The "client_id" query string parameter of the Authorize request.
+
+
+
+
+ The "redirect_uri" query string parameter of the Authorize request. May be absent if the server should use the
+ redirect uri known to be registered to the client id.
+
+
+
+
+ The "scope" query string parameter of the Authorize request. May be absent if the server should use default scopes.
+
+
+
+
+ The "scope" query string parameter of the Authorize request. May be absent if the client does not require state to be
+ included when returning to the RedirectUri.
+
+
+
+
+ True if the "response_type" query string parameter is "code".
+ See also, http://tools.ietf.org/html/rfc6749#section-4.1.1
+
+
+
+
+ True if the "response_type" query string parameter is "token".
+ See also, http://tools.ietf.org/html/rfc6749#section-4.2.1
+
+
+
+
+ Data object representing the information contained in form encoded body of a Token endpoint request.
+
+
+
+
+ Creates a new instance populated with values from the form encoded body parameters.
+
+ Form encoded body parameters from a request.
+
+
+
+ The form encoded body parameters of the Token endpoint request
+
+
+
+
+ The "grant_type" parameter of the Token endpoint request. This parameter is required.
+
+
+
+
+ The "client_id" parameter of the Token endpoint request. This parameter is optional. It might not
+ be present if the request is authenticated in a different way, for example, by using basic authentication
+ credentials.
+
+
+
+
+ Data object available when the "grant_type" is "authorization_code".
+ See also http://tools.ietf.org/html/rfc6749#section-4.1.3
+
+
+
+
+ Data object available when the "grant_type" is "client_credentials".
+ See also http://tools.ietf.org/html/rfc6749#section-4.4.2
+
+
+
+
+ Data object available when the "grant_type" is "refresh_token".
+ See also http://tools.ietf.org/html/rfc6749#section-6
+
+
+
+
+ Data object available when the "grant_type" is "password".
+ See also http://tools.ietf.org/html/rfc6749#section-4.3.2
+
+
+
+
+ Data object available when the "grant_type" is unrecognized.
+ See also http://tools.ietf.org/html/rfc6749#section-4.5
+
+
+
+
+ True when the "grant_type" is "authorization_code".
+ See also http://tools.ietf.org/html/rfc6749#section-4.1.3
+
+
+
+
+ True when the "grant_type" is "client_credentials".
+ See also http://tools.ietf.org/html/rfc6749#section-4.4.2
+
+
+
+
+ True when the "grant_type" is "refresh_token".
+ See also http://tools.ietf.org/html/rfc6749#section-6
+
+
+
+
+ True when the "grant_type" is "password".
+ See also http://tools.ietf.org/html/rfc6749#section-4.3.2
+
+
+
+
+ True when the "grant_type" is unrecognized.
+ See also http://tools.ietf.org/html/rfc6749#section-4.5
+
+
+
+
+ Data object used by TokenEndpointRequest when the "grant_type" is "client_credentials".
+
+
+
+
+ The value passed to the Token endpoint in the "scope" parameter
+
+
+
+
+ Data object used by TokenEndpointRequest when the "grant_type" is "password".
+
+
+
+
+ The value passed to the Token endpoint in the "username" parameter
+
+
+
+
+ The value passed to the Token endpoint in the "password" parameter
+
+
+
+
+ The value passed to the Token endpoint in the "scope" parameter
+
+
+
+
+ Extension methods to add Authorization Server capabilities to an OWIN pipeline
+
+
+
+
+ Adds OAuth2 Authorization Server capabilities to an OWIN web application. This middleware
+ performs the request processing for the Authorize and Token endpoints defined by the OAuth2 specification.
+ See also http://tools.ietf.org/html/rfc6749
+
+ The web application builder
+ Options which control the behavior of the Authorization Server.
+ The application builder
+
+
+
+ Options class provides information needed to control Authorization Server middleware behavior
+
+
+
+
+ Creates an instance of authorization server options with default values.
+
+
+
+
+ The request path where client applications will redirect the user-agent in order to
+ obtain user consent to issue a token. Must begin with a leading slash, like "/Authorize".
+
+
+
+
+ The request path client applications communicate with directly as part of the OAuth protocol.
+ Must begin with a leading slash, like "/Token". If the client is issued a client_secret, it must
+ be provided to this endpoint.
+
+
+
+
+ The object provided by the application to process events raised by the Authorization Server middleware.
+ The application may implement the interface fully, or it may create an instance of OAuthAuthorizationServerProvider
+ and assign delegates only to the events it wants to process.
+
+
+
+
+ The data format used to protect and unprotect the information contained in the authorization code.
+ If not provided by the application the default data protection provider depends on the host server.
+ The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
+ servers will use DPAPI data protection.
+
+
+
+
+ The data format used to protect the information contained in the access token.
+ If not provided by the application the default data protection provider depends on the host server.
+ The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
+ servers will use DPAPI data protection. If a different access token
+ provider or format is assigned, a compatible instance must be assigned to the OAuthBearerAuthenticationOptions.AccessTokenProvider
+ or OAuthBearerAuthenticationOptions.AccessTokenFormat property of the resource server.
+
+
+
+
+ The data format used to protect and unprotect the information contained in the refresh token.
+ If not provided by the application the default data protection provider depends on the host server.
+ The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
+ servers will use DPAPI data protection.
+
+
+
+
+ The period of time the authorization code remains valid after being issued. The default is five minutes.
+ This time span must also take into account clock synchronization between servers in a web farm, so a very
+ brief value could result in unexpectedly expired tokens.
+
+
+
+
+ The period of time the access token remains valid after being issued. The default is twenty minutes.
+ The client application is expected to refresh or acquire a new access token after the token has expired.
+
+
+
+
+ Produces a single-use authorization code to return to the client application. For the OAuth server to be secure the
+ application MUST provide an instance for AuthorizationCodeProvider where the token produced by the OnCreate or OnCreateAsync event
+ is considered valid for only one call to OnReceive or OnReceiveAsync.
+
+
+
+
+ Produces a bearer token the client application will typically be providing to resource server as the authorization bearer
+ http request header. If not provided the token produced on the server's default data protection. If a different access token
+ provider or format is assigned, a compatible instance must be assigned to the OAuthBearerAuthenticationOptions.AccessTokenProvider
+ or OAuthBearerAuthenticationOptions.AccessTokenFormat property of the resource server.
+
+
+
+
+ Produces a refresh token which may be used to produce a new access token when needed. If not provided the authorization server will
+ not return refresh tokens from the /Token endpoint.
+
+
+
+
+ Set to true if the web application is able to render error messages on the /Authorize endpoint. This is only needed for cases where
+ the browser is not redirected back to the client application, for example, when the client_id or redirect_uri are incorrect. The
+ /Authorize endpoint should expect to see "oauth.Error", "oauth.ErrorDescription", "oauth.ErrorUri" properties added to the owin environment.
+
+
+
+
+ Used to know what the current clock time is when calculating or validating token expiration. When not assigned default is based on
+ DateTimeOffset.UtcNow. This is typically needed only for unit testing.
+
+
+
+
+ True to allow authorize and token requests to arrive on http URI addresses, and to allow incoming
+ redirect_uri authorize request parameter to have http URI addresses.
+
+
+
+
+ Endpoint responsible for Form Post Response Mode
+ See also, http://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html
+
+
+
+
+ Authorization Server middleware component which is added to an OWIN pipeline. This class is not
+ created by application code directly, instead it is added by calling the the IAppBuilder UseOAuthAuthorizationServer
+ extension method.
+
+
+
+
+ Authorization Server middleware component which is added to an OWIN pipeline. This constructor is not
+ called by application code directly, instead it is added by calling the the IAppBuilder UseOAuthAuthorizationServer
+ extension method.
+
+
+
+
+ Called by the AuthenticationMiddleware base class to create a per-request handler.
+
+ A new instance of the request handler
+
+
+
+ Extension methods to add OAuth Bearer authentication capabilities to an OWIN application pipeline
+
+
+
+
+ Adds Bearer token processing to an OWIN application pipeline. This middleware understands appropriately
+ formatted and secured tokens which appear in the request header. If the Options.AuthenticationMode is Active, the
+ claims within the bearer token are added to the current request's IPrincipal User. If the Options.AuthenticationMode
+ is Passive, then the current request is not modified, but IAuthenticationManager AuthenticateAsync may be used at
+ any time to obtain the claims from the request's bearer token.
+ See also http://tools.ietf.org/html/rfc6749
+
+ The web application builder
+ Options which control the processing of the bearer header.
+ The application builder
+
+
+
+ Bearer authentication middleware component which is added to an OWIN pipeline. This class is not
+ created by application code directly, instead it is added by calling the the IAppBuilder UseOAuthBearerAuthentication
+ extension method.
+
+
+
+
+ Bearer authentication component which is added to an OWIN pipeline. This constructor is not
+ called by application code directly, instead it is added by calling the the IAppBuilder UseOAuthBearerAuthentication
+ extension method.
+
+
+
+
+ Called by the AuthenticationMiddleware base class to create a per-request handler.
+
+ A new instance of the request handler
+
+
+
+ Options class provides information needed to control Bearer Authentication middleware behavior
+
+
+
+
+ Creates an instance of bearer authentication options with default values.
+
+
+
+
+ Determines what realm value is included when the bearer middleware adds a response header to an unauthorized request.
+ If not assigned, the response header does not have a realm.
+
+
+
+
+ Specifies the full challenge to send to the client, and should start with "Bearer". If a challenge is provided then the
+ Realm property is ignored. If no challenge is specified then one is created using "Bearer" and the value of the Realm
+ property.
+
+
+
+
+ The object provided by the application to process events raised by the bearer authentication middleware.
+ The application may implement the interface fully, or it may create an instance of OAuthBearerAuthenticationProvider
+ and assign delegates only to the events it wants to process.
+
+
+
+
+ The data format used to un-protect the information contained in the access token.
+ If not provided by the application the default data protection provider depends on the host server.
+ The SystemWeb host on IIS will use ASP.NET machine key data protection, and HttpListener and other self-hosted
+ servers will use DPAPI data protection. If a different access token
+ provider or format is assigned, a compatible instance must be assigned to the OAuthAuthorizationServerOptions.AccessTokenProvider
+ and OAuthAuthorizationServerOptions.AccessTokenFormat of the authorization server.
+
+
+
+
+ Receives the bearer token the client application will be providing to web application. If not provided the token
+ produced on the server's default data protection by using the AccessTokenFormat. If a different access token
+ provider or format is assigned, a compatible instance must be assigned to the OAuthAuthorizationServerOptions.AccessTokenProvider
+ and OAuthAuthorizationServerOptions.AccessTokenFormat of the authorization server.
+
+
+
+
+ Used to know what the current clock time is when calculating or validating token expiration. When not assigned default is based on
+ DateTimeOffset.UtcNow. This is typically needed only for unit testing.
+
+
+
+
+ Default values used by authorization server and bearer authentication.
+
+
+
+
+ Default value for AuthenticationType property in the OAuthBearerAuthenticationOptions and
+ OAuthAuthorizationServerOptions.
+
+
+
+
+ Provides context information used at the end of a token-endpoint-request.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+
+ Issues the token.
+
+
+
+
+
+
+ Gets the identity of the resource owner.
+
+
+
+
+ Dictionary containing the state of the authentication session.
+
+
+
+
+ The issued Access-Token
+
+
+
+
+ Gets information about the token endpoint request.
+
+
+
+
+ Gets whether or not the token should be issued.
+
+
+
+
+ Enables additional values to be appended to the token response.
+
+
+
+
+ Base class used for certain event contexts
+
+
+
+
+ Base class used for certain event contexts
+
+
+
+
+ Initializes base class used for certain event contexts
+
+
+
+
+ Marks this context as validated by the application. IsValidated becomes true and HasError becomes false as a result of calling.
+
+ True if the validation has taken effect.
+
+
+
+ Marks this context as not validated by the application. IsValidated and HasError become false as a result of calling.
+
+
+
+
+ Marks this context as not validated by the application and assigns various error information properties.
+ HasError becomes true and IsValidated becomes false as a result of calling.
+
+ Assigned to the Error property
+
+
+
+ Marks this context as not validated by the application and assigns various error information properties.
+ HasError becomes true and IsValidated becomes false as a result of calling.
+
+ Assigned to the Error property
+ Assigned to the ErrorDescription property
+
+
+
+ Marks this context as not validated by the application and assigns various error information properties.
+ HasError becomes true and IsValidated becomes false as a result of calling.
+
+ Assigned to the Error property
+ Assigned to the ErrorDescription property
+ Assigned to the ErrorUri property
+
+
+
+ True if application code has called any of the Validate methods on this context.
+
+
+
+
+ True if application code has called any of the SetError methods on this context.
+
+
+
+
+ The error argument provided when SetError was called on this context. This is eventually
+ returned to the client app as the OAuth "error" parameter.
+
+
+
+
+ The optional errorDescription argument provided when SetError was called on this context. This is eventually
+ returned to the client app as the OAuth "error_description" parameter.
+
+
+
+
+ The optional errorUri argument provided when SetError was called on this context. This is eventually
+ returned to the client app as the OAuth "error_uri" parameter.
+
+
+
+
+ Initializes base class used for certain event contexts
+
+
+
+
+ The "client_id" parameter for the current request. The Authorization Server application is responsible for
+ validating this value identifies a registered client.
+
+
+
+
+ Base class used for certain event contexts
+
+
+
+
+ Initializes base class used for certain event contexts
+
+
+
+
+ Replaces the ticket information on this context and marks it as as validated by the application.
+ IsValidated becomes true and HasError becomes false as a result of calling.
+
+ Assigned to the Ticket property
+ True if the validation has taken effect.
+
+
+
+ Alters the ticket information on this context and marks it as as validated by the application.
+ IsValidated becomes true and HasError becomes false as a result of calling.
+
+ Assigned to the Ticket.Identity property
+ True if the validation has taken effect.
+
+
+
+ Contains the identity and properties for the application to authenticate. If the Validated method
+ is invoked with an AuthenticationTicket or ClaimsIdentity argument, that new value is assigned to
+ this property in addition to changing IsValidated to true.
+
+
+
+
+ Provides context information when processing an Authorization Response
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+
+ Gets the identity of the resource owner.
+
+
+
+
+ Dictionary containing the state of the authentication session.
+
+
+
+
+ Gets information about the authorize endpoint request.
+
+
+
+
+ Enables additional values to be appended to the token response.
+
+
+
+
+ The serialized Access-Token. Depending on the flow, it can be null.
+
+
+
+
+ The created Authorization-Code. Depending on the flow, it can be null.
+
+
+
+
+ An event raised after the Authorization Server has processed the request, but before it is passed on to the web application.
+ Calling RequestCompleted will prevent the request from passing on to the web application.
+
+
+
+
+ Creates an instance of this context
+
+
+
+
+ Gets OAuth authorization request data.
+
+
+
+
+ Interface for OAuthAuthorizationServerOptions.Provider property used by Authorization
+ Server to communicate with the web application while processing requests.
+
+
+
+
+ Called to determine if an incoming request is treated as an Authorize or Token
+ endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath
+ are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint
+ will already be true if the request path matches.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri"
+ registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this
+ call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called
+ with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI.
+ If context.Validated is not called the request will not proceed further.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are
+ present on the request. If the web application accepts Basic authentication credentials,
+ context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web
+ application accepts "client_id" and "client_secret" as form encoded POST parameters,
+ context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body.
+ If context.Validated is not called the request will not proceed further.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called for each request to the Authorize endpoint to determine if the request is valid and should continue.
+ The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with
+ validated client redirect URI, should continue processing. An application may add any additional constraints.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called for each request to the Token endpoint to determine if the request is valid and should continue.
+ The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with
+ validated client credentials, should continue processing. An application may add any additional constraints.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize
+ endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token".
+ The claims and properties
+ associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization
+ Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different
+ AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token.
+ The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to
+ the access token unmodified.
+ See also http://tools.ietf.org/html/rfc6749#section-4.1.3
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token"
+ along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token".
+ To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties
+ associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the
+ Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may
+ be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to
+ the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to
+ the access token unmodified.
+ See also http://tools.ietf.org/html/rfc6749#section-6
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password
+ credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and
+ optional "refresh_token". If the web application supports the
+ resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an
+ access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated
+ with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers. .
+ The default behavior is to reject this grant type.
+ See also http://tools.ietf.org/html/rfc6749#section-4.3.2
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client
+ application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user.
+ If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call.
+ To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated
+ with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
+ The default behavior is to reject this grant type.
+ See also http://tools.ietf.org/html/rfc6749#section-4.4.2
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called when a request to the Token andpoint arrives with a "grant_type" of any other value. If the application supports custom grant types
+ it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket
+ information the response body is produced in the same way as the other standard grant types. If additional response parameters must be
+ included they may be added in the final TokenEndpoint call.
+ See also http://tools.ietf.org/html/rfc6749#section-4.5
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component
+ responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the
+ response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the
+ Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the
+ context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes
+ to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the
+ appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final
+ modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional
+ response parameters to the Token endpoint's json response body.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called before the AuthorizationEndpoint redirects its response to the caller. The response could be the
+ token, when using implicit flow or the AuthorizationEndpoint when using authorization code flow.
+ An application may implement this call in order to do any final modification of the claims being used
+ to issue access or refresh tokens. This call may also be used in order to add additional
+ response parameters to the authorization endpoint's response.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called before the TokenEndpoint redirects its response to the caller.
+
+
+
+
+
+
+ Default implementation of IOAuthAuthorizationServerProvider used by Authorization
+ Server to communicate with the web application while processing requests. OAuthAuthorizationServerProvider provides some default behavior,
+ may be used as a virtual base class, and offers delegate properties which may be used to
+ handle individual calls without declaring a new class type.
+
+
+
+
+ Creates new instance of default provider behavior
+
+
+
+
+ Called to determine if an incoming request is treated as an Authorize or Token
+ endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath
+ are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint
+ will already be true if the request path matches.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri"
+ registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this
+ call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called
+ with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI.
+ If context.Validated is not called the request will not proceed further.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are
+ present on the request. If the web application accepts Basic authentication credentials,
+ context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web
+ application accepts "client_id" and "client_secret" as form encoded POST parameters,
+ context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body.
+ If context.Validated is not called the request will not proceed further.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called for each request to the Authorize endpoint to determine if the request is valid and should continue.
+ The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with
+ validated client redirect URI, should continue processing. An application may add any additional constraints.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called for each request to the Token endpoint to determine if the request is valid and should continue.
+ The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with
+ validated client credentials, should continue processing. An application may add any additional constraints.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize
+ endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token".
+ The claims and properties
+ associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization
+ Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different
+ AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token.
+ The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to
+ the access token unmodified.
+ See also http://tools.ietf.org/html/rfc6749#section-4.1.3
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token"
+ along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token".
+ To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties
+ associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the
+ Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may
+ be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to
+ the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to
+ the access token unmodified.
+ See also http://tools.ietf.org/html/rfc6749#section-6
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password
+ credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and
+ optional "refresh_token". If the web application supports the
+ resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an
+ access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated
+ with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
+ The default behavior is to reject this grant type.
+ See also http://tools.ietf.org/html/rfc6749#section-4.3.2
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client
+ application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user.
+ If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call.
+ To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated
+ with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
+ The default behavior is to reject this grant type.
+ See also http://tools.ietf.org/html/rfc6749#section-4.4.2
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of any other value. If the application supports custom grant types
+ it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket
+ information the response body is produced in the same way as the other standard grant types. If additional response parameters must be
+ included they may be added in the final TokenEndpoint call.
+ See also http://tools.ietf.org/html/rfc6749#section-4.5
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component
+ responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the
+ response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the
+ Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the
+ context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes
+ to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the
+ appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final
+ modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional
+ response parameters to the Token endpoint's json response body.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called before the AuthorizationEndpoint redirects its response to the caller. The response could be the
+ token, when using implicit flow or the AuthorizationEndpoint when using authorization code flow.
+ An application may implement this call in order to do any final modification of the claims being used
+ to issue access or refresh tokens. This call may also be used in order to add additional
+ response parameters to the authorization endpoint's response.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called before the TokenEndpoint redirects its response to the caller.
+
+
+
+
+
+
+ Called to determine if an incoming request is treated as an Authorize or Token
+ endpoint. If Options.AuthorizeEndpointPath or Options.TokenEndpointPath
+ are assigned values, then handling this event is optional and context.IsAuthorizeEndpoint and context.IsTokenEndpoint
+ will already be true if the request path matches.
+
+
+
+
+ Called to validate that the context.ClientId is a registered "client_id", and that the context.RedirectUri a "redirect_uri"
+ registered for that client. This only occurs when processing the Authorize endpoint. The application MUST implement this
+ call, and it MUST validate both of those factors before calling context.Validated. If the context.Validated method is called
+ with a given redirectUri parameter, then IsValidated will only become true if the incoming redirect URI matches the given redirect URI.
+ If context.Validated is not called the request will not proceed further.
+
+
+
+
+ Called to validate that the origin of the request is a registered "client_id", and that the correct credentials for that client are
+ present on the request. If the web application accepts Basic authentication credentials,
+ context.TryGetBasicCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request header. If the web
+ application accepts "client_id" and "client_secret" as form encoded POST parameters,
+ context.TryGetFormCredentials(out clientId, out clientSecret) may be called to acquire those values if present in the request body.
+ If context.Validated is not called the request will not proceed further.
+
+
+
+
+ Called for each request to the Authorize endpoint to determine if the request is valid and should continue.
+ The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with
+ validated client redirect URI, should continue processing. An application may add any additional constraints.
+
+
+
+
+ Called for each request to the Token endpoint to determine if the request is valid and should continue.
+ The default behavior when using the OAuthAuthorizationServerProvider is to assume well-formed requests, with
+ validated client credentials, should continue processing. An application may add any additional constraints.
+
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "authorization_code". This occurs after the Authorize
+ endpoint as redirected the user-agent back to the client with a "code" parameter, and the client is exchanging that for an "access_token".
+ The claims and properties
+ associated with the authorization code are present in the context.Ticket. The application must call context.Validated to instruct the Authorization
+ Server middleware to issue an access token based on those claims and properties. The call to context.Validated may be given a different
+ AuthenticationTicket or ClaimsIdentity in order to control which information flows from authorization code to access token.
+ The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the authorization code to
+ the access token unmodified.
+ See also http://tools.ietf.org/html/rfc6749#section-4.1.3
+
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "password". This occurs when the user has provided name and password
+ credentials directly into the client application's user interface, and the client application is using those to acquire an "access_token" and
+ optional "refresh_token". If the web application supports the
+ resource owner credentials grant type it must validate the context.Username and context.Password as appropriate. To issue an
+ access token the context.Validated must be called with a new ticket containing the claims about the resource owner which should be associated
+ with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
+ The default behavior is to reject this grant type.
+ See also http://tools.ietf.org/html/rfc6749#section-4.3.2
+
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "client_credentials". This occurs when a registered client
+ application wishes to acquire an "access_token" to interact with protected resources on it's own behalf, rather than on behalf of an authenticated user.
+ If the web application supports the client credentials it may assume the context.ClientId has been validated by the ValidateClientAuthentication call.
+ To issue an access token the context.Validated must be called with a new ticket containing the claims about the client application which should be associated
+ with the access token. The application should take appropriate measures to ensure that the endpoint isn’t abused by malicious callers.
+ The default behavior is to reject this grant type.
+ See also http://tools.ietf.org/html/rfc6749#section-4.4.2
+
+
+
+
+ Called when a request to the Token endpoint arrives with a "grant_type" of "refresh_token". This occurs if your application has issued a "refresh_token"
+ along with the "access_token", and the client is attempting to use the "refresh_token" to acquire a new "access_token", and possibly a new "refresh_token".
+ To issue a refresh token the an Options.RefreshTokenProvider must be assigned to create the value which is returned. The claims and properties
+ associated with the refresh token are present in the context.Ticket. The application must call context.Validated to instruct the
+ Authorization Server middleware to issue an access token based on those claims and properties. The call to context.Validated may
+ be given a different AuthenticationTicket or ClaimsIdentity in order to control which information flows from the refresh token to
+ the access token. The default behavior when using the OAuthAuthorizationServerProvider is to flow information from the refresh token to
+ the access token unmodified.
+ See also http://tools.ietf.org/html/rfc6749#section-6
+
+
+
+
+ Called when a request to the Token andpoint arrives with a "grant_type" of any other value. If the application supports custom grant types
+ it is entirely responsible for determining if the request should result in an access_token. If context.Validated is called with ticket
+ information the response body is produced in the same way as the other standard grant types. If additional response parameters must be
+ included they may be added in the final TokenEndpoint call.
+ See also http://tools.ietf.org/html/rfc6749#section-4.5
+
+
+
+
+ Called at the final stage of an incoming Authorize endpoint request before the execution continues on to the web application component
+ responsible for producing the html response. Anything present in the OWIN pipeline following the Authorization Server may produce the
+ response for the Authorize page. If running on IIS any ASP.NET technology running on the server may produce the response for the
+ Authorize page. If the web application wishes to produce the response directly in the AuthorizeEndpoint call it may write to the
+ context.Response directly and should call context.RequestCompleted to stop other handlers from executing. If the web application wishes
+ to grant the authorization directly in the AuthorizeEndpoint call it cay call context.OwinContext.Authentication.SignIn with the
+ appropriate ClaimsIdentity and should call context.RequestCompleted to stop other handlers from executing.
+
+
+
+
+ Called at the final stage of a successful Token endpoint request. An application may implement this call in order to do any final
+ modification of the claims being used to issue access or refresh tokens. This call may also be used in order to add additional
+ response parameters to the Token endpoint's json response body.
+
+
+
+
+ Called before the AuthorizationEndpoint redirects its response to the caller. The response could be the
+ token, when using implicit flow or the AuthorizationEndpoint when using authorization code flow.
+ An application may implement this call in order to do any final modification of the claims being used
+ to issue access or refresh tokens. This call may also be used in order to add additional
+ response parameters to the authorization endpoint's response.
+
+ The context of the event carries information in and results out.
+ Task to enable asynchronous execution
+
+
+
+ Called before the TokenEndpoint redirects its response to the caller.
+
+
+
+
+
+
+ OAuth bearer token middleware provider
+
+
+
+
+ Specifies callback methods which the invokes to enable developer control over the authentication process. />
+
+
+
+
+ Invoked before the is created. Gives the application an
+ opportunity to find the identity from a different location, adjust, or reject the token.
+
+ Contains the token string.
+ A representing the completed operation.
+
+
+
+ Called each time a request identity has been validated by the middleware. By implementing this method the
+ application may alter or reject the identity which has arrived with the request.
+
+ Contains information about the login session as well as the user .
+ A representing the completed operation.
+
+
+
+ Called each time a challenge is being sent to the client. By implementing this method the application
+ may modify the challenge as needed.
+
+ Contains the default challenge.
+ A representing the completed operation.
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+ Handles processing OAuth bearer token.
+
+
+
+
+
+
+ Handles validating the identity produced from an OAuth bearer token.
+
+
+
+
+
+
+ Handles applying the authentication challenge to the response message.
+
+
+
+
+
+
+ Handles processing OAuth bearer token.
+
+
+
+
+ Handles validating the identity produced from an OAuth bearer token.
+
+
+
+
+ Handles applying the authentication challenge to the response message.
+
+
+
+
+ Specifies the HTTP response header for the bearer authentication scheme.
+
+
+
+
+ Initializes a new
+
+ OWIN environment
+ The www-authenticate header value.
+
+
+
+ The www-authenticate header value.
+
+
+
+
+ Provides context information when handling an OAuth authorization code grant.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+ Provides context information used when granting an OAuth refresh token.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+
+ The OAuth client id.
+
+
+
+
+ Specifies the HTTP request header for the bearer authentication scheme.
+
+
+
+
+ Initializes a new
+
+ OWIN environment
+ The authorization header value.
+
+
+
+ The authorization header value
+
+
+
+
+ Contains information about the client credentials.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+ Sets the client id and marks the context as validated by the application.
+
+
+
+
+
+
+ Extracts HTTP basic authentication credentials from the HTTP authenticate header.
+
+
+
+
+
+
+
+ Extracts forms authentication credentials from the HTTP request body.
+
+
+
+
+
+
+
+ Gets the set of form parameters from the request.
+
+
+
+
+ Provides context information used when determining the OAuth flow type based on the request.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+ Sets the endpoint type to authorize endpoint.
+
+
+
+
+ Sets the endpoint type to token endpoint.
+
+
+
+
+ Sets the endpoint type to neither authorize nor token.
+
+
+
+
+ Gets whether or not the endpoint is an OAuth authorize endpoint.
+
+
+
+
+ Gets whether or not the endpoint is an OAuth token endpoint.
+
+
+
+
+ Provides context information used when processing an OAuth token request.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+
+ Issues the token.
+
+
+
+
+
+
+ Gets the identity of the resource owner.
+
+
+
+
+ Dictionary containing the state of the authentication session.
+
+
+
+
+ Gets information about the token endpoint request.
+
+
+
+
+ Gets whether or not the token should be issued.
+
+
+
+
+ Enables additional values to be appended to the token response.
+
+
+
+
+ Provides context information used in handling an OAuth client credentials grant.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+
+ OAuth client id.
+
+
+
+
+ List of scopes allowed by the resource owner.
+
+
+
+
+ Provides context information used when handling OAuth extension grant types.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+
+
+ Gets the OAuth client id.
+
+
+
+
+ Gets the name of the OAuth extension grant type.
+
+
+
+
+ Gets a list of additional parameters from the token request.
+
+
+
+
+ Provides context information used in validating an OAuth authorization request.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+
+ Gets OAuth authorization request data.
+
+
+
+
+ Gets data about the OAuth client.
+
+
+
+
+ Contains data about the OAuth client redirect URI
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+
+ Marks this context as validated by the application. IsValidated becomes true and HasError becomes false as a result of calling.
+
+
+
+
+
+ Checks the redirect URI to determine whether it equals .
+
+
+
+
+
+
+ Gets the client redirect URI
+
+
+
+
+ Contains the authentication ticket data from an OAuth bearer token.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+ Provides context information used in handling an OAuth resource owner grant.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+
+
+
+ OAuth client id.
+
+
+
+
+ Resource owner username.
+
+
+
+
+ Resource owner password.
+
+
+
+
+ List of scopes allowed by the resource owner.
+
+
+
+
+ Provides context information used in validating an OAuth token request.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+
+
+ Gets the token request data.
+
+
+
+
+ Gets information about the client.
+
+
+
+
diff --git a/Blog/bin/Microsoft.Owin.Security.dll b/Blog/bin/Microsoft.Owin.Security.dll
new file mode 100644
index 0000000..54901f2
Binary files /dev/null and b/Blog/bin/Microsoft.Owin.Security.dll differ
diff --git a/Blog/bin/Microsoft.Owin.Security.xml b/Blog/bin/Microsoft.Owin.Security.xml
new file mode 100644
index 0000000..fb50684
--- /dev/null
+++ b/Blog/bin/Microsoft.Owin.Security.xml
@@ -0,0 +1,494 @@
+
+
+
+ Microsoft.Owin.Security
+
+
+
+
+ Provides extensions methods for app.Property values that are only needed by implementations of authentication middleware.
+
+
+
+
+ Returns the previously set AuthenticationType that external sign in middleware should use when the
+ browser navigates back to their return url.
+
+ App builder passed to the application startup code
+
+
+
+
+ Called by middleware to change the name of the AuthenticationType that external middleware should use
+ when the browser navigates back to their return url.
+
+ App builder passed to the application startup code
+ AuthenticationType that external middleware should sign in as.
+
+
+
+ Controls the behavior of authentication middleware
+
+
+
+
+ In Active mode the authentication middleware will alter the user identity as the request arrives, and
+ will also alter a plain 401 as the response leaves.
+
+
+
+
+ In Passive mode the authentication middleware will only provide user identity when asked, and will only
+ alter 401 responses where the authentication type named in the extra challenge data.
+
+
+
+
+ Base Options for all authentication middleware
+
+
+
+
+ Initialize properties of AuthenticationOptions base class
+
+ Assigned to the AuthenticationType property
+
+
+
+ The AuthenticationType in the options corresponds to the IIdentity AuthenticationType property. A different
+ value may be assigned in order to use the same authentication middleware type more than once in a pipeline.
+
+
+
+
+ If Active the authentication middleware alter the request user coming in and
+ alter 401 Unauthorized responses going out. If Passive the authentication middleware will only provide
+ identity and alter responses when explicitly indicated by the AuthenticationType.
+
+
+
+
+ Additional information about the authentication type which is made available to the application.
+
+
+
+
+ String constants used only by the Security assembly
+
+
+
+
+ Used by middleware extension methods to coordinate the default value Options property SignInAsAuthenticationType
+
+
+
+
+ Factory used to create IDataProtection instances
+
+
+
+
+ Returns a new instance of IDataProtection for the provider.
+
+ Additional entropy used to ensure protected data may only be unprotected for the correct purposes.
+ An instance of a data protection service
+
+
+
+ Service used to protect and unprotect data
+
+
+
+
+ Called to protect user data.
+
+ The original data that must be protected
+ A different byte array that may be unprotected or altered only by software that has access to
+ the an identical IDataProtection service.
+
+
+
+ Called to unprotect user data
+
+ The byte array returned by a call to Protect on an identical IDataProtection service.
+ The byte array identical to the original userData passed to Protect.
+
+
+
+ Base class for the per-request work performed by most authentication middleware.
+
+ Specifies which type for of AuthenticationOptions property
+
+
+
+ Base class for the per-request work performed by most authentication middleware.
+
+
+
+
+ Called once per request after Initialize and Invoke.
+
+ async completion
+
+
+
+ Called once by common code after initialization. If an authentication middleware responds directly to
+ specifically known paths it must override this virtual, compare the request path to it's known paths,
+ provide any response information as appropriate, and true to stop further processing.
+
+ Returning false will cause the common code to call the next middleware in line. Returning true will
+ cause the common code to begin the async completion journey without calling the rest of the middleware
+ pipeline.
+
+
+
+ Causes the authentication logic in AuthenticateCore to be performed for the current request
+ at most once and returns the results. Calling Authenticate more than once will always return
+ the original value.
+
+ This method should always be called instead of calling AuthenticateCore directly.
+
+ The ticket data provided by the authentication logic
+
+
+
+ The core authentication logic which must be provided by the handler. Will be invoked at most
+ once per request. Do not call directly, call the wrapping Authenticate method instead.
+
+ The ticket data provided by the authentication logic
+
+
+
+ Causes the ApplyResponseCore to be invoked at most once per request. This method will be
+ invoked either earlier, when the response headers are sent as a result of a response write or flush,
+ or later, as the last step when the original async call to the middleware is returning.
+
+
+
+
+
+ Core method that may be overridden by handler. The default behavior is to call two common response
+ activities, one that deals with sign-in/sign-out concerns, and a second to deal with 401 challenges.
+
+
+
+
+
+ Override this method to dela with sign-in/sign-out concerns, if an authentication scheme in question
+ deals with grant/revoke as part of it's request flow. (like setting/deleting cookies)
+
+
+
+
+
+ Override this method to deal with 401 challenge concerns, if an authentication scheme in question
+ deals an authentication interaction as part of it's request flow. (like adding a response header, or
+ changing the 401 result to 302 of a login page or external sign-in location.)
+
+
+
+
+
+ Initialize is called once per request to contextualize this instance with appropriate state.
+
+ The original options passed by the application control behavior
+ The utility object to observe the current request and response
+ async completion
+
+
+
+ Contains user identity information as well as additional authentication state.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+ Gets the authenticated user identity.
+
+
+
+
+ Additional state values for the authentication session.
+
+
+
+
+ Interface for providing pinned certificate validation, which checks HTTPS
+ communication against a known good list of certificates to protect against
+ compromised or rogue CAs issuing certificates for hosts without the
+ knowledge of the host owner.
+
+
+
+
+ Verifies the remote Secure Sockets Layer (SSL) certificate used for authentication.
+
+ An object that contains state information for this validation.
+ The certificate used to authenticate the remote party.
+ The chain of certificate authorities associated with the remote certificate.
+ One or more errors associated with the remote certificate.
+ A Boolean value that determines whether the specified certificate is accepted for authentication.
+
+
+
+ Provides pinned certificate validation based on the certificate thumbprint.
+
+
+
+
+ Initializes a new instance of the class.
+
+ A set of thumbprints which are valid for an HTTPS request.
+
+
+
+ Validates that the certificate thumbprints in the signing chain match at least one whitelisted thumbprint.
+
+ An object that contains state information for this validation.
+ The certificate used to authenticate the remote party.
+ The chain of certificate authorities associated with the remote certificate.
+ One or more errors associated with the remote certificate.
+ A Boolean value that determines whether the specified certificate is accepted for authentication.
+
+
+
+ Base class used for certain event contexts
+
+
+
+
+ Discontinue all processing for this request and return to the client.
+ The caller is responsible for generating the full response.
+
+
+
+
+ Discontinue processing the request in the current middleware and pass control to the next one.
+
+
+
+
+ Continue with normal processing.
+
+
+
+
+ Discontinue processing the request in the current middleware and pass control to the next one.
+
+
+
+
+ Discontinue all processing for this request.
+
+
+
+
+ Discontinue all processing for this request and return to the client.
+ The caller is responsible for generating the full response.
+
+
+
+
+ Gets or set the
+
+
+
+
+ Gets or sets the Protocol message
+
+
+
+
+ Used to provide the data protection services that are derived from the Data Protection API. It is the best choice of
+ data protection when you application is not hosted by ASP.NET and all processes are running as the same domain identity.
+
+
+
+
+ Initializes a new DpapiDataProtectionProvider with a random application
+ name. This is only useful to protect data for the duration of the
+ current application execution.
+
+
+
+
+ Initializes a new DpapiDataProtectionProvider which uses the given
+ appName as part of the protection algorithm
+
+ A user provided value needed to round-trip secured
+ data. The default value comes from the IAppBuilder.Properties["owin.AppName"]
+ when self-hosted.
+
+
+
+ Returns a new instance of IDataProtection for the provider.
+
+ Additional entropy used to ensure protected data may only be unprotected for the correct purposes.
+ An instance of a data protection service
+
+
+
+ Helper code used when implementing authentication middleware
+
+
+
+
+ Helper code used when implementing authentication middleware
+
+
+
+
+
+ Add an additional ClaimsIdentity to the ClaimsPrincipal in the "server.User" environment key
+
+
+
+
+
+ Find response challenge details for a specific authentication middleware
+
+ The authentication type to look for
+ The authentication mode the middleware is running under
+ The information instructing the middleware how it should behave
+
+
+
+ Find response sign-in details for a specific authentication middleware
+
+ The authentication type to look for
+ The information instructing the middleware how it should behave
+
+
+
+ Find response sign-out details for a specific authentication middleware
+
+ The authentication type to look for
+ The authentication mode the middleware is running under
+ The information instructing the middleware how it should behave
+
+
+
+ Base class used for certain event contexts
+
+
+
+
+ Creates an instance of this context
+
+
+
+
+ Prevents the request from being processed further by other components.
+ IsRequestCompleted becomes true after calling.
+
+
+
+
+ True if the request should not be processed further by other components.
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to The AuthenticationTokenProvider's required synchronous events have not been registered..
+
+
+
+
+ Looks up a localized string similar to The default data protection provider may only be used when the IAppBuilder.Properties contains an appropriate 'host.AppName' key..
+
+
+
+
+ Looks up a localized string similar to A default value for SignInAsAuthenticationType was not found in IAppBuilder Properties. This can happen if your authentication middleware are added in the wrong order, or if one is missing..
+
+
+
+
+ Looks up a localized string similar to The state passed to UnhookAuthentication may only be the return value from HookAuthentication..
+
+
+
+
+ Provides pinned certificate validation based on the subject key identifier of the certificate.
+
+
+
+
+ Initializes a new instance of the class.
+
+ A set of subject key identifiers which are valid for an HTTPS request.
+
+
+
+ Verifies the remote Secure Sockets Layer (SSL) certificate used for authentication.
+
+ An object that contains state information for this validation.
+ The certificate used to authenticate the remote party.
+ The chain of certificate authorities associated with the remote certificate.
+ One or more errors associated with the remote certificate.
+ A Boolean value that determines whether the specified certificate is accepted for authentication.
+
+
+
+ The algorithm used to generate the subject public key information blob hashes.
+
+
+
+
+ Implements a cert pinning validator passed on
+ http://datatracker.ietf.org/doc/draft-ietf-websec-key-pinning/?include_text=1
+
+
+
+
+ Initializes a new instance of the class.
+
+ A collection of valid base64 encoded hashes of the certificate public key information blob.
+ The algorithm used to generate the hashes.
+
+
+
+ Validates at least one SPKI hash is known.
+
+ An object that contains state information for this validation.
+ The certificate used to authenticate the remote party.
+ The chain of certificate authorities associated with the remote certificate.
+ One or more errors associated with the remote certificate.
+ A Boolean value that determines whether the specified certificate is accepted for authentication.
+
+
+
+ Encodes a structure of the type indicated by the value of the lpszStructType parameter.
+
+ Type of encoding used.
+ The high-order word is zero, the low-order word specifies the integer identifier for the type of the specified structure so
+ we can use the constants in http://msdn.microsoft.com/en-us/library/windows/desktop/aa378145%28v=vs.85%29.aspx
+ A pointer to the structure to be encoded.
+ A pointer to a buffer to receive the encoded structure. This parameter can be NULL to retrieve the size of this information for memory allocation purposes.
+ A pointer to a DWORD variable that contains the size, in bytes, of the buffer pointed to by the pbEncoded parameter.
+
+
+
+
diff --git a/Blog/bin/Microsoft.Owin.dll b/Blog/bin/Microsoft.Owin.dll
new file mode 100644
index 0000000..37dc69b
Binary files /dev/null and b/Blog/bin/Microsoft.Owin.dll differ
diff --git a/Blog/bin/Microsoft.Owin.xml b/Blog/bin/Microsoft.Owin.xml
new file mode 100644
index 0000000..c76bbd4
--- /dev/null
+++ b/Blog/bin/Microsoft.Owin.xml
@@ -0,0 +1,3224 @@
+
+
+
+ Microsoft.Owin
+
+
+
+
+ Extension methods for .
+
+
+
+
+ Inserts a middleware into the OWIN pipeline.
+
+ The middleware type
+
+ Any additional arguments for the middleware constructor
+
+
+
+
+ Inserts into the OWIN pipeline a middleware which does not have a next middleware reference.
+
+
+ An app that handles all requests
+
+
+
+ Inserts a middleware into the OWIN pipeline.
+
+
+ An app that handles the request or calls the given next Func
+
+
+
+
+ Represents a middleware for executing in-line function middleware.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The pointer to next middleware.
+ A function that handles all requests.
+
+
+
+ Initializes a new instance of the class.
+
+ The pointer to next middleware.
+ A function that handles the request or calls the given next function.
+
+
+
+ Invokes the handler for processing the request.
+
+ The OWIN context.
+ The object that represents the request operation.
+
+
+
+ Contains the parsed form values.
+
+
+
+
+ Accessors for query, forms, etc.
+
+
+
+
+ Accessors for headers, query, forms, etc.
+
+
+
+
+ Get the associated value from the collection. Multiple values will be merged.
+ Returns null if the key is not present.
+
+
+
+
+
+
+ Get the associated values from the collection in their original format.
+ Returns null if the key is not present.
+
+
+
+
+
+
+ Get the associated value from the collection. Multiple values will be merged.
+ Returns null if the key is not present.
+
+
+
+
+
+
+ Create a new wrapper
+
+
+
+
+
+ Get the associated value from the collection. Multiple values will be merged.
+ Returns null if the key is not present.
+
+
+
+
+
+
+ Get the associated values from the collection in their original format.
+ Returns null if the key is not present.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Get the associated value from the collection. Multiple values will be merged.
+ Returns null if the key is not present.
+
+
+
+
+
+
+ Contains the parsed form values.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The store for the form.
+
+
+
+ Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders.
+
+
+
+
+ Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders.
+
+
+
+
+ Get the associated values from the collection separated into individual values.
+ Quoted values will not be split, and the quotes will be removed.
+
+ The header name.
+ the associated values from the collection separated into individual values, or null if the key is not present.
+
+
+
+ Add a new value. Appends to the header if already present
+
+ The header name.
+ The header value.
+
+
+
+ Add new values. Each item remains a separate array entry.
+
+ The header name.
+ The header values.
+
+
+
+ Quotes any values containing comas, and then coma joins all of the values with any existing values.
+
+ The header name.
+ The header values.
+
+
+
+ Sets a specific header value.
+
+ The header name.
+ The header value.
+
+
+
+ Sets the specified header values without modification.
+
+ The header name.
+ The header values.
+
+
+
+ Quotes any values containing comas, and then coma joins all of the values.
+
+ The header name.
+ The header values.
+
+
+
+ Get or sets the associated value from the collection as a single string.
+
+ The header name.
+ the associated value from the collection as a single string or null if the key is not present.
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying data store.
+
+
+
+ Returns an enumerator that iterates through a collection.
+
+ An object that can be used to iterate through the collection.
+
+
+
+ Returns an enumerator that iterates through a collection.
+
+ An object that can be used to iterate through the collection.
+
+
+
+ Get the associated value from the collection as a single string.
+
+ The header name.
+ the associated value from the collection as a single string or null if the key is not present.
+
+
+
+ Get the associated values from the collection without modification.
+
+ The header name.
+ the associated value from the collection without modification, or null if the key is not present.
+
+
+
+ Get the associated values from the collection separated into individual values.
+ Quoted values will not be split, and the quotes will be removed.
+
+ The header name.
+ the associated values from the collection separated into individual values, or null if the key is not present.
+
+
+
+ Add a new value. Appends to the header if already present
+
+ The header name.
+ The header value.
+
+
+
+ Add new values. Each item remains a separate array entry.
+
+ The header name.
+ The header values.
+
+
+
+ Quotes any values containing comas, and then coma joins all of the values with any existing values.
+
+ The header name.
+ The header values.
+
+
+
+ Sets a specific header value.
+
+ The header name.
+ The header value.
+
+
+
+ Sets the specified header values without modification.
+
+ The header name.
+ The header values.
+
+
+
+ Quotes any values containing comas, and then coma joins all of the values.
+
+ The header name.
+ The header values.
+
+
+
+ Adds the given header and values to the collection.
+
+ The header name.
+ The header values.
+
+
+
+ Determines whether the contains a specific key.
+
+ The key.
+ true if the contains a specific key; otherwise, false.
+
+
+
+ Removes the given header from the collection.
+
+ The header name.
+ true if the specified object was removed from the collection; otherwise, false.
+
+
+
+ Retrieves a value from the dictionary.
+
+ The header name.
+ The value.
+ true if the contains the key; otherwise, false.
+
+
+
+ Adds a new list of items to the collection.
+
+ The item to add.
+
+
+
+ Clears the entire list of objects.
+
+
+
+
+ Returns a value indicating whether the specified object occurs within this collection.
+
+ The item.
+ true if the specified object occurs within this collection; otherwise, false.
+
+
+
+ Copies the elements to a one-dimensional Array instance at the specified index.
+
+ The one-dimensional Array that is the destination of the specified objects copied from the .
+ The zero-based index in at which copying begins.
+
+
+
+ Removes the given item from the the collection.
+
+ The item.
+ true if the specified object was removed from the collection; otherwise, false.
+
+
+
+ Gets an that contains the keys in the ;.
+
+ An that contains the keys in the .
+
+
+
+
+
+
+
+
+ Gets the number of elements contained in the ;.
+
+ The number of elements contained in the .
+
+
+
+ Gets a value that indicates whether the is in read-only mode.
+
+ true if the is in read-only mode; otherwise, false.
+
+
+
+ Get or sets the associated value from the collection as a single string.
+
+ The header name.
+ the associated value from the collection as a single string or null if the key is not present.
+
+
+
+ Throws KeyNotFoundException if the key is not present.
+
+ The header name.
+
+
+
+
+ Represents the host portion of a Uri can be used to construct Uri's properly formatted and encoded for use in
+ HTTP headers.
+
+
+
+
+ Creates a new HostString without modification. The value should be Unicode rather than punycode, and may have a port.
+ IPv4 and IPv6 addresses are also allowed, and also may have ports.
+
+
+
+
+
+ Returns the value as normalized by ToUriComponent().
+
+
+
+
+
+ Returns the value properly formatted and encoded for use in a URI in a HTTP header.
+ Any Unicode is converted to punycode. IPv6 addresses will have brackets added if they are missing.
+
+
+
+
+
+ Creates a new HostString from the given uri component.
+ Any punycode will be converted to Unicode.
+
+
+
+
+
+
+ Creates a new HostString from the host and port of the give Uri instance.
+ Punycode will be converted to Unicode.
+
+
+
+
+
+
+ Compares the equality of the Value property, ignoring case.
+
+
+
+
+
+
+ Compares against the given object only if it is a HostString.
+
+
+
+
+
+
+ Gets a hash code for the value.
+
+
+
+
+
+ Compares the two instances for equality.
+
+
+
+
+
+
+
+ Compares the two instances for inequality.
+
+
+
+
+
+
+
+ Returns the original value from the constructor.
+
+
+
+
+ This handles cookies that are limited by per cookie length. It breaks down long cookies for responses, and reassembles them
+ from requests.
+
+
+
+
+ Get the reassembled cookie. Non chunked cookies are returned normally.
+ Cookies with missing chunks just have their "chunks:XX" header returned.
+
+
+
+ The reassembled cookie, if any, or null.
+
+
+
+ Appends a new response cookie to the Set-Cookie header. If the cookie is larger than the given size limit
+ then it will be broken down into multiple cookies as follows:
+ Set-Cookie: CookieName=chunks:3; path=/
+ Set-Cookie: CookieNameC1=Segment1; path=/
+ Set-Cookie: CookieNameC2=Segment2; path=/
+ Set-Cookie: CookieNameC3=Segment3; path=/
+
+
+
+
+
+
+
+
+ Deletes the cookie with the given key by setting an expired state. If a matching chunked cookie exists on
+ the request, delete each chunk.
+
+
+
+
+
+
+
+ The maximum size of cookie to send back to the client. If a cookie exceeds this size it will be broken down into multiple
+ cookies. Set this value to null to disable this behavior. The default is 4090 characters, which is supported by all
+ common browsers.
+
+ Note that browsers may also have limits on the total size of all cookies per domain, and on the number of cookies per domain.
+
+
+
+
+ Throw if not all chunks of a cookie are available on a request for re-assembly.
+
+
+
+
+ This wraps OWIN environment dictionary and provides strongly typed accessors.
+
+
+
+
+ Gets a value from the OWIN environment, or returns default(T) if not present.
+
+ The type of the value.
+ The key of the value to get.
+ The value with the specified key or the default(T) if not present.
+
+
+
+ Sets the given key and value in the OWIN environment.
+
+ The type of the value.
+ The key of the value to set.
+ The value to set.
+ This instance.
+
+
+
+ Gets a wrapper exposing request specific properties.
+
+ A wrapper exposing request specific properties.
+
+
+
+ Gets a wrapper exposing response specific properties.
+
+ A wrapper exposing response specific properties.
+
+
+
+ Gets the Authentication middleware functionality available on the current request.
+
+ The authentication middleware functionality available on the current request.
+
+
+
+ Gets the OWIN environment.
+
+ The OWIN environment.
+
+
+
+ Gets or sets the host.TraceOutput environment value.
+
+ The host.TraceOutput TextWriter.
+
+
+
+ This wraps OWIN environment dictionary and provides strongly typed accessors.
+
+
+
+
+ Asynchronously reads and parses the request body as a form.
+
+ The parsed form data.
+
+
+
+ Gets a value from the OWIN environment, or returns default(T) if not present.
+
+ The type of the value.
+ The key of the value to get.
+ The value with the specified key or the default(T) if not present.
+
+
+
+ Sets the given key and value in the OWIN environment.
+
+ The type of the value.
+ The key of the value to set.
+ The value to set.
+ This instance.
+
+
+
+ Gets the OWIN environment.
+
+ The OWIN environment.
+
+
+
+ Gets the request context.
+
+ The request context.
+
+
+
+ Gets or set the HTTP method.
+
+ The HTTP method.
+
+
+
+ Gets or set the HTTP request scheme from owin.RequestScheme.
+
+ The HTTP request scheme from owin.RequestScheme.
+
+
+
+ Returns true if the owin.RequestScheme is https.
+
+ true if this request is using https; otherwise, false.
+
+
+
+ Gets or set the Host header. May include the port.
+
+ The Host header.
+
+
+
+ Gets or set the owin.RequestPathBase.
+
+ The owin.RequestPathBase.
+
+
+
+ Gets or set the request path from owin.RequestPath.
+
+ The request path from owin.RequestPath.
+
+
+
+ Gets or set the query string from owin.RequestQueryString.
+
+ The query string from owin.RequestQueryString.
+
+
+
+ Gets the query value collection parsed from owin.RequestQueryString.
+
+ The query value collection parsed from owin.RequestQueryString.
+
+
+
+ Gets the uniform resource identifier (URI) associated with the request.
+
+ The uniform resource identifier (URI) associated with the request.
+
+
+
+ Gets or set the owin.RequestProtocol.
+
+ The owin.RequestProtocol.
+
+
+
+ Gets the request headers.
+
+ The request headers.
+
+
+
+ Gets the collection of Cookies for this request.
+
+ The collection of Cookies for this request.
+
+
+
+ Gets or sets the Content-Type header.
+
+ The Content-Type header.
+
+
+
+ Gets or sets the Cache-Control header.
+
+ The Cache-Control header.
+
+
+
+ Gets or sets the Media-Type header.
+
+ The Media-Type header.
+
+
+
+ Gets or set the Accept header.
+
+ The Accept header.
+
+
+
+ Gets or set the owin.RequestBody Stream.
+
+ The owin.RequestBody Stream.
+
+
+
+ Gets or sets the cancellation token for the request.
+
+ The cancellation token for the request.
+
+
+
+ Gets or set the server.LocalIpAddress.
+
+ The server.LocalIpAddress.
+
+
+
+ Gets or set the server.LocalPort.
+
+ The server.LocalPort.
+
+
+
+ Gets or set the server.RemoteIpAddress.
+
+ The server.RemoteIpAddress.
+
+
+
+ Gets or set the server.RemotePort.
+
+ The server.RemotePort.
+
+
+
+ Gets or set the server.User.
+
+ The server.User.
+
+
+
+ This wraps OWIN environment dictionary and provides strongly typed accessors.
+
+
+
+
+ Registers for an event that fires when the response headers are sent.
+
+ The callback method.
+ The callback state.
+
+
+
+ Sets a 302 response status code and the Location header.
+
+ The location where to redirect the client.
+
+
+
+ Writes the given text to the response body stream using UTF-8.
+
+ The response data.
+
+
+
+ Writes the given bytes to the response body stream.
+
+ The response data.
+
+
+
+ Writes the given bytes to the response body stream.
+
+ The response data.
+ The zero-based byte offset in the parameter at which to begin copying bytes.
+ The number of bytes to write.
+
+
+
+ Asynchronously writes the given text to the response body stream using UTF-8.
+
+ The response data.
+ A Task tracking the state of the write operation.
+
+
+
+ Asynchronously writes the given text to the response body stream using UTF-8.
+
+ The response data.
+ A token used to indicate cancellation.
+ A Task tracking the state of the write operation.
+
+
+
+ Asynchronously writes the given bytes to the response body stream.
+
+ The response data.
+ A Task tracking the state of the write operation.
+
+
+
+ Asynchronously writes the given bytes to the response body stream.
+
+ The response data.
+ A token used to indicate cancellation.
+ A Task tracking the state of the write operation.
+
+
+
+ Asynchronously writes the given bytes to the response body stream.
+
+ The response data.
+ The zero-based byte offset in the parameter at which to begin copying bytes.
+ The number of bytes to write.
+ A token used to indicate cancellation.
+ A Task tracking the state of the write operation.
+
+
+
+ Gets a value from the OWIN environment, or returns default(T) if not present.
+
+ The type of the value.
+ The key of the value to get.
+ The value with the specified key or the default(T) if not present.
+
+
+
+ Sets the given key and value in the OWIN environment.
+
+ The type of the value.
+ The key of the value to set.
+ The value to set.
+ This instance.
+
+
+
+ Gets the OWIN environment.
+
+ The OWIN environment.
+
+
+
+ Gets the request context.
+
+ The request context.
+
+
+
+ Gets or sets the optional owin.ResponseStatusCode.
+
+ The optional owin.ResponseStatusCode, or 200 if not set.
+
+
+
+ Gets or sets the the optional owin.ResponseReasonPhrase.
+
+ The the optional owin.ResponseReasonPhrase.
+
+
+
+ Gets or sets the owin.ResponseProtocol.
+
+ The owin.ResponseProtocol.
+
+
+
+ Gets the response header collection.
+
+ The response header collection.
+
+
+
+ Gets a collection used to manipulate the Set-Cookie header.
+
+ A collection used to manipulate the Set-Cookie header.
+
+
+
+ Gets or sets the Content-Length header.
+
+ The Content-Length header.
+
+
+
+ Gets or sets the Content-Type header.
+
+ The Content-Type header.
+
+
+
+ Gets or sets the Expires header.
+
+ The Expires header.
+
+
+
+ Gets or sets the E-Tag header.
+
+ The E-Tag header.
+
+
+
+ Gets or sets the owin.ResponseBody Stream.
+
+ The owin.ResponseBody Stream.
+
+
+
+ Used to mark which class in an assembly should be used for automatic startup.
+
+
+
+
+ Initializes a new instance of the class
+
+ The startup class
+
+
+
+ Initializes a new instance of the class
+
+ A non-default configuration, e.g. staging.
+ The startup class
+
+
+
+ Initializes a new instance of the class
+
+ The startup class
+ Specifies which method to call
+
+
+
+ Initializes a new instance of the class
+
+ A non-default configuration, e.g. staging.
+ The startup class
+ Specifies which method to call
+
+
+
+ A non-default configuration if any. e.g. Staging.
+
+
+
+
+ The startup class
+
+
+
+
+ The name of the configuration method
+
+
+
+
+ An ordered list of known Asp.Net integrated pipeline stages. More details on the ASP.NET integrated pipeline can be found at http://msdn.microsoft.com/en-us/library/system.web.httpapplication.aspx
+
+
+
+
+ Corresponds to the AuthenticateRequest stage of the ASP.NET integrated pipeline.
+
+
+
+
+ Corresponds to the PostAuthenticateRequest stage of the ASP.NET integrated pipeline.
+
+
+
+
+ Corresponds to the AuthorizeRequest stage of the ASP.NET integrated pipeline.
+
+
+
+
+ Corresponds to the PostAuthorizeRequest stage of the ASP.NET integrated pipeline.
+
+
+
+
+ Corresponds to the ResolveRequestCache stage of the ASP.NET integrated pipeline.
+
+
+
+
+ Corresponds to the PostResolveRequestCache stage of the ASP.NET integrated pipeline.
+
+
+
+
+ Corresponds to the MapRequestHandler stage of the ASP.NET integrated pipeline.
+
+
+
+
+ Corresponds to the PostMapRequestHandler stage of the ASP.NET integrated pipeline.
+
+
+
+
+ Corresponds to the AcquireRequestState stage of the ASP.NET integrated pipeline.
+
+
+
+
+ Corresponds to the PostAcquireRequestState stage of the ASP.NET integrated pipeline.
+
+
+
+
+ Corresponds to the PreRequestHandlerExecute stage of the ASP.NET integrated pipeline.
+
+
+
+
+ Extension methods for the MapMiddleware
+
+
+
+
+ If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of
+ continuing to the next component in the pipeline.
+
+
+ The path to match
+ The branch to take for positive path matches
+
+
+
+
+ If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of
+ continuing to the next component in the pipeline.
+
+
+ The path to match
+ The branch to take for positive path matches
+
+
+
+
+ Used to create path based branches in your application pipeline.
+ The owin.RequestPathBase is not included in the evaluation, only owin.RequestPath.
+ Matching paths have the matching piece removed from owin.RequestPath and added to the owin.RequestPathBase.
+
+
+
+
+ Initializes a new instance of the class
+
+ The normal pipeline taken for a negative match
+
+
+
+
+ Process an individual request.
+
+
+
+
+
+
+ Options for the Map middleware
+
+
+
+
+ The path to match
+
+
+
+
+ The branch taken for a positive match
+
+
+
+
+ Extension methods for the MapWhenMiddleware
+
+
+
+
+ Branches the request pipeline based on the result of the given predicate.
+
+
+ Invoked with the request environment to determine if the branch should be taken
+ Configures a branch to take
+
+
+
+
+ Branches the request pipeline based on the async result of the given predicate.
+
+
+ Invoked asynchronously with the request environment to determine if the branch should be taken
+ Configures a branch to take
+
+
+
+
+ Determines if the request should take a specific branch of the pipeline by passing the environment
+ to a user defined callback.
+
+
+
+
+ Initializes a new instance of the class
+
+ The normal application pipeline
+
+
+
+
+ Process an individual request.
+
+
+
+
+
+
+ Options for the MapWhen middleware
+
+
+
+
+ The user callback that determines if the branch should be taken
+
+
+
+
+ The async user callback that determines if the branch should be taken
+
+
+
+
+ The branch taken for a positive match
+
+
+
+
+ This wraps OWIN environment dictionary and provides strongly typed accessors.
+
+
+
+
+ Create a new context with only request and response header collections.
+
+
+
+
+ Create a new wrapper.
+
+ OWIN environment dictionary which stores state information about the request, response and relevant server state.
+
+
+
+ Gets a value from the OWIN environment, or returns default(T) if not present.
+
+ The type of the value.
+ The key of the value to get.
+ The value with the specified key or the default(T) if not present.
+
+
+
+ Sets the given key and value in the OWIN environment.
+
+ The type of the value.
+ The key of the value to set.
+ The value to set.
+ This instance.
+
+
+
+ Gets a wrapper exposing request specific properties.
+
+ A wrapper exposing request specific properties.
+
+
+
+ Gets a wrapper exposing response specific properties.
+
+ A wrapper exposing response specific properties.
+
+
+
+ Gets the Authentication middleware functionality available on the current request.
+
+ The authentication middleware functionality available on the current request.
+
+
+
+ Gets the OWIN environment.
+
+ The OWIN environment.
+
+
+
+ Gets or sets the host.TraceOutput environment value.
+
+ The host.TraceOutput TextWriter.
+
+
+
+ Provides correct escaping for Path and PathBase values when needed to reconstruct a request or redirect URI string
+
+
+
+
+ Represents the empty path. This field is read-only.
+
+
+
+
+ Initialize the path string with a given value. This value must be in un-escaped format. Use
+ PathString.FromUriComponent(value) if you have a path value which is in an escaped format.
+
+ The unescaped path to be assigned to the Value property.
+
+
+
+ Provides the path string escaped in a way which is correct for combining into the URI representation.
+
+ The escaped path value
+
+
+
+ Provides the path string escaped in a way which is correct for combining into the URI representation.
+
+ The escaped path value
+
+
+
+ Returns an PathString given the path as it is escaped in the URI format. The string MUST NOT contain any
+ value that is not a path.
+
+ The escaped path as it appears in the URI format.
+ The resulting PathString
+
+
+
+ Returns an PathString given the path as from a Uri object. Relative Uri objects are not supported.
+
+ The Uri object
+ The resulting PathString
+
+
+
+ Checks if this instance starts with or exactly matches the other instance. Only full segments are matched.
+
+
+
+
+
+
+ Checks if this instance starts with or exactly matches the other instance. Only full segments are matched.
+
+
+ Any remaining segments from this instance not included in the other instance.
+
+
+
+
+ Adds two PathString instances into a combined PathString value.
+
+ The combined PathString value
+
+
+
+ Combines a PathString and QueryString into the joined URI formatted string value.
+
+ The joined URI formatted string value
+
+
+
+ Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase.
+
+ The second PathString for comparison.
+ True if both PathString values are equal
+
+
+
+ Compares this PathString value to another value using a specific StringComparison type
+
+ The second PathString for comparison
+ The StringComparison type to use
+ True if both PathString values are equal
+
+
+
+ Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase.
+
+ The second PathString for comparison.
+ True if both PathString values are equal
+
+
+
+ Returns the hash code for the PathString value. The hash code is provided by the OrdinalIgnoreCase implementation.
+
+ The hash code
+
+
+
+ Operator call through to Equals
+
+ The left parameter
+ The right parameter
+ True if both PathString values are equal
+
+
+
+ Operator call through to Equals
+
+ The left parameter
+ The right parameter
+ True if both PathString values are not equal
+
+
+
+ Operator call through to Add
+
+ The left parameter
+ The right parameter
+ The PathString combination of both values
+
+
+
+ Operator call through to Add
+
+ The left parameter
+ The right parameter
+ The PathString combination of both values
+
+
+
+ The unescaped path value
+
+
+
+
+ True if the path is not empty
+
+
+
+
+ Provides correct handling for QueryString value when needed to reconstruct a request or redirect URI string
+
+
+
+
+ Represents the empty query string. This field is read-only.
+
+
+
+
+ Initialize the query string with a given value. This value must be in escaped and delimited format without
+ a leading '?' character.
+
+ The query string to be assigned to the Value property.
+
+
+
+ Initialize a query string with a single given parameter name and value. The value is
+
+ The unencoded parameter name
+ The unencoded parameter value
+
+
+
+ Provides the query string escaped in a way which is correct for combining into the URI representation.
+ A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentially
+ dangerous are escaped.
+
+ The query string value
+
+
+
+ Provides the query string escaped in a way which is correct for combining into the URI representation.
+ A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentially
+ dangerous are escaped.
+
+ The query string value
+
+
+
+ Returns an QueryString given the query as it is escaped in the URI format. The string MUST NOT contain any
+ value that is not a query.
+
+ The escaped query as it appears in the URI format.
+ The resulting QueryString
+
+
+
+ Returns an QueryString given the query as from a Uri object. Relative Uri objects are not supported.
+
+ The Uri object
+ The resulting QueryString
+
+
+
+ Indicates whether the current instance is equal to the other instance.
+
+
+
+
+
+
+ Indicates whether the current instance is equal to the other instance.
+
+
+
+
+
+
+ Returns the hash code for this instance.
+
+
+
+
+
+ Compares the two instances for equality.
+
+
+
+
+
+
+
+ Compares the two instances for inequality.
+
+
+
+
+
+
+
+ The escaped query string without the leading '?' character
+
+
+
+
+ True if the query string is not empty
+
+
+
+
+ A wrapper for the request Cookie header
+
+
+
+
+ Create a new wrapper
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns null rather than throwing KeyNotFoundException
+
+
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to Conversion delegate must take one parameter..
+
+
+
+
+ Looks up a localized string similar to The cookie key and options are larger than ChunksSize, leaving no room for data..
+
+
+
+
+ Looks up a localized string similar to The chunked cookie is incomplete. Only {0} of the expected {1} chunks were found, totaling {2} characters. A client size limit may have been exceeded..
+
+
+
+
+ Looks up a localized string similar to The type '{0}' does not match any known middleware pattern..
+
+
+
+
+ Looks up a localized string similar to The OWIN key 'server.OnSendingHeaders' is not available for this request..
+
+
+
+
+ Looks up a localized string similar to The class '{0}' does not have a constructor taking {1} arguments..
+
+
+
+
+ Looks up a localized string similar to No conversion available between {0} and {1}..
+
+
+
+
+ Looks up a localized string similar to The path must not end with a '/'.
+
+
+
+
+ Looks up a localized string similar to The path must start with a '/' followed by one or more characters..
+
+
+
+
+ Looks up a localized string similar to The path is required.
+
+
+
+
+ Looks up a localized string similar to The query string must start with a '?' unless null or empty..
+
+
+
+
+ A standard implementation of IAppBuilder
+
+
+
+
+ Initializes a new instance of the the type.
+
+
+
+
+
+
+
+
+
+
+
+ Adds a middleware node to the OWIN function pipeline. The middleware are
+ invoked in the order they are added: the first middleware passed to Use will
+ be the outermost function, and the last middleware passed to Use will be the
+ innermost.
+
+
+ The middleware parameter determines which behavior is being chained into the
+ pipeline.
+
+ If the middleware given to Use is a Delegate, then it will be invoked with the "next app" in
+ the chain as the first parameter. If the delegate takes more than the single argument,
+ then the additional values must be provided to Use in the args array.
+
+ If the middleware given to Use is a Type, then the public constructor will be
+ invoked with the "next app" in the chain as the first parameter. The resulting object
+ must have a public Invoke method. If the object has constructors which take more than
+ the single "next app" argument, then additional values may be provided in the args array.
+
+
+ Any additional args passed to Use will be passed as additional values, following the "next app"
+ parameter, when the OWIN call pipeline is build.
+
+ They are passed as additional parameters if the middleware parameter is a Delegate, or as additional
+ constructor arguments if the middle parameter is a Type.
+
+
+ The IAppBuilder itself is returned. This enables you to chain your use statements together.
+
+
+
+
+ The New method creates a new instance of an IAppBuilder. This is needed to create
+ a tree structure in your processing, rather than a linear pipeline. The new instance share the
+ same Properties, but will be created with a new, empty middleware list.
+
+ To create a tangent pipeline you would first call New, followed by several calls to Use on
+ the new builder, ending with a call to Build on the new builder. The return value from Build
+ will be the entry-point to your tangent pipeline. This entry-point may now be added to the
+ main pipeline as an argument to a switching middleware, which will either call the tangent
+ pipeline or the "next app", based on something in the request.
+
+ That said - all of that work is typically hidden by a middleware like Map, which will do that
+ for you.
+
+ The new instance of the IAppBuilder implementation
+
+
+
+ The Build is called at the point when all of the middleware should be chained
+ together. This is typically done by the hosting component which created the app builder,
+ and does not need to be called by the startup method if the IAppBuilder is passed in.
+
+
+ The Type argument indicates which calling convention should be returned, and
+ is typically typeof() for the OWIN
+ calling convention.
+
+
+ Returns an instance of the pipeline's entry point. This object may be safely cast to the
+ type which was provided
+
+
+
+
+ Contains arbitrary properties which may added, examined, and modified by
+ components during the startup sequence.
+
+ Returns .
+
+
+
+ Simple object used by AppBuilder as seed OWIN callable if the
+ builder.Properties["builder.DefaultApp"] is not set
+
+
+
+
+ Abstracts the system clock to facilitate testing.
+
+
+
+
+ Retrieves the current system time in UTC.
+
+
+
+
+ Provides access to the normal system clock.
+
+
+
+
+ Retrieves the current system time in UTC.
+
+
+
+
+ Response generation utilities.
+
+
+
+
+ Append the given query to the uri.
+
+ The base uri.
+ The query string to append, if any.
+ The combine result.
+
+
+
+ Append the given query key and value to the uri.
+
+ The base uri.
+ The name of the query key.
+ The query value.
+ The combine result.
+
+
+
+ Append the given query keys and values to the uri.
+
+ The base uri.
+ A collection of name value query pairs to append.
+ The combine result.
+
+
+
+ A wrapper for the response Set-Cookie header
+
+
+
+
+ Create a new wrapper
+
+
+
+
+
+ Add a new cookie and value
+
+
+
+
+
+
+ Add a new cookie
+
+
+
+
+
+
+
+ Sets an expired cookie
+
+
+
+
+
+ Sets an expired cookie
+
+
+
+
+
+
+ Acts as the return value from calls to the IAuthenticationManager's AuthenticeAsync methods.
+
+
+
+
+ Create an instance of the result object
+
+ Assigned to Identity. May be null.
+ Assigned to Properties. Contains extra information carried along with the identity.
+ Assigned to Description. Contains information describing the authentication provider.
+
+
+
+ Contains the claims that were authenticated by the given AuthenticationType. If the authentication
+ type was not successful the Identity property will be null.
+
+
+
+
+ Contains extra values that were provided with the original SignIn call.
+
+
+
+
+ Contains description properties for the middleware authentication type in general. Does not
+ vary per request.
+
+
+
+
+ Contains information describing an authentication provider.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+ Contains metadata about the authentication provider.
+
+
+
+
+ Gets or sets the name used to reference the authentication middleware instance.
+
+
+
+
+ Gets or sets the display name for the authentication provider.
+
+
+
+
+ Extension methods used to indicate at which stage in the integrated pipeline prior middleware should run.
+
+
+
+
+ Call after other middleware to specify when they should run in the integrated pipeline.
+
+ The IAppBuilder.
+ The name of the integrated pipeline in which to run.
+ The original IAppBuilder for chaining.
+
+
+
+ Call after other middleware to specify when they should run in the integrated pipeline.
+
+ The IAppBuilder.
+ The stage of the integrated pipeline in which to run.
+ The original IAppBuilder for chaining.
+
+
+
+ Logging extension methods for IAppBuilder.
+
+
+
+
+ Sets the server.LoggerFactory in the Properties collection.
+
+
+
+
+
+
+ Retrieves the server.LoggerFactory from the Properties collection.
+
+
+
+
+
+
+ Creates a new ILogger instance from the server.LoggerFactory in the Properties collection.
+
+
+
+
+
+
+
+ Creates a new ILogger instance from the server.LoggerFactory in the Properties collection.
+
+
+
+
+
+
+
+ Creates a new ILogger instance from the server.LoggerFactory in the Properties collection.
+
+
+
+
+
+
+
+ Used to create logger instances of the given name.
+
+
+
+
+ Creates a new ILogger instance of the given name.
+
+
+
+
+
+
+ A generic interface for logging.
+
+
+
+
+ Aggregates most logging patterns to a single method. This must be compatible with the Func representation in the OWIN environment.
+
+ To check IsEnabled call WriteCore with only TraceEventType and check the return value, no event will be written.
+
+
+
+
+
+
+
+
+
+
+ Contains the parts of an address.
+
+
+
+
+ Initializes a new instance.
+
+
+
+
+
+ Initializes a new with the given parts.
+
+ The scheme.
+ The host.
+ The port.
+ The path.
+
+
+
+ Creates a new
+
+ A new
+
+
+
+ Determines whether the specified object is equal to the current object.
+
+ The other object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+
+ Determines whether the specified object is equal to the current object.
+
+ The other object.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ The hash code for this instance.
+
+
+
+ Determines whether two specified instances of are equal.
+
+ The first object to compare.
+ The second object to compare.
+ true if left and right represent the same address; otherwise, false.
+
+
+
+ Determines whether two specified instances of are not equal.
+
+ The first object to compare.
+ The second object to compare.
+ true if left and right do not represent the same address; otherwise, false.
+
+
+
+ Gets a specified key and value from the underlying dictionary.
+
+
+ The key.
+
+
+
+
+ Sets a specified key and value in the underlying dictionary.
+
+ The key.
+ The value.
+
+
+
+
+ Gets the internal dictionary for this collection.
+
+ The internal dictionary for this collection.
+
+
+
+ The uri scheme.
+
+
+
+
+ The uri host.
+
+
+
+
+ The uri port.
+
+
+
+
+ The uri path.
+
+
+
+
+ Wraps the host.Addresses list.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The address list to set to the collection.
+
+
+
+ Adds the specified address to the collection.
+
+ The address to add to the collection.
+
+
+
+ Gets the enumerator that iterates through the collection.
+
+ The enumerator that can be used to iterate through the collection.
+
+
+
+ Gets the enumerator that iterates through the collection.
+
+ The enumerator that can be used to iterate through the collection.
+
+
+
+ Creates a new empty instance of .
+
+ A new empty instance of .
+
+
+
+ Determines whether the current collection is equal to the specified collection.
+
+ The other collection to compare to the current collection.
+ true if current collection is equal to the specified collection; otherwise, false.
+
+
+
+ Determines whether the current collection is equal to the specified object.
+
+ The object to compare to the current collection.
+ true if current collection is equal to the specified object; otherwise, false.
+
+
+
+ Gets the hash code for this instance.
+
+ The hash code for this instance.
+
+
+
+ Determines whether the first collection is equal to the second collection.
+
+ The first collection to compare.
+ The second collection to compare.
+ true if both collections are equal; otherwise, false.
+
+
+
+ Determines whether the first collection is not equal to the second collection.
+
+ The first collection to compare.
+ The second collection to compare.
+ true if both collections are not equal; otherwise, false.
+
+
+
+ Gets the underlying address list.
+
+ The underlying address list.
+
+
+
+ Gets the number of elements in the collection.
+
+ The number of elements in the collection.
+
+
+
+ Gets the item with the specified index from the collection.
+
+ The index.
+ The item with the specified index.
+
+
+
+ A wrapper for the IDictionary.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ Determines whether the current AppProperties is equal to the specified AppProperties.
+
+ The other AppProperties to compare with the current instance.
+ true if the current AppProperties is equal to the specified AppProperties; otherwise, false.
+
+
+
+ Determines whether the current AppProperties is equal to the specified object.
+
+ The object to compare with the current instance.
+ true if the current AppProperties is equal to the specified object; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ The hash code for this instance.
+
+
+
+ Determines whether the first AppPProperties is equal to the second AppProperties.
+
+ The first AppPropeties to compare.
+ The second AppPropeties to compare.
+ true if both AppProperties are equal; otherwise, false.
+
+
+
+ Determines whether the first AppPProperties is not equal to the second AppProperties.
+
+ The first AppPropeties to compare.
+ The second AppPropeties to compare.
+ true if both AppProperties are not equal; otherwise, false.
+
+
+
+ Gets the value from the dictionary with the specified key.
+
+ The type of the value.
+ The key of the value to get.
+ The value with the specified key.
+
+
+
+ Sets the value with the specified key.
+
+ The key of the value to set.
+ The value to set.
+ This instance.
+
+
+
+ Gets or sets the string value for “owin.Version”.
+
+ The string value for “owin.Version”.
+
+
+
+ Gets or sets the function delegate for “builder.DefaultApp”.
+
+ The function delegate for “builder.DefaultApp”.
+
+
+
+ Gets or sets the action delegate for “builder.AddSignatureConversion”.
+
+ The action delegate for “builder.AddSignatureConversion”.
+
+
+
+ Gets or sets the string value for “host.AppName”.
+
+ The string value for “host.AppName”.
+
+
+
+ Gets or sets the text writer for “host.TraceOutput”.
+
+ The text writer for “host.TraceOutput”.
+
+
+
+ Gets or sets the cancellation token for “host.OnAppDisposing”.
+
+ The cancellation token for “host.OnAppDisposing”.
+
+
+
+ Gets or sets the address collection for “host.Addresses”.
+
+ The address collection for “host.Addresses”.
+
+
+
+ Gets or sets the list of “server.Capabilities”.
+
+ The list of “server.Capabilities”.
+
+
+
+ Gets the underlying dictionary for this instance.
+
+ The underlying dictionary for this instance.
+
+
+
+ Represents the capabilities for the builder properties.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ A new instance of the class.
+
+
+
+ Determines whether the current Capabilities instance is equal to the specified Capabilities.
+
+ The other Capabilities to compare with the current instance.
+ true if the specified object is equal to the current object; otherwise, false.
+
+
+
+ Determines whether the current Capabilities is equal to the specified object.
+
+ The object to compare with the current instance.
+ true if the current Capabilities is equal to the specified object; otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ The hash code for this instance.
+
+
+
+ Determines whether two specified instances of are equal.
+
+ The first object to compare.
+ The second object to compare.
+ true if the two specified instances of are equal; otherwise, false.
+
+
+
+ Determines whether two specified instances of are not equal.
+
+ The first object to compare.
+ The second object to compare.
+ true if the two specified instances of are not equal; otherwise, false.
+
+
+
+ Gets the value from the dictionary with the specified key.
+
+ The type of the value.
+ The key of the value to get.
+ The value with the specified key.
+
+
+
+ Sets the given key and value in the underlying dictionary.
+
+ The key of the value to set.
+ The value to set.
+ This instance.
+
+
+
+ The underling IDictionary
+
+
+
+
+ Gets or sets the string value for "sendfile.Version"
+
+ the string value for "sendfile.Version"
+
+
+
+ Gets or sets the websocket version.
+
+ The websocket version.
+
+
+
+ Options used to create a new cookie.
+
+
+
+
+ Creates a default cookie with a path of '/'.
+
+
+
+
+ Gets or sets the domain to associate the cookie with.
+
+ The domain to associate the cookie with.
+
+
+
+ Gets or sets the cookie path.
+
+ The cookie path.
+
+
+
+ Gets or sets the expiration date and time for the cookie.
+
+ The expiration date and time for the cookie.
+
+
+
+ Gets or sets a value that indicates whether to transmit the cookie using Secure Sockets Layer (SSL)—that is, over HTTPS only.
+
+ true to transmit the cookie only over an SSL connection (HTTPS); otherwise, false.
+
+
+
+ Gets or sets a value that indicates whether a cookie is accessible by client-side script.
+
+ true if a cookie is accessible by client-side script; otherwise, false.
+
+
+
+ Provides a default ILoggerFactory.
+
+
+
+
+ Provides a default ILoggerFactory based on System.Diagnostics.TraceSorce.
+
+
+
+
+ Extension methods for IAppBuilder.
+
+
+
+
+ The Build is called at the point when all of the middleware should be chained
+ together. May be called to build pipeline branches.
+
+
+ The request processing entry point for this section of the pipeline.
+
+
+
+ The Build is called at the point when all of the middleware should be chained
+ together. May be called to build pipeline branches.
+
+ The application signature.
+
+ The request processing entry point for this section of the pipeline.
+
+
+
+ Adds converters for adapting between disparate application signatures.
+
+
+
+
+
+
+ Adds converters for adapting between disparate application signatures.
+
+
+
+
+
+
+
+
+ Provides helper methods for processing requests.
+
+
+
+
+ Parses an HTTP form body.
+
+ The HTTP form body to parse.
+ The object containing the parsed HTTP form body.
+
+
+
+ Converts between an OwinMiddlware and an .
+
+
+
+
+ An abstract base class for a standard middleware pattern.
+
+
+
+
+ Instantiates the middleware with an optional pointer to the next component.
+
+
+
+
+
+ Process an individual request.
+
+
+
+
+
+
+ The optional next component.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Transitions between and OwinMiddleware.
+
+
+
+
+
+
+
+
+
+
+
+
+ OWIN environment dictionary which stores state information about the request, response and relevant server state.
+
+
+
+
+ Adds adapters between and OwinMiddleware.
+
+
+
+
+ Adds adapters between and OwinMiddleware.
+
+
+
+
+
+ This wraps OWIN environment dictionary and provides strongly typed accessors.
+
+
+
+
+ Create a new context with only request and response header collections.
+
+
+
+
+ Create a new environment wrapper exposing request properties.
+
+ OWIN environment dictionary which stores state information about the request, response and relevant server state.
+
+
+
+ Asynchronously reads and parses the request body as a form.
+
+ The parsed form data.
+
+
+
+ Gets a value from the OWIN environment, or returns default(T) if not present.
+
+ The type of the value.
+ The key of the value to get.
+ The value with the specified key or the default(T) if not present.
+
+
+
+ Sets the given key and value in the OWIN environment.
+
+ The type of the value.
+ The key of the value to set.
+ The value to set.
+ This instance.
+
+
+
+ Gets the OWIN environment.
+
+ The OWIN environment.
+
+
+
+ Gets the request context.
+
+ The request context.
+
+
+
+ Gets or set the HTTP method.
+
+ The HTTP method.
+
+
+
+ Gets or set the HTTP request scheme from owin.RequestScheme.
+
+ The HTTP request scheme from owin.RequestScheme.
+
+
+
+ Returns true if the owin.RequestScheme is https.
+
+ true if this request is using https; otherwise, false.
+
+
+
+ Gets or set the Host header. May include the port.
+
+ The Host header.
+
+
+
+ Gets or set the owin.RequestPathBase.
+
+ The owin.RequestPathBase.
+
+
+
+ Gets or set the request path from owin.RequestPath.
+
+ The request path from owin.RequestPath.
+
+
+
+ Gets or set the query string from owin.RequestQueryString.
+
+ The query string from owin.RequestQueryString.
+
+
+
+ Gets the query value collection parsed from owin.RequestQueryString.
+
+ The query value collection parsed from owin.RequestQueryString.
+
+
+
+ Gets the uniform resource identifier (URI) associated with the request.
+
+ The uniform resource identifier (URI) associated with the request.
+
+
+
+ Gets or set the owin.RequestProtocol.
+
+ The owin.RequestProtocol.
+
+
+
+ Gets the request headers.
+
+ The request headers.
+
+
+
+ Gets the collection of Cookies for this request.
+
+ The collection of Cookies for this request.
+
+
+
+ Gets or sets the Content-Type header.
+
+ The Content-Type header.
+
+
+
+ Gets or sets the Cache-Control header.
+
+ The Cache-Control header.
+
+
+
+ Gets or sets the Media-Type header.
+
+ The Media-Type header.
+
+
+
+ Gets or set the Accept header.
+
+ The Accept header.
+
+
+
+ Gets or set the owin.RequestBody Stream.
+
+ The owin.RequestBody Stream.
+
+
+
+ Gets or sets the cancellation token for the request.
+
+ The cancellation token for the request.
+
+
+
+ Gets or set the server.LocalIpAddress.
+
+ The server.LocalIpAddress.
+
+
+
+ Gets or set the server.LocalPort.
+
+ The server.LocalPort.
+
+
+
+ Gets or set the server.RemoteIpAddress.
+
+ The server.RemoteIpAddress.
+
+
+
+ Gets or set the server.RemotePort.
+
+ The server.RemotePort.
+
+
+
+ Gets or set the server.User.
+
+ The server.User.
+
+
+
+ This wraps OWIN environment dictionary and provides strongly typed accessors.
+
+
+
+
+ Create a new context with only request and response header collections.
+
+
+
+
+ Creates a new environment wrapper exposing response properties.
+
+ OWIN environment dictionary which stores state information about the request, response and relevant server state.
+
+
+
+ Registers for an event that fires when the response headers are sent.
+
+ The callback method.
+ The callback state.
+
+
+
+ Sets a 302 response status code and the Location header.
+
+ The location where to redirect the client.
+
+
+
+ Writes the given text to the response body stream using UTF-8.
+
+ The response data.
+
+
+
+ Writes the given bytes to the response body stream.
+
+ The response data.
+
+
+
+ Writes the given bytes to the response body stream.
+
+ The response data.
+ The zero-based byte offset in the parameter at which to begin copying bytes.
+ The number of bytes to write.
+
+
+
+ Asynchronously writes the given text to the response body stream using UTF-8.
+
+ The response data.
+ A Task tracking the state of the write operation.
+
+
+
+ Asynchronously writes the given text to the response body stream using UTF-8.
+
+ The response data.
+ A token used to indicate cancellation.
+ A Task tracking the state of the write operation.
+
+
+
+ Asynchronously writes the given bytes to the response body stream.
+
+ The response data.
+ A Task tracking the state of the write operation.
+
+
+
+ Asynchronously writes the given bytes to the response body stream.
+
+ The response data.
+ A token used to indicate cancellation.
+ A Task tracking the state of the write operation.
+
+
+
+ Asynchronously writes the given bytes to the response body stream.
+
+ The response data.
+ The zero-based byte offset in the parameter at which to begin copying bytes.
+ The number of bytes to write.
+ A token used to indicate cancellation.
+ A Task tracking the state of the write operation.
+
+
+
+ Gets a value from the OWIN environment, or returns default(T) if not present.
+
+ The type of the value.
+ The key of the value to get.
+ The value with the specified key or the default(T) if not present.
+
+
+
+ Sets the given key and value in the OWIN environment.
+
+ The type of the value.
+ The key of the value to set.
+ The value to set.
+ This instance.
+
+
+
+ Gets the OWIN environment.
+
+ The OWIN environment.
+
+
+
+ Gets the request context.
+
+ The request context.
+
+
+
+ Gets or sets the optional owin.ResponseStatusCode.
+
+ The optional owin.ResponseStatusCode, or 200 if not set.
+
+
+
+ Gets or sets the the optional owin.ResponseReasonPhrase.
+
+ The the optional owin.ResponseReasonPhrase.
+
+
+
+ Gets or sets the owin.ResponseProtocol.
+
+ The owin.ResponseProtocol.
+
+
+
+ Gets the response header collection.
+
+ The response header collection.
+
+
+
+ Gets a collection used to manipulate the Set-Cookie header.
+
+ A collection used to manipulate the Set-Cookie header.
+
+
+
+ Gets or sets the Content-Length header.
+
+ The Content-Length header.
+
+
+
+ Gets or sets the Content-Type header.
+
+ The Content-Type header.
+
+
+
+ Gets or sets the Expires header.
+
+ The Expires header.
+
+
+
+ Gets or sets the E-Tag header.
+
+ The E-Tag header.
+
+
+
+ Gets or sets the owin.ResponseBody Stream.
+
+ The owin.ResponseBody Stream.
+
+
+
+ Used to interact with authentication middleware that have been chained in the pipeline
+
+
+
+
+ Lists all of the description data provided by authentication middleware that have been chained
+
+ The authentication descriptions
+
+
+
+ Lists the description data of all of the authentication middleware which are true for a given predicate
+
+ A function provided by the caller which returns true for descriptions that should be in the returned list
+ The authentication descriptions
+
+
+
+ Call back through the middleware to ask for a specific form of authentication to be performed
+ on the current request
+
+ Identifies which middleware should respond to the request
+ for authentication. This value is compared to the middleware's Options.AuthenticationType property.
+ Returns an object with the results of the authentication. The AuthenticationResult.Identity
+ may be null if authentication failed. Even if the Identity property is null, there may still be
+ AuthenticationResult.properties and AuthenticationResult.Description information returned.
+
+
+
+ Called to perform any number of authentication mechanisms on the current request.
+
+ Identifies one or more middleware which should attempt to respond
+ Returns the AuthenticationResult information from the middleware which responded. The
+ order is determined by the order the middleware are in the pipeline. Latest added is first in the list.
+
+
+
+ Add information into the response environment that will cause the authentication middleware to challenge
+ the caller to authenticate. This also changes the status code of the response to 401. The nature of that
+ challenge varies greatly, and ranges from adding a response header or changing the 401 status code to
+ a 302 redirect.
+
+ Additional arbitrary values which may be used by particular authentication types.
+ Identify which middleware should perform their alterations on the
+ response. If the authenticationTypes is null or empty, that means the
+ AuthenticationMode.Active middleware should perform their alterations on the response.
+
+
+
+ Add information into the response environment that will cause the authentication middleware to challenge
+ the caller to authenticate. This also changes the status code of the response to 401. The nature of that
+ challenge varies greatly, and ranges from adding a response header or changing the 401 status code to
+ a 302 redirect.
+
+ Identify which middleware should perform their alterations on the
+ response. If the authenticationTypes is null or empty, that means the
+ AuthenticationMode.Active middleware should perform their alterations on the response.
+
+
+
+ Add information to the response environment that will cause the appropriate authentication middleware
+ to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary.
+ Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2
+ access code or token response.
+
+ Contains additional properties the middleware are expected to persist along with
+ the claims. These values will be returned as the AuthenticateResult.properties collection when AuthenticateAsync
+ is called on subsequent requests.
+ Determines which claims are granted to the signed in user. The
+ ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType
+ value to determine which claims are granted by which middleware. The recommended use is to have a single
+ ClaimsIdentity which has the AuthenticationType matching a specific middleware.
+
+
+
+ Add information to the response environment that will cause the appropriate authentication middleware
+ to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary.
+ Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2
+ access code or token response.
+
+ Determines which claims are granted to the signed in user. The
+ ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType
+ value to determine which claims are granted by which middleware. The recommended use is to have a single
+ ClaimsIdentity which has the AuthenticationType matching a specific middleware.
+
+
+
+ Add information to the response environment that will cause the appropriate authentication middleware
+ to revoke any claims identity associated the the caller. The exact method varies.
+
+ Additional arbitrary values which may be used by particular authentication types.
+ Identifies which middleware should perform the work to sign out.
+ Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear
+ cookies and redirect to an external single-sign out url.
+
+
+
+ Add information to the response environment that will cause the appropriate authentication middleware
+ to revoke any claims identity associated the the caller. The exact method varies.
+
+ Identifies which middleware should perform the work to sign out.
+ Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear
+ cookies and redirect to an external single-sign out url.
+
+
+
+ Returns the current user for the request
+
+
+
+
+ Exposes the security.Challenge environment value as a strong type.
+
+
+
+
+ Exposes the security.SignIn environment value as a strong type.
+
+
+
+
+ Exposes the security.SignOut environment value as a strong type.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Exposes the security.Challenge environment value as a strong type.
+
+
+
+
+ Exposes the security.SignIn environment value as a strong type.
+
+
+
+
+ Exposes the security.SignOut environment value as a strong type.
+
+
+
+
+ Dictionary used to store state values about the authentication session.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+ State values about the authentication session.
+
+
+
+
+ Gets or sets whether the authentication session is persisted across multiple requests.
+
+
+
+
+ Gets or sets the full path or absolute URI to be used as an http redirect response value.
+
+
+
+
+ Gets or sets the time at which the authentication ticket was issued.
+
+
+
+
+ Gets or sets the time at which the authentication ticket expires.
+
+
+
+
+ Gets or sets if refreshing the authentication session should be allowed.
+
+
+
+
+ Exposes the security.Challenge environment value as a strong type.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+ List of the authentication types that should send a challenge in the response.
+
+
+
+
+ Dictionary used to store state values about the authentication session.
+
+
+
+
+ Exposes the security.SignIn environment value as a strong type.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+ The identity associated with the user sign in.
+
+
+
+
+ The security principal associated with the user sign in.
+
+
+
+
+ Dictionary used to store state values about the authentication session.
+
+
+
+
+ Exposes the security.SignOut and security.SignOutProperties environment values as a strong type.
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+ Initializes a new instance of the class
+
+
+
+
+
+
+ List of the authentication types that should be revoked on sign out.
+
+
+
+
+ Dictionary used to store state values about the authentication session.
+
+
+
+
+ Provides an ILoggerFactory based on System.Diagnostics.TraceSource.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a factory named "Microsoft.Owin".
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+ Creates a new DiagnosticsLogger for the given component name.
+
+
+
+
+
+
+ ILogger extension methods for common scenarios.
+
+
+
+
+ Checks if the given TraceEventType is enabled.
+
+
+
+
+
+
+
+ Writes a verbose log message.
+
+
+
+
+
+
+ Writes an informational log message.
+
+
+
+
+
+
+ Writes a warning log message.
+
+
+
+
+
+
+
+ Writes a warning log message.
+
+
+
+
+
+
+
+ Writes an error log message.
+
+
+
+
+
+
+ Writes an error log message.
+
+
+
+
+
+
+
+ Writes a critical log message.
+
+
+
+
+
+
+ Writes a critical log message.
+
+
+
+
+
+
+
diff --git a/Blog/bin/Microsoft.Web.Helpers.dll b/Blog/bin/Microsoft.Web.Helpers.dll
new file mode 100644
index 0000000..133561a
Binary files /dev/null and b/Blog/bin/Microsoft.Web.Helpers.dll differ
diff --git a/Blog/bin/Microsoft.Web.Infrastructure.dll b/Blog/bin/Microsoft.Web.Infrastructure.dll
new file mode 100644
index 0000000..85f1138
Binary files /dev/null and b/Blog/bin/Microsoft.Web.Infrastructure.dll differ
diff --git a/Blog/bin/Microsoft.Web.Mvc.FixedDisplayModes.dll b/Blog/bin/Microsoft.Web.Mvc.FixedDisplayModes.dll
new file mode 100644
index 0000000..183f70e
Binary files /dev/null and b/Blog/bin/Microsoft.Web.Mvc.FixedDisplayModes.dll differ
diff --git a/Blog/bin/MiniProfiler.dll b/Blog/bin/MiniProfiler.dll
new file mode 100644
index 0000000..4751387
Binary files /dev/null and b/Blog/bin/MiniProfiler.dll differ
diff --git a/Blog/bin/MiniProfiler.pdb b/Blog/bin/MiniProfiler.pdb
new file mode 100644
index 0000000..36885c0
Binary files /dev/null and b/Blog/bin/MiniProfiler.pdb differ
diff --git a/Blog/bin/MiniProfiler.xml b/Blog/bin/MiniProfiler.xml
new file mode 100644
index 0000000..d0c55f5
--- /dev/null
+++ b/Blog/bin/MiniProfiler.xml
@@ -0,0 +1,4686 @@
+
+
+
+ MiniProfiler
+
+
+
+
+ BaseProfilerProvider. This providers some helper methods which provide access to
+ internals not otherwise available.
+ To use, override the , and
+ methods.
+
+
+
+
+ A provider used to create instances and maintain the current instance.
+
+
+
+
+ Starts a new MiniProfiler and sets it to be current. By the end of this method
+ should return the new MiniProfiler.
+
+ The level.
+ the mini profiler.
+
+
+
+ Ends the current profiling session, if one exists.
+
+
+ When true, clears the for this HttpContext, allowing profiling to
+ be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled.
+
+
+
+
+ Returns the current MiniProfiler. This is used by .
+
+ the mini profiler.
+
+
+
+ Starts a new MiniProfiler and sets it to be current. By the end of this method
+ should return the new MiniProfiler.
+
+
+ The level.
+
+
+ The .
+
+
+
+
+ Stops the current MiniProfiler (if any is currently running).
+ should be called if is false
+
+ If true, any current results will be thrown away and nothing saved
+
+
+
+ Returns the current MiniProfiler. This is used by .
+
+ mini profiler.
+
+
+
+ Sets to be active (read to start profiling)
+ This should be called once a new MiniProfiler has been created.
+
+ The profiler to set to active
+ If is null
+
+
+
+ Stops the profiler and marks it as inactive.
+
+ The profiler to stop
+ True if successful, false if Stop had previously been called on this profiler
+ If is null
+
+
+
+ Calls to save the current
+ profiler using the current storage settings
+
+ mini profiler
+
+
+
+ Times collected from the client
+
+
+
+
+ The client timing prefix.
+
+
+
+
+ The client probes prefix.
+
+
+
+
+ Returns null if there is not client timing stuff
+
+ The request.
+ the client timings.
+
+
+
+ convert to sentence case.
+
+ The value.
+ the converted string.
+
+
+
+ Gets or sets the list of client side timings
+
+
+
+
+ Gets or sets the redirect count.
+
+
+
+
+ A client timing probe
+
+
+
+
+ Gets or sets the name.
+
+
+
+
+ Gets or sets the start.
+
+
+
+
+ Gets or sets the duration.
+
+
+
+
+ An individual suppression block that deactivates profiling temporarily
+
+
+
+
+ Initialises a new instance of the class.
+ Obsolete - used for serialization.
+
+
+
+
+ Initialises a new instance of the class.
+ Creates a new Suppression to deactive profiling while alive
+
+
+ The profiler.
+
+
+
+
+ dispose the profiler.
+
+
+
+
+ Gets a reference to the containing profiler, allowing this Suppression to affect profiler activity.
+
+
+
+
+ Categories of SQL statements.
+
+
+
+
+ Unknown type
+
+
+
+
+ DML statements that alter database state, e.g. INSERT, UPDATE
+
+
+
+
+ Statements that return a single record
+
+
+
+
+ Statements that iterate over a result set
+
+
+
+
+ A call back for ProfiledDbConnection and family
+
+
+
+
+ Called when a command starts executing
+
+
+ The profiled dB Command.
+
+
+ The execute Type.
+
+
+
+
+ Called when a reader finishes executing
+
+ The profiled DB Command.
+ The execute Type.
+ The reader.
+
+
+
+ Called when a reader is done iterating through the data
+
+ The reader.
+
+
+
+ Called when an error happens during execution of a command
+
+ The profiled DB Command.
+ The execute Type.
+ The exception.
+
+
+
+ Gets a value indicating whether or not the profiler instance is active
+
+
+
+
+ A general implementation of that uses an
+ to collect profiling information.
+
+
+
+
+ The command.
+
+
+
+
+ The connection.
+
+
+
+
+ The profiler.
+
+
+
+
+ The transaction.
+
+
+
+
+ Initialises a new instance of the class.
+ Creates a new wrapped command
+
+ The wrapped command
+ The wrapped connection the command is attached to
+ The profiler to use
+
+
+
+ prepare the command.
+
+
+
+
+ cancel the command.
+
+
+
+
+ create a new parameter.
+
+ The .
+
+
+
+ execute a non query.
+
+ The .
+
+
+
+ execute the reader.
+
+ The .
+
+
+
+ execute the reader.
+
+ The behavior.
+ the active reader.
+
+
+
+ execute and return a scalar.
+
+ the scalar value.
+
+
+
+ profile with results.
+
+ The type of execution.
+ a function to execute against against the profile result
+ the type of result to return.
+ The return the profiled result.
+
+
+
+ dispose the command / connection and profiler.
+
+
+
+
+ dispose the command / connection and profiler.
+
+ false if the dispose is called from a finalizer
+
+
+
+ clone the command.
+
+ The .
+
+
+
+ Gets or sets the connection.
+
+
+
+
+ Gets or sets the transaction.
+
+
+
+
+ Gets or sets the command text.
+
+
+
+
+ Gets or sets the command timeout.
+
+
+
+
+ Gets or sets the command type.
+
+
+
+
+ Gets the parameters.
+
+
+
+
+ Gets or sets the updated row source.
+
+
+
+
+ A general implementation of IDbConnection that uses an
+ to collect profiling information.
+
+
+
+
+ The profiler.
+
+
+
+
+ The connection.
+
+
+
+
+ Initialises a new instance of the class.
+ Creates a simple profiled connection instance.
+
+
+ The database connection to wrap
+
+
+ The profiler to use
+
+
+
+
+ begin the transaction.
+
+ The .
+
+
+
+ begin a transaction.
+
+ The isolation Level.
+ the wrapped transaction
+
+
+
+ change the database.
+
+ The database name.
+
+
+
+ create a new command.
+
+ The .
+
+
+
+ close the connection
+
+
+
+
+ open the connection
+
+
+
+
+ dispose the command / connection and profiler.
+
+
+
+
+ dispose the command / connection and profiler.
+
+ false if the dispose is called from a finalizer
+
+
+
+ Gets or sets the connection string.
+
+
+
+
+ Gets the connection timeout.
+
+
+
+
+ Gets the database.
+
+
+
+
+ Gets the state.
+
+
+
+
+ Gets the internally wrapped
+
+
+
+
+ A simple profiled data reader.
+
+
+
+
+ The reader.
+
+
+
+
+ The profiler.
+
+
+
+
+ Initialises a new instance of the class.
+
+ The reader.
+ The profiler.
+
+
+
+ get the name.
+
+ The index.
+ a string containing the name
+
+
+
+ get the data type name.
+
+ The index.
+ The .
+
+
+
+ get the field type.
+
+ The index.
+ The .
+
+
+
+ get the value.
+
+ The index.
+ The .
+
+
+
+ get the values.
+
+ The values.
+ The .
+
+
+
+ get the ordinal.
+
+ The name.
+ The .
+
+
+
+ The get boolean.
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ The get byte.
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ Gets the value for the column specified by the ordinal as an array of objects.
+
+ The index.
+ The field Offset.
+ The buffer.
+ The buffer offset.
+ The length.
+ The number of bytes copied.
+
+
+
+ The get char.
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ Gets the value for the column specified by the ordinal as an array of objects.
+
+ The index.
+ The field offset.
+ The buffer.
+ The buffer offset.
+ The length.
+ The .
+
+
+
+ get the GUID.
+
+ The index.
+ The .
+
+
+
+ Gets the value for the column specified by the ordinal as a .
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ Gets the value for the column specified by the ordinal as a .
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ Gets the value for the column specified by the ordinal as a .
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ The get float.
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ The get double.
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ The get string.
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ The get decimal.
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ The get date time.
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ The get data.
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ Returns true if the column specified by the column ordinal parameter is null.
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ The close.
+
+
+
+
+ The get schema table.
+
+
+ The .
+
+
+
+
+ The next result.
+
+
+ The .
+
+
+
+
+ read from the underlying reader.
+
+
+ The .
+
+
+
+ dispose the command / connection and profiler.
+
+
+
+
+ dispose the command / connection and profiler.
+
+ false if the dispose is called from a finalizer
+
+
+
+ Gets the field count.
+
+
+
+
+ The
+
+
+ The index.
+
+
+ The .
+
+
+
+
+ The
+
+
+ The name.
+
+
+ The .
+
+
+
+
+ Gets the depth.
+
+
+
+
+ Gets a value indicating whether is closed.
+
+
+
+
+ Gets the number of records affected.
+
+
+
+
+ Provides a wrapper around a native DbDataAdapter, allowing a profiled Fill operation.
+
+
+
+
+ This static variable is simply used as a non-null placeholder in the MiniProfiler.ExecuteFinish method
+
+
+
+
+ The profiler.
+
+
+
+
+ The adapter.
+
+
+
+
+ The select command.
+
+
+
+
+ The insert command.
+
+
+
+
+ The update command.
+
+
+
+
+ The delete command.
+
+
+
+
+ Initialises a new instance of the class.
+
+ The wrapped adapter.
+ The profiler.
+
+
+
+ Adds a named "Table" to the specified and configures the schema to match that in the data source based on the specified .
+
+ The to be filled with the schema from the data source.
+ One of the values.
+
+ An array of objects that contain schema information returned from the data source.
+
+
+
+
+ Adds or updates rows in the to match those in the data source using the name, and creates a named "Table".
+
+ A to fill with records and, if necessary, schema.
+
+ The number of rows successfully added to or refreshed in the . This does not include rows affected by statements that do not return rows.
+
+
+
+
+ Gets the parameters set by the user when executing an SQL SELECT statement.
+
+
+ An array of objects that contains the parameters set by the user.
+
+
+
+
+ Calls the respective INSERT, UPDATE, or DELETE statements for each inserted, updated, or deleted row in the specified from a named "Table".
+
+ The used to update the data source.
+
+ The number of rows successfully updated from the .
+
+ An attempt to execute an INSERT, UPDATE, or DELETE statement resulted in zero records affected.
+
+
+
+ Gets the underlying adapter. Useful for when APIs can't handle the wrapped adapter (e.g. CommandBuilder).
+
+
+
+
+ Gets or sets whether unmapped source tables or columns are passed with their source names in order to be filtered or to raise an error.
+
+ One of the values. The default is Passthrough.
+
+
+
+ Gets or sets whether missing source tables, columns, and their relationships are added to the dataset schema, ignored, or cause an error to be raised.
+
+ One of the values. The default is Add.
+ The value set is not one of the values.
+
+
+
+ Gets how a source table is mapped to a dataset table.
+
+ A collection that provides the master mapping between the returned records and the . The default value is an empty collection.
+
+
+
+ Gets or sets an SQL statement used to select records in the data source.
+
+ An that is used during to select records from data source for placement in the data set.
+
+
+
+ Gets or sets an SQL statement used to insert new records into the data source.
+
+ An used during to insert records in the data source for new rows in the data set.
+
+
+
+ Gets or sets an SQL statement used to update records in the data source.
+
+ An used during to update records in the data source for modified rows in the data set.
+
+
+
+ Gets or sets an SQL statement for deleting records from the data set.
+
+ An used during to delete records in the data source for deleted rows in the data set.
+
+
+
+ Wrapper for a database provider factory to enable profiling
+
+
+
+
+ Every provider factory must have an Instance public field
+
+
+
+
+ The profiler.
+
+
+
+
+ The tail.
+
+
+
+
+ Prevents a default instance of the class from being created.
+ Used for database provider APIS internally
+
+
+
+
+ Allow to re-initialise the provider factory.
+
+ The profiler.
+ The tail.
+
+
+
+ Initialises a new instance of the class.
+ proxy provider factory
+
+ The profiler.
+ The tail.
+
+
+
+ create the data source enumerator.
+
+ The .
+
+
+
+ create the command.
+
+ The .
+
+
+
+ create the connection.
+
+ The .
+
+
+
+ create the parameter.
+
+ The .
+
+
+
+ create the connection string builder.
+
+
+ The .
+
+
+
+
+ create the command builder.
+
+
+ The .
+
+
+
+
+ create the data adapter.
+
+
+ The .
+
+
+
+
+ create the permission.
+
+ The state.
+ The .
+
+
+
+ Gets a value indicating whether a data source enumerator can be created.
+
+
+
+
+ A general implementation of that is used to
+ wrap profiling information around calls to it.
+
+
+
+
+ The transaction.
+
+
+
+
+ The connection.
+
+
+
+
+ Initialises a new instance of the class.
+ Creates a new wrapped
+
+
+ The transaction to wrap
+
+
+ The wrapped connection this transaction is attached to
+
+
+
+
+ commit the transaction.
+
+
+
+
+ rollback the transaction
+
+
+
+
+ dispose the command / connection and profiler.
+
+
+
+
+ dispose the command / connection and profiler.
+
+ false if the dispose is called from a finalizer
+
+
+
+ Gets the internal wrapped transaction
+
+
+
+
+ Gets the connection.
+
+
+
+
+ Gets the isolation level.
+
+
+
+
+ Common extension methods to use only in this project
+
+
+
+
+ Answers true if this String is either null or empty.
+
+
+ The string value.
+
+ true if the string is null or white space
+
+
+
+ Answers true if this String is neither null or empty.
+
+ The string value.
+ The .
+
+
+
+ truncate the string.
+
+ The string.
+ The max length.
+ The .
+
+
+
+ Removes trailing / characters from a path and leaves just one
+
+
+ The input.
+
+ the input string with a trailing slash
+
+
+
+ Removes any leading / characters from a path
+
+ The input string.
+ the input string without a leading slash
+
+
+
+ Removes any leading / characters from a path
+
+ The input.
+ the input string without a trailing slash
+
+
+
+ Serializes to a JSON string.
+
+ the instance to serialise
+ the resulting JSON object as a string
+
+
+
+ Returns a lowercase string of suitable for use in javascript.
+
+
+
+
+ This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example),
+ and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE**
+ equality. The type is fully thread-safe.
+
+ the key type
+ the value type
+
+
+
+ Initialises a new instance of the class.
+
+
+ The key.
+
+
+ The value.
+
+
+ The tail.
+
+
+
+
+ try and return a value from the cache based on the key.
+ the default value is returned if no match is found.
+ An exception is not thrown.
+
+ The link.
+ The key.
+ The value.
+ return true if a value is located.
+
+
+
+ try and return a value from the cache based on the key.
+ the default value is returned if no match is found.
+ An exception is not thrown.
+
+ The head.
+ The key.
+ The value.
+ return true if a value is located
+
+
+
+ Gets the key.
+
+
+
+
+ Gets the value.
+
+
+
+
+ Gets the tail.
+
+
+
+
+ The profiled database command.
+
+
+
+
+ The bind by name cache.
+
+
+
+
+ The command.
+
+
+
+
+ The connection.
+
+
+
+
+ The transaction.
+
+
+
+
+ The profiler.
+
+
+
+
+ bind by name.
+
+
+
+
+ Initialises a new instance of the class.
+
+ The command.
+ The connection.
+ The profiler.
+
+
+
+ get the binding name.
+
+ The command type.
+ The .
+
+
+
+ The execute database data reader.
+
+ The behaviour.
+ the resulting .
+
+
+
+ execute a non query.
+
+ the number of affected records.
+
+
+
+ execute the scalar.
+
+
+ The .
+
+
+
+
+ cancel the command.
+
+
+
+
+ prepare the command.
+
+
+
+
+ create a database parameter.
+
+ The .
+
+
+
+ dispose the command.
+
+ false if this is being disposed in a finalizer.
+
+
+
+ clone the command, entity framework expects this behaviour.
+
+ The .
+
+
+
+ The clone.
+
+
+ The .
+
+
+
+
+ Gets or sets a value indicating whether or not to bind by name.
+ If the underlying command supports BindByName, this sets/clears the underlying
+ implementation accordingly. This is required to support OracleCommand from dapper-dot-net
+
+
+
+
+ Gets or sets the command text.
+
+
+
+
+ Gets or sets the command timeout.
+
+
+
+
+ Gets or sets the command type.
+
+
+
+
+ Gets or sets the database connection.
+
+
+
+
+ Gets the database parameter collection.
+
+
+
+
+ Gets or sets the database transaction.
+
+
+
+
+ Gets or sets a value indicating whether the command is design time visible.
+
+
+
+
+ Gets or sets the updated row source.
+
+
+
+
+ Gets the internal command.
+
+
+
+
+ Wraps a database connection, allowing SQL execution timings to be collected when a session is started.
+
+
+
+
+ This will be made private; use
+
+
+
+
+ This will be made private; use
+
+
+
+
+ Initialises a new instance of the class.
+ Returns a new that wraps ,
+ providing query execution profiling. If profiler is null, no profiling will occur.
+
+
+ Your provider-specific flavour of connection, e.g. SqlConnection, OracleConnection
+
+
+ The currently started or null.
+
+
+
+
+ change the database.
+
+ The new database name.
+
+
+
+ close the connection.
+
+
+
+
+ enlist the transaction.
+
+ The transaction.
+
+
+
+ get the schema.
+
+ The .
+
+
+
+ get the schema.
+
+ The collection name.
+ The .
+
+
+
+ get the schema.
+
+ The collection name.
+ The restriction values.
+ The .
+
+
+
+ open the connection
+
+
+
+
+ begin the database transaction.
+
+ The isolation level.
+ The .
+
+
+
+ create the database command.
+
+ The .
+
+
+
+ dispose the underlying connection.
+
+ false if pre-empted from a finalizer
+
+
+
+ The state change handler.
+
+ The sender.
+ The state change event arguments.
+
+
+
+ create a clone.
+
+ The .
+
+
+
+ create a clone.
+
+ The .
+
+
+
+ Gets the underlying, real database connection to your database provider.
+
+
+
+
+ Gets the current profiler instance; could be null.
+
+
+
+
+ Gets the wrapped connection.
+
+
+
+
+ Gets a value indicating whether events can be raised.
+
+
+
+
+ Gets or sets the connection string.
+
+
+
+
+ Gets the connection timeout.
+
+
+
+
+ Gets the database.
+
+
+
+
+ Gets the data source.
+
+
+
+
+ Gets the server version.
+
+
+
+
+ Gets the state.
+
+
+
+
+ The profiled database data reader.
+
+
+
+
+ The _reader.
+
+
+
+
+ The _profiler.
+
+
+
+
+ Initialises a new instance of the class.
+
+ The reader.
+ The connection.
+ The profiler.
+
+
+
+ The close.
+
+
+
+
+ The get boolean.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get byte.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get bytes.
+
+
+ The ordinal.
+
+
+ The data offset.
+
+
+ The buffer.
+
+
+ The buffer offset.
+
+
+ The length.
+
+
+ The .
+
+
+
+
+ The get char.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get chars.
+
+
+ The ordinal.
+
+
+ The data offset.
+
+
+ The buffer.
+
+
+ The buffer offset.
+
+
+ The length.
+
+
+ The .
+
+
+
+
+ The get data type name.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get date time.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get decimal.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get double.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get enumerator.
+
+
+ The .
+
+
+
+
+ The get field type.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get float.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ get the GUID.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get integer.
+
+ The ordinal.
+ The .
+
+
+
+ get a 32 bit integer
+
+ The ordinal.
+
+ The .
+
+
+
+
+ get a 64 bit integer (long)
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get name.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get ordinal.
+
+
+ The name.
+
+
+ The .
+
+
+
+
+ The get schema table.
+
+
+ The .
+
+
+
+
+ The get string.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get value.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The get values.
+
+
+ The values.
+
+
+ The .
+
+
+
+
+ the database value null.
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The next result.
+
+
+ The .
+
+
+
+
+ The read.
+
+
+ The .
+
+
+
+
+ Gets the depth.
+
+
+
+
+ Gets the field count.
+
+
+
+
+ Gets a value indicating whether has rows.
+
+
+
+
+ Gets a value indicating whether is closed.
+
+
+
+
+ Gets the records affected.
+
+
+
+
+ The
+
+
+ The name.
+
+
+ The .
+
+
+
+
+ The
+
+
+ The ordinal.
+
+
+ The .
+
+
+
+
+ The profiled database transaction.
+
+
+
+
+ The connection.
+
+
+
+
+ The transaction.
+
+
+
+
+ Initialises a new instance of the class.
+
+ The transaction.
+ The connection.
+
+
+
+ commit the transaction.
+
+
+
+
+ rollback the transaction
+
+
+
+
+ dispose the transaction and connection.
+
+ false if being called from a finalizer
+
+
+
+ Gets the database connection.
+
+
+
+
+ Gets the wrapped transaction.
+
+
+
+
+ Gets the isolation level.
+
+
+
+
+ The Stopwatch interface.
+
+
+
+
+ stop the timer.
+
+
+
+
+ Gets the elapsed ticks.
+
+
+
+
+ Gets the frequency.
+
+
+
+
+ Gets a value indicating whether is running.
+
+
+
+
+ The stopwatch wrapper.
+
+
+
+
+ start a new timer.
+
+
+ The .
+
+
+
+
+ The _stopwatch.
+
+
+
+
+ Prevents a default instance of the class from being created.
+
+
+
+
+ stop the timer.
+
+
+
+
+ Gets the elapsed ticks.
+
+
+
+
+ Gets the frequency.
+
+
+
+
+ Gets a value indicating whether is running.
+
+
+
+
+ Dapper, a light weight object mapper for ADO.NET
+
+
+
+
+ Purge the query cache
+
+
+
+
+ Return a count of all the cached queries by dapper
+
+
+
+
+
+ Return a list of all the queries cached by dapper
+
+
+
+
+
+
+ Deep diagnostics only: find any hash collisions in the cache
+
+
+
+
+
+ Execute parameterized SQL
+
+ Number of rows affected
+
+
+
+ Return a list of dynamic objects, reader is closed after the call
+
+
+
+
+ Executes a query, returning the data typed as per T
+
+ the dynamic param may seem a bit odd, but this works around a major usability issue in vs, if it is Object vs completion gets annoying. Eg type new [space] get new object
+ A sequence of data of the supplied type; if a basic type (int, string, etc) is queried then the data from the first column in assumed, otherwise an instance is
+ created per row, and a direct column-name===member-name mapping is assumed (case insensitive).
+
+
+
+
+ Execute a command that returns multiple result sets, and access each in turn
+
+
+
+
+ Return a typed list of objects, reader is closed after the call
+
+
+
+
+ Maps a query to objects
+
+ The first type in the recordset
+ The second type in the recordset
+ The return type
+
+
+
+
+
+
+ The Field we should split and read the second object from (default: id)
+ Number of seconds before command execution timeout
+ Is it a stored proc or a batch?
+
+
+
+
+ Maps a query to objects
+
+
+
+
+
+
+
+
+
+
+
+ The Field we should split and read the second object from (default: id)
+ Number of seconds before command execution timeout
+
+
+
+
+
+ Perform a multi mapping query with 4 input parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Perform a multi mapping query with 5 input parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Internal use only
+
+
+
+
+
+
+ Internal use only
+
+
+
+
+ Internal use only
+
+
+
+
+ Internal use only
+
+
+
+
+ Internal use only
+
+
+
+
+
+
+
+
+
+
+ Throws a data exception, only used internally
+
+
+
+
+
+
+
+ Called if the query cache is purged via PurgeQueryCache
+
+
+
+
+ Implement this interface to pass an arbitrary db specific set of parameters to Dapper
+
+
+
+
+ Add all the parameters needed to the command just before it executes
+
+ The raw command prior to execution
+ Information about the query
+
+
+
+ This is a micro-cache; suitable when the number of terms is controllable (a few hundred, for example),
+ and strictly append-only; you cannot change existing values. All key matches are on **REFERENCE**
+ equality. The type is fully thread-safe.
+
+
+
+
+ Identity of a cached query in Dapper, used for extensability
+
+
+
+
+ Create an identity for use with DynamicParameters, internal use only
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The sql
+
+
+
+
+ The command type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Compare 2 Identity objects
+
+
+
+
+
+
+ The grid reader provides interfaces for reading multiple result sets from a Dapper query
+
+
+
+
+ Read the next grid of results
+
+
+
+
+ Read multiple objects from a single recordset on the grid
+
+
+
+
+
+
+
+
+
+
+ Read multiple objects from a single recordset on the grid
+
+
+
+
+
+
+
+
+
+
+
+ Read multiple objects from a single record set on the grid
+
+
+
+
+
+
+
+
+
+
+
+
+ Read multiple objects from a single record set on the grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dispose the grid, closing and disposing both the underlying reader and command.
+
+
+
+
+ A bag of parameters that can be passed to the Dapper Query and Execute methods
+
+
+
+
+ construct a dynamic parameter bag
+
+
+
+
+ construct a dynamic parameter bag
+
+ can be an anonymous type of a DynamicParameters bag
+
+
+
+ Append a whole object full of params to the dynamic
+ EG: AddParams(new {A = 1, B = 2}) // will add property A and B to the dynamic
+
+
+
+
+
+ Add a parameter to this dynamic parameter list
+
+
+
+
+
+
+
+
+
+ Get the value of a parameter
+
+
+
+ The value, note DBNull.Value is not returned, instead the value is returned as null
+
+
+
+ This class represents a SQL string, it can be used if you need to denote your parameter is a Char vs VarChar vs nVarChar vs nChar
+
+
+
+
+ Create a new DbString
+
+
+
+
+ Add the parameter to the command... internal use only
+
+
+
+
+
+
+ Ansi vs Unicode
+
+
+
+
+ Fixed length
+
+
+
+
+ Length of the string -1 for max
+
+
+
+
+ The value of the string
+
+
+
+
+ Gets part of a stack trace containing only methods we care about.
+
+
+
+
+ The asp net entry point method name.
+
+
+
+
+ Gets the current formatted and filtered stack trace.
+
+ Space separated list of methods
+
+
+
+ should the type be excluded.
+
+ The method.
+ The .
+
+
+
+ The haack formatter.
+ http://haacked.com/archive/2009/01/04/fun-with-named-formats-string-parsing-and-edge-cases.aspx.
+
+
+
+
+ format the supplied string.
+
+ The format.
+ The source.
+ The .
+
+
+
+ split and format the supplied string.
+
+ The format.
+ the set of text expressions
+
+
+
+ index of the expression start.
+
+ The format.
+ The start index.
+ the start index
+
+
+
+ index of the expression end.
+
+ The format.
+ The start index.
+ the expression end index.
+
+
+
+ The format expression.
+
+
+
+
+ The TextExpression interface.
+
+
+
+
+ evaluate the supplied object.
+
+ The o.
+ a string containing the substituted text.
+
+
+
+ The _invalid expression.
+
+
+
+
+ Initialises a new instance of the class.
+
+
+ The expression.
+
+
+
+
+ evaluate the expression
+
+ The o.
+ The .
+
+
+
+ Gets the expression.
+
+
+
+
+ Gets the format.
+
+
+
+
+ The literal format.
+
+
+
+
+ Initialises a new instance of the class.
+
+
+ The literal text.
+
+
+
+
+ evaluate the object
+
+ The object.
+ The .
+
+
+
+ Gets the literal text.
+
+
+
+
+ Identifies users based on ip address.
+
+
+
+
+ Provides functionality to identify which user is profiling a request.
+
+
+
+
+ Returns a string to identify the user profiling the current 'request'.
+
+ The current HttpRequest being profiled.
+
+
+
+ Returns the paramter HttpRequest's client ip address.
+
+
+
+
+ A single MiniProfiler can be used to represent any number of steps/levels in a call-graph, via Step()
+
+ Totally baller.
+
+
+
+ Returns all currently open commands on this connection
+
+
+
+
+ Returns all results contained in all child steps.
+
+
+
+
+ Contains any sql statements that are executed, along with how many times those statements are executed.
+
+
+
+
+ Adds to the current .
+
+
+
+
+ Returns the number of sql statements of that were executed in all s.
+
+
+
+
+ Starts when this profiler is instantiated. Each step will use this Stopwatch's current ticks as
+ their starting time.
+
+
+
+
+ The root.
+
+
+
+
+ Initialises a new instance of the class.
+ Obsolete - used for serialization.
+
+
+
+
+ Initialises a new instance of the class.
+ Creates and starts a new MiniProfiler for the root , filtering steps to .
+
+
+ The URL.
+
+
+ The level.
+
+
+
+
+ Starts a new MiniProfiler based on the current . This new profiler can be accessed by
+
+
+ The level.
+ the mini profiler.
+
+
+
+ Ends the current profiling session, if one exists.
+
+
+ When true, clears the for this HttpContext, allowing profiling to
+ be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled.
+
+
+
+
+ Returns an that will time the code between its creation and disposal. Use this method when you
+ do not wish to include the StackExchange.Profiling namespace for the extension method.
+
+ A descriptive name for the code that is encapsulated by the resulting IDisposable's lifetime.
+ This step's visibility level; allows filtering when is called.
+ the static step.
+
+
+
+ Renders the current to JSON.
+
+ The .
+
+
+
+ Renders the parameter to JSON.
+
+ The profiler.
+ a string containing the JSON result.
+
+
+
+ Deserializes the JSON string parameter to a .
+
+ The JSON string.
+ the mini profiler
+
+
+
+ Returns the css and javascript includes needed to display the MiniProfiler results UI.
+
+ Which side of the page the profiler popup button should be displayed on (defaults to left)
+ Whether to show trivial timings by default (defaults to false)
+ Whether to show time the time with children column by default (defaults to false)
+ The maximum number of trace popups to show before removing the oldest (defaults to 15)
+ when true, shows buttons to minimize and clear MiniProfiler results
+ Whether MiniProfiler should attempt to load its own version of jQuery, or rely on a version previously loaded on the page
+ The sampling Only.
+ Script and link elements normally; an empty string when there is no active profiling session.
+
+
+
+ Returns the 's and this profiler recorded.
+
+ a string containing the recording information
+
+
+
+ Returns true if Ids match.
+
+ The rValue.
+ true if the profilers are equal.
+
+
+
+ Returns hash code of Id.
+
+ an integer containing the hash code.
+
+
+
+ Walks the hierarchy contained in this profiler, starting with , and returns each Timing found.
+
+ the set of timings.
+
+
+
+ Create a DEEP clone of this object
+
+ the mini profiler.
+
+
+
+ The step implementation.
+
+ The name.
+ The level.
+ the step.
+
+
+
+ The ignore implementation.
+
+ the step.
+
+
+
+ The stop implementation
+
+ true if the profile is stopped.
+
+
+
+ add the data implementation.
+
+ The key.
+ The value.
+
+
+
+ Returns milliseconds based on Stopwatch's Frequency.
+
+ The stopwatch Elapsed Ticks.
+ a decimal containing the milliseconds
+
+
+
+ The on deserialized event.
+
+ The context.
+
+
+
+ Contains information about queries executed during this profiling session.
+
+
+
+
+ Milliseconds, to one decimal place, that this MiniProfiler was executing sql.
+
+
+
+
+ Returns true when we have profiled queries.
+
+
+
+
+ Returns true when any child Timings have duplicate queries.
+
+
+
+
+ How many sql data readers were executed in all steps.
+
+
+
+
+ How many sql scalar queries were executed in all steps.
+
+
+
+
+ How many sql non-query statements were executed in all steps.
+
+
+
+
+ Gets the currently running MiniProfiler for the current HttpContext; null if no MiniProfiler was ed.
+
+
+
+
+ Gets or sets the profiler id.
+ Identifies this Profiler so it may be stored/cached.
+
+
+
+
+ Gets or sets a display name for this profiling session.
+
+
+
+
+ Gets or sets when this profiler was instantiated.
+
+
+
+
+ Gets or sets where this profiler was run.
+
+
+
+
+ Gets or sets whether or now filtering is allowed of steps based on what
+ the steps are created with.
+
+
+
+
+ Gets or sets the root timing.
+ The first that is created and started when this profiler is instantiated.
+ All other s will be children of this one.
+
+
+
+
+ Gets or sets a string identifying the user/client that is profiling this request. Set UserProvider"/>
+ with an -implementing class to provide a custom value.
+
+
+ If this is not set manually at some point, the UserProvider"/> implementation will be used;
+ by default, this will be the current request's IP address.
+
+
+
+
+ Gets or sets a value indicating whether the profile has been viewed.
+ Returns true when this MiniProfiler has been viewed by the that recorded it.
+
+
+ Allows POSTs that result in a redirect to be profiled. implementation
+ will keep a list of all profilers that haven't been fetched down.
+
+
+
+
+ Gets or sets timings collected from the client
+
+
+
+
+ Gets the milliseconds, to one decimal place, that this MiniProfiler ran.
+
+
+
+
+ Gets a value indicating whether this profile or it's children are trivial timings.
+
+
+
+
+ Gets a value indicating whether this profile and it's children are all trivial timings.
+ Returns true when all child s are .
+
+
+
+
+ Gets any Timing step with a duration less than or equal to this will be hidden by default in the UI; defaults to 2.0 ms.
+
+
+
+
+ Gets or sets points to the currently executing Timing.
+
+
+
+
+ Gets the ticks since this MiniProfiler was started.
+
+
+
+
+ Gets the timer, for unit testing, returns the timer.
+
+
+
+
+ Various configuration properties.
+
+
+
+
+ Excludes the specified assembly from the stack trace output.
+
+ The short name of the assembly. AssemblyName.Name
+
+
+
+ Excludes the specified type from the stack trace output.
+
+ The System.Type name to exclude
+
+
+
+ Excludes the specified method name from the stack trace output.
+
+ The name of the method
+
+
+
+ Make sure we can at least store profiler results to the http runtime cache.
+
+
+
+
+ Assemblies to exclude from the stack trace report.
+ Add to this using the method.
+
+
+
+
+ Types to exclude from the stack trace report.
+ Add to this using the method.
+
+
+
+
+ Methods to exclude from the stack trace report.
+ Add to this using the method.
+
+
+
+
+ The maximum number of unviewed profiler sessions (set this low cause we don't want to blow up headers)
+
+
+
+
+ The max length of the stack string to report back; defaults to 120 chars.
+
+
+
+
+ Any Timing step with a duration less than or equal to this will be hidden by default in the UI; defaults to 2.0 ms.
+
+
+
+
+ Dictates if the "time with children" column is displayed by default, defaults to false.
+ For a per-page override you can use .RenderIncludes(showTimeWithChildren: true/false)
+
+
+
+
+ Dictates if trivial timings are displayed by default, defaults to false.
+ For a per-page override you can use .RenderIncludes(showTrivial: true/false)
+
+
+
+
+ Determines how many traces to show before removing the oldest; defaults to 15.
+ For a per-page override you can use .RenderIncludes(maxTracesToShow: 10)
+
+
+
+
+ Dictates on which side of the page the profiler popup button is displayed; defaults to left.
+ For a per-page override you can use .RenderIncludes(position: RenderPosition.Left/Right)
+
+
+
+
+ Allows showing/hiding of popup results buttons via keyboard.
+
+
+
+
+ When true, results buttons will not initially be shown, requiring keyboard activation via .
+
+
+
+
+ Determines if min-max, clear, etc are rendered; defaults to false.
+ For a per-page override you can use .RenderIncludes(showControls: true/false)
+
+
+
+
+ Determines if Miniprofiler relies on jQuery already loaded on the page; defaults to false.
+ For a per-page override you can use .RenderIncludes(useExistingjQuery: true/false)
+
+
+
+
+ By default, SqlTimings will grab a stack trace to help locate where queries are being executed.
+ When this setting is true, no stack trace will be collected, possibly improving profiler performance.
+
+
+
+
+ When is called, if the current request url contains any items in this property,
+ no profiler will be instantiated and no results will be displayed.
+ Default value is { "/content/", "/scripts/", "/favicon.ico" }.
+
+
+
+
+ The path under which ALL routes are registered in, defaults to the application root. For example, "~/myDirectory/" would yield
+ "/myDirectory/includes.js" rather than just "/mini-profiler-resources/includes.js"
+ Any setting here should be in APP RELATIVE FORM, e.g. "~/myDirectory/"
+
+
+
+
+ The path where custom ui elements are stored.
+ If the custom file doesn't exist, the standard resource is used.
+ This setting should be in APP RELATIVE FORM, e.g. "~/App_Data/MiniProfilerUI"
+
+ A web server restart is required to reload new files.
+
+
+
+ Maximum payload size for json responses in bytes defaults to 2097152 characters, which is equivalent to 4 MB of Unicode string data.
+
+
+
+
+ Understands how to save and load MiniProfilers. Used for caching between when
+ a profiling session ends and results can be fetched to the client, and for showing shared, full-page results.
+
+
+ The normal profiling session life-cycle is as follows:
+ 1) request begins
+ 2) profiler is started
+ 3) normal page/controller/request execution
+ 4) profiler is stopped
+ 5) profiler is cached with 's implementation of
+ 6) request ends
+ 7) page is displayed and profiling results are ajax-fetched down, pulling cached results from
+ 's implementation of
+
+
+
+
+ The formatter applied to the SQL being rendered (used only for UI)
+
+
+
+
+ Assembly version of this dank MiniProfiler.
+
+
+
+
+ The provider used to provider the current instance of a provider
+ This is also
+
+
+
+
+ A function that determines who can access the MiniProfiler results url and list url. It should return true when
+ the request client has access to results, false for a 401 to be returned. HttpRequest parameter is the current request and
+
+
+ The HttpRequest parameter that will be passed into this function should never be null.
+
+
+
+
+ Special authorization function that is called for the list results (listing all the profiling sessions),
+ we also test for results authorize always. This must be set and return true, to enable the listing feature.
+
+
+
+
+ Allows switching out stopwatches for unit testing.
+
+
+
+
+ Used to provide
+
+
+
+
+ This code needs to be inserted in the page before client timings work
+
+
+
+
+ You can wrap an html block with timing wrappers using this helper
+
+ The name.
+ The html.
+ a string containing the timing script.
+
+
+
+ This needs to be called at the beginning of the layout for client side probe support, returns nothing if mini profiler is not enabled
+
+ The page.
+ return the initialisation script.
+
+
+
+ To be used inline in razor pages - times a script be sure to call InitClientTimings first
+
+ The page.
+ The name.
+ The html.
+ the timing script content
+
+
+
+ To be used inline in razor pages - times a script be sure to call InitClientTimings first
+
+ The page.
+ The name.
+ The html.
+ a string containing the time script
+
+
+
+ To be used inline in razor pages - times a script be sure to call InitClientTimings first
+
+ The page.
+ The name.
+ The html.
+ a string containing the time script.
+
+
+
+ Contains helper methods that ease working with null s.
+
+
+
+
+ Wraps in a call and executes it, returning its result.
+
+ the type of result.
+ The current profiling session or null.
+ Method to execute and profile.
+ The step name used to label the profiler results.
+ the profiled result.
+
+
+
+ Returns an that will time the code between its creation and disposal.
+
+ The current profiling session or null.
+ A descriptive name for the code that is encapsulated by the resulting IDisposable's lifetime.
+ This step's visibility level; allows filtering when is called.
+ the profile step
+
+
+
+ Returns an that will ignore profiling between its creation and disposal.
+
+
+ This is mainly useful in situations where you want to ignore database profiling for known hot spots,
+ but it is safe to use in a nested step such that you can ignore sub-sections of a profiled step.
+
+ The current profiling session or null.
+ the profile step
+
+
+
+ Adds 's hierarchy to this profiler's current Timing step,
+ allowing other threads, remote calls, etc. to be profiled and joined into this profiling session.
+
+ The profiler.
+ The external Profiler.
+
+
+
+ Returns an html-encoded string with a text-representation of ; returns "" when profiler is null.
+
+ The current profiling session or null.
+ a string containing the rendered result.
+
+
+
+ Returns a plain-text representation of , suitable for viewing from
+ , log, or unit test output.
+
+ A profiling session with child instances.
+ a string containing the plain text.
+
+
+
+ The render implementation.
+
+ The profiler.
+ The html encode.
+ a string containing the render implementation
+
+
+
+ This filter can be applied globally to hook up automatic action profiling
+
+
+
+
+ The stack key.
+
+
+
+
+ Happens before the action starts running
+
+ The filter Context.
+
+
+
+ Happens after the action executes
+
+ The filter Context.
+
+
+
+ You can wrap your view engines with this view to enable profiling on views and partial
+
+
+
+
+ The wrapped.
+
+
+
+
+ Initialises a new instance of the class.
+ Wrap your view engines with this to allow profiling
+
+ the wrapped view engine.
+
+
+
+ find the view engine.
+
+ The controller context.
+ The name.
+ The finder.
+ The is partial.
+ the view engine result.
+
+
+
+ Find a partial
+
+ The controller Context.
+ The partial View Name.
+ The use Cache.
+ the view engine result.
+
+
+
+ Find a view
+
+ The controller Context.
+ The view Name.
+ The master Name.
+ The use Cache.
+ the view engine result.
+
+
+
+ Find a partial
+
+ The controller Context.
+ The view.
+
+
+
+ Wrapped MVC View that ProfilingViewEngine uses to log profiling data
+
+
+
+
+ MVC IView that is wrapped by the ProfilingViewEngine
+
+
+
+
+ Initialises a new instance of the class.
+
+
+ IView to wrap
+
+
+ Name/Path to view
+
+
+ Whether view is Partial
+
+
+
+
+ Renders the WrappedView and logs profiling data
+
+
+ The view Context.
+
+
+ The writer.
+
+
+
+
+ Gets or sets the wrapped view name.
+
+
+
+
+ Gets or sets a value indicating whether the wrapped view is partial.
+
+
+
+
+ Categorizes individual steps to allow filtering.
+
+
+
+
+ Default level given to Timings.
+
+
+
+
+ Useful when profiling many items in a loop, but you don't wish to always see this detail.
+
+
+
+
+ Dictates on which side of the page the profiler popup button is displayed; defaults to left.
+
+
+
+
+ Profiler popup button is displayed on the left.
+
+
+
+
+ Profiler popup button is displayed on the right.
+
+
+
+
+ Formats any SQL query with inline parameters, optionally including the value type
+
+
+
+
+ Takes a SqlTiming and returns a formatted SQL string, for parameter replacement, etc.
+
+
+
+
+ Return SQL the way you want it to look on the in the trace. Usually used to format parameters
+
+ the SQL timing data.
+ Formatted SQL
+
+
+
+ The parameter prefixes.
+
+
+
+
+ The include type info.
+
+
+
+
+ Initialises a new instance of the class.
+ Creates a new Inline SQL Formatter, optionally including the parameter type info in comments beside the replaced value
+
+ whether to include a comment after the value, indicating the type, e.g. /* @myParam DbType.Int32 */
+
+
+
+ Formats the SQL in a generic friendly format, including the parameter type information in a comment if it was specified in the InlineFormatter constructor
+
+ The SqlTiming to format
+ A formatted SQL string
+
+
+
+ Returns a string representation of the parameter's value, including the type
+
+ The parameter to get a value for
+ a string containing the parameter value.
+
+
+
+ Oracle formatter for all your Oracle formatting needs
+
+
+
+
+ The parameter translator.
+
+
+
+
+ don't quote.
+
+
+
+
+ The get with len formatter.
+
+ The native string
+ the SQL timing function
+
+
+
+ Initialises static members of the class.
+
+
+
+
+ unimplemented at the moment TODO: Oracle Formatter.
+
+
+ The timing.
+
+ the formatted SQL
+
+
+
+ prepare the value.
+
+ The p.
+ the prepared string.
+
+
+
+ Formats SQL server queries with a DECLARE up top for parameter values
+
+
+
+
+ The parameter translator.
+
+
+
+
+ don't quote.
+
+
+
+
+ get the 'with length' formatter.
+
+ The native string.
+ the SQL timing parameter formatter function
+
+
+
+ Initialises static members of the class.
+
+
+
+
+ Formats the SQL in a SQL-Server friendly way, with DECLARE statements for the parameters up top.
+
+ The SqlTiming to format
+ A formatted SQL string
+
+
+
+ prepare the value.
+
+ The parameter.
+ the prepared parameter value.
+
+
+
+ Information about a DbParameter used in the sql statement profiled by SqlTiming.
+
+
+
+
+ Returns true if this has the same parent , and as .
+
+
+
+
+ Returns the XOR of certain properties.
+
+
+
+
+ The to string.
+
+
+ The .
+
+
+
+
+ Which SqlTiming this Parameter was executed with.
+
+
+
+
+ Parameter name, e.g. "@routeName"
+
+
+
+
+ The value submitted to the database.
+
+
+
+
+ System.Data.DbType, e.g. "String", "Bit"
+
+
+
+
+ How large the type is, e.g. for string, size could be 4000
+
+
+
+
+ Mostly for unit testing and single-threaded apps, only allows one
+ instance of a to be the one.
+
+
+
+
+ The _profiler.
+
+
+
+
+ The get current profiler.
+
+
+ The .
+
+
+
+
+ The start.
+
+
+ The level.
+
+
+ The .
+
+
+
+
+ The stop.
+
+
+ The discard results.
+
+
+
+
+ Understands how to store a to the with absolute expiration.
+
+
+
+
+ Provides saving and loading s to a storage medium.
+
+
+
+
+ list the result keys.
+
+ The max results.
+ The start.
+ The finish.
+ order by.
+ the list of keys in the result.
+
+
+
+ Stores under its .
+
+ The results of a profiling session.
+
+ Should also ensure the profiler is stored as being un-viewed by its profiling .
+
+
+
+
+ Returns a from storage based on , which should map to .
+
+
+ The id.
+
+
+ Should also update that the resulting profiler has been marked as viewed by its profiling .
+
+
+ The .
+
+
+
+
+ Sets a particular profiler session so it is considered "un-viewed"
+
+
+ The user.
+
+
+ The id.
+
+
+
+
+ Sets a particular profiler session to "viewed"
+
+
+ The user.
+
+
+ The id.
+
+
+
+
+ Returns a list of s that haven't been seen by .
+
+
+ User identified by the current MiniProfiler.Settings.UserProvider
+
+ the list of key values.
+
+
+
+ The string that prefixes all keys that MiniProfilers are saved under, e.g.
+ "mini-profiler-ecfb0050-7ce8-4bf1-bf82-2cb38e90e31e".
+
+
+
+
+ Syncs access to runtime cache when adding a new list of ids for a user.
+
+
+
+
+ The profiles.
+
+
+
+
+ Initialises a new instance of the class.
+ Returns a new HttpRuntimeCacheStorage class that will cache MiniProfilers for the specified duration.
+
+
+ The cache Duration.
+
+
+
+
+ Saves to the HttpRuntime.Cache under a key concatenated with
+ and the parameter's .
+
+ The profiler.
+
+
+
+ remembers we did not view the profile
+
+ The user.
+ The id.
+
+
+
+ Set the profile to viewed for this user
+
+ The user.
+ The id.
+
+
+
+ Returns the saved identified by . Also marks the resulting
+ profiler to true.
+
+ The id.
+ the mini profiler
+
+
+
+ Returns a list of s that haven't been seen by .
+
+
+ User identified by the current MiniProfiler.Settings.UserProvider.
+
+ the list of keys.
+
+
+
+ insert into cache.
+
+ The key.
+ The value.
+
+
+
+ get the cache key.
+
+ The id.
+ a string containing the cache key
+
+
+
+ get the per user un-viewed cache key.
+
+ The user.
+ a string containing the un-viewed key
+
+
+
+ get the per user un viewed ids.
+
+ The profiler.
+ the list of keys
+
+
+
+ get the per user un-viewed ids.
+
+ The user.
+ the list of keys
+
+
+
+ list the result keys.
+
+ The max results.
+ The start.
+ The finish.
+ order by.
+ the list of keys in the result.
+
+
+
+ The closest binary search.
+
+ The date.
+ The .
+
+
+
+ Gets or sets how long to cache each for (i.e. the absolute expiration parameter of
+ )
+
+
+
+
+ The profile info.
+ FYI: SortedList on uses the comparer for both key lookups and insertion
+
+
+
+
+ compare the profile information.
+
+ The other profile info instance..
+ the comparison result.
+
+
+
+ Gets or sets the started.
+
+
+
+
+ Gets or sets the id.
+
+
+
+
+ The list results order.
+
+
+
+
+ Ascending Order
+
+
+
+
+ Descending Order
+
+
+
+
+ Contains helper code to time SQL statements.
+
+
+
+
+ The _in progress.
+
+
+
+
+ The _in progress readers.
+
+
+
+
+ Initialises a new instance of the class.
+ Returns a new SqlProfiler to be used in the 'profiler' session.
+
+
+ The profiler.
+
+
+
+
+ Tracks when 'command' is started.
+
+ The command.
+ The type.
+
+
+
+ Returns all currently open commands on this connection
+
+ the set of SQL timings.
+
+
+
+ Finishes profiling for 'command', recording durations.
+
+ The command.
+ The type.
+ The reader.
+
+
+
+ Called when 'reader' finishes its iterations and is closed.
+
+ The reader.
+
+
+
+ Gets the profiling session this SqlProfiler is part of.
+
+
+
+
+ Helper methods that allow operation on SqlProfilers, regardless of their instantiation.
+
+
+
+
+ Tracks when 'command' is started.
+
+ The SQL Profiler.
+ The command.
+ The type.
+
+
+
+ Finishes profiling for 'command', recording durations.
+
+ The SQL Profiler.
+ The command.
+ The type.
+ The reader.
+
+
+
+ Called when 'reader' finishes its iterations and is closed.
+
+ The SQL Profiler.
+ The reader.
+
+
+
+ Profiles a single SQL execution.
+
+
+
+
+ Holds the maximum size that will be stored for byte[] parameters
+
+
+
+
+ The profiler.
+
+
+
+
+ The start ticks.
+
+
+
+
+ The _parent timing.
+
+
+
+
+ Initialises a new instance of the class.
+ Obsolete - used for serialization.
+
+
+
+
+ Initialises a new instance of the class.
+ Creates a new SqlTiming to profile 'command'.
+
+ The command.
+ The type.
+ The profiler.
+
+
+
+ Returns a snippet of the SQL command and the duration.
+
+ the string representation
+
+
+
+ Returns true if Ids match.
+
+
+ The rValue.
+
+ true if rValue is equal to
+
+
+
+ Returns hash code of Id.
+
+ the hash code value.
+
+
+
+ Called when command execution is finished to determine this SqlTiming's duration.
+
+ The Reader.
+
+
+
+ Called when database reader is closed, ending profiling for SqlTimings.
+
+
+
+
+ Returns the value of suitable for storage/display.
+
+ The DB Parameter.
+
+ a string containing the value.
+
+
+
+ get the parameter size.
+
+ The DB parameter.
+ the parameter size
+
+
+
+ get the duration in milliseconds.
+
+ return the duration in milliseconds
+
+
+
+ To help with display, put some space around sammiched commas
+
+ The command String.
+ a string containing the formatted string.
+
+
+
+ get the command parameters.
+
+ The command.
+ the list of SQL timing parameters
+
+
+
+ Gets or sets a unique identifier for this SqlTiming
+
+
+
+
+ Gets or sets the category of SQL statement executed.
+
+
+
+
+ Gets or sets the SQL that was executed.
+
+
+
+
+ Gets the command string with special formatting applied based on MiniProfiler.Settings.SqlFormatter
+
+
+
+
+ Gets or sets roughly where in the calling code that this SQL was executed.
+
+
+
+
+ Gets or sets the offset from main MiniProfiler start that this SQL began.
+
+
+
+
+ Gets or sets how long this SQL statement took to execute.
+
+
+
+
+ Gets or sets When executing readers, how long it took to come back initially from the database,
+ before all records are fetched and reader is closed.
+
+
+
+
+ Gets or sets any parameter names and values used by the profiled DbCommand.
+
+
+
+
+ Gets or sets Id of the Timing this statement was executed in.
+
+
+ Needed for database deserialization.
+
+
+
+
+ Gets or sets the Timing step that this SQL execution occurred in.
+
+
+
+
+ Gets or sets a value indicating whether other identical SQL statements have been executed during this MiniProfiler session.
+
+
+
+
+ Understands how to save MiniProfiler results to a MSSQL database, allowing more permanent storage and
+ querying of slow results.
+
+
+
+
+ Initialises a new instance of the class.
+ Returns a new SqlServerDatabaseStorage object that will insert into the database identified by connectionString.
+
+ The connection String.
+
+
+
+ Saves 'profiler' to a database under its .
+
+ The profiler.
+
+
+
+ Returns the MiniProfiler identified by 'id' from the database or null when no MiniProfiler exists under that 'id'.
+
+
+ The id.
+
+ the mini profiler
+
+
+
+ Sets a particular profiler session so it is considered "un-viewed"
+
+ The user.
+ The id.
+
+
+
+ Sets a particular profiler session to "viewed"
+
+ The user.
+ The id.
+
+
+
+ Returns a list of s that haven't been seen by .
+
+
+ User identified by the current MiniProfiler.Settings.UserProvider.
+
+ the list of keys for the supplied user
+
+
+
+ Implement a basic list search here
+
+ The max number of results.
+ The start.
+ The finish.
+ order By.
+ the list of GUID keys
+
+
+
+ Returns a DbConnection for your specific provider.
+
+ the database connection
+
+
+
+ Returns a DbConnection already opened for execution.
+
+ the database connection
+
+
+
+ Giving freshly selected collections, this method puts them in the correct
+ hierarchy under the 'result' MiniProfiler.
+
+ The result.
+ The timings.
+ The SQL Timings.
+ The SQL Parameters.
+ The client Timings.
+
+
+
+ Gets or sets how we connect to the database used to save/load MiniProfiler results.
+
+
+
+
+ Understands how to store a to a MSSQL database.
+
+
+
+
+ Creates needed tables. Run this once on your database.
+
+
+ Works in SQL server and sqlite (with documented removals).
+ TODO: add indexes
+
+
+
+
+ load the SQL statements.
+
+
+
+
+ load the SQL batch.
+
+
+
+
+ Initialises a new instance of the class.
+ Initializes a new instance of the class.
+
+
+ The connection String.
+
+
+
+
+ Stores to dbo.MiniProfilers under its ;
+ stores all child Timings and SqlTimings to their respective tables.
+
+ the mini profiler
+
+
+
+ Loads the MiniProfiler identified by 'id' from the database.
+
+ The id.
+ the mini profiler.
+
+
+
+ sets the session to un-viewed
+
+ The user.
+ The id.
+
+
+
+ sets the session to viewed
+
+ The user.
+ The id.
+
+
+
+ Returns a list of s that haven't been seen by .
+
+ User identified by the current UserProvider"/>.
+ the list of keys.
+
+
+
+ list the results.
+
+ The max results.
+ The start.
+ The finish.
+ order by.
+ the list of key values.
+
+
+
+ save the client timing.
+
+ The connection.
+ The profiler.
+
+
+
+ Saves parameter Timing to the dbo.MiniProfilerTimings table.
+
+ The connection.
+ The profiler.
+ The timing detail.
+
+
+
+ Saves parameter sqlTiming to the dbo.MiniProfilerSqlTimings table.
+
+ The connection.
+ The profiler.
+ The SQL Timing.
+
+
+
+ Saves any SqlTimingParameters used in the profiled SqlTiming to the dbo.MiniProfilerSqlTimingParameters table.
+
+ The connection.
+ The profiler.
+ The SQL Timing.
+
+
+
+ Returns a connection to SQL Server.
+
+ the database connection
+
+
+
+ load the profiler in a batch.
+
+ The connection.
+ The id parameter.
+ the mini profiler.
+
+
+
+ load individually.
+
+ The connection.
+ The id Parameter.
+ the mini profiler.
+
+
+
+ load statements for the supplied key from the connection.
+
+ The connection.
+ The id parameter.
+ the type of timing (instance) to load
+ the list of loaded timing instances.
+
+
+
+ Gets a value indicating whether or not to enable batch selects.
+ A full install of sQL Server can return multiple result sets in one query, allowing the use of .
+ However, sQL Server CE and Sqlite cannot do this, so inheritors for those providers can return false here.
+
+
+
+
+ An individual profiling step that can contain child steps.
+
+
+
+
+ Offset from parent MiniProfiler's creation that this Timing was created.
+
+
+
+
+ Gets or sets the parent timing.
+
+
+
+
+ Initialises a new instance of the class.
+ Obsolete - used for serialization.
+
+
+
+
+ Initialises a new instance of the class.
+ Creates a new Timing named 'name' in the 'profiler's session, with 'parent' as this Timing's immediate ancestor.
+
+
+ The profiler.
+
+
+ The parent.
+
+
+ The name.
+
+
+
+
+ Rebuilds all the parent timings on deserialization calls
+
+
+
+
+ Returns this Timing's Name.
+
+ a string containing the name.
+
+
+
+ Returns true if Ids match.
+
+ The rValue.
+ true if the supplied value is the same as
+
+
+
+ Returns hash code of Id.
+
+ the hash code value.
+
+
+
+ Adds arbitrary string 'value' under 'key', allowing custom properties to be stored in this Timing step.
+
+ The key.
+ The value.
+
+
+
+ Completes this Timing's duration and sets the MiniProfiler's Head up one level.
+
+
+
+
+ dispose the profiler.
+
+
+
+
+ Add the parameter 'timing' to this Timing's Children collection.
+
+ The timing.
+ Used outside this assembly for custom deserialization when creating an implementation.
+
+
+
+ Adds the parameter sqlTiming to this Timing's SqlTimings collection.
+
+ A SQL statement profiling that was executed in this Timing step.
+ Used outside this assembly for custom deserialization when creating an implementation.
+
+
+
+ Returns the number of SQL statements of that were executed in this .
+
+ The type.
+ the execution count.
+
+
+
+ Gets or sets Unique identifier for this timing; set during construction.
+
+
+
+
+ Gets or sets Text displayed when this Timing is rendered.
+
+
+
+
+ Gets or sets How long this Timing step took in ms; includes any Timings' durations.
+
+
+
+
+ Gets or sets The offset from the start of profiling.
+
+
+
+
+ Gets or sets All sub-steps that occur within this Timing step. Add new children through
+
+
+
+
+ Gets or sets Stores arbitrary key/value strings on this Timing step. Add new tuples through .
+
+
+
+
+ Gets or sets Any queries that occurred during this Timing step.
+
+
+
+
+ Gets or sets Needed for database deserialization and JSON serialization.
+
+
+
+
+ Gets or sets Which Timing this Timing is under - the duration that this step takes will be added to its parent's duration.
+
+ This will be null for the root (initial) Timing.
+
+
+
+ Gets the elapsed milliseconds in this step without any children's durations.
+
+
+
+
+ Gets the aggregate elapsed milliseconds of all SqlTimings executed in this Timing, excluding Children Timings.
+
+
+
+
+ Gets a value indicating whether this is less than the configured
+ , by default 2.0 ms.
+
+
+
+
+ Gets a value indicating whether this Timing has inner Timing steps.
+
+
+
+
+ Gets a value indicating whether this Timing step collected SQL execution timings.
+
+
+
+
+ Gets a value indicating whether this has duplicate SQL timings.
+ Returns true if any s executed in this step are detected as duplicate statements.
+
+
+
+
+ Gets a value indicating whether this Timing is the first one created in a MiniProfiler session.
+
+
+
+
+ Gets a value indicating whether how far away this Timing is from the Profiler's Root.
+
+
+
+
+ Gets how many SQL data readers were executed in this Timing step. Does not include queries in any child Timings.
+
+
+
+
+ Gets how many SQL scalar queries were executed in this Timing step. Does not include queries in any child Timings.
+
+
+
+
+ Gets how many SQL non-query statements were executed in this Timing step. Does not include queries in any child Timings.
+
+
+
+
+ Gets a reference to the containing profiler, allowing this Timing to affect the Head and get Stopwatch readings.
+
+
+
+
+ Understands how to route and respond to MiniProfiler UI URLS.
+
+
+
+
+ Embedded resource contents keyed by filename.
+
+
+
+
+ The bypass local load.
+
+
+
+
+ Usually called internally, sometimes you may clear the routes during the apps lifecycle, if you do that call this to bring back mini profiler.
+
+
+
+
+ Returns this to handle .
+
+
+ The request Context.
+
+ the http handler implementation
+
+
+
+ Returns either includes' css/javascript or results' html.
+
+ The http context.
+
+
+
+ Renders script tag found in "include.partial.html" - this is shared with all other language implementations, so if you change it, you MUST
+ provide changes for those other implementations, e.g. ruby.
+
+
+
+
+ The result list.
+
+ The context.
+ a string containing the result list.
+
+
+
+ the index (Landing) view.
+
+ The context.
+ a string containing the html.
+
+
+
+ Handles rendering static content files.
+
+ The context.
+ The path.
+ a string containing the content type.
+
+
+
+ Handles rendering a previous MiniProfiler session, identified by its "?id=GUID" on the query.
+
+ The context.
+ a string containing the rendered content
+
+
+
+ authorize the request.
+
+ The context.
+ is list.
+ The message.
+ true if the request is authorised.
+
+
+
+ set the JSON results and the content type.
+
+ The context.
+ The profiler.
+ a string containing the JSON results.
+
+
+
+ results full page.
+
+ The context.
+ The profiler.
+ a string containing the results page
+
+
+
+ get the resource.
+
+ The filename.
+ a string containing the resource
+
+
+
+ Helper method that sets a proper 404 response code.
+
+ The context.
+ The content Type.
+ The message.
+ a string containing the 'not found' message.
+
+
+
+ Gets a value indicating whether to keep things static and reusable.
+
+
+
+
+ HttpContext based profiler provider. This is the default provider to use in a web context.
+ The current profiler is associated with a HttpContext.Current ensuring that profilers are
+ specific to a individual HttpRequest.
+
+
+
+
+ Initialises a new instance of the class.
+ Public constructor. This also registers any UI routes needed to display results
+
+
+
+
+ Starts a new MiniProfiler and associates it with the current .
+
+
+ The level.
+
+ the profiler.
+
+
+
+ Ends the current profiling session, if one exists.
+
+
+ When true, clears the for this HttpContext, allowing profiling to
+ be prematurely stopped and discarded. Useful for when a specific route does not need to be profiled.
+
+
+
+
+ Makes sure 'profiler' has a Name, pulling it from route data or url.
+
+
+
+
+ Returns the current profiler
+
+
+
+
+
+ Gets the currently running MiniProfiler for the current HttpContext; null if no MiniProfiler was ed.
+
+
+
+
+ WebRequestProfilerProvider specific configurations
+
+
+
+
+ Provides user identification for a given profiling request.
+
+
+
+
diff --git a/Blog/bin/MySql.Data.dll b/Blog/bin/MySql.Data.dll
new file mode 100644
index 0000000..5260d8e
Binary files /dev/null and b/Blog/bin/MySql.Data.dll differ
diff --git a/Blog/bin/Newtonsoft.Json.dll b/Blog/bin/Newtonsoft.Json.dll
new file mode 100644
index 0000000..71fd69e
Binary files /dev/null and b/Blog/bin/Newtonsoft.Json.dll differ
diff --git a/Blog/bin/Newtonsoft.Json.xml b/Blog/bin/Newtonsoft.Json.xml
new file mode 100644
index 0000000..4ecec60
--- /dev/null
+++ b/Blog/bin/Newtonsoft.Json.xml
@@ -0,0 +1,8777 @@
+
+
+
+ Newtonsoft.Json
+
+
+
+
+ Represents a BSON Oid (object id).
+
+
+
+
+ Initializes a new instance of the class.
+
+ The Oid value.
+
+
+
+ Gets or sets the value of the Oid.
+
+ The value of the Oid.
+
+
+
+ Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data.
+
+
+
+
+ Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data.
+
+
+
+
+ Initializes a new instance of the class with the specified .
+
+
+
+
+ Reads the next JSON token from the stream.
+
+ true if the next token was read successfully; false if there are no more tokens to read.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a [].
+
+ A [] or a null reference if the next JSON token is null. This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Skips the children of the current token.
+
+
+
+
+ Sets the current token.
+
+ The new token.
+
+
+
+ Sets the current token and value.
+
+ The new token.
+ The value.
+
+
+
+ Sets the state based on current token type.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Releases unmanaged and - optionally - managed resources
+
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Changes the to Closed.
+
+
+
+
+ Gets the current reader state.
+
+ The current reader state.
+
+
+
+ Gets or sets a value indicating whether the underlying stream or
+ should be closed when the reader is closed.
+
+
+ true to close the underlying stream or when
+ the reader is closed; otherwise false. The default is true.
+
+
+
+
+ Gets or sets a value indicating whether multiple pieces of JSON content can
+ be read from a continuous stream without erroring.
+
+
+ true to support reading multiple pieces of JSON content; otherwise false. The default is false.
+
+
+
+
+ Gets the quotation mark character used to enclose the value of a string.
+
+
+
+
+ Get or set how time zones are handling when reading JSON.
+
+
+
+
+ Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON.
+
+
+
+
+ Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+
+
+
+
+ Get or set how custom date formatted strings are parsed when reading JSON.
+
+
+
+
+ Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a .
+
+
+
+
+ Gets the type of the current JSON token.
+
+
+
+
+ Gets the text value of the current JSON token.
+
+
+
+
+ Gets The Common Language Runtime (CLR) type for the current JSON token.
+
+
+
+
+ Gets the depth of the current token in the JSON document.
+
+ The depth of the current token in the JSON document.
+
+
+
+ Gets the path of the current JSON token.
+
+
+
+
+ Gets or sets the culture used when reading JSON. Defaults to .
+
+
+
+
+ Specifies the state of the reader.
+
+
+
+
+ The Read method has not been called.
+
+
+
+
+ The end of the file has been reached successfully.
+
+
+
+
+ Reader is at a property.
+
+
+
+
+ Reader is at the start of an object.
+
+
+
+
+ Reader is in an object.
+
+
+
+
+ Reader is at the start of an array.
+
+
+
+
+ Reader is in an array.
+
+
+
+
+ The Close method has been called.
+
+
+
+
+ Reader has just read a value.
+
+
+
+
+ Reader is at the start of a constructor.
+
+
+
+
+ Reader in a constructor.
+
+
+
+
+ An error occurred that prevents the read operation from continuing.
+
+
+
+
+ The end of the file has been reached successfully.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The stream.
+
+
+
+ Initializes a new instance of the class.
+
+ The reader.
+
+
+
+ Initializes a new instance of the class.
+
+ The stream.
+ if set to true the root object will be read as a JSON array.
+ The used when reading values from BSON.
+
+
+
+ Initializes a new instance of the class.
+
+ The reader.
+ if set to true the root object will be read as a JSON array.
+ The used when reading values from BSON.
+
+
+
+ Reads the next JSON token from the stream as a [].
+
+
+ A [] or a null reference if the next JSON token is null. This method will return null at the end of an array.
+
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+
+ A . This method will return null at the end of an array.
+
+
+
+
+ Reads the next JSON token from the stream.
+
+
+ true if the next token was read successfully; false if there are no more tokens to read.
+
+
+
+
+ Changes the to Closed.
+
+
+
+
+ Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary.
+
+
+ true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether the root object will be read as a JSON array.
+
+
+ true if the root object will be read as a JSON array; otherwise, false.
+
+
+
+
+ Gets or sets the used when reading values from BSON.
+
+ The used when reading values from BSON.
+
+
+
+ Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+
+
+
+
+ Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+
+
+
+
+ Creates an instance of the JsonWriter class.
+
+
+
+
+ Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.
+
+
+
+
+ Closes this stream and the underlying stream.
+
+
+
+
+ Writes the beginning of a Json object.
+
+
+
+
+ Writes the end of a Json object.
+
+
+
+
+ Writes the beginning of a Json array.
+
+
+
+
+ Writes the end of an array.
+
+
+
+
+ Writes the start of a constructor with the given name.
+
+ The name of the constructor.
+
+
+
+ Writes the end constructor.
+
+
+
+
+ Writes the property name of a name/value pair on a JSON object.
+
+ The name of the property.
+
+
+
+ Writes the property name of a name/value pair on a JSON object.
+
+ The name of the property.
+ A flag to indicate whether the text should be escaped when it is written as a JSON property name.
+
+
+
+ Writes the end of the current Json object or array.
+
+
+
+
+ Writes the current token and its children.
+
+ The to read the token from.
+
+
+
+ Writes the current token.
+
+ The to read the token from.
+ A flag indicating whether the current token's children should be written.
+
+
+
+ Writes the token and its value.
+
+ The to write.
+
+ The value to write.
+ A value is only required for tokens that have an associated value, e.g. the property name for .
+ A null value can be passed to the method for token's that don't have a value, e.g. .
+
+
+
+ Writes the token.
+
+ The to write.
+
+
+
+ Writes the specified end token.
+
+ The end token to write.
+
+
+
+ Writes indent characters.
+
+
+
+
+ Writes the JSON value delimiter.
+
+
+
+
+ Writes an indent space.
+
+
+
+
+ Writes a null value.
+
+
+
+
+ Writes an undefined value.
+
+
+
+
+ Writes raw JSON without changing the writer's state.
+
+ The raw JSON to write.
+
+
+
+ Writes raw JSON where a value is expected and updates the writer's state.
+
+ The raw JSON to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a [] value.
+
+ The [] value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ Writes out a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+
+
+
+ Writes out the given white space.
+
+ The string of white space characters.
+
+
+
+ Sets the state of the JsonWriter,
+
+ The JsonToken being written.
+ The value being written.
+
+
+
+ Gets or sets a value indicating whether the underlying stream or
+ should be closed when the writer is closed.
+
+
+ true to close the underlying stream or when
+ the writer is closed; otherwise false. The default is true.
+
+
+
+
+ Gets the top.
+
+ The top.
+
+
+
+ Gets the state of the writer.
+
+
+
+
+ Gets the path of the writer.
+
+
+
+
+ Indicates how JSON text output is formatted.
+
+
+
+
+ Get or set how dates are written to JSON text.
+
+
+
+
+ Get or set how time zones are handling when writing JSON text.
+
+
+
+
+ Get or set how strings are escaped when writing JSON text.
+
+
+
+
+ Get or set how special floating point numbers, e.g. ,
+ and ,
+ are written to JSON text.
+
+
+
+
+ Get or set how and values are formatting when writing JSON text.
+
+
+
+
+ Gets or sets the culture used when writing JSON. Defaults to .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The stream.
+
+
+
+ Initializes a new instance of the class.
+
+ The writer.
+
+
+
+ Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.
+
+
+
+
+ Writes the end.
+
+ The token.
+
+
+
+ Writes out a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+
+
+
+ Writes the start of a constructor with the given name.
+
+ The name of the constructor.
+
+
+
+ Writes raw JSON.
+
+ The raw JSON to write.
+
+
+
+ Writes raw JSON where a value is expected and updates the writer's state.
+
+ The raw JSON to write.
+
+
+
+ Writes the beginning of a Json array.
+
+
+
+
+ Writes the beginning of a Json object.
+
+
+
+
+ Writes the property name of a name/value pair on a Json object.
+
+ The name of the property.
+
+
+
+ Closes this stream and the underlying stream.
+
+
+
+
+ Writes a value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ Writes a null value.
+
+
+
+
+ Writes an undefined value.
+
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a [] value.
+
+ The [] value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a [] value that represents a BSON object id.
+
+ The Object ID value to write.
+
+
+
+ Writes a BSON regex.
+
+ The regex pattern.
+ The regex options.
+
+
+
+ Gets or sets the used when writing values to BSON.
+ When set to no conversion will occur.
+
+ The used when writing values to BSON.
+
+
+
+ Specifies how constructors are used when initializing objects during deserialization by the .
+
+
+
+
+ First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor.
+
+
+
+
+ Json.NET will use a non-public default constructor before falling back to a paramatized constructor.
+
+
+
+
+ Converts a binary value to and from a base 64 string value.
+
+
+
+
+ Converts an object to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Gets the of the JSON produced by the JsonConverter.
+
+ The of the JSON produced by the JsonConverter.
+
+
+
+ Gets a value indicating whether this can read JSON.
+
+ true if this can read JSON; otherwise, false.
+
+
+
+ Gets a value indicating whether this can write JSON.
+
+ true if this can write JSON; otherwise, false.
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts a to and from JSON and BSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Create a custom object
+
+ The object type to convert.
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Creates an object which will then be populated by the serializer.
+
+ Type of the object.
+ The created object.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this can write JSON.
+
+
+ true if this can write JSON; otherwise, false.
+
+
+
+
+ Converts a to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified value type.
+
+ Type of the value.
+
+ true if this instance can convert the specified value type; otherwise, false.
+
+
+
+
+ Converts a to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified value type.
+
+ Type of the value.
+
+ true if this instance can convert the specified value type; otherwise, false.
+
+
+
+
+ Provides a base class for converting a to and from JSON.
+
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts a F# discriminated union type to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts an Entity Framework EntityKey to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts an ExpandoObject to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this can write JSON.
+
+
+ true if this can write JSON; otherwise, false.
+
+
+
+
+ Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z).
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Gets or sets the date time styles used when converting a date to and from JSON.
+
+ The date time styles used when converting a date to and from JSON.
+
+
+
+ Gets or sets the date time format used when converting a date to and from JSON.
+
+ The date time format used when converting a date to and from JSON.
+
+
+
+ Gets or sets the culture used when converting a date to and from JSON.
+
+ The culture used when converting a date to and from JSON.
+
+
+
+ Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)).
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing property value of the JSON that is being converted.
+ The calling serializer.
+ The object value.
+
+
+
+ Converts a to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts a to and from JSON and BSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts an to and from its name string value.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether the written enum text should be camel case.
+
+ true if the written enum text will be camel case; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether integer values are allowed.
+
+ true if integers are allowed; otherwise, false.
+
+
+
+ Converts a to and from a string (e.g. "1.2.3.4").
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The value.
+ The calling serializer.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing property value of the JSON that is being converted.
+ The calling serializer.
+ The object value.
+
+
+
+ Determines whether this instance can convert the specified object type.
+
+ Type of the object.
+
+ true if this instance can convert the specified object type; otherwise, false.
+
+
+
+
+ Converts XML to and from JSON.
+
+
+
+
+ Writes the JSON representation of the object.
+
+ The to write to.
+ The calling serializer.
+ The value.
+
+
+
+ Reads the JSON representation of the object.
+
+ The to read from.
+ Type of the object.
+ The existing value of object being read.
+ The calling serializer.
+ The object value.
+
+
+
+ Checks if the attributeName is a namespace attribute.
+
+ Attribute name to test.
+ The attribute name prefix if it has one, otherwise an empty string.
+ True if attribute name is for a namespace attribute, otherwise false.
+
+
+
+ Determines whether this instance can convert the specified value type.
+
+ Type of the value.
+
+ true if this instance can convert the specified value type; otherwise, false.
+
+
+
+
+ Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements.
+
+ The name of the deserialize root element.
+
+
+
+ Gets or sets a flag to indicate whether to write the Json.NET array attribute.
+ This attribute helps preserve arrays when converting the written XML back to JSON.
+
+ true if the array attibute is written to the XML; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether to write the root JSON object.
+
+ true if the JSON root object is omitted; otherwise, false.
+
+
+
+ Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+
+
+
+
+ Floating point numbers are parsed to .
+
+
+
+
+ Floating point numbers are parsed to .
+
+
+
+
+ Specifies how dates are formatted when writing JSON text.
+
+
+
+
+ Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z".
+
+
+
+
+ Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/".
+
+
+
+
+ Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text.
+
+
+
+
+ Date formatted strings are not parsed to a date type and are read as strings.
+
+
+
+
+ Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to .
+
+
+
+
+ Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to .
+
+
+
+
+ Specifies how to treat the time value when converting between string and .
+
+
+
+
+ Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time.
+
+
+
+
+ Treat as a UTC. If the object represents a local time, it is converted to a UTC.
+
+
+
+
+ Treat as a local time if a is being converted to a string.
+ If a string is being converted to , convert to a local time if a time zone is specified.
+
+
+
+
+ Time zone information should be preserved when converting.
+
+
+
+
+ Specifies default value handling options for the .
+
+
+
+
+
+
+
+
+ Include members where the member value is the same as the member's default value when serializing objects.
+ Included members are written to JSON. Has no effect when deserializing.
+
+
+
+
+ Ignore members where the member value is the same as the member's default value when serializing objects
+ so that is is not written to JSON.
+ This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers,
+ decimals and floating point numbers; and false for booleans). The default value ignored can be changed by
+ placing the on the property.
+
+
+
+
+ Members with a default value but no JSON will be set to their default value when deserializing.
+
+
+
+
+ Ignore members where the member value is the same as the member's default value when serializing objects
+ and sets members to their default value when deserializing.
+
+
+
+
+ Specifies float format handling options when writing special floating point numbers, e.g. ,
+ and with .
+
+
+
+
+ Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity".
+
+
+
+
+ Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity.
+ Note that this will produce non-valid JSON.
+
+
+
+
+ Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property.
+
+
+
+
+ Specifies formatting options for the .
+
+
+
+
+ No special formatting is applied. This is the default.
+
+
+
+
+ Causes child objects to be indented according to the and settings.
+
+
+
+
+ Provides an interface to enable a class to return line and position information.
+
+
+
+
+ Gets a value indicating whether the class can return line information.
+
+
+ true if LineNumber and LinePosition can be provided; otherwise, false.
+
+
+
+
+ Gets the current line number.
+
+ The current line number or 0 if no line information is available (for example, HasLineInfo returns false).
+
+
+
+ Gets the current line position.
+
+ The current line position or 0 if no line information is available (for example, HasLineInfo returns false).
+
+
+
+ Instructs the how to serialize the collection.
+
+
+
+
+ Instructs the how to serialize the object.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified container Id.
+
+ The container Id.
+
+
+
+ Gets or sets the id.
+
+ The id.
+
+
+
+ Gets or sets the title.
+
+ The title.
+
+
+
+ Gets or sets the description.
+
+ The description.
+
+
+
+ Gets the collection's items converter.
+
+ The collection's items converter.
+
+
+
+ The parameter list to use when constructing the JsonConverter described by ItemConverterType.
+ If null, the default constructor is used.
+ When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number,
+ order, and type of these parameters.
+
+
+ [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
+
+
+
+
+ Gets or sets a value that indicates whether to preserve object references.
+
+
+ true to keep object reference; otherwise, false. The default is false.
+
+
+
+
+ Gets or sets a value that indicates whether to preserve collection's items references.
+
+
+ true to keep collection's items object references; otherwise, false. The default is false.
+
+
+
+
+ Gets or sets the reference loop handling used when serializing the collection's items.
+
+ The reference loop handling.
+
+
+
+ Gets or sets the type name handling used when serializing the collection's items.
+
+ The type name handling.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with a flag indicating whether the array can contain null items
+
+ A flag indicating whether the array can contain null items.
+
+
+
+ Initializes a new instance of the class with the specified container Id.
+
+ The container Id.
+
+
+
+ Gets or sets a value indicating whether null items are allowed in the collection.
+
+ true if null items are allowed in the collection; otherwise, false.
+
+
+
+ Instructs the to use the specified constructor when deserializing that object.
+
+
+
+
+ Provides methods for converting between common language runtime types and JSON types.
+
+
+
+
+
+
+
+ Represents JavaScript's boolean value true as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's boolean value false as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's null as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's undefined as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's positive infinity as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's negative infinity as a string. This field is read-only.
+
+
+
+
+ Represents JavaScript's NaN as a string. This field is read-only.
+
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation using the specified.
+
+ The value to convert.
+ The format the date will be converted to.
+ The time zone handling when the date is converted to a string.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation using the specified.
+
+ The value to convert.
+ The format the date will be converted to.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ The string delimiter character.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ The string delimiter character.
+ The string escape handling.
+ A JSON string representation of the .
+
+
+
+ Converts the to its JSON string representation.
+
+ The value to convert.
+ A JSON string representation of the .
+
+
+
+ Serializes the specified object to a JSON string.
+
+ The object to serialize.
+ A JSON string representation of the object.
+
+
+
+ Serializes the specified object to a JSON string using formatting.
+
+ The object to serialize.
+ Indicates how the output is formatted.
+
+ A JSON string representation of the object.
+
+
+
+
+ Serializes the specified object to a JSON string using a collection of .
+
+ The object to serialize.
+ A collection converters used while serializing.
+ A JSON string representation of the object.
+
+
+
+ Serializes the specified object to a JSON string using formatting and a collection of .
+
+ The object to serialize.
+ Indicates how the output is formatted.
+ A collection converters used while serializing.
+ A JSON string representation of the object.
+
+
+
+ Serializes the specified object to a JSON string using .
+
+ The object to serialize.
+ The used to serialize the object.
+ If this is null, default serialization settings will be used.
+
+ A JSON string representation of the object.
+
+
+
+
+ Serializes the specified object to a JSON string using a type, formatting and .
+
+ The object to serialize.
+ The used to serialize the object.
+ If this is null, default serialization settings will be used.
+
+ The type of the value being serialized.
+ This parameter is used when is Auto to write out the type name if the type of the value does not match.
+ Specifing the type is optional.
+
+
+ A JSON string representation of the object.
+
+
+
+
+ Serializes the specified object to a JSON string using formatting and .
+
+ The object to serialize.
+ Indicates how the output is formatted.
+ The used to serialize the object.
+ If this is null, default serialization settings will be used.
+
+ A JSON string representation of the object.
+
+
+
+
+ Serializes the specified object to a JSON string using a type, formatting and .
+
+ The object to serialize.
+ Indicates how the output is formatted.
+ The used to serialize the object.
+ If this is null, default serialization settings will be used.
+
+ The type of the value being serialized.
+ This parameter is used when is Auto to write out the type name if the type of the value does not match.
+ Specifing the type is optional.
+
+
+ A JSON string representation of the object.
+
+
+
+
+ Asynchronously serializes the specified object to a JSON string.
+ Serialization will happen on a new thread.
+
+ The object to serialize.
+
+ A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object.
+
+
+
+
+ Asynchronously serializes the specified object to a JSON string using formatting.
+ Serialization will happen on a new thread.
+
+ The object to serialize.
+ Indicates how the output is formatted.
+
+ A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object.
+
+
+
+
+ Asynchronously serializes the specified object to a JSON string using formatting and a collection of .
+ Serialization will happen on a new thread.
+
+ The object to serialize.
+ Indicates how the output is formatted.
+ The used to serialize the object.
+ If this is null, default serialization settings will be used.
+
+ A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object.
+
+
+
+
+ Deserializes the JSON to a .NET object.
+
+ The JSON to deserialize.
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to a .NET object using .
+
+ The JSON to deserialize.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type.
+
+ The JSON to deserialize.
+ The of object being deserialized.
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type.
+
+ The type of the object to deserialize to.
+ The JSON to deserialize.
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the given anonymous type.
+
+
+ The anonymous type to deserialize to. This can't be specified
+ traditionally and must be infered from the anonymous type passed
+ as a parameter.
+
+ The JSON to deserialize.
+ The anonymous type object.
+ The deserialized anonymous type from the JSON string.
+
+
+
+ Deserializes the JSON to the given anonymous type using .
+
+
+ The anonymous type to deserialize to. This can't be specified
+ traditionally and must be infered from the anonymous type passed
+ as a parameter.
+
+ The JSON to deserialize.
+ The anonymous type object.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+ The deserialized anonymous type from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type using a collection of .
+
+ The type of the object to deserialize to.
+ The JSON to deserialize.
+ Converters to use while deserializing.
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type using .
+
+ The type of the object to deserialize to.
+ The object to deserialize.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type using a collection of .
+
+ The JSON to deserialize.
+ The type of the object to deserialize.
+ Converters to use while deserializing.
+ The deserialized object from the JSON string.
+
+
+
+ Deserializes the JSON to the specified .NET type using .
+
+ The JSON to deserialize.
+ The type of the object to deserialize to.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+ The deserialized object from the JSON string.
+
+
+
+ Asynchronously deserializes the JSON to the specified .NET type.
+ Deserialization will happen on a new thread.
+
+ The type of the object to deserialize to.
+ The JSON to deserialize.
+
+ A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string.
+
+
+
+
+ Asynchronously deserializes the JSON to the specified .NET type using .
+ Deserialization will happen on a new thread.
+
+ The type of the object to deserialize to.
+ The JSON to deserialize.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+
+ A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string.
+
+
+
+
+ Asynchronously deserializes the JSON to the specified .NET type.
+ Deserialization will happen on a new thread.
+
+ The JSON to deserialize.
+
+ A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string.
+
+
+
+
+ Asynchronously deserializes the JSON to the specified .NET type using .
+ Deserialization will happen on a new thread.
+
+ The JSON to deserialize.
+ The type of the object to deserialize to.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+
+ A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string.
+
+
+
+
+ Populates the object with values from the JSON string.
+
+ The JSON to populate values from.
+ The target object to populate values onto.
+
+
+
+ Populates the object with values from the JSON string using .
+
+ The JSON to populate values from.
+ The target object to populate values onto.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+
+
+
+ Asynchronously populates the object with values from the JSON string using .
+
+ The JSON to populate values from.
+ The target object to populate values onto.
+
+ The used to deserialize the object.
+ If this is null, default serialization settings will be used.
+
+
+ A task that represents the asynchronous populate operation.
+
+
+
+
+ Serializes the XML node to a JSON string.
+
+ The node to serialize.
+ A JSON string of the XmlNode.
+
+
+
+ Serializes the XML node to a JSON string using formatting.
+
+ The node to serialize.
+ Indicates how the output is formatted.
+ A JSON string of the XmlNode.
+
+
+
+ Serializes the XML node to a JSON string using formatting and omits the root object if is true.
+
+ The node to serialize.
+ Indicates how the output is formatted.
+ Omits writing the root object.
+ A JSON string of the XmlNode.
+
+
+
+ Deserializes the XmlNode from a JSON string.
+
+ The JSON string.
+ The deserialized XmlNode
+
+
+
+ Deserializes the XmlNode from a JSON string nested in a root elment specified by .
+
+ The JSON string.
+ The name of the root element to append when deserializing.
+ The deserialized XmlNode
+
+
+
+ Deserializes the XmlNode from a JSON string nested in a root elment specified by
+ and writes a .NET array attribute for collections.
+
+ The JSON string.
+ The name of the root element to append when deserializing.
+
+ A flag to indicate whether to write the Json.NET array attribute.
+ This attribute helps preserve arrays when converting the written XML back to JSON.
+
+ The deserialized XmlNode
+
+
+
+ Serializes the to a JSON string.
+
+ The node to convert to JSON.
+ A JSON string of the XNode.
+
+
+
+ Serializes the to a JSON string using formatting.
+
+ The node to convert to JSON.
+ Indicates how the output is formatted.
+ A JSON string of the XNode.
+
+
+
+ Serializes the to a JSON string using formatting and omits the root object if is true.
+
+ The node to serialize.
+ Indicates how the output is formatted.
+ Omits writing the root object.
+ A JSON string of the XNode.
+
+
+
+ Deserializes the from a JSON string.
+
+ The JSON string.
+ The deserialized XNode
+
+
+
+ Deserializes the from a JSON string nested in a root elment specified by .
+
+ The JSON string.
+ The name of the root element to append when deserializing.
+ The deserialized XNode
+
+
+
+ Deserializes the from a JSON string nested in a root elment specified by
+ and writes a .NET array attribute for collections.
+
+ The JSON string.
+ The name of the root element to append when deserializing.
+
+ A flag to indicate whether to write the Json.NET array attribute.
+ This attribute helps preserve arrays when converting the written XML back to JSON.
+
+ The deserialized XNode
+
+
+
+ Gets or sets a function that creates default .
+ Default settings are automatically used by serialization methods on ,
+ and and on .
+ To serialize without using any default settings create a with
+ .
+
+
+
+
+ Instructs the to use the specified when serializing the member or class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the converter.
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the converter.
+ Parameter list to use when constructing the JsonConverter. Can be null.
+
+
+
+ Gets the type of the converter.
+
+ The type of the converter.
+
+
+
+ The parameter list to use when constructing the JsonConverter described by ConverterType.
+ If null, the default constructor is used.
+
+
+
+
+ Represents a collection of .
+
+
+
+
+ Instructs the how to serialize the collection.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified container Id.
+
+ The container Id.
+
+
+
+ The exception thrown when an error occurs during Json serialization or deserialization.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class
+ with a specified error message and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ The parameter is null.
+ The class name is null or is zero (0).
+
+
+
+ Instructs the to deserialize properties with no matching class member into the specified collection
+ and write values during serialization.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value that indicates whether to write extension data when serializing the object.
+
+
+ true to write extension data when serializing the object; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value that indicates whether to read extension data when deserializing the object.
+
+
+ true to read extension data when deserializing the object; otherwise, false. The default is true.
+
+
+
+
+ Instructs the not to serialize the public field or public read/write property value.
+
+
+
+
+ Instructs the how to serialize the object.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified member serialization.
+
+ The member serialization.
+
+
+
+ Initializes a new instance of the class with the specified container Id.
+
+ The container Id.
+
+
+
+ Gets or sets the member serialization.
+
+ The member serialization.
+
+
+
+ Gets or sets a value that indicates whether the object's properties are required.
+
+
+ A value indicating whether the object's properties are required.
+
+
+
+
+ Instructs the to always serialize the member with the specified name.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class with the specified name.
+
+ Name of the property.
+
+
+
+ Gets or sets the converter used when serializing the property's collection items.
+
+ The collection's items converter.
+
+
+
+ The parameter list to use when constructing the JsonConverter described by ItemConverterType.
+ If null, the default constructor is used.
+ When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number,
+ order, and type of these parameters.
+
+
+ [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
+
+
+
+
+ Gets or sets the null value handling used when serializing this property.
+
+ The null value handling.
+
+
+
+ Gets or sets the default value handling used when serializing this property.
+
+ The default value handling.
+
+
+
+ Gets or sets the reference loop handling used when serializing this property.
+
+ The reference loop handling.
+
+
+
+ Gets or sets the object creation handling used when deserializing this property.
+
+ The object creation handling.
+
+
+
+ Gets or sets the type name handling used when serializing this property.
+
+ The type name handling.
+
+
+
+ Gets or sets whether this property's value is serialized as a reference.
+
+ Whether this property's value is serialized as a reference.
+
+
+
+ Gets or sets the order of serialization and deserialization of a member.
+
+ The numeric order of serialization or deserialization.
+
+
+
+ Gets or sets a value indicating whether this property is required.
+
+
+ A value indicating whether this property is required.
+
+
+
+
+ Gets or sets the name of the property.
+
+ The name of the property.
+
+
+
+ Gets or sets the the reference loop handling used when serializing the property's collection items.
+
+ The collection's items reference loop handling.
+
+
+
+ Gets or sets the the type name handling used when serializing the property's collection items.
+
+ The collection's items type name handling.
+
+
+
+ Gets or sets whether this property's collection items are serialized as a reference.
+
+ Whether this property's collection items are serialized as a reference.
+
+
+
+ The exception thrown when an error occurs while reading Json text.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class
+ with a specified error message and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ The parameter is null.
+ The class name is null or is zero (0).
+
+
+
+ Gets the line number indicating where the error occurred.
+
+ The line number indicating where the error occurred.
+
+
+
+ Gets the line position indicating where the error occurred.
+
+ The line position indicating where the error occurred.
+
+
+
+ Gets the path to the JSON where the error occurred.
+
+ The path to the JSON where the error occurred.
+
+
+
+ The exception thrown when an error occurs during Json serialization or deserialization.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class
+ with a specified error message and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ The parameter is null.
+ The class name is null or is zero (0).
+
+
+
+ Serializes and deserializes objects into and from the JSON format.
+ The enables you to control how objects are encoded into JSON.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Creates a new instance.
+ The will not use default settings.
+
+
+ A new instance.
+ The will not use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will not use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will not use default settings.
+
+
+
+
+ Creates a new instance.
+ The will use default settings.
+
+
+ A new instance.
+ The will use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will use default settings.
+
+
+
+
+ Populates the JSON values onto the target object.
+
+ The that contains the JSON structure to reader values from.
+ The target object to populate values onto.
+
+
+
+ Populates the JSON values onto the target object.
+
+ The that contains the JSON structure to reader values from.
+ The target object to populate values onto.
+
+
+
+ Deserializes the Json structure contained by the specified .
+
+ The that contains the JSON structure to deserialize.
+ The being deserialized.
+
+
+
+ Deserializes the Json structure contained by the specified
+ into an instance of the specified type.
+
+ The containing the object.
+ The of object being deserialized.
+ The instance of being deserialized.
+
+
+
+ Deserializes the Json structure contained by the specified
+ into an instance of the specified type.
+
+ The containing the object.
+ The type of the object to deserialize.
+ The instance of being deserialized.
+
+
+
+ Deserializes the Json structure contained by the specified
+ into an instance of the specified type.
+
+ The containing the object.
+ The of object being deserialized.
+ The instance of being deserialized.
+
+
+
+ Serializes the specified and writes the Json structure
+ to a Stream using the specified .
+
+ The used to write the Json structure.
+ The to serialize.
+
+
+
+ Serializes the specified and writes the Json structure
+ to a Stream using the specified .
+
+ The used to write the Json structure.
+ The to serialize.
+
+ The type of the value being serialized.
+ This parameter is used when is Auto to write out the type name if the type of the value does not match.
+ Specifing the type is optional.
+
+
+
+
+ Serializes the specified and writes the Json structure
+ to a Stream using the specified .
+
+ The used to write the Json structure.
+ The to serialize.
+
+ The type of the value being serialized.
+ This parameter is used when is Auto to write out the type name if the type of the value does not match.
+ Specifing the type is optional.
+
+
+
+
+ Serializes the specified and writes the Json structure
+ to a Stream using the specified .
+
+ The used to write the Json structure.
+ The to serialize.
+
+
+
+ Occurs when the errors during serialization and deserialization.
+
+
+
+
+ Gets or sets the used by the serializer when resolving references.
+
+
+
+
+ Gets or sets the used by the serializer when resolving type names.
+
+
+
+
+ Gets or sets the used by the serializer when writing trace messages.
+
+ The trace writer.
+
+
+
+ Gets or sets how type name writing and reading is handled by the serializer.
+
+
+
+
+ Gets or sets how a type name assembly is written and resolved by the serializer.
+
+ The type name assembly format.
+
+
+
+ Gets or sets how object references are preserved by the serializer.
+
+
+
+
+ Get or set how reference loops (e.g. a class referencing itself) is handled.
+
+
+
+
+ Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization.
+
+
+
+
+ Get or set how null values are handled during serialization and deserialization.
+
+
+
+
+ Get or set how null default are handled during serialization and deserialization.
+
+
+
+
+ Gets or sets how objects are created during deserialization.
+
+ The object creation handling.
+
+
+
+ Gets or sets how constructors are used during deserialization.
+
+ The constructor handling.
+
+
+
+ Gets or sets how metadata properties are used during deserialization.
+
+ The metadata properties handling.
+
+
+
+ Gets a collection that will be used during serialization.
+
+ Collection that will be used during serialization.
+
+
+
+ Gets or sets the contract resolver used by the serializer when
+ serializing .NET objects to JSON and vice versa.
+
+
+
+
+ Gets or sets the used by the serializer when invoking serialization callback methods.
+
+ The context.
+
+
+
+ Indicates how JSON text output is formatted.
+
+
+
+
+ Get or set how dates are written to JSON text.
+
+
+
+
+ Get or set how time zones are handling during serialization and deserialization.
+
+
+
+
+ Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON.
+
+
+
+
+ Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+
+
+
+
+ Get or set how special floating point numbers, e.g. ,
+ and ,
+ are written as JSON text.
+
+
+
+
+ Get or set how strings are escaped when writing JSON text.
+
+
+
+
+ Get or set how and values are formatting when writing JSON text.
+
+
+
+
+ Gets or sets the culture used when reading JSON. Defaults to .
+
+
+
+
+ Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a .
+
+
+
+
+ Gets a value indicating whether there will be a check for additional JSON content after deserializing an object.
+
+
+ true if there will be a check for additional JSON content after deserializing an object; otherwise, false.
+
+
+
+
+ Specifies the settings on a object.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets how reference loops (e.g. a class referencing itself) is handled.
+
+ Reference loop handling.
+
+
+
+ Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization.
+
+ Missing member handling.
+
+
+
+ Gets or sets how objects are created during deserialization.
+
+ The object creation handling.
+
+
+
+ Gets or sets how null values are handled during serialization and deserialization.
+
+ Null value handling.
+
+
+
+ Gets or sets how null default are handled during serialization and deserialization.
+
+ The default value handling.
+
+
+
+ Gets or sets a collection that will be used during serialization.
+
+ The converters.
+
+
+
+ Gets or sets how object references are preserved by the serializer.
+
+ The preserve references handling.
+
+
+
+ Gets or sets how type name writing and reading is handled by the serializer.
+
+ The type name handling.
+
+
+
+ Gets or sets how metadata properties are used during deserialization.
+
+ The metadata properties handling.
+
+
+
+ Gets or sets how a type name assembly is written and resolved by the serializer.
+
+ The type name assembly format.
+
+
+
+ Gets or sets how constructors are used during deserialization.
+
+ The constructor handling.
+
+
+
+ Gets or sets the contract resolver used by the serializer when
+ serializing .NET objects to JSON and vice versa.
+
+ The contract resolver.
+
+
+
+ Gets or sets the used by the serializer when resolving references.
+
+ The reference resolver.
+
+
+
+ Gets or sets the used by the serializer when writing trace messages.
+
+ The trace writer.
+
+
+
+ Gets or sets the used by the serializer when resolving type names.
+
+ The binder.
+
+
+
+ Gets or sets the error handler called during serialization and deserialization.
+
+ The error handler called during serialization and deserialization.
+
+
+
+ Gets or sets the used by the serializer when invoking serialization callback methods.
+
+ The context.
+
+
+
+ Get or set how and values are formatting when writing JSON text.
+
+
+
+
+ Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a .
+
+
+
+
+ Indicates how JSON text output is formatted.
+
+
+
+
+ Get or set how dates are written to JSON text.
+
+
+
+
+ Get or set how time zones are handling during serialization and deserialization.
+
+
+
+
+ Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON.
+
+
+
+
+ Get or set how special floating point numbers, e.g. ,
+ and ,
+ are written as JSON.
+
+
+
+
+ Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
+
+
+
+
+ Get or set how strings are escaped when writing JSON text.
+
+
+
+
+ Gets or sets the culture used when reading JSON. Defaults to .
+
+
+
+
+ Gets a value indicating whether there will be a check for additional content after deserializing an object.
+
+
+ true if there will be a check for additional content after deserializing an object; otherwise, false.
+
+
+
+
+ Represents a reader that provides fast, non-cached, forward-only access to JSON text data.
+
+
+
+
+ Initializes a new instance of the class with the specified .
+
+ The TextReader containing the XML data to read.
+
+
+
+ Reads the next JSON token from the stream.
+
+
+ true if the next token was read successfully; false if there are no more tokens to read.
+
+
+
+
+ Reads the next JSON token from the stream as a [].
+
+
+ A [] or a null reference if the next JSON token is null. This method will return null at the end of an array.
+
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Changes the state to closed.
+
+
+
+
+ Gets a value indicating whether the class can return line information.
+
+
+ true if LineNumber and LinePosition can be provided; otherwise, false.
+
+
+
+
+ Gets the current line number.
+
+
+ The current line number or 0 if no line information is available (for example, HasLineInfo returns false).
+
+
+
+
+ Gets the current line position.
+
+
+ The current line position or 0 if no line information is available (for example, HasLineInfo returns false).
+
+
+
+
+ Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+
+
+
+
+ Creates an instance of the JsonWriter class using the specified .
+
+ The TextWriter to write to.
+
+
+
+ Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.
+
+
+
+
+ Closes this stream and the underlying stream.
+
+
+
+
+ Writes the beginning of a Json object.
+
+
+
+
+ Writes the beginning of a Json array.
+
+
+
+
+ Writes the start of a constructor with the given name.
+
+ The name of the constructor.
+
+
+
+ Writes the specified end token.
+
+ The end token to write.
+
+
+
+ Writes the property name of a name/value pair on a Json object.
+
+ The name of the property.
+
+
+
+ Writes the property name of a name/value pair on a JSON object.
+
+ The name of the property.
+ A flag to indicate whether the text should be escaped when it is written as a JSON property name.
+
+
+
+ Writes indent characters.
+
+
+
+
+ Writes the JSON value delimiter.
+
+
+
+
+ Writes an indent space.
+
+
+
+
+ Writes a value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ Writes a null value.
+
+
+
+
+ Writes an undefined value.
+
+
+
+
+ Writes raw JSON.
+
+ The raw JSON to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a [] value.
+
+ The [] value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes out a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+
+
+
+ Writes out the given white space.
+
+ The string of white space characters.
+
+
+
+ Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented.
+
+
+
+
+ Gets or sets which character to use to quote attribute values.
+
+
+
+
+ Gets or sets which character to use for indenting when is set to Formatting.Indented.
+
+
+
+
+ Gets or sets a value indicating whether object names will be surrounded with quotes.
+
+
+
+
+ Specifies the type of Json token.
+
+
+
+
+ This is returned by the if a method has not been called.
+
+
+
+
+ An object start token.
+
+
+
+
+ An array start token.
+
+
+
+
+ A constructor start token.
+
+
+
+
+ An object property name.
+
+
+
+
+ A comment.
+
+
+
+
+ Raw JSON.
+
+
+
+
+ An integer.
+
+
+
+
+ A float.
+
+
+
+
+ A string.
+
+
+
+
+ A boolean.
+
+
+
+
+ A null token.
+
+
+
+
+ An undefined token.
+
+
+
+
+ An object end token.
+
+
+
+
+ An array end token.
+
+
+
+
+ A constructor end token.
+
+
+
+
+ A Date.
+
+
+
+
+ Byte data.
+
+
+
+
+ Represents a reader that provides validation.
+
+
+
+
+ Initializes a new instance of the class that
+ validates the content returned from the given .
+
+ The to read from while validating.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A .
+
+
+
+ Reads the next JSON token from the stream as a [].
+
+
+ A [] or a null reference if the next JSON token is null.
+
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A .
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A .
+
+
+
+ Reads the next JSON token from the stream.
+
+
+ true if the next token was read successfully; false if there are no more tokens to read.
+
+
+
+
+ Sets an event handler for receiving schema validation errors.
+
+
+
+
+ Gets the text value of the current JSON token.
+
+
+
+
+
+ Gets the depth of the current token in the JSON document.
+
+ The depth of the current token in the JSON document.
+
+
+
+ Gets the path of the current JSON token.
+
+
+
+
+ Gets the quotation mark character used to enclose the value of a string.
+
+
+
+
+
+ Gets the type of the current JSON token.
+
+
+
+
+
+ Gets the Common Language Runtime (CLR) type for the current JSON token.
+
+
+
+
+
+ Gets or sets the schema.
+
+ The schema.
+
+
+
+ Gets the used to construct this .
+
+ The specified in the constructor.
+
+
+
+ The exception thrown when an error occurs while reading Json text.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class
+ with a specified error message and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ The parameter is null.
+ The class name is null or is zero (0).
+
+
+
+ Gets the path to the JSON where the error occurred.
+
+ The path to the JSON where the error occurred.
+
+
+
+ Contains the LINQ to JSON extension methods.
+
+
+
+
+ Returns a collection of tokens that contains the ancestors of every token in the source collection.
+
+ The type of the objects in source, constrained to .
+ An of that contains the source collection.
+ An of that contains the ancestors of every token in the source collection.
+
+
+
+ Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection.
+
+ The type of the objects in source, constrained to .
+ An of that contains the source collection.
+ An of that contains every token in the source collection, the ancestors of every token in the source collection.
+
+
+
+ Returns a collection of tokens that contains the descendants of every token in the source collection.
+
+ The type of the objects in source, constrained to .
+ An of that contains the source collection.
+ An of that contains the descendants of every token in the source collection.
+
+
+
+ Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection.
+
+ The type of the objects in source, constrained to .
+ An of that contains the source collection.
+ An of that contains every token in the source collection, and the descendants of every token in the source collection.
+
+
+
+ Returns a collection of child properties of every object in the source collection.
+
+ An of that contains the source collection.
+ An of that contains the properties of every object in the source collection.
+
+
+
+ Returns a collection of child values of every object in the source collection with the given key.
+
+ An of that contains the source collection.
+ The token key.
+ An of that contains the values of every token in the source collection with the given key.
+
+
+
+ Returns a collection of child values of every object in the source collection.
+
+ An of that contains the source collection.
+ An of that contains the values of every token in the source collection.
+
+
+
+ Returns a collection of converted child values of every object in the source collection with the given key.
+
+ The type to convert the values to.
+ An of that contains the source collection.
+ The token key.
+ An that contains the converted values of every token in the source collection with the given key.
+
+
+
+ Returns a collection of converted child values of every object in the source collection.
+
+ The type to convert the values to.
+ An of that contains the source collection.
+ An that contains the converted values of every token in the source collection.
+
+
+
+ Converts the value.
+
+ The type to convert the value to.
+ A cast as a of .
+ A converted value.
+
+
+
+ Converts the value.
+
+ The source collection type.
+ The type to convert the value to.
+ A cast as a of .
+ A converted value.
+
+
+
+ Returns a collection of child tokens of every array in the source collection.
+
+ The source collection type.
+ An of that contains the source collection.
+ An of that contains the values of every token in the source collection.
+
+
+
+ Returns a collection of converted child tokens of every array in the source collection.
+
+ An of that contains the source collection.
+ The type to convert the values to.
+ The source collection type.
+ An that contains the converted values of every token in the source collection.
+
+
+
+ Returns the input typed as .
+
+ An of that contains the source collection.
+ The input typed as .
+
+
+
+ Returns the input typed as .
+
+ The source collection type.
+ An of that contains the source collection.
+ The input typed as .
+
+
+
+ Represents a collection of objects.
+
+ The type of token
+
+
+
+ Gets the with the specified key.
+
+
+
+
+
+ Represents a JSON array.
+
+
+
+
+
+
+
+ Represents a token that can contain other tokens.
+
+
+
+
+ Represents an abstract JSON token.
+
+
+
+
+ Compares the values of two tokens, including the values of all descendant tokens.
+
+ The first to compare.
+ The second to compare.
+ true if the tokens are equal; otherwise false.
+
+
+
+ Adds the specified content immediately after this token.
+
+ A content object that contains simple content or a collection of content objects to be added after this token.
+
+
+
+ Adds the specified content immediately before this token.
+
+ A content object that contains simple content or a collection of content objects to be added before this token.
+
+
+
+ Returns a collection of the ancestor tokens of this token.
+
+ A collection of the ancestor tokens of this token.
+
+
+
+ Returns a collection of tokens that contain this token, and the ancestors of this token.
+
+ A collection of tokens that contain this token, and the ancestors of this token.
+
+
+
+ Returns a collection of the sibling tokens after this token, in document order.
+
+ A collection of the sibling tokens after this tokens, in document order.
+
+
+
+ Returns a collection of the sibling tokens before this token, in document order.
+
+ A collection of the sibling tokens before this token, in document order.
+
+
+
+ Gets the with the specified key converted to the specified type.
+
+ The type to convert the token to.
+ The token key.
+ The converted token value.
+
+
+
+ Returns a collection of the child tokens of this token, in document order.
+
+ An of containing the child tokens of this , in document order.
+
+
+
+ Returns a collection of the child tokens of this token, in document order, filtered by the specified type.
+
+ The type to filter the child tokens on.
+ A containing the child tokens of this , in document order.
+
+
+
+ Returns a collection of the child values of this token, in document order.
+
+ The type to convert the values to.
+ A containing the child values of this , in document order.
+
+
+
+ Removes this token from its parent.
+
+
+
+
+ Replaces this token with the specified token.
+
+ The value.
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+
+
+
+ Returns the indented JSON for this token.
+
+
+ The indented JSON for this token.
+
+
+
+
+ Returns the JSON for this token using the given formatting and converters.
+
+ Indicates how the output is formatted.
+ A collection of which will be used when writing the token.
+ The JSON for this token using the given formatting and converters.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to [].
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an explicit conversion from to .
+
+ The value.
+ The result of the conversion.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from [] to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ The initialized with the specified value.
+
+
+
+ Creates an for this token.
+
+ An that can be used to read this token and its descendants.
+
+
+
+ Creates a from an object.
+
+ The object that will be used to create .
+ A with the value of the specified object
+
+
+
+ Creates a from an object using the specified .
+
+ The object that will be used to create .
+ The that will be used when reading the object.
+ A with the value of the specified object
+
+
+
+ Creates the specified .NET type from the .
+
+ The object type that the token will be deserialized to.
+ The new object created from the JSON value.
+
+
+
+ Creates the specified .NET type from the .
+
+ The object type that the token will be deserialized to.
+ The new object created from the JSON value.
+
+
+
+ Creates the specified .NET type from the using the specified .
+
+ The object type that the token will be deserialized to.
+ The that will be used when creating the object.
+ The new object created from the JSON value.
+
+
+
+ Creates the specified .NET type from the using the specified .
+
+ The object type that the token will be deserialized to.
+ The that will be used when creating the object.
+ The new object created from the JSON value.
+
+
+
+ Creates a from a .
+
+ An positioned at the token to read into this .
+
+ An that contains the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Load a from a string that contains JSON.
+
+ A that contains JSON.
+ A populated from the string that contains JSON.
+
+
+
+ Creates a from a .
+
+ An positioned at the token to read into this .
+
+ An that contains the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Selects a using a JPath expression. Selects the token that matches the object path.
+
+
+ A that contains a JPath expression.
+
+ A , or null.
+
+
+
+ Selects a using a JPath expression. Selects the token that matches the object path.
+
+
+ A that contains a JPath expression.
+
+ A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.
+ A .
+
+
+
+ Selects a collection of elements using a JPath expression.
+
+
+ A that contains a JPath expression.
+
+ An that contains the selected elements.
+
+
+
+ Selects a collection of elements using a JPath expression.
+
+
+ A that contains a JPath expression.
+
+ A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.
+ An that contains the selected elements.
+
+
+
+ Returns the responsible for binding operations performed on this object.
+
+ The expression tree representation of the runtime value.
+
+ The to bind this object.
+
+
+
+
+ Returns the responsible for binding operations performed on this object.
+
+ The expression tree representation of the runtime value.
+
+ The to bind this object.
+
+
+
+
+ Creates a new instance of the . All child tokens are recursively cloned.
+
+ A new instance of the .
+
+
+
+ Adds an object to the annotation list of this .
+
+ The annotation to add.
+
+
+
+ Get the first annotation object of the specified type from this .
+
+ The type of the annotation to retrieve.
+ The first annotation object that matches the specified type, or null if no annotation is of the specified type.
+
+
+
+ Gets the first annotation object of the specified type from this .
+
+ The of the annotation to retrieve.
+ The first annotation object that matches the specified type, or null if no annotation is of the specified type.
+
+
+
+ Gets a collection of annotations of the specified type for this .
+
+ The type of the annotations to retrieve.
+ An that contains the annotations for this .
+
+
+
+ Gets a collection of annotations of the specified type for this .
+
+ The of the annotations to retrieve.
+ An of that contains the annotations that match the specified type for this .
+
+
+
+ Removes the annotations of the specified type from this .
+
+ The type of annotations to remove.
+
+
+
+ Removes the annotations of the specified type from this .
+
+ The of annotations to remove.
+
+
+
+ Gets a comparer that can compare two tokens for value equality.
+
+ A that can compare two nodes for value equality.
+
+
+
+ Gets or sets the parent.
+
+ The parent.
+
+
+
+ Gets the root of this .
+
+ The root of this .
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Gets a value indicating whether this token has child tokens.
+
+
+ true if this token has child values; otherwise, false.
+
+
+
+
+ Gets the next sibling token of this node.
+
+ The that contains the next sibling token.
+
+
+
+ Gets the previous sibling token of this node.
+
+ The that contains the previous sibling token.
+
+
+
+ Gets the path of the JSON token.
+
+
+
+
+ Gets the with the specified key.
+
+ The with the specified key.
+
+
+
+ Get the first child token of this token.
+
+ A containing the first child token of the .
+
+
+
+ Get the last child token of this token.
+
+ A containing the last child token of the .
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Returns a collection of the child tokens of this token, in document order.
+
+
+ An of containing the child tokens of this , in document order.
+
+
+
+
+ Returns a collection of the child values of this token, in document order.
+
+ The type to convert the values to.
+
+ A containing the child values of this , in document order.
+
+
+
+
+ Returns a collection of the descendant tokens for this token in document order.
+
+ An containing the descendant tokens of the .
+
+
+
+ Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order.
+
+ An containing this token, and all the descendant tokens of the .
+
+
+
+ Adds the specified content as children of this .
+
+ The content to be added.
+
+
+
+ Adds the specified content as the first children of this .
+
+ The content to be added.
+
+
+
+ Creates an that can be used to add tokens to the .
+
+ An that is ready to have content written to it.
+
+
+
+ Replaces the children nodes of this token with the specified content.
+
+ The content.
+
+
+
+ Removes the child nodes from this token.
+
+
+
+
+ Merge the specified content into this .
+
+ The content to be merged.
+
+
+
+ Merge the specified content into this using .
+
+ The content to be merged.
+ The used to merge the content.
+
+
+
+ Occurs when the list changes or an item in the list changes.
+
+
+
+
+ Occurs before an item is added to the collection.
+
+
+
+
+ Occurs when the items list of the collection has changed, or the collection is reset.
+
+
+
+
+ Gets the container's children tokens.
+
+ The container's children tokens.
+
+
+
+ Gets a value indicating whether this token has child tokens.
+
+
+ true if this token has child values; otherwise, false.
+
+
+
+
+ Get the first child token of this token.
+
+
+ A containing the first child token of the .
+
+
+
+
+ Get the last child token of this token.
+
+
+ A containing the last child token of the .
+
+
+
+
+ Gets the count of child JSON tokens.
+
+ The count of child JSON tokens
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Initializes a new instance of the class with the specified content.
+
+ The contents of the array.
+
+
+
+ Initializes a new instance of the class with the specified content.
+
+ The contents of the array.
+
+
+
+ Loads an from a .
+
+ A that will be read for the content of the .
+ A that contains the JSON that was read from the specified .
+
+
+
+ Load a from a string that contains JSON.
+
+ A that contains JSON.
+ A populated from the string that contains JSON.
+
+
+
+
+
+
+ Creates a from an object.
+
+ The object that will be used to create .
+ A with the values of the specified object
+
+
+
+ Creates a from an object.
+
+ The object that will be used to create .
+ The that will be used to read the object.
+ A with the values of the specified object
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+
+
+
+ Determines the index of a specific item in the .
+
+ The object to locate in the .
+
+ The index of if found in the list; otherwise, -1.
+
+
+
+
+ Inserts an item to the at the specified index.
+
+ The zero-based index at which should be inserted.
+ The object to insert into the .
+
+ is not a valid index in the .
+ The is read-only.
+
+
+
+ Removes the item at the specified index.
+
+ The zero-based index of the item to remove.
+
+ is not a valid index in the .
+ The is read-only.
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Adds an item to the .
+
+ The object to add to the .
+ The is read-only.
+
+
+
+ Removes all items from the .
+
+ The is read-only.
+
+
+
+ Determines whether the contains a specific value.
+
+ The object to locate in the .
+
+ true if is found in the ; otherwise, false.
+
+
+
+
+ Copies to.
+
+ The array.
+ Index of the array.
+
+
+
+ Removes the first occurrence of a specific object from the .
+
+ The object to remove from the .
+
+ true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original .
+
+ The is read-only.
+
+
+
+ Gets the container's children tokens.
+
+ The container's children tokens.
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Gets the with the specified key.
+
+ The with the specified key.
+
+
+
+ Gets or sets the at the specified index.
+
+
+
+
+
+ Gets a value indicating whether the is read-only.
+
+ true if the is read-only; otherwise, false.
+
+
+
+ Represents a JSON constructor.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Initializes a new instance of the class with the specified name and content.
+
+ The constructor name.
+ The contents of the constructor.
+
+
+
+ Initializes a new instance of the class with the specified name and content.
+
+ The constructor name.
+ The contents of the constructor.
+
+
+
+ Initializes a new instance of the class with the specified name.
+
+ The constructor name.
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+
+
+
+ Loads an from a .
+
+ A that will be read for the content of the .
+ A that contains the JSON that was read from the specified .
+
+
+
+ Gets the container's children tokens.
+
+ The container's children tokens.
+
+
+
+ Gets or sets the name of this constructor.
+
+ The constructor name.
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Gets the with the specified key.
+
+ The with the specified key.
+
+
+
+ Represents a collection of objects.
+
+ The type of token
+
+
+
+ An empty collection of objects.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The enumerable.
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Returns an enumerator that iterates through a collection.
+
+
+ An object that can be used to iterate through the collection.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ Gets the with the specified key.
+
+
+
+
+
+ Represents a JSON object.
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Initializes a new instance of the class with the specified content.
+
+ The contents of the object.
+
+
+
+ Initializes a new instance of the class with the specified content.
+
+ The contents of the object.
+
+
+
+ Gets an of this object's properties.
+
+ An of this object's properties.
+
+
+
+ Gets a the specified name.
+
+ The property name.
+ A with the specified name or null.
+
+
+
+ Gets an of this object's property values.
+
+ An of this object's property values.
+
+
+
+ Loads an from a .
+
+ A that will be read for the content of the .
+ A that contains the JSON that was read from the specified .
+
+
+
+ Load a from a string that contains JSON.
+
+ A that contains JSON.
+ A populated from the string that contains JSON.
+
+
+
+
+
+
+ Creates a from an object.
+
+ The object that will be used to create .
+ A with the values of the specified object
+
+
+
+ Creates a from an object.
+
+ The object that will be used to create .
+ The that will be used to read the object.
+ A with the values of the specified object
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+
+
+
+ Gets the with the specified property name.
+
+ Name of the property.
+ The with the specified property name.
+
+
+
+ Gets the with the specified property name.
+ The exact property name will be searched for first and if no matching property is found then
+ the will be used to match a property.
+
+ Name of the property.
+ One of the enumeration values that specifies how the strings will be compared.
+ The with the specified property name.
+
+
+
+ Tries to get the with the specified property name.
+ The exact property name will be searched for first and if no matching property is found then
+ the will be used to match a property.
+
+ Name of the property.
+ The value.
+ One of the enumeration values that specifies how the strings will be compared.
+ true if a value was successfully retrieved; otherwise, false.
+
+
+
+ Adds the specified property name.
+
+ Name of the property.
+ The value.
+
+
+
+ Removes the property with the specified name.
+
+ Name of the property.
+ true if item was successfully removed; otherwise, false.
+
+
+
+ Tries the get value.
+
+ Name of the property.
+ The value.
+ true if a value was successfully retrieved; otherwise, false.
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Raises the event with the provided arguments.
+
+ Name of the property.
+
+
+
+ Raises the event with the provided arguments.
+
+ Name of the property.
+
+
+
+ Returns the properties for this instance of a component.
+
+
+ A that represents the properties for this component instance.
+
+
+
+
+ Returns the properties for this instance of a component using the attribute array as a filter.
+
+ An array of type that is used as a filter.
+
+ A that represents the filtered properties for this component instance.
+
+
+
+
+ Returns a collection of custom attributes for this instance of a component.
+
+
+ An containing the attributes for this object.
+
+
+
+
+ Returns the class name of this instance of a component.
+
+
+ The class name of the object, or null if the class does not have a name.
+
+
+
+
+ Returns the name of this instance of a component.
+
+
+ The name of the object, or null if the object does not have a name.
+
+
+
+
+ Returns a type converter for this instance of a component.
+
+
+ A that is the converter for this object, or null if there is no for this object.
+
+
+
+
+ Returns the default event for this instance of a component.
+
+
+ An that represents the default event for this object, or null if this object does not have events.
+
+
+
+
+ Returns the default property for this instance of a component.
+
+
+ A that represents the default property for this object, or null if this object does not have properties.
+
+
+
+
+ Returns an editor of the specified type for this instance of a component.
+
+ A that represents the editor for this object.
+
+ An of the specified type that is the editor for this object, or null if the editor cannot be found.
+
+
+
+
+ Returns the events for this instance of a component using the specified attribute array as a filter.
+
+ An array of type that is used as a filter.
+
+ An that represents the filtered events for this component instance.
+
+
+
+
+ Returns the events for this instance of a component.
+
+
+ An that represents the events for this component instance.
+
+
+
+
+ Returns an object that contains the property described by the specified property descriptor.
+
+ A that represents the property whose owner is to be found.
+
+ An that represents the owner of the specified property.
+
+
+
+
+ Returns the responsible for binding operations performed on this object.
+
+ The expression tree representation of the runtime value.
+
+ The to bind this object.
+
+
+
+
+ Gets the container's children tokens.
+
+ The container's children tokens.
+
+
+
+ Occurs when a property value changes.
+
+
+
+
+ Occurs when a property value is changing.
+
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Gets the with the specified key.
+
+ The with the specified key.
+
+
+
+ Gets or sets the with the specified property name.
+
+
+
+
+
+ Specifies the settings used when merging JSON.
+
+
+
+
+ Gets or sets the method used when merging JSON arrays.
+
+ The method used when merging JSON arrays.
+
+
+
+ Represents a JSON property.
+
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Initializes a new instance of the class.
+
+ The property name.
+ The property content.
+
+
+
+ Initializes a new instance of the class.
+
+ The property name.
+ The property content.
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+
+
+
+ Loads an from a .
+
+ A that will be read for the content of the .
+ A that contains the JSON that was read from the specified .
+
+
+
+ Gets the container's children tokens.
+
+ The container's children tokens.
+
+
+
+ Gets the property name.
+
+ The property name.
+
+
+
+ Gets or sets the property value.
+
+ The property value.
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Represents a view of a .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name.
+
+
+
+ When overridden in a derived class, returns whether resetting an object changes its value.
+
+
+ true if resetting the component changes its value; otherwise, false.
+
+ The component to test for reset capability.
+
+
+
+
+ When overridden in a derived class, gets the current value of the property on a component.
+
+
+ The value of a property for a given component.
+
+ The component with the property for which to retrieve the value.
+
+
+
+
+ When overridden in a derived class, resets the value for this property of the component to the default value.
+
+ The component with the property value that is to be reset to the default value.
+
+
+
+
+ When overridden in a derived class, sets the value of the component to a different value.
+
+ The component with the property value that is to be set.
+ The new value.
+
+
+
+
+ When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted.
+
+
+ true if the property should be persisted; otherwise, false.
+
+ The component with the property to be examined for persistence.
+
+
+
+
+ When overridden in a derived class, gets the type of the component this property is bound to.
+
+
+ A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type.
+
+
+
+
+ When overridden in a derived class, gets a value indicating whether this property is read-only.
+
+
+ true if the property is read-only; otherwise, false.
+
+
+
+
+ When overridden in a derived class, gets the type of the property.
+
+
+ A that represents the type of the property.
+
+
+
+
+ Gets the hash code for the name of the member.
+
+
+
+ The hash code for the name of the member.
+
+
+
+
+ Represents a raw JSON string.
+
+
+
+
+ Represents a value in JSON (string, integer, date, etc).
+
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Initializes a new instance of the class with the given value.
+
+ The value.
+
+
+
+ Creates a comment with the given value.
+
+ The value.
+ A comment with the given value.
+
+
+
+ Creates a string with the given value.
+
+ The value.
+ A string with the given value.
+
+
+
+ Creates a null value.
+
+ A null value.
+
+
+
+ Creates a null value.
+
+ A null value.
+
+
+
+ Writes this token to a .
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+
+
+
+ Indicates whether the current object is equal to another object of the same type.
+
+
+ true if the current object is equal to the parameter; otherwise, false.
+
+ An object to compare with this object.
+
+
+
+ Determines whether the specified is equal to the current .
+
+ The to compare with the current .
+
+ true if the specified is equal to the current ; otherwise, false.
+
+
+ The parameter is null.
+
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns a that represents this instance.
+
+ The format.
+ The format provider.
+
+ A that represents this instance.
+
+
+
+
+ Returns the responsible for binding operations performed on this object.
+
+ The expression tree representation of the runtime value.
+
+ The to bind this object.
+
+
+
+
+ Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
+
+ An object to compare with this instance.
+
+ A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings:
+ Value
+ Meaning
+ Less than zero
+ This instance is less than .
+ Zero
+ This instance is equal to .
+ Greater than zero
+ This instance is greater than .
+
+
+ is not the same type as this instance.
+
+
+
+
+ Gets a value indicating whether this token has child tokens.
+
+
+ true if this token has child values; otherwise, false.
+
+
+
+
+ Gets the node type for this .
+
+ The type.
+
+
+
+ Gets or sets the underlying token value.
+
+ The underlying token value.
+
+
+
+ Initializes a new instance of the class from another object.
+
+ A object to copy from.
+
+
+
+ Initializes a new instance of the class.
+
+ The raw json.
+
+
+
+ Creates an instance of with the content of the reader's current token.
+
+ The reader.
+ An instance of with the content of the reader's current token.
+
+
+
+ Compares tokens to determine whether they are equal.
+
+
+
+
+ Determines whether the specified objects are equal.
+
+ The first object of type to compare.
+ The second object of type to compare.
+
+ true if the specified objects are equal; otherwise, false.
+
+
+
+
+ Returns a hash code for the specified object.
+
+ The for which a hash code is to be returned.
+ A hash code for the specified object.
+ The type of is a reference type and is null.
+
+
+
+ Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The token to read from.
+
+
+
+ Reads the next JSON token from the stream as a [].
+
+
+ A [] or a null reference if the next JSON token is null. This method will return null at the end of an array.
+
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream as a .
+
+ A . This method will return null at the end of an array.
+
+
+
+ Reads the next JSON token from the stream.
+
+
+ true if the next token was read successfully; false if there are no more tokens to read.
+
+
+
+
+ Gets the at the reader's current position.
+
+
+
+
+ Gets the path of the current JSON token.
+
+
+
+
+ Specifies the type of token.
+
+
+
+
+ No token type has been set.
+
+
+
+
+ A JSON object.
+
+
+
+
+ A JSON array.
+
+
+
+
+ A JSON constructor.
+
+
+
+
+ A JSON object property.
+
+
+
+
+ A comment.
+
+
+
+
+ An integer value.
+
+
+
+
+ A float value.
+
+
+
+
+ A string value.
+
+
+
+
+ A boolean value.
+
+
+
+
+ A null value.
+
+
+
+
+ An undefined value.
+
+
+
+
+ A date value.
+
+
+
+
+ A raw JSON value.
+
+
+
+
+ A collection of bytes value.
+
+
+
+
+ A Guid value.
+
+
+
+
+ A Uri value.
+
+
+
+
+ A TimeSpan value.
+
+
+
+
+ Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+
+
+
+
+ Initializes a new instance of the class writing to the given .
+
+ The container being written to.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.
+
+
+
+
+ Closes this stream and the underlying stream.
+
+
+
+
+ Writes the beginning of a Json object.
+
+
+
+
+ Writes the beginning of a Json array.
+
+
+
+
+ Writes the start of a constructor with the given name.
+
+ The name of the constructor.
+
+
+
+ Writes the end.
+
+ The token.
+
+
+
+ Writes the property name of a name/value pair on a Json object.
+
+ The name of the property.
+
+
+
+ Writes a value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ Writes a null value.
+
+
+
+
+ Writes an undefined value.
+
+
+
+
+ Writes raw JSON.
+
+ The raw JSON to write.
+
+
+
+ Writes out a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a [] value.
+
+ The [] value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Writes a value.
+
+ The value to write.
+
+
+
+ Gets the at the writer's current position.
+
+
+
+
+ Gets the token being writen.
+
+ The token being writen.
+
+
+
+ Specifies how JSON arrays are merged together.
+
+
+
+ Concatenate arrays.
+
+
+ Union arrays, skipping items that already exist.
+
+
+ Replace all array items.
+
+
+ Merge array items together, matched by index.
+
+
+
+ Specifies the member serialization options for the .
+
+
+
+
+ All public members are serialized by default. Members can be excluded using or .
+ This is the default member serialization mode.
+
+
+
+
+ Only members must be marked with or are serialized.
+ This member serialization mode can also be set by marking the class with .
+
+
+
+
+ All public and private fields are serialized. Members can be excluded using or .
+ This member serialization mode can also be set by marking the class with
+ and setting IgnoreSerializableAttribute on to false.
+
+
+
+
+ Specifies metadata property handling options for the .
+
+
+
+
+ Read metadata properties located at the start of a JSON object.
+
+
+
+
+ Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance.
+
+
+
+
+ Do not try to read metadata properties.
+
+
+
+
+ Specifies missing member handling options for the .
+
+
+
+
+ Ignore a missing member and do not attempt to deserialize it.
+
+
+
+
+ Throw a when a missing member is encountered during deserialization.
+
+
+
+
+ Specifies null value handling options for the .
+
+
+
+
+
+
+
+
+ Include null values when serializing and deserializing objects.
+
+
+
+
+ Ignore null values when serializing and deserializing objects.
+
+
+
+
+ Specifies how object creation is handled by the .
+
+
+
+
+ Reuse existing objects, create new objects when needed.
+
+
+
+
+ Only reuse existing objects.
+
+
+
+
+ Always create new objects.
+
+
+
+
+ Specifies reference handling options for the .
+ Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable.
+
+
+
+
+
+
+
+ Do not preserve references when serializing types.
+
+
+
+
+ Preserve references when serializing into a JSON object structure.
+
+
+
+
+ Preserve references when serializing into a JSON array structure.
+
+
+
+
+ Preserve references when serializing.
+
+
+
+
+ Specifies reference loop handling options for the .
+
+
+
+
+ Throw a when a loop is encountered.
+
+
+
+
+ Ignore loop references and do not serialize.
+
+
+
+
+ Serialize loop references.
+
+
+
+
+ Indicating whether a property is required.
+
+
+
+
+ The property is not required. The default state.
+
+
+
+
+ The property must be defined in JSON but can be a null value.
+
+
+
+
+ The property must be defined in JSON and cannot be a null value.
+
+
+
+
+ Contains the JSON schema extension methods.
+
+
+
+
+ Determines whether the is valid.
+
+ The source to test.
+ The schema to test with.
+
+ true if the specified is valid; otherwise, false.
+
+
+
+
+ Determines whether the is valid.
+
+ The source to test.
+ The schema to test with.
+ When this method returns, contains any error messages generated while validating.
+
+ true if the specified is valid; otherwise, false.
+
+
+
+
+ Validates the specified .
+
+ The source to test.
+ The schema to test with.
+
+
+
+ Validates the specified .
+
+ The source to test.
+ The schema to test with.
+ The validation event handler.
+
+
+
+ An in-memory representation of a JSON Schema.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Reads a from the specified .
+
+ The containing the JSON Schema to read.
+ The object representing the JSON Schema.
+
+
+
+ Reads a from the specified .
+
+ The containing the JSON Schema to read.
+ The to use when resolving schema references.
+ The object representing the JSON Schema.
+
+
+
+ Load a from a string that contains schema JSON.
+
+ A that contains JSON.
+ A populated from the string that contains JSON.
+
+
+
+ Parses the specified json.
+
+ The json.
+ The resolver.
+ A populated from the string that contains JSON.
+
+
+
+ Writes this schema to a .
+
+ A into which this method will write.
+
+
+
+ Writes this schema to a using the specified .
+
+ A into which this method will write.
+ The resolver used.
+
+
+
+ Returns a that represents the current .
+
+
+ A that represents the current .
+
+
+
+
+ Gets or sets the id.
+
+
+
+
+ Gets or sets the title.
+
+
+
+
+ Gets or sets whether the object is required.
+
+
+
+
+ Gets or sets whether the object is read only.
+
+
+
+
+ Gets or sets whether the object is visible to users.
+
+
+
+
+ Gets or sets whether the object is transient.
+
+
+
+
+ Gets or sets the description of the object.
+
+
+
+
+ Gets or sets the types of values allowed by the object.
+
+ The type.
+
+
+
+ Gets or sets the pattern.
+
+ The pattern.
+
+
+
+ Gets or sets the minimum length.
+
+ The minimum length.
+
+
+
+ Gets or sets the maximum length.
+
+ The maximum length.
+
+
+
+ Gets or sets a number that the value should be divisble by.
+
+ A number that the value should be divisble by.
+
+
+
+ Gets or sets the minimum.
+
+ The minimum.
+
+
+
+ Gets or sets the maximum.
+
+ The maximum.
+
+
+
+ Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute.
+
+ A flag indicating whether the value can not equal the number defined by the "minimum" attribute.
+
+
+
+ Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute.
+
+ A flag indicating whether the value can not equal the number defined by the "maximum" attribute.
+
+
+
+ Gets or sets the minimum number of items.
+
+ The minimum number of items.
+
+
+
+ Gets or sets the maximum number of items.
+
+ The maximum number of items.
+
+
+
+ Gets or sets the of items.
+
+ The of items.
+
+
+
+ Gets or sets a value indicating whether items in an array are validated using the instance at their array position from .
+
+
+ true if items are validated using their array position; otherwise, false.
+
+
+
+
+ Gets or sets the of additional items.
+
+ The of additional items.
+
+
+
+ Gets or sets a value indicating whether additional items are allowed.
+
+
+ true if additional items are allowed; otherwise, false.
+
+
+
+
+ Gets or sets whether the array items must be unique.
+
+
+
+
+ Gets or sets the of properties.
+
+ The of properties.
+
+
+
+ Gets or sets the of additional properties.
+
+ The of additional properties.
+
+
+
+ Gets or sets the pattern properties.
+
+ The pattern properties.
+
+
+
+ Gets or sets a value indicating whether additional properties are allowed.
+
+
+ true if additional properties are allowed; otherwise, false.
+
+
+
+
+ Gets or sets the required property if this property is present.
+
+ The required property if this property is present.
+
+
+
+ Gets or sets the a collection of valid enum values allowed.
+
+ A collection of valid enum values allowed.
+
+
+
+ Gets or sets disallowed types.
+
+ The disallow types.
+
+
+
+ Gets or sets the default value.
+
+ The default value.
+
+
+
+ Gets or sets the collection of that this schema extends.
+
+ The collection of that this schema extends.
+
+
+
+ Gets or sets the format.
+
+ The format.
+
+
+
+ Returns detailed information about the schema exception.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ with a specified error message.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class
+ with a specified error message and a reference to the inner exception that is the cause of this exception.
+
+ The error message that explains the reason for the exception.
+ The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ The parameter is null.
+ The class name is null or is zero (0).
+
+
+
+ Gets the line number indicating where the error occurred.
+
+ The line number indicating where the error occurred.
+
+
+
+ Gets the line position indicating where the error occurred.
+
+ The line position indicating where the error occurred.
+
+
+
+ Gets the path to the JSON where the error occurred.
+
+ The path to the JSON where the error occurred.
+
+
+
+ Generates a from a specified .
+
+
+
+
+ Generate a from the specified type.
+
+ The type to generate a from.
+ A generated from the specified type.
+
+
+
+ Generate a from the specified type.
+
+ The type to generate a from.
+ The used to resolve schema references.
+ A generated from the specified type.
+
+
+
+ Generate a from the specified type.
+
+ The type to generate a from.
+ Specify whether the generated root will be nullable.
+ A generated from the specified type.
+
+
+
+ Generate a from the specified type.
+
+ The type to generate a from.
+ The used to resolve schema references.
+ Specify whether the generated root will be nullable.
+ A generated from the specified type.
+
+
+
+ Gets or sets how undefined schemas are handled by the serializer.
+
+
+
+
+ Gets or sets the contract resolver.
+
+ The contract resolver.
+
+
+
+ Resolves from an id.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets a for the specified reference.
+
+ The id.
+ A for the specified reference.
+
+
+
+ Gets or sets the loaded schemas.
+
+ The loaded schemas.
+
+
+
+ The value types allowed by the .
+
+
+
+
+ No type specified.
+
+
+
+
+ String type.
+
+
+
+
+ Float type.
+
+
+
+
+ Integer type.
+
+
+
+
+ Boolean type.
+
+
+
+
+ Object type.
+
+
+
+
+ Array type.
+
+
+
+
+ Null type.
+
+
+
+
+ Any type.
+
+
+
+
+ Specifies undefined schema Id handling options for the .
+
+
+
+
+ Do not infer a schema Id.
+
+
+
+
+ Use the .NET type name as the schema Id.
+
+
+
+
+ Use the assembly qualified .NET type name as the schema Id.
+
+
+
+
+ Returns detailed information related to the .
+
+
+
+
+ Gets the associated with the validation error.
+
+ The JsonSchemaException associated with the validation error.
+
+
+
+ Gets the path of the JSON location where the validation error occurred.
+
+ The path of the JSON location where the validation error occurred.
+
+
+
+ Gets the text description corresponding to the validation error.
+
+ The text description.
+
+
+
+ Represents the callback method that will handle JSON schema validation events and the .
+
+
+
+
+ Resolves member mappings for a type, camel casing property names.
+
+
+
+
+ Used by to resolves a for a given .
+
+
+
+
+ Used by to resolves a for a given .
+
+
+
+
+
+
+
+
+ Resolves the contract for a given type.
+
+ The type to resolve a contract for.
+ The contract for a given type.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ If set to true the will use a cached shared with other resolvers of the same type.
+ Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only
+ happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different
+ results. When set to false it is highly recommended to reuse instances with the .
+
+
+
+
+ Resolves the contract for a given type.
+
+ The type to resolve a contract for.
+ The contract for a given type.
+
+
+
+ Gets the serializable members for the type.
+
+ The type to get serializable members for.
+ The serializable members for the type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates the constructor parameters.
+
+ The constructor to create properties for.
+ The type's member properties.
+ Properties for the given .
+
+
+
+ Creates a for the given .
+
+ The matching member property.
+ The constructor parameter.
+ A created for the given .
+
+
+
+ Resolves the default for the contract.
+
+ Type of the object.
+ The contract's default .
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates a for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Determines which contract type is created for the given type.
+
+ Type of the object.
+ A for the given type.
+
+
+
+ Creates properties for the given .
+
+ The type to create properties for.
+ /// The member serialization mode for the type.
+ Properties for the given .
+
+
+
+ Creates the used by the serializer to get and set values from a member.
+
+ The member.
+ The used by the serializer to get and set values from a member.
+
+
+
+ Creates a for the given .
+
+ The member's parent .
+ The member to create a for.
+ A created for the given .
+
+
+
+ Resolves the name of the property.
+
+ Name of the property.
+ Name of the property.
+
+
+
+ Gets the resolved name of the property.
+
+ Name of the property.
+ Name of the property.
+
+
+
+ Gets a value indicating whether members are being get and set using dynamic code generation.
+ This value is determined by the runtime permissions available.
+
+
+ true if using dynamic code generation; otherwise, false.
+
+
+
+
+ Gets or sets the default members search flags.
+
+ The default members search flags.
+
+
+
+ Gets or sets a value indicating whether compiler generated members should be serialized.
+
+
+ true if serialized compiler generated members; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types.
+
+
+ true if the interface will be ignored when serializing and deserializing types; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types.
+
+
+ true if the attribute will be ignored when serializing and deserializing types; otherwise, false.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Resolves the name of the property.
+
+ Name of the property.
+ The property name camel cased.
+
+
+
+ Used to resolve references when serializing and deserializing JSON by the .
+
+
+
+
+ Resolves a reference to its object.
+
+ The serialization context.
+ The reference to resolve.
+ The object that
+
+
+
+ Gets the reference for the sepecified object.
+
+ The serialization context.
+ The object to get a reference for.
+ The reference to the object.
+
+
+
+ Determines whether the specified object is referenced.
+
+ The serialization context.
+ The object to test for a reference.
+
+ true if the specified object is referenced; otherwise, false.
+
+
+
+
+ Adds a reference to the specified object.
+
+ The serialization context.
+ The reference.
+ The object to reference.
+
+
+
+ The default serialization binder used when resolving and loading classes from type names.
+
+
+
+
+ When overridden in a derived class, controls the binding of a serialized object to a type.
+
+ Specifies the name of the serialized object.
+ Specifies the name of the serialized object.
+
+ The type of the object the formatter creates a new instance of.
+
+
+
+
+ When overridden in a derived class, controls the binding of a serialized object to a type.
+
+ The type of the object the formatter creates a new instance of.
+ Specifies the name of the serialized object.
+ Specifies the name of the serialized object.
+
+
+
+ Represents a trace writer that writes to the application's instances.
+
+
+
+
+ Represents a trace writer.
+
+
+
+
+ Writes the specified trace level, message and optional exception.
+
+ The at which to write this trace.
+ The trace message.
+ The trace exception. This parameter is optional.
+
+
+
+ Gets the that will be used to filter the trace messages passed to the writer.
+ For example a filter level of Info will exclude Verbose messages and include Info,
+ Warning and Error messages.
+
+ The that will be used to filter the trace messages passed to the writer.
+
+
+
+ Writes the specified trace level, message and optional exception.
+
+ The at which to write this trace.
+ The trace message.
+ The trace exception. This parameter is optional.
+
+
+
+ Gets the that will be used to filter the trace messages passed to the writer.
+ For example a filter level of Info will exclude Verbose messages and include Info,
+ Warning and Error messages.
+
+
+ The that will be used to filter the trace messages passed to the writer.
+
+
+
+
+ Get and set values for a using dynamic methods.
+
+
+
+
+ Provides methods to get and set values.
+
+
+
+
+ Sets the value.
+
+ The target to set the value on.
+ The value to set on the target.
+
+
+
+ Gets the value.
+
+ The target to get the value from.
+ The value.
+
+
+
+ Initializes a new instance of the class.
+
+ The member info.
+
+
+
+ Sets the value.
+
+ The target to set the value on.
+ The value to set on the target.
+
+
+
+ Gets the value.
+
+ The target to get the value from.
+ The value.
+
+
+
+ Provides information surrounding an error.
+
+
+
+
+ Gets the error.
+
+ The error.
+
+
+
+ Gets the original object that caused the error.
+
+ The original object that caused the error.
+
+
+
+ Gets the member that caused the error.
+
+ The member that caused the error.
+
+
+
+ Gets the path of the JSON location where the error occurred.
+
+ The path of the JSON location where the error occurred.
+
+
+
+ Gets or sets a value indicating whether this is handled.
+
+ true if handled; otherwise, false.
+
+
+
+ Provides data for the Error event.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The current object.
+ The error context.
+
+
+
+ Gets the current object the error event is being raised against.
+
+ The current object the error event is being raised against.
+
+
+
+ Gets the error context.
+
+ The error context.
+
+
+
+ Get and set values for a using dynamic methods.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The member info.
+
+
+
+ Sets the value.
+
+ The target to set the value on.
+ The value to set on the target.
+
+
+
+ Gets the value.
+
+ The target to get the value from.
+ The value.
+
+
+
+ Provides methods to get attributes.
+
+
+
+
+ Returns a collection of all of the attributes, or an empty collection if there are no attributes.
+
+ When true, look up the hierarchy chain for the inherited custom attribute.
+ A collection of s, or an empty collection.
+
+
+
+ Returns a collection of attributes, identified by type, or an empty collection if there are no attributes.
+
+ The type of the attributes.
+ When true, look up the hierarchy chain for the inherited custom attribute.
+ A collection of s, or an empty collection.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Gets the underlying type for the contract.
+
+ The underlying type for the contract.
+
+
+
+ Gets or sets the type created during deserialization.
+
+ The type created during deserialization.
+
+
+
+ Gets or sets whether this type contract is serialized as a reference.
+
+ Whether this type contract is serialized as a reference.
+
+
+
+ Gets or sets the default for this contract.
+
+ The converter.
+
+
+
+ Gets or sets all methods called immediately after deserialization of the object.
+
+ The methods called immediately after deserialization of the object.
+
+
+
+ Gets or sets all methods called during deserialization of the object.
+
+ The methods called during deserialization of the object.
+
+
+
+ Gets or sets all methods called after serialization of the object graph.
+
+ The methods called after serialization of the object graph.
+
+
+
+ Gets or sets all methods called before serialization of the object.
+
+ The methods called before serialization of the object.
+
+
+
+ Gets or sets all method called when an error is thrown during the serialization of the object.
+
+ The methods called when an error is thrown during the serialization of the object.
+
+
+
+ Gets or sets the method called immediately after deserialization of the object.
+
+ The method called immediately after deserialization of the object.
+
+
+
+ Gets or sets the method called during deserialization of the object.
+
+ The method called during deserialization of the object.
+
+
+
+ Gets or sets the method called after serialization of the object graph.
+
+ The method called after serialization of the object graph.
+
+
+
+ Gets or sets the method called before serialization of the object.
+
+ The method called before serialization of the object.
+
+
+
+ Gets or sets the method called when an error is thrown during the serialization of the object.
+
+ The method called when an error is thrown during the serialization of the object.
+
+
+
+ Gets or sets the default creator method used to create the object.
+
+ The default creator method used to create the object.
+
+
+
+ Gets or sets a value indicating whether the default creator is non public.
+
+ true if the default object creator is non-public; otherwise, false.
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Gets or sets the default collection items .
+
+ The converter.
+
+
+
+ Gets or sets a value indicating whether the collection items preserve object references.
+
+ true if collection items preserve object references; otherwise, false.
+
+
+
+ Gets or sets the collection item reference loop handling.
+
+ The reference loop handling.
+
+
+
+ Gets or sets the collection item type name handling.
+
+ The type name handling.
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Gets the of the collection items.
+
+ The of the collection items.
+
+
+
+ Gets a value indicating whether the collection type is a multidimensional array.
+
+ true if the collection type is a multidimensional array; otherwise, false.
+
+
+
+ Handles serialization callback events.
+
+ The object that raised the callback event.
+ The streaming context.
+
+
+
+ Handles serialization error callback events.
+
+ The object that raised the callback event.
+ The streaming context.
+ The error context.
+
+
+
+ Sets extension data for an object during deserialization.
+
+ The object to set extension data on.
+ The extension data key.
+ The extension data value.
+
+
+
+ Gets extension data for an object during serialization.
+
+ The object to set extension data on.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Gets or sets the property name resolver.
+
+ The property name resolver.
+
+
+
+ Gets the of the dictionary keys.
+
+ The of the dictionary keys.
+
+
+
+ Gets the of the dictionary values.
+
+ The of the dictionary values.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Gets the object's properties.
+
+ The object's properties.
+
+
+
+ Gets or sets the property name resolver.
+
+ The property name resolver.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Gets or sets the ISerializable object constructor.
+
+ The ISerializable object constructor.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Gets or sets the object member serialization.
+
+ The member object serialization.
+
+
+
+ Gets or sets a value that indicates whether the object's properties are required.
+
+
+ A value indicating whether the object's properties are required.
+
+
+
+
+ Gets the object's properties.
+
+ The object's properties.
+
+
+
+ Gets the constructor parameters required for any non-default constructor
+
+
+
+
+ Gets a collection of instances that define the parameters used with .
+
+
+
+
+ Gets or sets the override constructor used to create the object.
+ This is set when a constructor is marked up using the
+ JsonConstructor attribute.
+
+ The override constructor.
+
+
+
+ Gets or sets the parametrized constructor used to create the object.
+
+ The parametrized constructor.
+
+
+
+ Gets or sets the function used to create the object. When set this function will override .
+ This function is called with a collection of arguments which are defined by the collection.
+
+ The function used to create the object.
+
+
+
+ Gets or sets the extension data setter.
+
+
+
+
+ Gets or sets the extension data getter.
+
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Maps a JSON property to a .NET member or constructor parameter.
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Gets or sets the name of the property.
+
+ The name of the property.
+
+
+
+ Gets or sets the type that declared this property.
+
+ The type that declared this property.
+
+
+
+ Gets or sets the order of serialization and deserialization of a member.
+
+ The numeric order of serialization or deserialization.
+
+
+
+ Gets or sets the name of the underlying member or parameter.
+
+ The name of the underlying member or parameter.
+
+
+
+ Gets the that will get and set the during serialization.
+
+ The that will get and set the during serialization.
+
+
+
+ Gets or sets the for this property.
+
+ The for this property.
+
+
+
+ Gets or sets the type of the property.
+
+ The type of the property.
+
+
+
+ Gets or sets the for the property.
+ If set this converter takes presidence over the contract converter for the property type.
+
+ The converter.
+
+
+
+ Gets or sets the member converter.
+
+ The member converter.
+
+
+
+ Gets or sets a value indicating whether this is ignored.
+
+ true if ignored; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether this is readable.
+
+ true if readable; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether this is writable.
+
+ true if writable; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether this has a member attribute.
+
+ true if has a member attribute; otherwise, false.
+
+
+
+ Gets the default value.
+
+ The default value.
+
+
+
+ Gets or sets a value indicating whether this is required.
+
+ A value indicating whether this is required.
+
+
+
+ Gets or sets a value indicating whether this property preserves object references.
+
+
+ true if this instance is reference; otherwise, false.
+
+
+
+
+ Gets or sets the property null value handling.
+
+ The null value handling.
+
+
+
+ Gets or sets the property default value handling.
+
+ The default value handling.
+
+
+
+ Gets or sets the property reference loop handling.
+
+ The reference loop handling.
+
+
+
+ Gets or sets the property object creation handling.
+
+ The object creation handling.
+
+
+
+ Gets or sets or sets the type name handling.
+
+ The type name handling.
+
+
+
+ Gets or sets a predicate used to determine whether the property should be serialize.
+
+ A predicate used to determine whether the property should be serialize.
+
+
+
+ Gets or sets a predicate used to determine whether the property should be serialized.
+
+ A predicate used to determine whether the property should be serialized.
+
+
+
+ Gets or sets an action used to set whether the property has been deserialized.
+
+ An action used to set whether the property has been deserialized.
+
+
+
+ Gets or sets the converter used when serializing the property's collection items.
+
+ The collection's items converter.
+
+
+
+ Gets or sets whether this property's collection items are serialized as a reference.
+
+ Whether this property's collection items are serialized as a reference.
+
+
+
+ Gets or sets the the type name handling used when serializing the property's collection items.
+
+ The collection's items type name handling.
+
+
+
+ Gets or sets the the reference loop handling used when serializing the property's collection items.
+
+ The collection's items reference loop handling.
+
+
+
+ A collection of objects.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The type.
+
+
+
+ When implemented in a derived class, extracts the key from the specified element.
+
+ The element from which to extract the key.
+ The key for the specified element.
+
+
+
+ Adds a object.
+
+ The property to add to the collection.
+
+
+
+ Gets the closest matching object.
+ First attempts to get an exact case match of propertyName and then
+ a case insensitive match.
+
+ Name of the property.
+ A matching property if found.
+
+
+
+ Gets a property by property name.
+
+ The name of the property to get.
+ Type property name string comparison.
+ A matching property if found.
+
+
+
+ Contract details for a used by the .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The underlying type for the contract.
+
+
+
+ Lookup and create an instance of the JsonConverter type described by the argument.
+
+ The JsonConverter type to create.
+ Optional arguments to pass to an initializing constructor of the JsonConverter.
+ If null, the default constructor is used.
+
+
+
+ Create a factory function that can be used to create instances of a JsonConverter described by the
+ argument type. The returned function can then be used to either invoke the converter's default ctor, or any
+ parameterized constructors by way of an object array.
+
+
+
+
+ Represents a trace writer that writes to memory. When the trace message limit is
+ reached then old trace messages will be removed as new messages are added.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Writes the specified trace level, message and optional exception.
+
+ The at which to write this trace.
+ The trace message.
+ The trace exception. This parameter is optional.
+
+
+
+ Returns an enumeration of the most recent trace messages.
+
+ An enumeration of the most recent trace messages.
+
+
+
+ Returns a of the most recent trace messages.
+
+
+ A of the most recent trace messages.
+
+
+
+
+ Gets the that will be used to filter the trace messages passed to the writer.
+ For example a filter level of Info will exclude Verbose messages and include Info,
+ Warning and Error messages.
+
+
+ The that will be used to filter the trace messages passed to the writer.
+
+
+
+
+ Represents a method that constructs an object.
+
+ The object type to create.
+
+
+
+ When applied to a method, specifies that the method is called when an error occurs serializing an object.
+
+
+
+
+ Provides methods to get attributes from a , , or .
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Returns a collection of all of the attributes, or an empty collection if there are no attributes.
+
+ When true, look up the hierarchy chain for the inherited custom attribute.
+ A collection of s, or an empty collection.
+
+
+
+ Returns a collection of attributes, identified by type, or an empty collection if there are no attributes.
+
+ The type of the attributes.
+ When true, look up the hierarchy chain for the inherited custom attribute.
+ A collection of s, or an empty collection.
+
+
+
+ Get and set values for a using reflection.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The member info.
+
+
+
+ Sets the value.
+
+ The target to set the value on.
+ The value to set on the target.
+
+
+
+ Gets the value.
+
+ The target to get the value from.
+ The value.
+
+
+
+ Specifies how strings are escaped when writing JSON text.
+
+
+
+
+ Only control characters (e.g. newline) are escaped.
+
+
+
+
+ All non-ASCII and control characters (e.g. newline) are escaped.
+
+
+
+
+ HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped.
+
+
+
+
+ Specifies type name handling options for the .
+
+
+
+
+ Do not include the .NET type name when serializing types.
+
+
+
+
+ Include the .NET type name when serializing into a JSON object structure.
+
+
+
+
+ Include the .NET type name when serializing into a JSON array structure.
+
+
+
+
+ Always include the .NET type name when serializing.
+
+
+
+
+ Include the .NET type name when the type of the object being serialized is not the same as its declared type.
+
+
+
+
+ Determines whether the collection is null or empty.
+
+ The collection.
+
+ true if the collection is null or empty; otherwise, false.
+
+
+
+
+ Adds the elements of the specified collection to the specified generic IList.
+
+ The list to add to.
+ The collection of elements to add.
+
+
+
+ Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer.
+
+ The type of the elements of source.
+ A sequence in which to locate a value.
+ The object to locate in the sequence
+ An equality comparer to compare values.
+ The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1.
+
+
+
+ Converts the value to the specified type. If the value is unable to be converted, the
+ value is checked whether it assignable to the specified type.
+
+ The value to convert.
+ The culture to use when converting.
+ The type to convert or cast the value to.
+
+ The converted type. If conversion was unsuccessful, the initial value
+ is returned if assignable to the target type.
+
+
+
+
+ Helper method for generating a MetaObject which calls a
+ specific method on Dynamic that returns a result
+
+
+
+
+ Helper method for generating a MetaObject which calls a
+ specific method on Dynamic, but uses one of the arguments for
+ the result.
+
+
+
+
+ Helper method for generating a MetaObject which calls a
+ specific method on Dynamic, but uses one of the arguments for
+ the result.
+
+
+
+
+ Returns a Restrictions object which includes our current restrictions merged
+ with a restriction limiting our type
+
+
+
+
+ Gets a dictionary of the names and values of an Enum type.
+
+
+
+
+
+ Gets a dictionary of the names and values of an Enum type.
+
+ The enum type to get names and values for.
+
+
+
+
+ Gets the type of the typed collection's items.
+
+ The type.
+ The type of the typed collection's items.
+
+
+
+ Gets the member's underlying type.
+
+ The member.
+ The underlying type of the member.
+
+
+
+ Determines whether the member is an indexed property.
+
+ The member.
+
+ true if the member is an indexed property; otherwise, false.
+
+
+
+
+ Determines whether the property is an indexed property.
+
+ The property.
+
+ true if the property is an indexed property; otherwise, false.
+
+
+
+
+ Gets the member's value on the object.
+
+ The member.
+ The target object.
+ The member's value on the object.
+
+
+
+ Sets the member's value on the target object.
+
+ The member.
+ The target.
+ The value.
+
+
+
+ Determines whether the specified MemberInfo can be read.
+
+ The MemberInfo to determine whether can be read.
+ /// if set to true then allow the member to be gotten non-publicly.
+
+ true if the specified MemberInfo can be read; otherwise, false.
+
+
+
+
+ Determines whether the specified MemberInfo can be set.
+
+ The MemberInfo to determine whether can be set.
+ if set to true then allow the member to be set non-publicly.
+ if set to true then allow the member to be set if read-only.
+
+ true if the specified MemberInfo can be set; otherwise, false.
+
+
+
+
+ Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer.
+
+
+
+
+ Determines whether the string is all white space. Empty string will return false.
+
+ The string to test whether it is all white space.
+
+ true if the string is all white space; otherwise, false.
+
+
+
+
+ Nulls an empty string.
+
+ The string.
+ Null if the string was null, otherwise the string unchanged.
+
+
+
+ Specifies the state of the .
+
+
+
+
+ An exception has been thrown, which has left the in an invalid state.
+ You may call the method to put the in the Closed state.
+ Any other method calls results in an being thrown.
+
+
+
+
+ The method has been called.
+
+
+
+
+ An object is being written.
+
+
+
+
+ A array is being written.
+
+
+
+
+ A constructor is being written.
+
+
+
+
+ A property is being written.
+
+
+
+
+ A write method has not been called.
+
+
+
+
diff --git a/Blog/bin/Owin.dll b/Blog/bin/Owin.dll
new file mode 100644
index 0000000..ba6e21e
Binary files /dev/null and b/Blog/bin/Owin.dll differ
diff --git a/Blog/bin/Remotion.Linq.dll b/Blog/bin/Remotion.Linq.dll
new file mode 100644
index 0000000..ed9f512
Binary files /dev/null and b/Blog/bin/Remotion.Linq.dll differ
diff --git a/Blog/bin/Remotion.Linq.xml b/Blog/bin/Remotion.Linq.xml
new file mode 100644
index 0000000..6aa4bb3
--- /dev/null
+++ b/Blog/bin/Remotion.Linq.xml
@@ -0,0 +1,4089 @@
+
+
+
+ Remotion.Linq
+
+
+
+
+ Indicates the condition parameter of the assertion method.
+ The method itself should be marked by attribute.
+ The mandatory argument of the attribute is the assertion type.
+
+
+
+
+
+ Initializes new instance of AssertionConditionAttribute
+
+ Specifies condition type
+
+
+
+ Gets condition type
+
+
+
+
+ Specifies assertion type. If the assertion method argument satisifes the condition, then the execution continues.
+ Otherwise, execution is assumed to be halted
+
+
+
+
+ Indicates that the marked parameter should be evaluated to true
+
+
+
+
+ Indicates that the marked parameter should be evaluated to false
+
+
+
+
+ Indicates that the marked parameter should be evaluated to null value
+
+
+
+
+ Indicates that the marked parameter should be evaluated to not null value
+
+
+
+
+ Indicates that the marked method is assertion method, i.e. it halts control flow if one of the conditions is satisfied.
+ To set the condition, mark one of the parameters with attribute
+
+
+
+
+
+ When applied to target attribute, specifies a requirement for any type which is marked with
+ target attribute to implement or inherit specific type or types
+
+
+
+ [BaseTypeRequired(typeof(IComponent)] // Specify requirement
+ public class ComponentAttribute : Attribute
+ {}
+
+ [Component] // ComponentAttribute requires implementing IComponent interface
+ public class MyComponent : IComponent
+ {}
+
+
+
+
+
+ Initializes new instance of BaseTypeRequiredAttribute
+
+ Specifies which types are required
+
+
+
+ Gets enumerations of specified base types
+
+
+
+
+ Indicates that the value of marked element could be null sometimes, so the check for null is necessary before its usage
+
+
+
+
+ Indicates that the value of marked type (or its derivatives) cannot be compared using '==' or '!=' operators.
+ There is only exception to compare with null, it is permitted
+
+
+
+
+ Describes dependency between method input and output
+
+
+
Function definition table syntax:
+
+ FDT ::= FDTRow [;FDTRow]*
+ FDTRow ::= Input => Output | Output <= Input
+ Input ::= ParameterName: Value [, Input]*
+ Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}
+ Value ::= true | false | null | notnull | canbenull
+
+ If method has single input parameter, it's name could be omitted.
+ Using "halt" (or "void"/"nothing", which is the same) for method output means that methos doesn't return normally.
+ "canbenull" annotation is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, or use single attribute with rows separated by semicolon.
+
+
+
+ [ContractAnnotation("=> halt")] public void TerminationMethod()
+ [ContractAnnotation("halt <= condition: false")] public void Assert(bool condition, string text) // Regular Assertion method
+ [ContractAnnotation("s:null => true")] public bool IsNullOrEmpty(string s) // String.IsNullOrEmpty
+ [ContractAnnotation("null => null; notnull => notnull")] public object Transform(object data) // Method which returns null if parameter is null, and not null if parameter is not null
+ [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] public bool TryParse(string s, out Person result)
+
+
+
+
+
+ Only entity marked with attribute considered used
+
+
+
+
+ Indicates implicit assignment to a member
+
+
+
+
+ Indicates implicit instantiation of a type with fixed constructor signature.
+ That means any unused constructor parameters won't be reported as such.
+
+
+
+
+ Indicates implicit instantiation of a type
+
+
+
+
+ Specify what is considered used implicitly when marked with or
+
+
+
+
+ Members of entity marked with attribute are considered used
+
+
+
+
+ Entity marked with attribute and all its members considered used
+
+
+
+
+ Tells code analysis engine if the parameter is completely handled when the invoked method is on stack.
+ If the parameter is delegate, indicates that delegate is executed while the method is executed.
+ If the parameter is enumerable, indicates that it is enumerated while the method is executed.
+
+
+
+
+ Indicates that the function argument should be string literal and match one of the parameters of the caller function.
+ For example, has such parameter.
+
+
+
+
+ Indicates that method is *pure* linq method, with postponed enumeration. C# iterator methods (yield ...) are always LinqTunnel.
+
+
+
+
+ Indicates that marked element should be localized or not.
+
+
+
+
+ Initializes a new instance of the class with
+ set to .
+
+
+
+
+ Initializes a new instance of the class.
+
+ true if a element should be localized; otherwise, false.
+
+
+
+ Returns whether the value of the given object is equal to the current .
+
+ The object to test the value equality of.
+
+ true if the value of the given object is equal to that of the current; otherwise, false.
+
+
+
+
+ Returns the hash code for this instance.
+
+ A hash code for the current .
+
+
+
+ Gets a value indicating whether a element should be localized.
+ true if a element should be localized; otherwise, false.
+
+
+
+
+ Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections)
+
+
+
+
+ Gets value indicating what is meant to be used
+
+
+
+
+ Indicates that IEnumarable, passed as parameter, is not enumerated.
+
+
+
+
+
+ Indicates that the function is used to notify class type property value is changed.
+
+
+
+
+ Indicates that the value of marked element could never be null
+
+
+
+
+ This attribute is intended to mark publicly available API which should not be removed and so is treated as used.
+
+
+
+
+ Indicates that method doesn't contain observable side effects.
+
+
+
+
+ Indicates that marked method builds string by format pattern and (optional) arguments.
+ Parameter, which contains format string, should be given in constructor.
+ The format string should be in -like form
+
+
+
+
+ Initializes new instance of StringFormatMethodAttribute
+
+ Specifies which parameter of an annotated method should be treated as format-string
+
+
+
+ Gets format parameter name
+
+
+
+
+ Indicates that the marked method unconditionally terminates control flow execution.
+ For example, it could unconditionally throw exception
+
+
+
+
+ Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
+ so this symbol will not be marked as unused (as well as by other usage inspections)
+
+
+
+
+ Gets value indicating what is meant to be used
+
+
+
+
+ This utility class provides methods for checking arguments.
+
+
+ Some methods of this class return the value of the parameter. In some cases, this is useful because the value will be converted to another
+ type:
+ ("o", o);
+ }
+ ]]>
+ In some other cases, the input value is returned unmodified. This makes it easier to use the argument checks in calls to base class constructors
+ or property setters:
+
+
+
+
+ Returns the value itself if it is not and of the specified value type.
+ The type that must have.
+ The is a .
+ The is an instance of another type.
+
+
+ Checks of the is of the .
+ The is a .
+ The is an instance of another type.
+
+
+ Returns the value itself if it is of the specified type.
+ The type that must have.
+
+ is an instance of another type (which is not a subtype of ).
+
+ is null and cannot be null.
+
+ For non-nullable value types, you should use either or pass the type
+ instead.
+
+
+
+ Checks whether is not and can be assigned to .
+ The is .
+ The cannot be assigned to .
+
+
+ Checks whether can be assigned to .
+ The cannot be assigned to .
+
+
+ Checks whether can be assigned to .
+ The cannot be assigned to .
+
+
+ Checks whether all items in are of type or a null reference.
+ If at least one element is not of the specified type or a derived type.
+
+
+ Checks whether all items in are of type and not null references.
+ If at least one element is not of the specified type or a derived type.
+ If at least one element is a null reference.
+
+
+
+ Provides methods that throw an if an assertion fails.
+
+
+
+ This class contains methods that are conditional to the DEBUG and TRACE attributes ( and ).
+
+ Note that assertion expressions passed to these methods are not evaluated (read: executed) if the respective symbol are not defined during
+ compilation, nor are the methods called. This increases performance for production builds, but make sure that your assertion expressions do
+ not cause any side effects! See or and the for more information
+ about conditional compilation.
+
+ Assertions are no replacement for checking input parameters of public methods (see ).
+
+
+
+
+
+ Determines whether a type is nullable, ie. whether variables of it can be assigned .
+
+ The type to check.
+
+ true if is nullable; otherwise, false.
+
+
+ A type is nullable if it is a reference type or a nullable value type. This method returns false only for non-nullable value types.
+
+
+
+
+ Represents a data source in a query that adds new data items in addition to those provided by the .
+
+
+ In C#, the second "from" clause in the following sample corresponds to an :
+
+ var query = from s in Students
+ from f in s.Friends
+ select f;
+
+
+
+
+
+ Base class for and .
+
+
+
+
+
+ Common interface for from clauses ( and ). From clauses define query sources that
+ provide data items to the query which are filtered, ordered, projected, or otherwise processed by the following clauses.
+
+
+
+
+ Represents a clause within the . Implemented by , ,
+ , and .
+
+
+
+
+ Transforms all the expressions in this clause and its child objects via the given delegate.
+
+ The transformation object. This delegate is called for each within this
+ clause, and those expressions will be replaced with what the delegate returns.
+
+
+
+ Represents a clause or result operator that generates items which are streamed to the following clauses or operators.
+
+
+
+
+ Gets the name of the items generated by this .
+
+
+ Item names are inferred when a query expression is parsed, and they usually correspond to the variable names present in that expression.
+ However, note that names are not necessarily unique within a . Use names only for readability and debugging, not for
+ uniquely identifying objects. To match an with its references, use the
+ property rather than the .
+
+
+
+
+ Gets the type of the items generated by this .
+
+
+
+
+ Copies the 's attributes, i.e. the , , and
+ .
+
+
+
+
+
+ The expression generating the data items for this from clause.
+
+
+
+
+ Initializes a new instance of the class.
+
+ A name describing the items generated by the from clause.
+ The type of the items generated by the from clause.
+ The generating data items for this from clause.
+
+
+
+ Transforms all the expressions in this clause and its child objects via the given delegate.
+
+ The transformation object. This delegate is called for each within this
+ clause, and those expressions will be replaced with what the delegate returns.
+
+
+
+ Gets or sets a name describing the items generated by this from clause.
+
+
+ Item names are inferred when a query expression is parsed, and they usually correspond to the variable names present in that expression.
+ However, note that names are not necessarily unique within a . Use names only for readability and debugging, not for
+ uniquely identifying objects. To match an with its references, use the
+ property rather than the .
+
+
+
+
+ Gets or sets the type of the items generated by this from clause.
+
+
+ Changing the of a can make all objects that
+ point to that invalid, so the property setter should be used with care.
+
+
+
+
+ The expression generating the data items for this from clause.
+
+
+
+
+ Represents a clause in a 's collection. Body clauses take the items generated by
+ the , filtering (), ordering (), augmenting
+ (), or otherwise processing them before they are passed to the .
+
+
+
+
+ Accepts the specified visitor by calling one of its Visit... methods.
+
+ The visitor to accept.
+ The query model in whose context this clause is visited.
+ The index of this clause in the 's collection.
+
+
+
+ Clones this clause, registering its clone with the if it is a query source clause.
+
+ The clones of all query source clauses are registered with this .
+ A clone of this clause.
+
+
+
+ Initializes a new instance of the class.
+
+ A name describing the items generated by the from clause.
+ The type of the items generated by the from clause.
+ The generating the items of this from clause.
+
+
+
+ Accepts the specified visitor by calling its method.
+
+ The visitor to accept.
+ The query model in whose context this clause is visited.
+ The index of this clause in the 's collection.
+
+
+
+ Clones this clause, registering its clone with the .
+
+ The clones of all query source clauses are registered with this .
+ A clone of this clause.
+
+
+
+ Aggregates all objects needed in the process of cloning a and its clauses.
+
+
+
+
+ Gets the clause mapping used during the cloning process. This is used to adjust the instances
+ of clauses to point to clauses in the cloned .
+
+
+
+
+ This interface should be implemented by visitors that handle the instances.
+
+
+
+
+ This interface should be implemented by visitors that handle VB-specific expressions.
+
+
+
+
+ Represents a VB-specific comparison expression.
+
+
+
+ To explicitly support this expression type, implement .
+ To treat this expression as if it were an ordinary , call its method and visit the result.
+
+
+ Subclasses of that do not implement will, by default,
+ automatically reduce this expression type to in the method.
+
+
+ Subclasses of that do not implement will, by default,
+ ignore this expression and visit its child expressions via the and
+ methods.
+
+
+
+
+
+ Base class for typical implementations of the .
+
+
+
+
+
+
+ The interface defines an extension point for disabling partial evaluation on specific nodes.
+
+
+
+ Implement the individual evaluation methods and return to mark a specfic node as not partially
+ evaluatable. Note that the partial evaluation infrastructure will take care of visiting an node's children,
+ so the determination can usually be constrained to the attributes of the node itself.
+
+ Use the type as a base class for filter implementations that only require testing a few
+ node types, e.g. to disable partial evaluation for individual method calls.
+
+
+
+
+
+
+
+ Implementation of the null-object pattern for .
+
+
+
+
+
+ Provides extensions for working with trees.
+
+
+
+
+ Builds a string from the tree, including .NET 3.5.
+
+
+
+
+ Performs a reverse operation, i.e. creates a from a given resolved expression,
+ substituting all objects by getting the referenced objects from the lambda's input parameter.
+
+
+ Given the following input:
+
+ ItemExpression: new AnonymousType ( a = [s1], b = [s2] )
+ ResolvedExpression: [s1].ID + [s2].ID
+
+ The visitor generates the following : input => input.a.ID + input.b.ID
+ The lambda's input parameter has the same type as the ItemExpression.
+
+
+
+
+ Provides a base class for expression visitors used with re-linq, adding support for and .
+
+
+
+
+ Adjusts the arguments for a so that they match the given members.
+
+ The arguments to adjust.
+ The members defining the required argument types.
+
+ A sequence of expressions that are equivalent to , but converted to the associated member's
+ result type if needed.
+
+
+
+
+ Performs a reverse operation, i.e. creates a from a given resolved expression,
+ substituting all objects by getting the referenced objects from the lambda's input parameter.
+
+ The item expression representing the items passed to the generated via its input
+ parameter.
+ The resolved expression for which to generate a reverse resolved .
+ A from the given resolved expression, substituting all
+ objects by getting the referenced objects from the lambda's input parameter. The generated has exactly one
+ parameter which is of the type defined by .
+
+
+
+ Performs a reverse operation on a , i.e. creates a new
+ with an additional parameter from a given resolved ,
+ substituting all objects by getting the referenced objects from the new input parameter.
+
+ The item expression representing the items passed to the generated via its new
+ input parameter.
+ The resolved for which to generate a reverse resolved .
+ The position at which to insert the new parameter.
+ A similar to the given resolved expression, substituting all
+ objects by getting the referenced objects from an additional input parameter. The new input parameter is of the type defined by
+ .
+
+
+
+ Represents a that is executed on a sequence, choosing a single item for its result.
+
+
+
+
+ Represents a that is executed on a sequence, returning a scalar value or single item as its result.
+
+
+
+
+ Represents an operation that is executed on the result set of the query, aggregating, filtering, or restricting the number of result items
+ before the query result is returned.
+
+
+
+
+ Executes this result operator in memory, on a given input. Executing result operators in memory should only be
+ performed if the target query system does not support the operator.
+
+ The input for the result operator. This must match the type of expected by the operator.
+ The result of the operator.
+
+
+
+ Gets information about the data streamed out of this . This contains the result type a query would have if
+ it ended with this , and it optionally includes an describing
+ the streamed sequence's items.
+
+ Information about the data produced by the preceding , or the
+ of the query if no previous exists.
+ Gets information about the data streamed out of this .
+
+
+
+ Clones this item, registering its clone with the if it is a query source clause.
+
+ The clones of all query source clauses are registered with this .
+ A clone of this item.
+
+
+
+ Accepts the specified visitor by calling its method.
+
+ The visitor to accept.
+ The query model in whose context this clause is visited.
+ The index of this item in the 's collection.
+
+
+
+ Transforms all the expressions in this item via the given delegate. Subclasses must apply the
+ to any expressions they hold. If a subclass does not hold any expressions, it shouldn't do anything
+ in the implementation of this method.
+
+ The transformation object. This delegate is called for each within this
+ item, and those expressions will be replaced with what the delegate returns.
+
+
+
+ Invokes the given via reflection on the given .
+
+ The input to invoke the method with.
+ The method to be invoked.
+ The result of the invocation
+
+
+
+ Gets the constant value of the given expression, assuming it is a . If it is
+ not, an is thrown.
+
+ The expected value type. If the value is not of this type, an is thrown.
+ A string describing the value; this will be included in the exception message if an exception is thrown.
+ The expression whose value to get.
+
+ The constant value of the given .
+
+
+
+
+ Represents a check whether any items are returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ "Any" query methods taking a predicate are represented as into a combination of a and an
+ .
+
+
+ In C#, the "Any" call in the following example corresponds to an .
+
+ var result = (from s in Students
+ select s).Any();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Represents a check whether all items returned by a query satisfy a predicate.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "All" call in the following example corresponds to an .
+
+ var result = (from s in Students
+ select s).All();
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The predicate to evaluate. This is a resolved version of the body of the that would be
+ passed to .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets or sets the predicate to evaluate on all items in the sequence.
+ This is a resolved version of the body of the that would be
+ passed to .
+
+ The predicate.
+
+
+
+ Represents aggregating the items returned by a query into a single value. The first item is used as the seeding value for the aggregating
+ function.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Aggregate" call in the following example corresponds to an .
+
+ var result = (from s in Students
+ select s.Name).Aggregate((allNames, name) => allNames + " " + name);
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The aggregating function. This is a taking a parameter that represents the value accumulated so
+ far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators
+ are represented as expressions containing nodes.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets or sets the aggregating function. This is a taking a parameter that represents the value accumulated so
+ far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators
+ are represented as expressions containing nodes.
+
+ The aggregating function.
+
+
+
+ Represents aggregating the items returned by a query into a single value with an initial seeding value.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Aggregate" call in the following example corresponds to an .
+
+ var result = (from s in Students
+ select s).Aggregate(0, (totalAge, s) => totalAge + s.Age);
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The seed expression.
+ The aggregating function. This is a taking a parameter that represents the value accumulated so
+ far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators
+ are represented as expressions containing nodes.
+ The result selector, can be .
+
+
+
+ Gets the constant value of the property, assuming it is a . If it is
+ not, an is thrown.
+
+ The expected seed type. If the item is not of this type, an is thrown.
+ The constant value of the property.
+
+
+
+
+
+
+ Executes the aggregating operation in memory.
+
+ The type of the source items.
+ The type of the aggregated items.
+ The type of the result items.
+ The input sequence.
+ A object holding the aggregated value.
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets or sets the aggregating function. This is a taking a parameter that represents the value accumulated so
+ far and returns a new accumulated value. This is a resolved expression, i.e. items streaming in from prior clauses and result operators
+ are represented as expressions containing nodes.
+
+ The aggregating function.
+
+
+
+ Gets or sets the seed of the accumulation. This is an denoting the starting value of the aggregation.
+
+ The seed of the accumulation.
+
+
+
+ Gets or sets the result selector. This is a applied after the aggregation to select the final value.
+ Can be .
+
+ The result selector.
+
+
+
+ Represents a that is executed on a sequence, returning a new sequence with the same
+ item type as its result.
+
+
+
+
+ Represents a that is executed on a sequence, returning a new sequence as its result.
+
+
+
+
+ Represents concatenating the items returned by a query with a given set of items, similar to the but
+ retaining duplicates (and order).
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Concat" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Concat(students2);
+
+
+
+
+
+ Gets the value of , assuming holds a . If it doesn't,
+ an is thrown.
+
+ The constant value of .
+
+
+
+ Gets or sets the second source of this result operator, that is, an enumerable containing the items concatenated with the input sequence.
+
+
+
+
+ Describes the data streamed out of a or .
+
+
+
+
+ Executes the specified with the given , calling either
+ or , depending on the type of data streamed
+ from this interface.
+
+ The query model to be executed.
+ The executor to use.
+ An object holding the results of the query execution.
+
+
+
+ Returns a new of the same type as this instance, but with a new .
+
+ The type to use for the property. The type must be compatible with the data described by this
+ , otherwise an exception is thrown.
+ The type may be a generic type definition if the supports generic types; in this case,
+ the type definition is automatically closed with generic parameters to match the data described by this .
+ A new of the same type as this instance, but with a new .
+ The is not compatible with the data described by this
+ .
+
+
+
+ Gets the type of the data described by this instance. For a sequence, this is a type implementing
+ , where T is instantiated with a concrete type. For a single value, this is the value type.
+
+
+
+
+ Describes a scalar value streamed out of a or . A scalar value corresponds to a
+ value calculated from the result set, as produced by or , for instance.
+
+
+
+
+ Describes a single or scalar value streamed out of a or .
+
+
+
+
+
+
+
+ Returns a new instance of the same type with a different .
+
+ The new data type.
+ The cannot be used for the clone.
+ A new instance of the same type with the given .
+
+
+
+
+
+
+ Gets the type of the data described by this instance. This is the type of the streamed value, or
+ if the value is .
+
+
+
+
+ Holds the data needed to represent the output or input of a part of a query in memory. This is mainly used for
+ . The data consists of a sequence of items.
+
+
+
+
+ Holds the data needed to represent the output or input of a part of a query in memory. This is mainly used for
+ . The data held by implementations of this interface can be either a value or a sequence.
+
+
+
+
+ Gets an object describing the data held by this instance.
+
+ An object describing the data held by this instance.
+
+
+
+ Gets the value held by this instance.
+
+ The value.
+
+
+
+ Initializes a new instance of the class, setting the and
+ properties.
+
+ The sequence.
+ An instance of describing the sequence.
+
+
+
+ Gets the current sequence held by this object as well as an describing the
+ sequence's items, throwing an exception if the object does not hold a sequence of items of type .
+
+ The expected item type of the sequence.
+
+ The sequence and an describing its items.
+
+ Thrown when the item type is not the expected type .
+
+
+
+ Gets the current sequence for the operation. If the object is used as input, this
+ holds the input sequence for the operation. If the object is used as output, this holds the result of the operation.
+
+ The current sequence.
+
+
+
+ Describes sequence data streamed out of a or . Sequence data can be held by an object
+ implementing , and its items are described via a .
+
+
+
+
+ Returns a new with an adjusted .
+
+ The type to use for the property. The type must be convertible from the previous type, otherwise
+ an exception is thrown. The type may be a generic type definition; in this case,
+ the type definition is automatically closed with the type of the .
+
+ A new with a new .
+
+ The is not compatible with the items described by this
+ .
+
+
+
+ Gets the type of the items returned by the sequence described by this object, as defined by . Note that because
+ is covariant starting from .NET 4.0, this may be a more abstract type than what's returned by
+ 's property.
+
+
+
+
+ Gets an expression that describes the structure of the items held by the sequence described by this object.
+
+ The expression for the sequence's items.
+
+
+
+ Gets the type of the data described by this instance. This is a type implementing
+ , where T is instantiated with a concrete type.
+
+
+
+
+ Describes a single value streamed out of a or . A single value corresponds to one
+ item from the result set, as produced by or , for instance.
+
+
+
+
+ Holds the data needed to represent the output or input of a part of a query in memory. This is mainly used for
+ . The data is a single, non-sequence value and can only be consumed by result operators
+ working with single values.
+
+
+
+
+ Initializes a new instance of the class, setting the and properties.
+
+ The value.
+ A describing the value.
+
+
+
+ Gets the value held by , throwing an exception if the value is not of type .
+
+ The expected type of the value.
+ , cast to .
+ Thrown when if not of the expected type.
+
+
+
+ Gets an object describing the data held by this instance.
+
+
+ An object describing the data held by this instance.
+
+
+
+
+ Gets the current value for the operation. If the object is used as input, this
+ holds the input value for the operation. If the object is used as output, this holds the result of the operation.
+
+ The current value.
+
+
+
+ Constructs a that is able to extract a specific simple expression from a complex
+ or .
+
+
+
+ For example, consider the task of determining the value of a specific query source [s] from an input value corresponding to a complex
+ expression. This will return a able to perform this task.
+
+
+
+ If the complex expression is [s], it will simply return input => input.
+ If the complex expression is new { a = [s], b = "..." }, it will return input => input.a.
+ If the complex expression is new { a = new { b = [s], c = "..." }, d = "..." }, it will return input => input.a.b.
+
+
+
+
+
+
+ Constructs a that is able to extract a specific simple from a
+ complex .
+
+ The expression an accessor to which should be created.
+ The full expression containing the .
+ The input parameter to be used by the resulting lambda. Its type must match the type of .
+ The compares the via reference equality,
+ which means that exactly the same expression reference must be contained by for the visitor to return the
+ expected result. In addition, the visitor can only provide accessors for expressions nested in or
+ .
+ A acting as an accessor for the when an input matching
+ is given.
+
+
+
+
+ Represents the join part of a query, adding new data items and joining them with data items from previous clauses. In contrast to
+ , the does not provide access to the individual items of the joined query source.
+ Instead, it provides access to all joined items for each item coming from the previous clauses, thus grouping them together. The semantics
+ of this join is so that for all input items, a joined sequence is returned. That sequence can be empty if no joined items are available.
+
+
+ In C#, the "into" clause in the following sample corresponds to a . The "join" part before that is encapsulated
+ as a held in . The adds a new query source to the query
+ ("addresses"), but the item type of that query source is , not "Address". Therefore, it can be
+ used in the of an to extract the single items.
+
+ var query = from s in Students
+ join a in Addresses on s.AdressID equals a.ID into addresses
+ from a in addresses
+ select new { s, a };
+
+
+
+
+
+ Transforms all the expressions in this clause and its child objects via the given delegate.
+
+ The transformation object. This delegate is called for each within this
+ clause, and those expressions will be replaced with what the delegate returns.
+
+
+
+ Accepts the specified visitor by calling its method.
+
+ The visitor to accept.
+ The query model in whose context this clause is visited.
+ The index of this clause in the 's collection.
+
+
+
+ Clones this clause, registering its clone with the .
+
+ The clones of all query source clauses are registered with this .
+ A clone of this clause.
+
+
+
+ Gets or sets a name describing the items generated by this .
+
+
+ Item names are inferred when a query expression is parsed, and they usually correspond to the variable names present in that expression.
+ However, note that names are not necessarily unique within a . Use names only for readability and debugging, not for
+ uniquely identifying objects. To match an with its references, use the
+ property rather than the .
+
+
+
+
+ Gets or sets the type of the items generated by this . This must implement .
+
+
+ Changing the of a can make all objects that
+ point to that invalid, so the property setter should be used with care.
+
+
+
+
+ Gets or sets the inner join clause of this . The represents the actual join operation
+ performed by this clause; its results are then grouped by this clause before streaming them to subsequent clauses.
+ objects outside the must not point to
+ because the items generated by it are only available in grouped form from outside this clause.
+
+
+
+
+ Maps instances to instances. This is used by
+ in order to be able to correctly update references to old clauses to point to the new clauses. Via
+ , it can also be used manually.
+
+
+
+
+ Takes an expression and replaces all instances, as defined by a given .
+ This is used whenever references to query sources should be replaced by a transformation.
+
+
+
+
+ Takes an expression and replaces all instances, as defined by a given
+ .
+
+ The expression to be scanned for references.
+ The clause mapping to be used for replacing instances.
+ If , the visitor will throw an exception when
+ not mapped in the is encountered. If ,
+ the visitor will ignore such expressions.
+ An expression with its instances replaced as defined by the
+ .
+
+
+
+ Represents a calculation of an average value from the items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Average" call in the following example corresponds to an .
+
+ var query = (from s in Students
+ select s.ID).Average();
+
+
+
+
+
+
+
+
+ Represents a cast of the items returned by a query to a different type.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, "Cast" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s.ID).Cast<int>();
+
+
+
+
+
+
+
+
+ Represents a check whether the results returned by a query contain a specific item.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Contains" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Contains (student);
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The item for which to be searched.
+
+
+
+ Gets the constant value of the property, assuming it is a . If it is
+ not, an is thrown.
+
+ The expected item type. If the item is not of this type, an is thrown.
+ The constant value of the property.
+
+
+
+ Gets or sets an expression yielding the item for which to be searched. This must be compatible with (ie., assignable to) the source sequence
+ items.
+
+ The item expression.
+
+
+
+ Represents a guard clause yielding a singleton sequence with a default value if no items are returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Defaultifempty" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).DefaultIfEmpty ("student");
+
+
+
+
+
+ Gets the constant value of the property, assuming it is a . If it is
+ not, an is thrown. If it is , is returned.
+
+ The constant value of the property.
+
+
+
+ Gets or sets the optional default value.
+
+ The optional default value.
+
+
+
+ Represents the removal of a given set of items from the result set of a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Except" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Except(students2);
+
+
+
+
+
+ Gets the value of , assuming holds a . If it doesn't,
+ an is thrown.
+
+ The constant value of .
+
+
+
+ Gets or sets the second source of this result operator, that is, an enumerable containing the items removed from the input sequence.
+
+
+
+
+ Represents taking the mathematical intersection of a given set of items and the items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Intersect" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Intersect(students2);
+
+
+
+
+
+ Gets the value of , assuming holds a . If it doesn't,
+ an is thrown.
+
+ The constant value of .
+
+
+
+ Gets or sets the second source of this result operator, that is, an enumerable containing the items intersected with the input sequence.
+
+
+
+
+ Represents counting the number of items returned by a query as a 64-bit number.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ "LongCount" query methods taking a predicate are represented as a combination of a and a
+ .
+
+
+ In C#, the "LongCount" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).LongCount();
+
+
+
+
+
+
+
+
+ Represents filtering the items returned by a query to only return those items that are of a specific type.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "OfType" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s.ID).OfType<int>();
+
+
+
+
+
+
+
+
+ Represents reversing the sequence of items returned by of a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Reverse" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Reverse();
+
+
+
+
+
+
+
+
+ Represents skipping a number of the items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Skip" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Skip (3);
+
+
+
+
+
+ Gets the constant value of the property, assuming it is a . If it is
+ not, an is thrown.
+
+ The constant value of the property.
+
+
+
+ Represents calculating the sum of the items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Sum" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s.ID).Sum();
+
+
+
+
+
+
+
+
+ Represents taking only the greatest one of the items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ The semantics of "greatest" are defined by the query provider. "Max" query methods taking a selector are represented as a combination
+ of a and a .
+
+
+ In C#, the "Max" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s.ID).Max();
+
+
+
+
+
+ Initializes a new instance of the .
+
+
+
+
+
+
+
+ Represents taking only the smallest one of the items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ The semantics of "smallest" are defined by the query provider. "Min" query methods taking a selector are represented as a combination
+ of a and a .
+
+
+ In C#, the "Min" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s.ID).Min();
+
+
+
+
+
+ Initializes a new instance of the .
+
+
+
+
+
+
+
+ Represents taking only the last one of the items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ "Last" query methods taking a predicate are represented as a combination of a and a .
+
+
+ In C#, the "Last" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Last();
+
+
+
+
+
+ Initializes a new instance of the .
+
+ The flag defines if a default expression should be regarded.
+
+
+
+
+
+
+ Represents taking only a specific number of items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Take" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Take(3);
+
+
+
+
+
+ Initializes a new instance of the .
+
+ The number of elements which should be returned.
+
+
+
+ Gets the constant value of the property, assuming it is a . If it is
+ not, an is thrown.
+
+ The constant value of the property.
+
+
+
+ Represents taking only the first of the items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ "First" query methods taking a predicate are represented as a combination of a and a .
+
+
+ In C#, the "First" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).First();
+
+
+
+
+
+ Initializes a new instance of the .
+
+ The flag defines if a default expression should be regarded.
+
+
+
+
+
+
+ Represents taking the single item returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Single" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Single();
+
+
+
+
+
+ Initializes a new instance of the .
+
+ The flag defines if a default expression should be regarded.
+
+
+
+
+
+
+ Represents the removal of duplicate values from the items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Distinct" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Distinct();
+
+
+
+
+
+
+
+
+ Represents counting the number of items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ "Count" query methods taking a predicate are represented as a combination of a and a .
+ ///
+ In C#, the "Count" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Count();
+
+
+
+
+
+
+
+
+ Represents forming the mathematical union of a given set of items and the items returned by a query.
+ This is a result operator, operating on the whole result set of a query.
+
+
+ In C#, the "Union" call in the following example corresponds to a .
+
+ var query = (from s in Students
+ select s).Union(students2);
+
+
+
+
+
+ Gets the value of , assuming holds a . If it doesn't,
+ an is thrown.
+
+ The constant value of .
+
+
+
+ Gets or sets the second source of this result operator, that is, an enumerable containing the items united with the input sequence.
+
+
+
+
+ Provides a way to enumerate an while items are inserted, removed, or cleared in a consistent fashion.
+
+ The element type of the .
+
+ This class subscribes to the event exposed by
+ and reacts on changes to the collection. If an item is inserted or removed before the current element, the enumerator will continue after
+ the current element without regarding the new or removed item. If the current item is removed, the enumerator will continue with the item that
+ previously followed the current item. If an item is inserted or removed after the current element, the enumerator will simply continue,
+ including the newly inserted item and not including the removed item. If an item is moved or replaced, the enumeration will also continue
+ with the item located at the next position in the sequence.
+
+
+
+
+ Represents an item enumerated by . This provides access
+ to the as well as the of the enumerated item.
+
+
+
+
+ Gets the index of the current enumerated item. Can only be called while enumerating, afterwards, it will throw an
+ . If an item is inserted into or removed from the collection before the current item, this
+ index will change.
+
+
+
+
+ Gets the value of the current enumerated item. Can only be called while enumerating, afterwards, it will throw an
+ .
+
+ The value.
+
+
+
+ Defines extension methods that simplify working with a dictionary that has a collection-values item-type.
+
+
+
+
+ Extension methods for
+
+
+
+
+ Returns an instance of that represents this collection and can be enumerated even while the collection changes;
+ the enumerator will adapt to the changes (see ).
+
+
+
+
+ Returns an instance of that represents this collection and can be enumerated even while the collection changes;
+ the enumerator will adapt to the changes (see ). The enumerable will yield
+ instances of type , which hold both the index and the value of the current item. If this collection changes
+ while enumerating, will reflect those changes.
+
+
+
+
+ Represents a default implementation of that is automatically used by
+ unless a custom is specified. The executes queries by parsing them into
+ an instance of type , which is then passed to an implementation of to obtain the
+ result set.
+
+
+
+
+ Provides a default implementation of that executes queries (subclasses of ) by
+ first parsing them into a and then passing that to a given implementation of .
+ Usually, should be used unless must be manually implemented.
+
+
+
+
+ Initializes a new instance of using a custom . Use this
+ constructor to customize how queries are parsed.
+
+ The used to parse queries. Specify an instance of
+ for default behavior.
+ The used to execute queries against a specific query backend.
+
+
+
+ Constructs an object that can evaluate the query represented by a specified expression tree. This
+ method delegates to .
+
+ An expression tree that represents a LINQ query.
+
+ An that can evaluate the query represented by the specified expression tree.
+
+
+
+
+ Constructs an object that can evaluate the query represented by a specified expression tree. This method is
+ called by the standard query operators defined by the class.
+
+ An expression tree that represents a LINQ query.
+
+ An that can evaluate the query represented by the specified expression tree.
+
+
+
+
+ Executes the query defined by the specified expression by parsing it with a
+ and then running it through the .
+ This method is invoked through the interface methods, for example by
+ and
+ , and it's also used by
+ when the is enumerated.
+
+
+ Override this method to replace the query execution mechanism by a custom implementation.
+
+
+
+
+ Executes the query defined by the specified expression by parsing it with a
+ and then running it through the .
+ The result is cast to .
+
+ The type of the query result.
+ The query expression to be executed.
+ The result of the query cast to .
+
+ This method is called by the standard query operators that return a single value, such as
+ or
+ .
+ In addition, it is called by to execute queries that return sequences.
+
+
+
+
+ Executes the query defined by the specified expression by parsing it with a
+ and then running it through the .
+
+ The query expression to be executed.
+ The result of the query.
+
+ This method is similar to the method, but without the cast to a defined return type.
+
+
+
+
+ The method generates a .
+
+ The query as expression chain.
+ a
+
+
+
+ Gets the used by this to parse LINQ queries.
+
+ The query parser.
+
+
+
+ Gets or sets the implementation of used to execute queries created via .
+
+ The executor used to execute queries.
+
+
+
+ Initializes a new instance of using a custom .
+
+
+ A type implementing . This type is used to construct the chain of query operators. Must be a generic type
+ definition.
+
+ The used to parse queries. Specify an instance of
+ for default behavior. See also .
+ The used to execute queries against a specific query backend.
+
+
+
+ Creates a new (of type with as its generic argument) that
+ represents the query defined by and is able to enumerate its results.
+
+ The type of the data items returned by the query.
+ An expression representing the query for which a should be created.
+ An that represents the query defined by .
+
+
+
+ Gets the type of queryable created by this provider. This is the generic type definition of an implementation of
+ (usually a subclass of ) with exactly one type argument.
+
+
+
+
+ Replaces nodes according to a given mapping specification. Expressions are also replaced within subqueries; the
+ is changed by the replacement operations, it is not copied. The replacement node is not recursively searched for
+ occurrences of nodes to be replaced.
+
+
+
+
+ Wraps an exception whose partial evaluation caused an exception.
+
+
+
+ When encounters an exception while evaluating an independent expression subtree, it
+ will wrap the subtree within a . The wrapper contains both the
+ instance and the that caused the exception.
+
+
+ To explicitly support this expression type, implement .
+ To ignore this wrapper and only handle the inner , call the method and visit the result.
+
+
+ Subclasses of that do not implement will,
+ by default, automatically reduce this expression type to the in the
+ method.
+
+
+ Subclasses of that do not implement will,
+ by default, ignore this expression and visit its child expressions via the and
+ methods.
+
+
+
+
+
+ Transforms a given . If the can handle the ,
+ it should return a new, transformed instance. Otherwise, it should return the input
+ instance.
+
+ The expression to be transformed.
+ The result of the transformation, or if no transformation was applied.
+
+
+
+ Manages registration and lookup of objects, and converts them to
+ weakly typed instances. Use this class together with
+ in order to apply the registered transformers to an tree.
+
+
+
+
+ defines an API for classes returning instances for specific
+ objects. Usually, the will be used when an implementation of this
+ interface is needed.
+
+
+
+
+ Gets the transformers for the given .
+
+ The to be transformed.
+
+ A sequence containing objects that should be applied to the . Must not
+ be .
+
+
+
+
+ Creates an with the default transformations provided by this library already registered.
+ New transformers can be registered by calling .
+
+ A default .
+
+ Currently, the default registry contains:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Registers the specified for the transformer's
+ . If
+ returns , the is registered as a generic transformer which will be applied to all
+ nodes.
+
+ The type of expressions handled by the . This should be a type implemented by all
+ expressions identified by . For generic transformers,
+ must be .
+ The transformer to register.
+
+
+ The order in which transformers are registered is the same order on which they will later be applied by
+ . When more than one transformer is registered for a certain ,
+ each of them will get a chance to transform a given , until the first one returns a new .
+ At that point, the transformation will start again with the new (and, if the expression's type has changed, potentially
+ different transformers).
+
+
+ When generic transformers are registered, they act as if they had been registered for all values (including
+ custom ones). They will be applied in the order registered, but only after all respective specific transformers have run (without modifying
+ the expression, which would restart the transformation process with the new expression as explained above).
+
+
+ When an is registered for an incompatible , this is not detected until
+ the transformer is actually applied to an of that .
+
+
+
+
+
+ Dynamically discovers attributes implementing the interface on methods and get accessors
+ invoked by or instances and applies the respective
+ .
+
+
+
+
+ is implemented by classes that transform instances. The
+ manages registration of instances, and the
+ applies the transformations.
+
+ The type of expressions handled by this implementation.
+
+
+ is a convenience interface that provides strong typing, whereas
+ only operates on instances.
+
+
+ can be used together with the class by using the
+ class as the transformation provider. converts
+ strongly typed instances to weakly typed delegate instances.
+
+
+
+
+
+ Transforms a given . If the implementation can handle the ,
+ it should return a new, transformed instance. Otherwise, it should return the input
+ instance.
+
+ The expression to be transformed.
+ The result of the transformation, or if no transformation was applied.
+
+
+
+ Gets the expression types supported by this .
+
+ The supported expression types. Return to support all expression types. (This is only sensible when
+ is .)
+
+
+
+
+ Defines an interface for attributes providing an for a given .
+
+
+
+ detects attributes implementing this interface while expressions are parsed
+ and uses the returned by to modify the expressions.
+
+
+ Only one attribute instance implementing must be applied to a single method or property
+ get accessor.
+
+
+
+
+
+ Chooses a given for a specific method (or property get accessor).
+
+
+ The must have a default constructor. To choose a transformer that does not have a default constructor,
+ create your own custom attribute class implementing
+ .
+
+
+
+
+ Detects nodes for the .NET tuple types and adds metadata to those nodes.
+ This allows LINQ providers to match member access and constructor arguments more easily.
+
+
+
+
+ Provides a base class for transformers detecting nodes for tuple types and adding metadata
+ to those nodes. This allows LINQ providers to match member access and constructor arguments more easily.
+
+
+
+
+ Detects nodes for and adds metadata to those nodes.
+ This allows LINQ providers to match member access and constructor arguments more easily.
+
+
+
+
+ Detects expressions invoking a and replaces them with the body of that
+ (with the parameter references replaced with the invocation arguments).
+ Providers use this transformation to be able to handle queries with instances.
+
+
+ When the is applied to a delegate instance (rather than a
+ ), the ignores it.
+
+
+
+
+ Detects nodes for and adds metadata to those nodes.
+ This allows LINQ providers to match member access and constructor arguments more easily.
+
+
+
+
+ Replaces calls to and with casts and null checks. This allows LINQ providers
+ to treat nullables like reference types.
+
+
+
+
+ Detects expressions calling the CompareString method used by Visual Basic .NET, and replaces them with
+ instances. Providers use this transformation to be able to handle VB string comparisons
+ more easily. See for details.
+
+
+
+
+ Detects expressions calling the Information.IsNothing (...) method used by Visual Basic .NET, and replaces them with
+ instances comparing with . Providers use this transformation to be able to
+ handle queries using IsNothing (...) more easily.
+
+
+
+
+ Analyzes an expression tree by visiting each of its nodes, finding those subtrees that can be evaluated without modifying the meaning of
+ the tree.
+
+
+ An expression node/subtree is evaluatable if:
+
+ it is not a or any non-standard expression,
+ it is not a that involves an , and
+ it does not have any of those non-evaluatable expressions as its children.
+
+
+ nodes are not evaluatable because they usually identify the flow of
+ some information from one query node to the next.
+
+ nodes that involve parameters or object instances are not evaluatable because they
+ should usually be translated into the target query syntax.
+
+ In .NET 3.5, non-standard expressions are not evaluatable because they cannot be compiled and evaluated by LINQ.
+ In .NET 4.0, non-standard expressions can be evaluated if they can be reduced to an evaluatable expression.
+
+
+
+
+
+ Determines whether the given is one of the expressions defined by for which
+ has a dedicated Visit method. handles those by calling the respective Visit method.
+
+ The expression to check. Must not be .
+
+ if is one of the expressions defined by and
+ has a dedicated Visit method for it; otherwise, .
+ Note that -type expressions are considered 'not supported' and will also return .
+
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+ When this node is used, it usually follows (or replaces) a of an chain that
+ represents a query.
+
+
+
+
+ Acts as a base class for and , i.e., for node parsers for set operations
+ acting as an .
+
+
+
+
+ Acts as a base class for s standing for s that operate on the result of the query
+ rather than representing actual clauses, such as or .
+
+
+
+
+ Base class for implementations that represent instantiations of .
+
+
+
+
+ Interface for classes representing structural parts of an tree.
+
+
+
+
+ Resolves the specified by replacing any occurrence of
+ by the result of the projection of this . The result is an that goes all the
+ way to an .
+
+ The parameter representing the input data streaming into an . This is replaced
+ by the projection data coming out of this .
+ The expression to be resolved. Any occurrence of in this expression
+ is replaced.
+ Context information used during the current parsing process. This structure maps
+ s to the clauses created from them. Implementers that also implement
+ (such as or ) must add
+ their clauses to the mapping in if they want to be able to implement correctly.
+ An equivalent of with each occurrence of replaced by
+ the projection data streaming out of this .
+
+ This node does not support this operation because it does not stream any data to subsequent nodes.
+
+
+
+
+ Applies this to the specified query model. Nodes can add or replace clauses, add or replace expressions,
+ add or replace objects, or even create a completely new , depending on their semantics.
+
+ The query model this node should be applied to.
+ Context information used during the current parsing process. This structure maps
+ s to the clauses created from them. Implementers that
+ also implement (such as
+ or ) must add their clauses to the mapping in
+ in order to be able to implement correctly.
+ The modified or a new that reflects the changes made by this node.
+
+ For objects, which mark the end of an chain, this method must not be called.
+ Instead, use to generate a and instantiate a new
+ with that clause.
+
+
+
+
+ Gets the source that streams data into this node.
+
+ The source , or if this node is the end of the chain.
+
+
+
+ Gets the identifier associated with this . tries to find the identifier
+ that was originally associated with this node in the query written by the user by analyzing the parameter names of the next expression in the
+ method call chain.
+
+ The associated identifier.
+
+
+
+ Wraps the into a subquery after a node that indicates the end of the query (
+ or ). Override this method
+ when implementing a that does not need a subquery to be created if it occurs after the query end.
+
+
+
+ When an ordinary node follows a result operator or group node, it cannot simply append its clauses to the
+ because semantically, the result operator (or grouping) must be executed _before_ the clause. Therefore, in such scenarios, we wrap
+ the current query model into a that we put into the of a new
+ .
+
+
+ This method also changes the of this node because logically, all operations must be handled
+ by the new holding the . For example, consider the following call chain:
+
+ MainSource (...)
+ .Select (x => x)
+ .Distinct ()
+ .Select (x => x)
+
+
+ Naively, the last Select node would resolve (via Distinct and Select) to the created by the initial MainSource.
+ After this method is executed, however, that is part of the sub query, and a new
+ has been created to hold it. Therefore, we replace the chain as follows:
+
+ MainSource (MainSource (...).Select (x => x).Distinct ())
+ .Select (x => x)
+
+
+ Now, the last Select node resolves to the new .
+
+
+
+
+
+ Sets the result type override of the given .
+
+ The query model to set the of.
+
+ By default, the result type override is set to in the method. This ensures that the query
+ model represents the type of the query correctly. Specific node parsers can override this method to set the
+ to another value, or to clear it (set it to ). Do not leave the
+ unchanged when overriding this method, as a source node might have set it to a value that doesn't
+ fit this node.
+
+
+
+
+ Interface for classes representing query source parts of an tree.
+
+
+
+
+ Implements by storing a list of inner instances.
+ The and methods delegate to these inner instances. This is an
+ implementation of the Composite Pattern.
+
+
+
+
+ Provides a common interface for classes mapping a to the respective
+ type. Implementations are used by when a is encountered to
+ instantiate the right for the given method.
+
+
+
+
+ Determines whether a node type for the given can be returned by this
+ .
+
+
+
+
+ Gets the type of that matches the given , returning
+ if none can be found.
+
+
+
+
+ Implements by storing a list of inner instances.
+ The method calls each inner instance in the order defined by the property. This is an
+ implementation of the Composite Pattern.
+
+
+
+
+ is implemented by classes that represent steps in the process of parsing the structure
+ of an tree. applies a series of these steps to the
+ tree before analyzing the query operators and creating a .
+
+
+
+ There are predefined implementations of that should only be left out when parsing an
+ tree when there are very good reasons to do so.
+
+
+ can be implemented to provide custom, complex transformations on an
+ tree. For performance reasons, avoid adding too many steps each of which visits the whole tree. For
+ simple transformations, consider using and - which can
+ batch several transformations into a single expression tree visiting run - rather than implementing a dedicated
+ .
+
+
+
+
+
+ Implements the interface by doing nothing in the method. This is an
+ implementation of the Null Object Pattern.
+
+
+
+
+ Maps the objects used in objects to the respective
+ types based on the method names and a filter (as defined by ).
+ This is used by when a is encountered to instantiate the right
+ for the given method.
+
+
+
+
+ Creates a and registers all relevant implementations in the Remotion.Linq assembly.
+
+
+ A with all types in the Remotion.Linq assembly registered.
+
+
+
+
+ Registers the given for the query operator methods defined by the given
+ objects.
+
+ A sequence of objects defining the methods to register the node type for.
+ The type of the to register.
+
+
+
+ Determines whether the specified method was registered with this .
+
+
+
+
+ Gets the type of registered with this instance that
+ matches the given , returning if none can be found.
+
+
+
+
+ Returns the count of the registered method names.
+
+
+
+
+ Applies a given set of transformations to an tree. The transformations are provided by an instance of
+ (eg., ).
+
+
+ The uses the to apply the transformations.
+ It performs a single visiting run over the tree.
+
+
+
+
+ Initializes a new instance of the class.
+
+ A class providing the transformations to apply to the tree, eg., an instance of
+ .
+
+
+
+ Analyzes an tree for sub-trees that are evaluatable in-memory, and evaluates those sub-trees.
+
+
+ The uses the for partial evaluation.
+ It performs two visiting runs over the tree.
+
+
+
+
+ Represents a for the
+ and methods.
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for the different overloads of .
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Encapsulates contextual information used while generating clauses from instances.
+
+
+
+
+ Represents a for and
+ .
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for the ,
+ ,
+ , and
+ methods.
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for the
+ and
+ methods.
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for the
+ , ,
+ , and
+ methods.
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for the different
+ overloads that do take a result selector. The overloads without a result selector are represented by
+ .
+ It is generated by when an tree is parsed.
+
+
+ The GroupBy overloads with result selector are parsed as if they were a following a
+ :
+
+ x.GroupBy (k => key, e => element, (k, g) => result)
+
+ is therefore equivalent to:
+
+ c.GroupBy (k => key, e => element).Select (grouping => resultSub)
+
+ where resultSub is the same as result with k and g substituted with grouping.Key and grouping, respectively.
+
+
+
+
+ Represents a for and
+ and
+ and
+
+ It is generated by when an tree is parsed.
+ When this node is used, it usually follows (or replaces) a of an chain that
+ represents a query.
+
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+ When this node is used, it usually follows (or replaces) a of an chain that
+ represents a query.
+
+
+
+
+ Thrown whan an parser cannot be instantiated for a query. Note that this is not serializable
+ and intended to be caught in the call-site where it will then replaced by a different (serializable) exception.
+
+
+
+
+ Resolves an expression using , removing transparent identifiers and detecting subqueries
+ in the process. This is used by methods such as , which are
+ used when a clause is created from an .
+
+
+
+
+ Represents a for the different
+ overloads that do not take a result selector. The overloads with a result selector are represented by
+ .
+ It is generated by when an tree is parsed.
+
+
+
+
+ Represents a for
+
+ or
+ It is generated by when an tree is parsed.
+
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+ When this node is used, it usually follows (or replaces) a of an chain that
+ represents a query.
+
+
+
+
+ Represents a for
+
+ or .
+ It is generated by when an tree is parsed.
+
+
+
+
+ Represents a for ,
+ ,
+ and for the property of arrays.
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for
+ and .
+ It is generated by when an tree is parsed.
+
+
+
+
+ Provides common functionality used by implementors of .
+
+
+
+
+ Replaces the given parameter with a back-reference to the corresponding to .
+
+ The referenced node.
+ The parameter to replace with a .
+ The expression in which to replace the parameter.
+ The clause generation context.
+ , with replaced with a
+ pointing to the clause corresponding to .
+
+
+
+ Gets the corresponding to the given , throwing an
+ if no such clause has been registered in the given .
+
+ The node for which the should be returned.
+ The clause generation context.
+ The corresponding to .
+
+
+
+ Caches a resolved expression in the classes.
+
+
+
+
+ Represents a for .
+ It is generated by when an tree is parsed.
+ When this node is used, it usually follows (or replaces) a of an chain that
+ represents a query.
+
+
+
+
+ Represents a for
+ It is generated by when an tree is parsed.
+ When this node is used, it usually follows (or replaces) a of an chain that
+ represents a query.
+
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+ When this node is used, it usually follows (or replaces) a of an chain that
+ represents a query.
+
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+
+
+
+
+ Contains metadata about a that is parsed into a .
+
+
+
+
+ Gets the associated identifier, i.e. the name the user gave the data streaming out of this expression. For example, the
+ corresponding to a from c in C clause should get the identifier "c".
+ If there is no user-defined identifier (or the identifier is impossible to infer from the expression tree), a generated identifier
+ is given instead.
+
+
+
+
+ Gets the source expression node, i.e. the node streaming data into the parsed node.
+
+ The source.
+
+
+
+ Gets the being parsed.
+
+
+
+
+ is implemented by classes taking an tree and parsing it into a .
+
+
+ The default implementation of this interface is . LINQ providers can, however, implement
+ themselves, eg. in order to decorate or replace the functionality of .
+
+
+
+
+ Gets the of the given .
+
+ The expression tree to parse.
+ A that represents the query defined in .
+
+
+
+ Defines a name and a filter predicate used when determining the matching expression node type by .
+
+
+
+
+ Implements an that throws an exception for every expression type that is not explicitly supported.
+ Inherit from this class to ensure that an exception is thrown when an expression is passed
+
+
+
+
+ Called when an unhandled item is visited. This method provides the item the visitor cannot handle (),
+ the that is not implemented in the visitor, and a delegate that can be used to invoke the
+ of the class. The default behavior of this method is to call the
+ method, but it can be overridden to do something else.
+
+ The type of the item that could not be handled. Either an type, a
+ type, or .
+ The result type expected for the visited .
+ The unhandled item.
+ The visit method that is not implemented.
+ The behavior exposed by for this item type.
+ An object to replace in the expression tree. Alternatively, the method can throw any exception.
+
+
+
+ can be used to build tuples incorporating a sequence of s.
+ For example, given three expressions, exp1, exp2, and exp3, it will build nested s that are equivalent to the
+ following: new KeyValuePair(exp1, new KeyValuePair(exp2, exp3)).
+ Given an whose type matches that of a tuple built by , the builder can also return
+ an enumeration of accessor expressions that can be used to access the tuple elements in the same order as they were put into the nested tuple
+ expression. In above example, this would yield tupleExpression.Key, tupleExpression.Value.Key, and tupleExpression.Value.Value.
+ This class can be handy whenever a set of needs to be put into a single
+ (eg., a select projection), especially if each sub-expression needs to be explicitly accessed at a later point of time (eg., to retrieve the
+ items from a statement surrounding a sub-statement yielding the tuple in its select projection).
+
+
+
+
+ Collects clauses and creates a from them. This provides a simple way to first add all the clauses and then
+ create the rather than the two-step approach (first and ,
+ then the s) required by 's constructor.
+
+
+
+
+ Provides a default implementation of which automatically visits child items. That is, the default
+ implementation of automatically calls Accept on all clauses in the
+ and the default implementation of automatically calls on the
+ instances in its collection, and so on.
+
+
+ This visitor is hardened against modifications performed on the visited while the model is currently being visited.
+ That is, if a the collection changes while a body clause (or a child item of a body clause) is currently
+ being processed, the visitor will handle that gracefully. The same applies to and
+ .
+
+
+
+
+ Defines an interface for visiting the clauses of a .
+
+
+
+ When implement this interface, implement , then call Accept on every clause that should
+ be visited. Child clauses, joins, orderings, and result operators are not visited automatically; they always need to be explicitly visited
+ via , , ,
+ , and so on.
+
+
+ provides a robust default implementation of this interface that can be used as a base for other visitors.
+
+
+
+
+
+ Takes a and transforms it by replacing its instances ( and
+ ) that contain subqueries with equivalent flattened clauses. Subqueries that contain a
+ (such as or ) cannot be
+ flattened.
+
+
+ As an example, take the following query:
+
+ from c in Customers
+ from o in (from oi in OrderInfos where oi.Customer == c orderby oi.OrderDate select oi.Order)
+ orderby o.Product.Name
+ select new { c, o }
+
+ This will be transformed into:
+
+ from c in Customers
+ from oi in OrderInfos
+ where oi.Customer == c
+ orderby oi.OrderDate
+ orderby oi.Order.Product.Name
+ select new { c, oi.Order }
+
+ As another example, take the following query:
+
+ from c in (from o in Orders select o.Customer)
+ where c.Name.StartsWith ("Miller")
+ select c
+
+ (This query is never produced by the , the only way to construct it is via manually building a
+ .)
+ This will be transforemd into:
+
+ from o in Orders
+ where o.Customer.Name.StartsWith ("Miller")
+ select o
+
+
+
+
+
+ Applies delegates obtained from an to an expression tree.
+ The transformations occur in post-order (transforming child nodes before parent nodes). When a transformation changes
+ the current , its child nodes and itself will be revisited (and may be transformed again).
+
+
+
+
+ Generates unique identifiers based on a set of known identifiers.
+ An identifier is generated by appending a number to a given prefix. The identifier is considered unique when no known identifier
+ exists which equals the prefix/number combination.
+
+
+
+
+ Adds the given to the set of known identifiers.
+
+ The identifier to add.
+
+
+
+ Gets a unique identifier starting with the given . The identifier is generating by appending a number to the
+ prefix so that the resulting string does not match a known identifier.
+
+ The prefix to use for the identifier.
+ A unique identifier starting with .
+
+
+
+ Specifies the direction used to sort the result items in a query using an .
+
+
+
+
+ Sorts the items in an ascending way, from smallest to largest.
+
+
+
+
+ Sorts the items in an descending way, from largest to smallest.
+
+
+
+
+ Represents an that holds a subquery. The subquery is held by in its parsed form.
+
+
+
+
+ Represents a being bound to an associated instance. This binding's
+ method returns only for the same the expression is bound to.
+
+
+
+
+
+ Represents a being bound to an associated instance. This is used by the
+ to represent assignments in constructor calls such as new AnonymousType (a = 5),
+ where a is the member of AnonymousType and 5 is the associated expression.
+ The method can be used to check whether the member bound to an expression matches a given
+ (considering read access). See the subclasses for details.
+
+
+
+
+ Represents a being bound to an associated instance.
+
+ This binding's
+ method returns for the same the expression is bound to or for a
+ whose getter method is the the expression is bound to.
+
+
+
+
+ Represents a being bound to an associated instance.
+
+ This binding's
+ method returns for the same the expression is bound to
+ or for its getter method's .
+
+
+
+
+ Represents grouping the items returned by a query according to some key retrieved by a , applying by an
+ to the grouped items. This is a result operator, operating on the whole result set of the query.
+
+
+ In C#, the "group by" clause in the following sample corresponds to a . "s" (a reference to the query source
+ "s", see ) is the expression, "s.Country" is the
+ expression:
+
+ var query = from s in Students
+ where s.First == "Hugo"
+ group s by s.Country;
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ A name associated with the items generated by the result operator.
+ The selector retrieving the key by which to group items.
+ The selector retrieving the elements to group.
+
+
+
+ Clones this clause, adjusting all instances held by it as defined by
+ .
+
+ The clones of all query source clauses are registered with this .
+ A clone of this clause.
+
+
+
+ Transforms all the expressions in this clause and its child objects via the given delegate.
+
+ The transformation object. This delegate is called for each within this
+ clause, and those expressions will be replaced with what the delegate returns.
+
+
+
+ Gets or sets the name of the items generated by this .
+
+
+ Item names are inferred when a query expression is parsed, and they usually correspond to the variable names present in that expression.
+ However, note that names are not necessarily unique within a . Use names only for readability and debugging, not for
+ uniquely identifying objects. To match an with its references, use the
+ property rather than the .
+
+
+
+
+ Gets or sets the type of the items generated by this . The item type is an instantiation of
+ derived from the types of and .
+
+
+
+
+ Gets or sets the selector retrieving the key by which to group items.
+ This is a resolved version of the body of the that would be
+ passed to .
+
+ The key selector.
+
+
+
+ Gets or sets the selector retrieving the elements to group.
+ This is a resolved version of the body of the that would be
+ passed to .
+
+ The element selector.
+
+
+
+ Replaces all nodes that equal a given with a replacement node. Expressions are also replaced within subqueries; the
+ is changed by the replacement operations, it is not copied. The replacement node is not recursively searched for
+ occurrences of the to be replaced.
+
+
+
+
+ Maps the objects used in objects to the respective
+ types. This is used by when a is encountered to instantiate the
+ right for the given method.
+
+
+
+
+ Creates a and registers all relevant implementations in the Remotion.Linq assembly.
+
+
+ A with all types in the Remotion.Linq assembly registered.
+
+
+
+
+ Gets the registerable method definition from a given . A registerable method is a object
+ that can be registered via a call to . When the given is passed to
+ and its corresponding registerable method was registered, the correct node type is returned.
+
+ The method for which the registerable method should be retrieved. Must not be .
+
+ to throw a if the method cannot be matched to a distinct generic method definition,
+ to return if an unambiguous match is not possible.
+
+
+
+ itself, unless it is a closed generic method or declared in a closed generic type. In the latter cases,
+ the corresponding generic method definition respectively the method declared in a generic type definition is returned.
+
+ If no generic method definition could be matched and was set to ,
+ is returned.
+
+
+
+ Thrown if is set to and no distinct generic method definition could be resolved.
+
+
+
+
+ Registers the specific with the given . The given methods must either be non-generic
+ or open generic method definitions. If a method has already been registered before, the later registration overwrites the earlier one.
+
+
+
+
+ Determines whether the specified method was registered with this .
+
+
+
+
+ Gets the type of registered with this instance that
+ matches the given , returning if none can be found.
+
+
+
+
+ Returns the count of the registered s.
+
+
+
+
+ Parses an expression tree into a chain of objects after executing a sequence of
+ objects.
+
+
+
+
+ Creates a default that already has all expression node parser defined by the re-linq assembly
+ registered. Users can add inner providers to register their own expression node parsers.
+
+ A default that already has all expression node parser defined by the re-linq assembly
+ registered.
+
+
+
+ Creates a default that already has the expression tree processing steps defined by the re-linq assembly
+ registered. Users can insert additional processing steps.
+
+
+ The tranformation provider to be used by the included
+ in the result set. Use to create a default provider.
+
+
+ The expression filter used by the included in the result set.
+ Use to indicate that no custom filtering should be applied.
+
+
+ A default that already has all expression tree processing steps defined by the re-linq assembly
+ registered.
+
+
+ The following steps are included:
+
+
+ (parameterized with )
+
+
+
+
+
+ Initializes a new instance of the class with a custom and
+ implementation.
+
+ The to use when parsing trees. Use
+ to create an instance of that already includes all
+ default node types. (The can be customized as needed by adding or removing
+ ).
+ The to apply to trees before parsing their nodes. Use
+ to create an instance of that already includes
+ the default steps. (The can be customized as needed by adding or removing
+ ).
+
+
+
+ Parses the given into a chain of instances, using
+ to convert expressions to nodes.
+
+ The expression tree to parse.
+ A chain of instances representing the .
+
+
+
+ Gets the query operator represented by . If
+ is already a , that is the assumed query operator. If is a
+ and the member's getter is registered with , a corresponding
+ is constructed and returned. Otherwise, is returned.
+
+ The expression to get a query operator expression for.
+ A to be parsed as a query operator, or if the expression does not represent
+ a query operator.
+
+
+
+ Infers the associated identifier for the source expression node contained in methodCallExpression.Arguments[0]. For example, for the
+ call chain "source.Where (i => i > 5)" (which actually reads "Where (source, i => i > 5"), the identifier "i" is associated
+ with the node generated for "source". If no identifier can be inferred, is returned.
+
+
+
+
+ Gets the node type provider used to parse instances in .
+
+ The node type provider.
+
+
+
+ Gets the processing steps used by to process the tree before analyzing its structure.
+
+ The processing steps.
+
+
+
+ Creates instances of classes implementing the interface via Reflection.
+
+
+ The classes implementing instantiated by this factory must implement a single constructor. The source and
+ constructor parameters handed to the method are passed on to the constructor; for each argument where no
+ parameter is passed, is passed to the constructor.
+
+
+
+
+ Creates an instace of type .
+
+
+ Thrown if the or the
+ do not match expected constructor parameters of the .
+
+
+
+
+ Represents the first expression in a LINQ query, which acts as the main query source.
+ It is generated by when an tree is parsed.
+ This node usually marks the end (i.e. the first node) of an chain that represents a query.
+
+
+
+
+ Represents an expression tree node that points to a query source represented by a . These expressions should always
+ point back, to a clause defined prior to the clause holding a . Otherwise, exceptions might be
+ thrown at runtime.
+
+
+ This particular expression overrides , i.e. it can be compared to another based
+ on the .
+
+
+
+
+ Determines whether the specified is equal to the current by
+ comparing the properties for reference equality.
+
+ The to compare with the current .
+
+ if the specified is a that points to the
+ same ; otherwise, false.
+
+
+
+
+ Gets the query source referenced by this expression.
+
+ The referenced query source.
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+ When this node is used, it follows an , an ,
+ a , or a .
+
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+ When this node is used, it follows an , an ,
+ a , or a .
+
+
+
+
+ Represents a for .
+ It is generated by when an tree is parsed.
+ When this node is used, it usually follows (or replaces) a of an chain that
+ represents a query.
+
+
+
+
+ Represents a for the different overloads of .
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for ,
+ ,
+ or
+ .
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+
+
+
+
+ Represents a for ,
+ ,
+ for the Count properties of , , ,
+ and , and for the property of arrays.
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for or .
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for or .
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for ,
+ ,
+ or
+ .
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for ,
+ ,
+ or
+ .
+ It is generated by when an tree is parsed.
+ When this node is used, it marks the beginning (i.e. the last node) of an chain that represents a query.
+
+
+
+
+ Represents a for .
+ It is generated by when an tree is parsed.
+ When this node is used, it usually follows (or replaces) a of an chain that
+ represents a query.
+
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+ This node represents an additional query source introduced to the query.
+
+
+
+
+ Represents a for
+ .
+ It is generated by when an tree is parsed.
+
+
+
+
+ Constitutes the bridge between re-linq and a concrete query provider implementation. Concrete providers implement this interface
+ and calls the respective method of the interface implementation when a query is to be executed.
+
+
+
+
+ Executes the given as a scalar query, i.e. as a query returning a scalar value of type .
+ The query ends with a scalar result operator, for example a or a .
+
+ The type of the scalar value returned by the query.
+ The representing the query to be executed. Analyze this via an
+ .
+ A scalar value of type that represents the query's result.
+
+ The difference between and is in the kind of object that is returned.
+ is used when a query that would otherwise return a collection result set should pick a single value from the
+ set, for example the first, last, minimum, maximum, or only value in the set. is used when a value is
+ calculated or aggregated from all the values in the collection result set. This applies to, for example, item counts, average calculations,
+ checks for the existence of a specific item, and so on.
+
+
+
+
+ Executes the given as a single object query, i.e. as a query returning a single object of type
+ .
+ The query ends with a single result operator, for example a or a .
+
+ The type of the single value returned by the query.
+ The representing the query to be executed. Analyze this via an
+ .
+ If , the executor must return a default value when its result set is empty;
+ if , it should throw an when its result set is empty.
+ A single value of type that represents the query's result.
+
+ The difference between and is in the kind of object that is returned.
+ is used when a query that would otherwise return a collection result set should pick a single value from the
+ set, for example the first, last, minimum, maximum, or only value in the set. is used when a value is
+ calculated or aggregated from all the values in the collection result set. This applies to, for example, item counts, average calculations,
+ checks for the existence of a specific item, and so on.
+
+
+
+
+ Executes the given as a collection query, i.e. as a query returning objects of type .
+ The query does not end with a scalar result operator, but it can end with a single result operator, for example
+ or . In such a case, the returned enumerable must yield exactly
+ one object (or none if the last result operator allows empty result sets).
+
+ The type of the items returned by the query.
+ The representing the query to be executed. Analyze this via an
+ .
+ A scalar value of type that represents the query's result.
+
+
+
+ Represents the join part of a query, adding new data items and joining them with data items from previous clauses. This can either
+ be part of or of . The semantics of the
+ is that of an inner join, i.e. only combinations where both an input item and a joined item exist are returned.
+
+
+ In C#, the "join" clause in the following sample corresponds to a . The adds a new
+ query source to the query, selecting addresses (called "a") from the source "Addresses". It associates addresses and students by
+ comparing the students' "AddressID" properties with the addresses' "ID" properties. "a" corresponds to and
+ , "Addresses" is and the left and right side of the "equals" operator are held by
+ and , respectively:
+
+ var query = from s in Students
+ join a in Addresses on s.AdressID equals a.ID
+ select new { s, a };
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ A name describing the items generated by this .
+ The type of the items generated by this .
+ The expression that generates the inner sequence, i.e. the items of this .
+ An expression that selects the left side of the comparison by which source items and inner items are joined.
+ An expression that selects the right side of the comparison by which source items and inner items are joined.
+
+
+
+ Accepts the specified visitor by calling its
+ method.
+
+ The visitor to accept.
+ The query model in whose context this clause is visited.
+ The index of this clause in the 's collection.
+
+
+
+ Accepts the specified visitor by calling its
+ method. This overload is used when visiting a that is held by a .
+
+ The visitor to accept.
+ The query model in whose context this clause is visited.
+ The holding this instance.
+
+
+
+ Clones this clause, registering its clone with the .
+
+ The clones of all query source clauses are registered with this .
+ A clone of this clause.
+
+
+
+ Transforms all the expressions in this clause and its child objects via the given delegate.
+
+ The transformation object. This delegate is called for each within this
+ clause, and those expressions will be replaced with what the delegate returns.
+
+
+
+ Gets or sets the type of the items generated by this .
+
+
+ Changing the of a can make all objects that
+ point to that invalid, so the property setter should be used with care.
+
+
+
+
+ Gets or sets a name describing the items generated by this .
+
+
+ Item names are inferred when a query expression is parsed, and they usually correspond to the variable names present in that expression.
+ However, note that names are not necessarily unique within a . Use names only for readability and debugging, not for
+ uniquely identifying objects. To match an with its references, use the
+ property rather than the .
+
+
+
+
+ Gets or sets the inner sequence, the expression that generates the inner sequence, i.e. the items of this .
+
+ The inner sequence.
+
+
+
+ Gets or sets the outer key selector, an expression that selects the right side of the comparison by which source items and inner items are joined.
+
+ The outer key selector.
+
+
+
+ Gets or sets the inner key selector, an expression that selects the left side of the comparison by which source items and inner items are joined.
+
+ The inner key selector.
+
+
+
+ Represents the orderby part of a query, ordering data items according to some .
+
+
+ In C#, the whole "orderby" clause in the following sample (including two orderings) corresponds to an :
+
+ var query = from s in Students
+ orderby s.Last, s.First
+ select s;
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Accepts the specified visitor by calling its method.
+
+ The visitor to accept.
+ The query model in whose context this clause is visited.
+ The index of this clause in the 's collection.
+
+
+
+ Transforms all the expressions in this clause and its child objects via the given delegate.
+
+ The transformation object. This delegate is called for each within this
+ clause, and those expressions will be replaced with what the delegate returns.
+
+
+
+ Clones this clause.
+
+ The clones of all query source clauses are registered with this .
+ A clone of this clause.
+
+
+
+ Gets the instances that define how to sort the items coming from previous clauses. The order of the
+ in the collection defines their priorities. For example, { LastName, FirstName } would sort all items by
+ LastName, and only those items that have equal LastName values would be sorted by FirstName.
+
+
+
+
+ Represents a single ordering instruction in an .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expression used to order the data items returned by the query.
+ The to use for sorting.
+
+
+
+ Accepts the specified visitor by calling its method.
+
+ The visitor to accept.
+ The query model in whose context this clause is visited.
+ The in whose context this item is visited.
+ The index of this item in the 's collection.
+
+
+
+ Clones this item.
+
+ The clones of all query source clauses are registered with this .
+ A clone of this item.
+
+
+
+ Transforms all the expressions in this item via the given delegate.
+
+ The transformation object. This delegate is called for each within this
+ item, and those expressions will be replaced with what the delegate returns.
+
+
+
+ Gets or sets the expression used to order the data items returned by the query.
+
+ The expression.
+
+
+
+ Gets or sets the direction to use for ordering data items.
+
+
+
+
+ Provider a utility API for dealing with the item type of generic collections.
+
+
+
+
+ Tries to extract the item type from the input .
+
+
+ The that might be an implementation of the interface. Must not be .
+
+ An output parameter containing the extracted item or .
+ if an could be extracted, otherwise .
+
+
+
+ Preprocesses an expression tree for parsing. The preprocessing involves detection of sub-queries and VB-specific expressions.
+
+
+
+
+ Parses a and creates an from it. This is used by
+ for parsing whole expression trees.
+
+
+
+
+ Replaces expression patterns of the form new T { x = 1, y = 2 }.x () or
+ new T ( x = 1, y = 2 ).x () to 1 (or 2 if y is accessed instead of x).
+ Expressions are also replaced within subqueries; the is changed by the replacement operations, it is not copied.
+
+
+
+
+ Takes an tree and parses it into a by use of an .
+ It first transforms the tree into a chain of instances, and then calls
+ and in order to instantiate all the
+ s. With those, a is created and returned.
+
+
+
+
+ Initializes a new instance of the class, using default parameters for parsing.
+ The used has all relevant methods of the class
+ automatically registered, and the comprises partial evaluation, and default
+ expression transformations. See ,
+ , and
+ for details.
+
+
+
+
+ Initializes a new instance of the class, using the given to
+ convert instances into s. Use this constructor if you wish to customize the
+ parser. To use a default parser (with the possibility to register custom node types), use the method.
+
+ The expression tree parser.
+
+
+
+ Gets the of the given .
+
+ The expression tree to parse.
+ A that represents the query defined in .
+
+
+
+ Applies all nodes to a , which is created by the trailing in the
+ chain.
+
+ The entry point to the chain.
+ The clause generation context collecting context information during the parsing process.
+ A created by the training and transformed by each node in the
+ chain.
+
+
+
+ Gets the used by to parse instances.
+
+ The node type registry.
+
+
+
+ Gets the used by to process the tree
+ before analyzing its structure.
+
+ The processor.
+
+
+
+ Represents the main data source in a query, producing data items that are filtered, aggregated, projected, or otherwise processed by
+ subsequent clauses.
+
+
+ In C#, the first "from" clause in the following sample corresponds to the :
+
+ var query = from s in Students
+ from f in s.Friends
+ select f;
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ A name describing the items generated by the from clause.
+ The type of the items generated by the from clause.
+ The generating data items for this from clause.
+
+
+
+ Accepts the specified visitor by calling its method.
+
+ The visitor to accept.
+ The query model in whose context this clause is visited.
+
+
+
+ Clones this clause, registering its clone with the .
+
+ The clones of all query source clauses are registered with this .
+ A clone of this clause.
+
+
+
+ Provides an abstraction of an expression tree created for a LINQ query. instances are passed to LINQ providers based
+ on re-linq via , but you can also use to parse an expression tree by hand or construct
+ a manually via its constructor.
+
+
+ The different parts of the query are mapped to clauses, see , , and
+ . The simplest way to process all the clauses belonging to a is by implementing
+ (or deriving from ) and calling .
+
+
+
+
+ Initializes a new instance of
+
+ The of the query. This is the starting point of the query, generating items
+ that are filtered and projected by the query.
+ The of the query. This is the end point of
+ the query, it defines what is actually returned for each of the items coming from the and passing the
+ . After it, only the modify the result of the query.
+
+
+
+ Gets an object describing the data streaming out of this . If a query ends with
+ the , this corresponds to . If a query has
+ , the data is further modified by those operators.
+
+ Gets a object describing the data streaming out of this .
+
+ The data streamed from a is often of type instantiated
+ with a specific item type, unless the
+ query ends with a . For example, if the query ends with a , the
+ result type will be .
+
+
+ The is not compatible with the calculated calculated from the .
+
+
+
+
+ Gets the which is used by the .
+
+
+
+
+
+ Accepts an implementation of or , as defined by the Visitor pattern.
+
+
+
+
+ Returns a representation of this .
+
+
+
+
+ Clones this , returning a new equivalent to this instance, but with its clauses being
+ clones of this instance's clauses. Any in the cloned clauses that points back to another clause
+ in this (including its subqueries) is adjusted to point to the respective clones in the cloned
+ . Any subquery nested in the is also cloned.
+
+
+
+
+ Clones this , returning a new equivalent to this instance, but with its clauses being
+ clones of this instance's clauses. Any in the cloned clauses that points back to another clause
+ in this (including its subqueries) is adjusted to point to the respective clones in the cloned
+ . Any subquery nested in the is also cloned.
+
+ The defining how to adjust instances of
+ in the cloned . If there is a
+ that points out of the being cloned, specify its replacement via this parameter. At the end of the cloning process,
+ this object maps all the clauses in this original to the clones created in the process.
+
+
+
+
+ Transforms all the expressions in this 's clauses via the given delegate.
+
+ The transformation object. This delegate is called for each within this
+ , and those expressions will be replaced with what the delegate returns.
+
+
+
+ Returns a new name with the given prefix. The name is different from that of any added
+ in the . Note that clause names that are changed after the clause is added as well as names of other clauses
+ than from clauses are not considered when determining "unique" names. Use names only for readability and debugging, not
+ for uniquely identifying clauses.
+
+
+
+
+ Executes this via the given . By default, this indirectly calls
+ , but this can be modified by the .
+
+ The to use for executing this query.
+
+
+
+ Determines whether this represents an identity query. An identity query is a query without any body clauses
+ whose selects exactly the items produced by its . An identity query can have
+ .
+
+
+ if this represents an identity query; otherwise, .
+
+
+ An example for an identity query is the subquery in that is produced for the in the following
+ query:
+
+ from order in ...
+ select order.OrderItems.Count()
+
+ In this query, the will become a because
+ is treated as a query operator. The
+ in that has no and a trivial ,
+ so its method returns . The outer , on the other hand, does not
+ have a trivial , so its method returns .
+
+
+
+
+ Creates a new that has this as a sub-query in its .
+
+ The name of the new 's .
+ A new whose 's is a
+ that holds this instance.
+
+
+
+ Gets or sets the query's . This is the starting point of the query, generating items that are processed by
+ the and projected or grouped by the .
+
+
+
+
+ Gets or sets the query's select clause. This is the end point of the query, it defines what is actually returned for each of the
+ items coming from the and passing the . After it, only the
+ modify the result of the query.
+
+
+
+
+ Gets a collection representing the query's body clauses. Body clauses take the items generated by the ,
+ filtering (), ordering (), augmenting (), or otherwise
+ processing them before they are passed to the .
+
+
+
+
+ Gets the result operators attached to this . Result operators modify the query's result set, aggregating,
+ filtering, or otherwise processing the result before it is returned.
+
+
+
+
+ Represents the select part of a query, projecting data items according to some .
+
+
+ In C#, the "select" clause in the following sample corresponds to a . "s" (a reference to the query source "s", see
+ ) is the expression:
+
+ var query = from s in Students
+ where s.First == "Hugo"
+ select s;
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The selector that projects the data items.
+
+
+
+ Accepts the specified visitor by calling its method.
+
+ The visitor to accept.
+ The query model in whose context this clause is visited.
+
+
+
+ Clones this clause.
+
+ The clones of all query source clauses are registered with this .
+ A clone of this clause.
+
+
+
+ Transforms all the expressions in this clause and its child objects via the given delegate.
+
+ The transformation object. This delegate is called for each within this
+ clause, and those expressions will be replaced with what the delegate returns.
+
+
+
+ Gets an object describing the data streaming out of this . If a query ends with
+ the , this corresponds to the query's output data. If a query has , the data
+ is further modified by those operators. Use to obtain the real result type of
+ a query model, including the .
+
+ Gets a object describing the data streaming out of this .
+
+ The data streamed from a is always of type instantiated
+ with the type of as its generic parameter. Its corresponds to the
+ .
+
+
+
+
+ Gets the selector defining what parts of the data items are returned by the query.
+
+
+
+
+ Acts as a common base class for implementations based on re-linq. In a specific LINQ provider, a custom queryable
+ class should be derived from which supplies an implementation of that is used to
+ execute the query. This is then used as an entry point (the main data source) of a LINQ query.
+
+ The type of the result items yielded by this query.
+
+
+
+ Initializes a new instance of the class with a and the given
+ . This constructor should be used by subclasses to begin a new query. The generated by
+ this constructor is a pointing back to this .
+
+ The used to parse queries. Specify an instance of
+ for default behavior. See also .
+ The used to execute the query represented by this .
+
+
+
+ Initializes a new instance of the class with a specific . This constructor
+ should only be used to begin a query when does not fit the requirements.
+
+ The provider used to execute the query represented by this and to construct
+ queries around this .
+
+
+
+ Initializes a new instance of the class with a given and
+ . This is an infrastructure constructor that must be exposed on subclasses because it is used by
+ to construct queries around this when a query method (e.g. of the
+ class) is called.
+
+ The provider used to execute the query represented by this and to construct
+ queries around this .
+ The expression representing the query.
+
+
+
+ Executes the query via the and returns an enumerator that iterates through the items returned by the query.
+
+
+ A that can be used to iterate through the query result.
+
+
+
+
+ Gets the expression tree that is associated with the instance of . This expression describes the
+ query represented by this .
+
+
+
+ The that is associated with this instance of .
+
+
+
+
+ Gets the query provider that is associated with this data source. The provider is used to execute the query. By default, a
+ is used that parses the query and passes it on to an implementation of .
+
+
+
+ The that is associated with this data source.
+
+
+
+
+ Gets the type of the element(s) that are returned when the expression tree associated with this instance of is executed.
+
+
+
+ A that represents the type of the element(s) that are returned when the expression tree associated with this object is executed.
+
+
+
+
+ Takes an expression tree and first analyzes it for evaluatable subtrees (using ), i.e.
+ subtrees that can be pre-evaluated before actually generating the query. Examples for evaluatable subtrees are operations on constant
+ values (constant folding), access to closure variables (variables used by the LINQ query that are defined in an outer scope), or method
+ calls on known objects or their members. In a second step, it replaces all of the evaluatable subtrees (top-down and non-recursive) by
+ their evaluated counterparts.
+
+
+ This visitor visits each tree node at most twice: once via the for analysis and once
+ again to replace nodes if possible (unless the parent node has already been replaced).
+
+
+
+
+ Takes an expression tree and finds and evaluates all its evaluatable subtrees.
+
+
+
+
+ Evaluates an evaluatable subtree, i.e. an independent expression tree that is compilable and executable
+ without any data being passed in. The result of the evaluation is returned as a ; if the subtree
+ is already a , no evaluation is performed.
+
+ The subtree to be evaluated.
+ A holding the result of the evaluation.
+
+
+
+ Represents the where part of a query, filtering data items according to some .
+
+
+ In C#, the "where" clause in the following sample corresponds to a :
+
+ var query = from s in Students
+ where s.First == "Hugo"
+ select s;
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The predicate used to filter data items.
+
+
+
+ Accepts the specified visitor by calling its method.
+
+ The visitor to accept.
+ The query model in whose context this clause is visited.
+ The index of this clause in the 's collection.
+
+
+
+ Transforms all the expressions in this clause and its child objects via the given delegate.
+
+ The transformation object. This delegate is called for each within this
+ clause, and those expressions will be replaced with what the delegate returns.
+
+
+
+ Clones this clause.
+
+ The clones of all query source clauses are registered with this .
+
+
+
+
+ Gets the predicate, the expression representing the where condition by which the data items are filtered
+
+
+
+
diff --git a/Blog/bin/SQLCE4Umbraco.dll b/Blog/bin/SQLCE4Umbraco.dll
new file mode 100644
index 0000000..d844313
Binary files /dev/null and b/Blog/bin/SQLCE4Umbraco.dll differ
diff --git a/Blog/bin/SQLCE4Umbraco.xml b/Blog/bin/SQLCE4Umbraco.xml
new file mode 100644
index 0000000..e6e7dc9
--- /dev/null
+++ b/Blog/bin/SQLCE4Umbraco.xml
@@ -0,0 +1,274 @@
+
+
+
+ SQLCE4Umbraco
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sometimes we need to ensure this is closed especially in unit tests
+
+
+
+
+ Class that adapts a SqlDataReader.SqlDataReader to a RecordsReaderAdapter.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The data reader.
+
+
+
+ Gets a value indicating whether this instance has records.
+
+
+ true if this instance has records; otherwise, false.
+
+
+
+
+ Sql Helper for an SQL Server database.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The connection string.
+
+
+
+ Checks if the actual database exists, if it doesn't then it will create it
+
+
+
+
+ Most likely only will be used for unit tests but will remove all tables from the database
+
+
+
+
+ Drops all foreign keys on a table.
+
+ The name of the table.
+ To be used in unit tests.
+
+
+
+ Replaces the data directory with a local path.
+
+ The path.
+ A local path with the resolved 'DataDirectory' mapping.
+
+
+
+ Creates a new parameter for use with this specific implementation of ISqlHelper.
+
+ Name of the parameter.
+ Value of the parameter.
+ A new parameter of the correct type.
+ Abstract factory pattern
+
+
+
+ Executes a command that returns a single value.
+
+ The command text.
+ The parameters.
+ The return value of the command.
+
+
+
+ Executes a command and returns the number of rows affected.
+
+ The command text.
+ The parameters.
+
+ The number of rows affected by the command.
+
+
+
+
+ Executes a command and returns a records reader containing the results.
+
+ The command text.
+ The parameters.
+
+ A data reader containing the results of the command.
+
+
+
+
+ Database installer for an SQL Server data source.
+
+
+
+ The latest database version this installer supports.
+
+
+ The specifications to determine the database version.
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ This ensures that the database exists, then runs the base method
+
+
+
+
+ Gets a value indicating whether the installer can upgrade the data source.
+
+
+ true if the installer can upgrade the data source; otherwise, false.
+
+ Empty data sources can't be upgraded, just installed.
+
+
+
+ Gets the version specification for evaluation by DetermineCurrentVersion.
+ Only first matching specification is taken into account.
+
+ The version specifications.
+
+
+
+ Returns the sql to do a full install
+
+
+
+
+ Returns the sql to do an upgrade
+
+
+
+
+ Parameter class for the SqlCEHelper.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the parameter.
+ Value of the parameter.
+
+
+
+ SQL Server implementation of .
+
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ Gets the table with the specified name.
+
+ The name.
+ The table, or null if no table with that name exists.
+
+
+
+ Saves or updates the table.
+
+ The table to be saved.
+
+
+
+ Creates the table in the data source.
+
+ The table.
+
+
+
+ Creates a new column in the table.
+
+ The table.
+ The field used to create the column.
+
+
+
+ Gets the .Net type corresponding to the specified database data type.
+
+ The data type reader.
+ The .Net type
+
+
+
+ Gets the database type corresponding to the field, complete with field properties.
+
+ The field.
+ The database type.
+
+
+
+ Gets the name of the database type, without field properties.
+
+ The field.
+
+
+
+
+ Utility for an SQL Server data source.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ Creates an installer.
+
+ The SQL Server installer.
+
+
+
+ Creates a table utility.
+
+ The table utility
+
+
+
diff --git a/Blog/bin/Semver.dll b/Blog/bin/Semver.dll
new file mode 100644
index 0000000..402ada4
Binary files /dev/null and b/Blog/bin/Semver.dll differ
diff --git a/Blog/bin/System.Data.SqlServerCe.Entity.dll b/Blog/bin/System.Data.SqlServerCe.Entity.dll
new file mode 100644
index 0000000..2579399
Binary files /dev/null and b/Blog/bin/System.Data.SqlServerCe.Entity.dll differ
diff --git a/Blog/bin/System.Data.SqlServerCe.dll b/Blog/bin/System.Data.SqlServerCe.dll
new file mode 100644
index 0000000..8d16c2a
Binary files /dev/null and b/Blog/bin/System.Data.SqlServerCe.dll differ
diff --git a/Blog/bin/System.Net.Http.Extensions.dll b/Blog/bin/System.Net.Http.Extensions.dll
new file mode 100644
index 0000000..a0ada0f
Binary files /dev/null and b/Blog/bin/System.Net.Http.Extensions.dll differ
diff --git a/Blog/bin/System.Net.Http.Extensions.xml b/Blog/bin/System.Net.Http.Extensions.xml
new file mode 100644
index 0000000..1190940
--- /dev/null
+++ b/Blog/bin/System.Net.Http.Extensions.xml
@@ -0,0 +1,50 @@
+
+
+
+ System.Net.Http.Extensions
+
+
+
+
+ Extension methods for which expose differences in platform specific capabilities.
+
+
+
+
+ Gets a value that indicates if HttpClientHandler.AllowAutoRedirect is supported by the handler.
+ When this property is true and HttpClientHandler.SupportsRedirectConfiguration is false, setting HttpClientHandler.AllowAutoRedirect to true will cause the system default to be used for HttpClientHandler.MaximumAutomaticRedirections.
+
+ The to check.
+ Returns .true if the if the handler supports configuration settings for the property; otherwise false.
+
+
+
+ Gets a value that indicates if is supported by the handler.
+
+ The to check.
+ Returns .true if the if the handler supports configuration settings for the property; otherwise false.
+
+
+
+ Gets a value that indicates if , HttpRequestMessage.ProtocolVersion, and HttpResponseMessage.ProtocolVersion are supported by the handler.
+
+ The to check.
+ Returns .true if the if the handler supports configuration settings for the , HttpRequestMessage.ProtocolVersion, and HttpResponseMessage.ProtocolVersion properties; otherwise false.
+
+
+
+ Gets a value that indicates if HttpRequestMessage.Headers with or header value of 'chunked' is supported by the handler.
+
+ The to check.
+ Returns .true if the if the handler supports setting HttpRequestMessage.Headers with or header value of 'chunked'; otherwise false.
+
+
+
+ Gets a value that indicates if is supported by the handler.
+ When this property is true and HttpClientHandler.SupportsProxy is false, setting HttpClientHandler.UseProxy to true will cause the system default to be used for HttpClientHandler.Proxy.
+
+ The to check.
+ Returns .true if the if the handler supports configuration settings for the property; otherwise false.
+
+
+
diff --git a/Blog/bin/System.Net.Http.Formatting.dll b/Blog/bin/System.Net.Http.Formatting.dll
new file mode 100644
index 0000000..3b76acd
Binary files /dev/null and b/Blog/bin/System.Net.Http.Formatting.dll differ
diff --git a/Blog/bin/System.Net.Http.Formatting.xml b/Blog/bin/System.Net.Http.Formatting.xml
new file mode 100644
index 0000000..3fb6597
--- /dev/null
+++ b/Blog/bin/System.Net.Http.Formatting.xml
@@ -0,0 +1,2094 @@
+
+
+
+ System.Net.Http.Formatting
+
+
+
+
+ implementation which provides a byte range view over a stream used to generate HTTP 206 (Partial Content) byte range responses. The supports one or more byte ranges regardless of whether the ranges are consecutive or not. If there is only one range then a single partial response body containing a Content-Range header is generated. If there are more than one ranges then a multipart/byteranges response is generated where each body part contains a range indicated by the associated Content-Range header field.
+
+
+
+ implementation which provides a byte range view over a stream used to generate HTTP 206 (Partial Content) byte range responses. If none of the requested ranges overlap with the current extend of the selected resource represented by the content parameter then an is thrown indicating the valid Content-Range of the content.
+ The stream over which to generate a byte range view.
+ The range or ranges, typically obtained from the Range HTTP request header field.
+ The media type of the content stream.
+
+
+
+ implementation which provides a byte range view over a stream used to generate HTTP 206 (Partial Content) byte range responses. If none of the requested ranges overlap with the current extend of the selected resource represented by the content parameter then an is thrown indicating the valid Content-Range of the content.
+ The stream over which to generate a byte range view.
+ The range or ranges, typically obtained from the Range HTTP request header field.
+ The media type of the content stream.
+ The buffer size used when copying the content stream.
+
+
+
+ implementation which provides a byte range view over a stream used to generate HTTP 206 (Partial Content) byte range responses. If none of the requested ranges overlap with the current extend of the selected resource represented by the content parameter then an is thrown indicating the valid Content-Range of the content.
+ The stream over which to generate a byte range view.
+ The range or ranges, typically obtained from the Range HTTP request header field.
+ The media type of the content stream.
+
+
+
+ implementation which provides a byte range view over a stream used to generate HTTP 206 (Partial Content) byte range responses. If none of the requested ranges overlap with the current extend of the selected resource represented by the content parameter then an is thrown indicating the valid Content-Range of the content.
+ The stream over which to generate a byte range view.
+ The range or ranges, typically obtained from the Range HTTP request header field.
+ The media type of the content stream.
+ The buffer size used when copying the content stream.
+
+
+ Releases the resources used by the current instance of the class.
+ true to release managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ Asynchronously serialize and write the byte range to an HTTP content stream.
+ The task object representing the asynchronous operation.
+ The target stream.
+ Information about the transport.
+
+
+ Determines whether a byte array has a valid length in bytes.
+ true if length is a valid length; otherwise, false.
+ The length in bytes of the byte array.
+
+
+ Extension methods that aid in making formatted requests using .
+
+
+
+
+
+
+
+
+ Sends a POST request as an asynchronous operation to the specified Uri with the given value serialized as JSON.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The type of value.
+
+
+ Sends a POST request as an asynchronous operation to the specified Uri with the given value serialized as JSON.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The type of value.
+
+
+
+
+
+
+
+
+ Sends a POST request as an asynchronous operation to the specified Uri with the given value serialized as XML.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The type of value.
+
+
+ Sends a POST request as an asynchronous operation to the specified Uri with the given value serialized as XML.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The type of value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sends a POST request as an asynchronous operation to the specified Uri with value serialized using the given formatter.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The formatter used to serialize the value.
+ The type of value.
+
+
+ Sends a POST request as an asynchronous operation to the specified Uri with value serialized using the given formatter.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The formatter used to serialize the value.
+ The authoritative value of the request's content's Content-Type header. Can be null in which case the <paramref name="formatter">formatter's</paramref> default content type will be used.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The type of value.
+
+
+ Sends a POST request as an asynchronous operation to the specified Uri with value serialized using the given formatter.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The formatter used to serialize the value.
+ The authoritative value of the request's content's Content-Type header. Can be null in which case the <paramref name="formatter">formatter's</paramref> default content type will be used.
+ The type of value.
+
+
+ Sends a POST request as an asynchronous operation to the specified Uri with value serialized using the given formatter.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The formatter used to serialize the value.
+ The authoritative value of the request's content's Content-Type header. Can be null in which case the <paramref name="formatter">formatter's</paramref> default content type will be used.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The type of value.
+
+
+ Sends a POST request as an asynchronous operation to the specified Uri with value serialized using the given formatter.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The formatter used to serialize the value.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The type of value.
+
+
+
+
+
+
+
+
+ Sends a PUT request as an asynchronous operation to the specified Uri with the given value serialized as JSON.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The type of value.
+
+
+ Sends a PUT request as an asynchronous operation to the specified Uri with the given value serialized as JSON.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The type of value.
+
+
+
+
+
+
+
+
+ Sends a PUT request as an asynchronous operation to the specified Uri with the given value serialized as XML.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The type of value.
+
+
+ Sends a PUT request as an asynchronous operation to the specified Uri with the given value serialized as XML.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The type of value.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sends a PUT request as an asynchronous operation to the specified Uri with value serialized using the given formatter.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The formatter used to serialize the value.
+ The type of value.
+
+
+ Sends a PUT request as an asynchronous operation to the specified Uri with value serialized using the given formatter.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The formatter used to serialize the value.
+ The authoritative value of the request's content's Content-Type header. Can be null in which case the <paramref name="formatter">formatter's</paramref> default content type will be used.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The type of value.
+
+
+ Sends a PUT request as an asynchronous operation to the specified Uri with value serialized using the given formatter.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The formatter used to serialize the value.
+ The authoritative value of the request's content's Content-Type header. Can be null in which case the <paramref name="formatter">formatter's</paramref> default content type will be used.
+ The type of value.
+
+
+ Sends a PUT request as an asynchronous operation to the specified Uri with value serialized using the given formatter.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The formatter used to serialize the value.
+ The authoritative value of the request's content's Content-Type header. Can be null in which case the <paramref name="formatter">formatter's</paramref> default content type will be used.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The type of value.
+
+
+ Sends a PUT request as an asynchronous operation to the specified Uri with value serialized using the given formatter.
+ A task object representing the asynchronous operation.
+ The client used to make the request.
+ The Uri the request is sent to.
+ The value that will be placed in the request's entity body.
+ The formatter used to serialize the value.
+ A cancellation token that can be used by other objects or threads to receive notice of cancellation.
+ The type of value.
+
+
+ Represents the factory for creating new instance of .
+
+
+ Creates a new instance of the .
+ A new instance of the .
+ The list of HTTP handler that delegates the processing of HTTP response messages to another handler.
+
+
+ Creates a new instance of the .
+ A new instance of the .
+ The inner handler which is responsible for processing the HTTP response messages.
+ The list of HTTP handler that delegates the processing of HTTP response messages to another handler.
+
+
+ Creates a new instance of the which should be pipelined.
+ A new instance of the which should be pipelined.
+ The inner handler which is responsible for processing the HTTP response messages.
+ The list of HTTP handler that delegates the processing of HTTP response messages to another handler.
+
+
+ Specifies extension methods to allow strongly typed objects to be read from HttpContent instances.
+
+
+ Returns a Task that will yield an object of the specified type <typeparamref name="T" /> from the content instance.
+ An object instance of the specified type.
+ The HttpContent instance from which to read.
+ The type of the object to read.
+
+
+ Returns a Task that will yield an object of the specified type <typeparamref name="T" /> from the content instance.
+ An object instance of the specified type.
+ The HttpContent instance from which to read.
+ The collection of MediaTyepFormatter instances to use.
+ The type of the object to read.
+
+
+ Returns a Task that will yield an object of the specified type <typeparamref name="T" /> from the content instance.
+ An object instance of the specified type.
+ The HttpContent instance from which to read.
+ The collection of MediaTypeFormatter instances to use.
+ The IFormatterLogger to log events to.
+ The type of the object to read.
+
+
+ Returns a Task that will yield an object of the specified type from the content instance.
+ An object instance of the specified type.
+ The HttpContent instance from which to read.
+ The collection of MediaTypeFormatter instances to use.
+ The IFormatterLogger to log events to.
+ The token to cancel the operation.
+ The type of the object to read.
+
+
+ Returns a Task that will yield an object of the specified type from the content instance.
+ An object instance of the specified type.
+ The HttpContent instance from which to read.
+ The collection of MediaTypeFormatter instances to use.
+ The token to cancel the operation.
+ The type of the object to read.
+
+
+ Returns a Task that will yield an object of the specified type from the content instance.
+ An object instance of the specified type.
+ The HttpContent instance from which to read.
+ The token to cancel the operation.
+ The type of the object to read.
+
+
+ Returns a Task that will yield an object of the specified type from the content instance.
+ A Task that will yield an object instance of the specified type.
+ The HttpContent instance from which to read.
+ The type of the object to read.
+
+
+ Returns a Task that will yield an object of the specified type from the content instance using one of the provided formatters to deserialize the content.
+ An object instance of the specified type.
+ The HttpContent instance from which to read.
+ The type of the object to read.
+ The collection of MediaTypeFormatter instances to use.
+
+
+ Returns a Task that will yield an object of the specified type from the content instance using one of the provided formatters to deserialize the content.
+ An object instance of the specified type.
+ The HttpContent instance from which to read.
+ The type of the object to read.
+ The collection of MediaTypeFormatter instances to use.
+ The IFormatterLogger to log events to.
+
+
+ Returns a Task that will yield an object of the specified type from the content instance using one of the provided formatters to deserialize the content.
+ An object instance of the specified type.
+ The HttpContent instance from which to read.
+ The type of the object to read.
+ The collection of MediaTypeFormatter instances to use.
+ The IFormatterLogger to log events to.
+ The token to cancel the operation.
+
+
+ Returns a Task that will yield an object of the specified type from the content instance using one of the provided formatters to deserialize the content.
+ An object instance of the specified type.
+ The HttpContent instance from which to read.
+ The type of the object to read.
+ The collection of MediaTypeFormatter instances to use.
+ The token to cancel the operation.
+
+
+ Returns a Task that will yield an object of the specified type from the content instance using one of the provided formatters to deserialize the content.
+ An object instance of the specified type.
+ The HttpContent instance from which to read.
+ The type of the object to read.
+ The token to cancel the operation.
+
+
+ Extension methods to read HTML form URL-encoded datafrom instances.
+
+
+ Determines whether the specified content is HTML form URL-encoded data.
+ true if the specified content is HTML form URL-encoded data; otherwise, false.
+ The content.
+
+
+ Asynchronously reads HTML form URL-encoded from an instance and stores the results in a object.
+ A task object representing the asynchronous operation.
+ The content.
+
+
+ Asynchronously reads HTML form URL-encoded from an instance and stores the results in a object.
+ A task object representing the asynchronous operation.
+ The content.
+ The token to cancel the operation.
+
+
+ Provides extension methods to read and entities from instances.
+
+
+ Determines whether the specified content is HTTP request message content.
+ true if the specified content is HTTP message content; otherwise, false.
+ The content to check.
+
+
+ Determines whether the specified content is HTTP response message content.
+ true if the specified content is HTTP message content; otherwise, false.
+ The content to check.
+
+
+ Reads the as an .
+ The parsed instance.
+ The content to read.
+
+
+ Reads the as an .
+ The parsed instance.
+ The content to read.
+ The URI scheme to use for the request URI.
+
+
+ Reads the as an .
+ The parsed instance.
+ The content to read.
+ The URI scheme to use for the request URI.
+ The size of the buffer.
+
+
+ Reads the as an .
+ The parsed instance.
+ The content to read.
+ The URI scheme to use for the request URI.
+ The size of the buffer.
+ The maximum length of the HTTP header.
+
+
+
+
+
+
+ Reads the as an .
+ The parsed instance.
+ The content to read.
+
+
+ Reads the as an .
+ The parsed instance.
+ The content to read.
+ The size of the buffer.
+
+
+ Reads the as an .
+ The parsed instance.
+ The content to read.
+ The size of the buffer.
+ The maximum length of the HTTP header.
+
+
+
+
+
+ Extension methods to read MIME multipart entities from instances.
+
+
+ Determines whether the specified content is MIME multipart content.
+ true if the specified content is MIME multipart content; otherwise, false.
+ The content.
+
+
+ Determines whether the specified content is MIME multipart content with the specified subtype.
+ true if the specified content is MIME multipart content with the specified subtype; otherwise, false.
+ The content.
+ The MIME multipart subtype to match.
+
+
+ Reads all body parts within a MIME multipart message and produces a set of instances as a result.
+ A representing the tasks of getting the collection of instances where each instance represents a body part.
+ An existing instance to use for the object's content.
+
+
+ Reads all body parts within a MIME multipart message and produces a set of instances as a result.
+ A representing the tasks of getting the collection of instances where each instance represents a body part.
+ An existing instance to use for the object's content.
+ The token to cancel the operation.
+
+
+ Reads all body parts within a MIME multipart message and produces a set of instances as a result using the streamProvider instance to determine where the contents of each body part is written.
+ A representing the tasks of getting the collection of instances where each instance represents a body part.
+ An existing instance to use for the object's content.
+ A stream provider providing output streams for where to write body parts as they are parsed.
+ The type of the MIME multipart.
+
+
+ Reads all body parts within a MIME multipart message and produces a set of instances as a result using the streamProvider instance to determine where the contents of each body part is written and bufferSize as read buffer size.
+ A representing the tasks of getting the collection of instances where each instance represents a body part.
+ An existing instance to use for the object's content.
+ A stream provider providing output streams for where to write body parts as they are parsed.
+ Size of the buffer used to read the contents.
+ The type of the MIME multipart.
+
+
+ Reads all body parts within a MIME multipart message and produces a set of instances as a result using the streamProvider instance to determine where the contents of each body part is written and bufferSize as read buffer size.
+ A representing the tasks of getting the collection of instances where each instance represents a body part.
+ An existing instance to use for the object's content.
+ A stream provider providing output streams for where to write body parts as they are parsed.
+ Size of the buffer used to read the contents.
+ The token to cancel the operation.
+ The type of the MIME multipart.
+
+
+ Reads all body parts within a MIME multipart message and produces a set of instances as a result using the streamProvider instance to determine where the contents of each body part is written.
+ A representing the tasks of getting the collection of instances where each instance represents a body part.
+ An existing instance to use for the object's content.
+ A stream provider providing output streams for where to write body parts as they are parsed.
+ The token to cancel the operation.
+ The type of the MIME multipart.
+
+
+ Derived class which can encapsulate an or an as an entity with media type "application/http".
+
+
+ Initializes a new instance of the class encapsulating an .
+ The instance to encapsulate.
+
+
+ Initializes a new instance of the class encapsulating an .
+ The instance to encapsulate.
+
+
+ Releases unmanaged and - optionally - managed resources
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ Gets the HTTP request message.
+
+
+ Gets the HTTP response message.
+
+
+ Asynchronously serializes the object's content to the given stream.
+ A instance that is asynchronously serializing the object's content.
+ The to which to write.
+ The associated .
+
+
+ Computes the length of the stream if possible.
+ true if the length has been computed; otherwise false.
+ The computed length of the stream.
+
+
+ Provides extension methods for the class.
+
+
+ Gets any cookie headers present in the request.
+ A collection of instances.
+ The request headers.
+
+
+ Gets any cookie headers present in the request that contain a cookie state whose name that matches the specified value.
+ A collection of instances.
+ The request headers.
+ The cookie state name to match.
+
+
+
+
+ Provides extension methods for the class.
+
+
+ Adds cookies to a response. Each Set-Cookie header is represented as one instance. A contains information about the domain, path, and other cookie information as well as one or more instances. Each instance contains a cookie name and whatever cookie state is associate with that name. The state is in the form of a which on the wire is encoded as HTML Form URL-encoded data. This representation allows for multiple related "cookies" to be carried within the same Cookie header while still providing separation between each cookie state. A sample Cookie header is shown below. In this example, there are two with names state1 and state2 respectively. Further, each cookie state contains two name/value pairs (name1/value1 and name2/value2) and (name3/value3 and name4/value4). <code> Set-Cookie: state1:name1=value1&name2=value2; state2:name3=value3&name4=value4; domain=domain1; path=path1; </code>
+ The response headers
+ The cookie values to add to the response.
+
+
+ An exception thrown by in case none of the requested ranges overlap with the current extend of the selected resource. The current extend of the resource is indicated in the ContentRange property.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ The current extend of the resource indicated in terms of a ContentRange header field.
+
+
+ Represents a multipart file data.
+
+
+ Initializes a new instance of the class.
+ The headers of the multipart file data.
+ The name of the local file for the multipart file data.
+
+
+ Gets or sets the headers of the multipart file data.
+ The headers of the multipart file data.
+
+
+ Gets or sets the name of the local file for the multipart file data.
+ The name of the local file for the multipart file data.
+
+
+ Represents an suited for writing each MIME body parts of the MIME multipart message to a file using a .
+
+
+ Initializes a new instance of the class.
+ The root path where the content of MIME multipart body parts are written to.
+
+
+ Initializes a new instance of the class.
+ The root path where the content of MIME multipart body parts are written to.
+ The number of bytes buffered for writes to the file.
+
+
+ Gets or sets the number of bytes buffered for writes to the file.
+ The number of bytes buffered for writes to the file.
+
+
+ Gets or sets the multipart file data.
+ The multipart file data.
+
+
+ Gets the name of the local file which will be combined with the root path to create an absolute file name where the contents of the current MIME body part will be stored.
+ A relative filename with no path component.
+ The headers for the current MIME body part.
+
+
+ Gets the stream instance where the message body part is written to.
+ The instance where the message body part is written to.
+ The content of HTTP.
+ The header fields describing the body part.
+
+
+ Gets or sets the root path where the content of MIME multipart body parts are written to.
+ The root path where the content of MIME multipart body parts are written to.
+
+
+ A implementation suited for use with HTML file uploads for writing file content to a remote storage . The stream provider looks at the Content-Disposition header field and determines an output remote based on the presence of a filename parameter. If a filename parameter is present in the Content-Disposition header field, then the body part is written to a remote provided by . Otherwise it is written to a .
+
+
+ Initializes a new instance of the class.
+
+
+ Read the non-file contents as form data.
+ A representing the post processing.
+
+
+ Read the non-file contents as form data.
+ A representing the post processing.
+ The token to monitor for cancellation requests.
+
+
+ Gets a collection of file data passed as part of the multipart form data.
+
+
+ Gets a of form data passed as part of the multipart form data.
+
+
+ Provides a for . Override this method to provide a remote stream to which the data should be written.
+ A result specifying a remote stream where the file will be written to and a location where the file can be accessed. It cannot be null and the stream must be writable.
+ The parent MIME multipart instance.
+ The header fields describing the body part's content.
+
+
+
+ Represents an suited for use with HTML file uploads for writing file content to a .
+
+
+ Initializes a new instance of the class.
+ The root path where the content of MIME multipart body parts are written to.
+
+
+ Initializes a new instance of the class.
+ The root path where the content of MIME multipart body parts are written to.
+ The number of bytes buffered for writes to the file.
+
+
+ Reads the non-file contents as form data.
+ A task that represents the asynchronous operation.
+
+
+
+ Gets a of form data passed as part of the multipart form data.
+ The of form data.
+
+
+ Gets the streaming instance where the message body part is written.
+ The instance where the message body part is written.
+ The HTTP content that contains this body part.
+ Header fields describing the body part.
+
+
+ Represents a multipart memory stream provider.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns the for the .
+ The for the .
+ A object.
+ The HTTP content headers.
+
+
+ Represents the provider for the multipart related multistream.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the related stream for the provider.
+ The content headers.
+ The parent content.
+ The http content headers.
+
+
+ Gets the root content of the .
+ The root content of the .
+
+
+ Represents a multipart file data for remote storage.
+
+
+ Initializes a new instance of the class.
+ The headers of the multipart file data.
+ The remote file's location.
+ The remote file's name.
+
+
+ Gets the remote file's name.
+
+
+ Gets the headers of the multipart file data.
+
+
+ Gets the remote file's location.
+
+
+ Represents a stream provider that examines the headers provided by the MIME multipart parser as part of the MIME multipart extension methods (see ) and decides what kind of stream to return for the body part to be written to.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the contents for this .
+ The contents for this .
+
+
+ Executes the post processing operation for this .
+ The asynchronous task for this operation.
+
+
+ Executes the post processing operation for this .
+ The asynchronous task for this operation.
+ The token to cancel the operation.
+
+
+ Gets the stream where to write the body part to. This method is called when a MIME multipart body part has been parsed.
+ The instance where the message body part is written to.
+ The content of the HTTP.
+ The header fields describing the body part.
+
+
+ Contains a value as well as an associated that will be used to serialize the value when writing this content.
+
+
+ Initializes a new instance of the class.
+ The type of object this instance will contain.
+ The value of the object this instance will contain.
+ The formatter to use when serializing the value.
+
+
+ Initializes a new instance of the class.
+ The type of object this instance will contain.
+ The value of the object this instance will contain.
+ The formatter to use when serializing the value.
+ The authoritative value of the Content-Type header. Can be null, in which case the default content type of the formatter will be used.
+
+
+ Initializes a new instance of the class.
+ The type of object this instance will contain.
+ The value of the object this instance will contain.
+ The formatter to use when serializing the value.
+ The authoritative value of the Content-Type header.
+
+
+ Gets the media-type formatter associated with this content instance.
+ The media type formatter associated with this content instance.
+
+
+ Gets the type of object managed by this instance.
+ The object type.
+
+
+ Asynchronously serializes the object's content to the given stream.
+ The task object representing the asynchronous operation.
+ The stream to write to.
+ The associated .
+
+
+ Computes the length of the stream if possible.
+ true if the length has been computed; otherwise, false.
+ Receives the computed length of the stream.
+
+
+ Gets or sets the value of the content.
+ The content value.
+
+
+ Generic form of .
+ The type of object this class will contain.
+
+
+ Initializes a new instance of the class.
+ The value of the object this instance will contain.
+ The formatter to use when serializing the value.
+
+
+ Initializes a new instance of the <see cref="T:System.Net.Http.ObjectContent`1" /> class.
+ The value of the object this instance will contain.
+ The formatter to use when serializing the value.
+ The authoritative value of the Content-Type header. Can be null, in which case the default content type of the formatter will be used.
+
+
+ Initializes a new instance of the class.
+ The value of the object this instance will contain.
+ The formatter to use when serializing the value.
+ The authoritative value of the Content-Type header.
+
+
+ Enables scenarios where a data producer wants to write directly (either synchronously or asynchronously) using a stream.
+
+
+ Initializes a new instance of the class.
+ An action that is called when an output stream is available, allowing the action to write to it directly.
+
+
+ Initializes a new instance of the class.
+ An action that is called when an output stream is available, allowing the action to write to it directly.
+ The media type.
+
+
+ Initializes a new instance of the class.
+ An action that is called when an output stream is available, allowing the action to write to it directly.
+ The media type.
+
+
+ Initializes a new instance of the class.
+ An action that is called when an output stream is available, allowing the action to write to it directly.
+
+
+ Initializes a new instance of the class.
+ An action that is called when an output stream is available, allowing the action to write to it directly.
+ The media type.
+
+
+ Initializes a new instance of the class.
+ An action that is called when an output stream is available, allowing the action to write to it directly.
+ The media type.
+
+
+ Asynchronously serializes the push content into stream.
+ The serialized push content.
+ The stream where the push content will be serialized.
+ The context.
+
+
+ Determines whether the stream content has a valid length in bytes.
+ true if length is a valid length; otherwise, false.
+ The length in bytes of the stream content.
+
+
+ Represents the result for .
+
+
+ Initializes a new instance of the class.
+ The remote stream instance where the file will be written to.
+ The remote file's location.
+ The remote file's name.
+
+
+ Gets the remote file's location.
+
+
+ Gets the remote file's location.
+
+
+ Gets the remote stream instance where the file will be written to.
+
+
+ Defines an exception type for signalling that a request's media type was not supported.
+
+
+ Initializes a new instance of the class.
+ The message that describes the error.
+ The unsupported media type.
+
+
+ Gets or sets the media type.
+ The media type.
+
+
+ Contains extension methods to allow strongly typed objects to be read from the query component of instances.
+
+
+ Parses the query portion of the specified URI.
+ A that contains the query parameters.
+ The URI to parse.
+
+
+ Reads HTML form URL encoded data provided in the URI query string as an object of a specified type.
+ true if the query component of the URI can be read as the specified type; otherwise, false.
+ The URI to read.
+ The type of object to read.
+ When this method returns, contains an object that is initialized from the query component of the URI. This parameter is treated as uninitialized.
+
+
+ Reads HTML form URL encoded data provided in the URI query string as an object of a specified type.
+ true if the query component of the URI can be read as the specified type; otherwise, false.
+ The URI to read.
+ When this method returns, contains an object that is initialized from the query component of the URI. This parameter is treated as uninitialized.
+ The type of object to read.
+
+
+ Reads HTML form URL encoded data provided in the query component as a object.
+ true if the query component can be read as ; otherwise false.
+ The instance from which to read.
+ An object to be initialized with this instance or null if the conversion cannot be performed.
+
+
+ Abstract media type formatter class to support Bson and Json.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The instance to copy settings from.
+
+
+ Determines whether this formatter can read objects of the specified type.
+ true if objects of this type can be read, otherwise false.
+ The type of object that will be read.
+
+
+ Determines whether this formatter can write objects of the specified type.
+ true if objects of this type can be written, otherwise false.
+ The type of object to write.
+
+
+ Creates a instance with the default settings used by the .
+ Returns .
+
+
+ Called during deserialization to get the .
+ The reader to use during deserialization.
+ The type of the object to read.
+ The stream from which to read.
+ The encoding to use when reading.
+
+
+ Called during serialization and deserialization to get the .
+ The JsonSerializer used during serialization and deserialization.
+
+
+ Called during serialization to get the .
+ The writer to use during serialization.
+ The type of the object to write.
+ The stream to write to.
+ The encoding to use when writing.
+
+
+ Gets or sets the maximum depth allowed by this formatter.
+ The maximum depth allowed by this formatter.
+
+
+ Called during deserialization to read an object of the specified type from the specified stream.
+ The object that has been read.
+ The type of the object to read.
+ The stream from which to read.
+ The encoding to use when reading.
+ The logger to log events to.
+
+
+ Called during deserialization to read an object of the specified type from the specified stream.
+ A task whose result will be the object instance that has been read.
+ The type of the object to read.
+ The stream from which to read.
+ The for the content being read.
+ The logger to log events to.
+
+
+ Gets or sets the JsonSerializerSettings used to configure the JsonSerializer.
+ The JsonSerializerSettings used to configure the JsonSerializer.
+
+
+ Called during serialization to write an object of the specified type to the specified stream.
+ The type of the object to write.
+ The object to write.
+ The stream to write to.
+ The encoding to use when writing.
+
+
+ Called during serialization to write an object of the specified type to the specified stream.
+ Returns .
+ The type of the object to write.
+ The object to write.
+ The stream to write to.
+ The for the content being written.
+ The transport context.
+ The token to monitor for cancellation.
+
+
+ Represents a media type formatter to handle Bson.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The formatter to copy settings from.
+
+
+ Called during deserialization to get the .
+ The reader to use during deserialization.
+ The type of the object to read.
+ The stream from which to read.
+ The encoding to use when reading.
+
+
+ Called during serialization to get the .
+ The writer to use during serialization.
+ The type of the object to write.
+ The stream to write to.
+ The encoding to use when writing.
+
+
+ Gets the default media type for Json, namely "application/bson".
+ The default media type for Json, namely "application/bson".
+
+
+ Gets or sets the maximum depth allowed by this formatter.
+ The maximum depth allowed by this formatter.
+
+
+ Called during deserialization to read an object of the specified type from the specified stream.
+ The object that has been read.
+ The type of the object to read.
+ The stream from which to read.
+ The encoding to use when reading.
+ The logger to log events to.
+
+
+ Called during deserialization to read an object of the specified type from the specified stream.
+ A task whose result will be the object instance that has been read.
+ The type of the object to read.
+ The stream from which to read.
+ The for the content being read.
+ The logger to log events to.
+
+
+ Called during serialization to write an object of the specified type to the specified stream.
+ The type of the object to write.
+ The object to write.
+ The stream to write to.
+ The encoding to use when writing.
+
+
+ Represents a helper class to allow a synchronous formatter on top of the asynchronous formatter infrastructure.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The instance to copy settings from.
+
+
+ Gets or sets the suggested size of buffer to use with streams in bytes.
+ The suggested size of buffer to use with streams in bytes.
+
+
+ Reads synchronously from the buffered stream.
+ An object of the given .
+ The type of the object to deserialize.
+ The stream from which to read.
+ The , if available. Can be null.
+ The to log events to.
+
+
+ Reads synchronously from the buffered stream.
+ An object of the given .
+ The type of the object to deserialize.
+ The stream from which to read.
+ The , if available. Can be null.
+ The to log events to.
+ The token to cancel the operation.
+
+
+ Reads asynchronously from the buffered stream.
+ A task object representing the asynchronous operation.
+ The type of the object to deserialize.
+ The stream from which to read.
+ The , if available. Can be null.
+ The to log events to.
+
+
+ Reads asynchronously from the buffered stream.
+ A task object representing the asynchronous operation.
+ The type of the object to deserialize.
+ The stream from which to read.
+ The , if available. Can be null.
+ The to log events to.
+ The token to cancel the operation.
+
+
+ Writes synchronously to the buffered stream.
+ The type of the object to serialize.
+ The object value to write. Can be null.
+ The stream to which to write.
+ The , if available. Can be null.
+
+
+ Writes synchronously to the buffered stream.
+ The type of the object to serialize.
+ The object value to write. Can be null.
+ The stream to which to write.
+ The , if available. Can be null.
+ The token to cancel the operation.
+
+
+ Writes asynchronously to the buffered stream.
+ A task object representing the asynchronous operation.
+ The type of the object to serialize.
+ The object value to write. It may be null.
+ The stream to which to write.
+ The , if available. Can be null.
+ The transport context.
+
+
+ Writes asynchronously to the buffered stream.
+ A task object representing the asynchronous operation.
+ The type of the object to serialize.
+ The object value to write. It may be null.
+ The stream to which to write.
+ The , if available. Can be null.
+ The transport context.
+ The token to cancel the operation.
+
+
+ Represents the result of content negotiation performed using <see cref="M:System.Net.Http.Formatting.IContentNegotiator.Negotiate(System.Type,System.Net.Http.HttpRequestMessage,System.Collections.Generic.IEnumerable{System.Net.Http.Formatting.MediaTypeFormatter})" />
+
+
+ Create the content negotiation result object.
+ The formatter.
+ The preferred media type. Can be null.
+
+
+ The formatter chosen for serialization.
+
+
+ The media type that is associated with the formatter chosen for serialization. Can be null.
+
+
+ The default implementation of , which is used to select a for an or .
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ true to exclude formatters that match only on the object type; otherwise, false.
+
+
+ Determines how well each formatter matches an HTTP request.
+ Returns a collection of objects that represent all of the matches.
+ The type to be serialized.
+ The request.
+ The set of objects from which to choose.
+
+
+ If true, exclude formatters that match only on the object type; otherwise, false.
+ Returns a .
+
+
+ Matches a set of Accept header fields against the media types that a formatter supports.
+ Returns a object that indicates the quality of the match, or null if there is no match.
+ A list of Accept header values, sorted in descending order of q factor. You can create this list by calling the method.
+ The formatter to match against.
+
+
+ Matches a request against the objects in a media-type formatter.
+ Returns a object that indicates the quality of the match, or null if there is no match.
+ The request to match.
+ The media-type formatter.
+
+
+ Match the content type of a request against the media types that a formatter supports.
+ Returns a object that indicates the quality of the match, or null if there is no match.
+ The request to match.
+ The formatter to match against.
+
+
+ Selects the first supported media type of a formatter.
+ Returns a with set to MatchOnCanWriteType, or null if there is no match. A indicating the quality of the match or null is no match.
+ The type to match.
+ The formatter to match against.
+
+
+ Performs content negotiating by selecting the most appropriate out of the passed in for the given that can serialize an object of the given .
+ The result of the negotiation containing the most appropriate instance, or null if there is no appropriate formatter.
+ The type to be serialized.
+ The request.
+ The set of objects from which to choose.
+
+
+ Determines the best character encoding for writing the response.
+ Returns the that is the best match.
+ The request.
+ The selected media formatter.
+
+
+ Select the best match among the candidate matches found.
+ Returns the object that represents the best match.
+ The collection of matches.
+
+
+ Determine whether to match on type or not. This is used to determine whether to generate a 406 response or use the default media type formatter in case there is no match against anything in the request. If ExcludeMatchOnTypeOnly is true then we don't match on type unless there are no accept headers.
+ True if not ExcludeMatchOnTypeOnly and accept headers with a q-factor bigger than 0.0 are present.
+ The sorted accept header values to match.
+
+
+ Sorts Accept header values in descending order of q factor.
+ Returns the sorted list of MediaTypeWithQualityHeaderValue objects.
+ A collection of StringWithQualityHeaderValue objects, representing the header fields.
+
+
+ Sorts a list of Accept-Charset, Accept-Encoding, Accept-Language or related header values in descending order or q factor.
+ Returns the sorted list of StringWithQualityHeaderValue objects.
+ A collection of StringWithQualityHeaderValue objects, representing the header fields.
+
+
+ Evaluates whether a match is better than the current match.
+ Returns whichever object is a better match.
+ The current match.
+ The match to evaluate against the current match.
+
+
+ Helper class to serialize <see cref="T:System.Collections.Generic.IEnumerable`1" /> types by delegating them through a concrete implementation."/>.
+ The interface implementing to proxy.
+
+
+ Initialize a DelegatingEnumerable. This constructor is necessary for to work.
+
+
+ Initialize a DelegatingEnumerable with an <see cref="T:System.Collections.Generic.IEnumerable`1" />. This is a helper class to proxy <see cref="T:System.Collections.Generic.IEnumerable`1" /> interfaces for .
+ The <see cref="T:System.Collections.Generic.IEnumerable`1" /> instance to get the enumerator from.
+
+
+ This method is not implemented but is required method for serialization to work. Do not use.
+ The item to add. Unused.
+
+
+ Get the enumerator of the associated <see cref="T:System.Collections.Generic.IEnumerable`1" />.
+ The enumerator of the <see cref="T:System.Collections.Generic.IEnumerable`1" /> source.
+
+
+ Get the enumerator of the associated <see cref="T:System.Collections.Generic.IEnumerable`1" />.
+ The enumerator of the <see cref="T:System.Collections.Generic.IEnumerable`1" /> source.
+
+
+ Represent the collection of form data.
+
+
+ Initializes a new instance of class.
+ The pairs.
+
+
+ Initializes a new instance of class.
+ The query.
+
+
+ Initializes a new instance of class.
+ The URI
+
+
+ Gets the collection of form data.
+ The collection of form data.
+ The key.
+
+
+ Gets an enumerable that iterates through the collection.
+ The enumerable that iterates through the collection.
+
+
+ Gets the values of the collection of form data.
+ The values of the collection of form data.
+ The key.
+
+
+ Gets values associated with a given key. If there are multiple values, they're concatenated.
+ Values associated with a given key. If there are multiple values, they're concatenated.
+
+
+ Reads the collection of form data as a collection of name value.
+ The collection of form data as a collection of name value.
+
+
+ Gets an enumerable that iterates through the collection.
+ The enumerable that iterates through the collection.
+
+
+
+ class for handling HTML form URL-ended data, also known as application/x-www-form-urlencoded.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The instance to copy settings from.
+
+
+ Queries whether the can deserializean object of the specified type.
+ true if the can deserialize the type; otherwise, false.
+ The type to deserialize.
+
+
+ Queries whether the can serializean object of the specified type.
+ true if the can serialize the type; otherwise, false.
+ The type to serialize.
+
+
+ Gets the default media type for HTML form-URL-encoded data, which is application/x-www-form-urlencoded.
+ The default media type for HTML form-URL-encoded data
+
+
+ Gets or sets the maximum depth allowed by this formatter.
+ The maximum depth.
+
+
+ Gets or sets the size of the buffer when reading the incoming stream.
+ The buffer size.
+
+
+ Asynchronously deserializes an object of the specified type.
+ A whose result will be the object instance that has been read.
+ The type of object to deserialize.
+ The to read.
+ The for the content being read.
+ The to log events to.
+
+
+ Performs content negotiation. This is the process of selecting a response writer (formatter) in compliance with header values in the request.
+
+
+ Performs content negotiating by selecting the most appropriate out of the passed in formatters for the given request that can serialize an object of the given type.
+ The result of the negotiation containing the most appropriate instance, or null if there is no appropriate formatter.
+ The type to be serialized.
+ Request message, which contains the header values used to perform negotiation.
+ The set of objects from which to choose.
+
+
+ Specifies a callback interface that a formatter can use to log errors while reading.
+
+
+ Logs an error.
+ The path to the member for which the error is being logged.
+ The error message.
+
+
+ Logs an error.
+ The path to the member for which the error is being logged.
+ The error message to be logged.
+
+
+ Defines method that determines whether a given member is required on deserialization.
+
+
+ Determines whether a given member is required on deserialization.
+ true if should be treated as a required member; otherwise false.
+ The to be deserialized.
+
+
+ Represents the default used by . It uses the formatter's to select required members and recognizes the type annotation.
+
+
+ Initializes a new instance of the class.
+ The formatter to use for resolving required members.
+
+
+ Creates a property on the specified class by using the specified parameters.
+ A to create on the specified class by using the specified parameters.
+ The member info.
+ The member serialization.
+
+
+ Represents the class to handle JSON.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The instance to copy settings from.
+
+
+ Determines whether this can read objects of the specified .
+ true if objects of this can be read, otherwise false.
+ The type of object that will be read.
+
+
+ Determines whether this can write objects of the specified .
+ true if objects of this can be written, otherwise false.
+ The type of object that will be written.
+
+
+ Called during deserialization to get the .
+ The object used for serialization.
+ The type of object that will be serialized or deserialized.
+
+
+ Called during deserialization to get the .
+ The reader to use during deserialization.
+ The type of the object to read.
+ The stream from which to read.
+ The encoding to use when reading.
+
+
+ Called during serialization to get the .
+ The writer to use during serialization.
+ The type of the object to write.
+ The stream to write to.
+ The encoding to use when writing.
+
+
+ Gets the default media type for JSON, namely "application/json".
+ The for JSON.
+
+
+ Gets or sets a value indicating whether to indent elements when writing data.
+ true if to indent elements when writing data; otherwise, false.
+
+
+ Gets or sets the maximum depth allowed by this formatter.
+ The maximum depth allowed by this formatter.
+
+
+ Called during deserialization to read an object of the specified type from the specified stream.
+ The object that has been read.
+ The type of the object to read.
+ The stream from which to read.
+ The encoding to use when reading.
+ The logger to log events to.
+
+
+ Gets or sets a value indicating whether to use by default.
+ true if to by default; otherwise, false.
+
+
+ Called during serialization to write an object of the specified type to the specified stream.
+ The type of the object to write.
+ The object to write.
+ The stream to write to.
+ The encoding to use when writing.
+
+
+ Called during serialization to write an object of the specified type to the specified stream.
+ Returns .
+ The type of the object to write.
+ The object to write.
+ The stream to write to.
+ The for the content being written.
+ The transport context.
+ The token to monitor for cancellation.
+
+
+ Base class to handle serializing and deserializing strongly-typed objects using .
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The instance to copy settings from.
+
+
+ Queries whether this can deserializean object of the specified type.
+ true if the can deserialize the type; otherwise, false.
+ The type to deserialize.
+
+
+ Queries whether this can serializean object of the specified type.
+ true if the can serialize the type; otherwise, false.
+ The type to serialize.
+
+
+ Gets the default value for the specified type.
+ The default value.
+ The type for which to get the default value.
+
+
+ Returns a specialized instance of the that can format a response for the given parameters.
+ Returns .
+ The type to format.
+ The request.
+ The media type.
+
+
+ Gets or sets the maximum number of keys stored in a T: .
+ The maximum number of keys.
+
+
+ Gets the mutable collection of objects that match HTTP requests to media types.
+ The collection.
+
+
+ Asynchronously deserializes an object of the specified type.
+ A whose result will be an object of the given type.
+ The type of the object to deserialize.
+ The to read.
+ The , if available. It may be null.
+ The to log events to.
+ Derived types need to support reading.
+
+
+ Asynchronously deserializes an object of the specified type.
+ A whose result will be an object of the given type.
+ The type of the object to deserialize.
+ The to read.
+ The , if available. It may be null.
+ The to log events to.
+ The token to cancel the operation.
+
+
+ Gets or sets the instance used to determine required members.
+ The instance.
+
+
+ Determines the best character encoding for reading or writing an HTTP entity body, given a set of content headers.
+ The encoding that is the best match.
+ The content headers.
+
+
+ Sets the default headers for content that will be formatted using this formatter. This method is called from the constructor. This implementation sets the Content-Type header to the value of mediaType if it is not null. If it is null it sets the Content-Type to the default media type of this formatter. If the Content-Type does not specify a charset it will set it using this formatters configured .
+ The type of the object being serialized. See .
+ The content headers that should be configured.
+ The authoritative media type. Can be null.
+
+
+ Gets the mutable collection of character encodings supported bythis .
+ The collection of objects.
+
+
+ Gets the mutable collection of media types supported bythis .
+ The collection of objects.
+
+
+ Asynchronously writes an object of the specified type.
+ A that will perform the write.
+ The type of the object to write.
+ The object value to write. It may be null.
+ The to which to write.
+ The if available. It may be null.
+ The if available. It may be null.
+ Derived types need to support writing.
+
+
+ Asynchronously writes an object of the specified type.
+ A that will perform the write.
+ The type of the object to write.
+ The object value to write. It may be null.
+ The to which to write.
+ The if available. It may be null.
+ The if available. It may be null.
+ The token to cancel the operation.
+ Derived types need to support writing.
+
+
+ Collection class that contains instances.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ A collection of instances to place in the collection.
+
+
+ Adds the elements of the specified collection to the end of the .
+ The items that should be added to the end of the . The items collection itself cannot be , but it can contain elements that are .
+
+
+ Removes all items in the collection.
+
+
+ Helper to search a collection for a formatter that can read the .NET type in the given mediaType.
+ The formatter that can read the type. Null if no formatter found.
+ The .NET type to read
+ The media type to match on.
+
+
+ Helper to search a collection for a formatter that can write the .NET type in the given mediaType.
+ The formatter that can write the type. Null if no formatter found.
+ The .NET type to read
+ The media type to match on.
+
+
+ Gets the to use for application/x-www-form-urlencoded data.
+ The to use for application/x-www-form-urlencoded data.
+
+
+ Inserts the specified item at the specified index in the collection.
+ The index to insert at.
+ The item to insert.
+
+
+ Inserts the elements of a collection into the at the specified index.
+ The zero-based index at which the new elements should be inserted.
+ The items that should be inserted into the . The items collection itself cannot be , but it can contain elements that are .
+
+
+ Returns true if the type is one of those loosely defined types that should be excluded from validation.
+ true if the type should be excluded; otherwise, false.
+ The .NET to validate.
+
+
+ Gets the to use for JSON.
+ The to use for JSON.
+
+
+ Removes the item at the specified index.
+ The index of the item to remove.
+
+
+ Assigns the item at the specified index in the collection.
+ The index to insert at.
+ The item to assign.
+
+
+ Gets the to use for XML.
+ The to use for XML.
+
+
+
+
+
+
+ This class describes how well a particular matches a request.
+
+
+ Initializes a new instance of the class.
+ The matching formatter.
+ The media type. Can be null in which case the media type application/octet-stream is used.
+ The quality of the match. Can be null in which case it is considered a full match with a value of 1.0
+ The kind of match.
+
+
+ Gets the media type formatter.
+
+
+ Gets the matched media type.
+
+
+ Gets the quality of the match
+
+
+ Gets the kind of match that occurred.
+
+
+ Contains information about the degree to which a matches the explicit or implicit preferences found in an incoming request.
+
+
+ Matched on a type, meaning that the formatter is able to serialize the type.
+
+
+ Matched on an explicit “*/*” range in the Accept header.
+
+
+ Matched on an explicit literal accept header, such as “application/json”.
+
+
+ Matched on an explicit subtype range in an Accept header, such as “application/*”.
+
+
+ Matched on the media type of the entity body in the HTTP request message.
+
+
+ Matched on after having applied the various s.
+
+
+ No match was found
+
+
+ An abstract base class used to create an association between or instances that have certain characteristics and a specific .
+
+
+ Initializes a new instance of a with the given mediaType value.
+ The that is associated with or instances that have the given characteristics of the .
+
+
+ Initializes a new instance of a with the given mediaType value.
+ The that is associated with or instances that have the given characteristics of the .
+
+
+ Gets the that is associated with or instances that have the given characteristics of the .
+
+
+ Returns the quality of the match of the associated with request.
+ The quality of the match. It must be between 0.0 and 1.0. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match.
+ The to evaluate for the characteristics associated with the of the .
+
+
+ Class that provides s from query strings.
+
+
+ Initializes a new instance of the class.
+ The name of the query string parameter to match, if present.
+ The value of the query string parameter specified by queryStringParameterName.
+ The to use if the query parameter specified by queryStringParameterName is present and assigned the value specified by queryStringParameterValue.
+
+
+ Initializes a new instance of the class.
+ The name of the query string parameter to match, if present.
+ The value of the query string parameter specified by queryStringParameterName.
+ The media type to use if the query parameter specified by queryStringParameterName is present and assigned the value specified by queryStringParameterValue.
+
+
+ Gets the query string parameter name.
+
+
+ Gets the query string parameter value.
+
+
+ Returns a value indicating whether the current instance can return a from request.
+ If this instance can produce a from request it returns 1.0 otherwise 0.0.
+ The to check.
+
+
+ This class provides a mapping from an arbitrary HTTP request header field to a used to select instances for handling the entity body of an or . <remarks>This class only checks header fields associated with for a match. It does not check header fields associated with or instances.</remarks>
+
+
+ Initializes a new instance of the class.
+ Name of the header to match.
+ The header value to match.
+ The to use when matching headerValue.
+ if set to true then headerValue is considered a match if it matches a substring of the actual header value.
+ The to use if headerName and headerValue is considered a match.
+
+
+ Initializes a new instance of the class.
+ Name of the header to match.
+ The header value to match.
+ The value comparison to use when matching headerValue.
+ if set to true then headerValue is considered a match if it matches a substring of the actual header value.
+ The media type to use if headerName and headerValue is considered a match.
+
+
+ Gets the name of the header to match.
+
+
+ Gets the header value to match.
+
+
+ Gets the to use when matching .
+
+
+ Gets a value indicating whether is a matched as a substring of the actual header value. this instance is value substring.
+ truefalse
+
+
+ Returns a value indicating whether the current instance can return a from request.
+ The quality of the match. It must be between 0.0 and 1.0. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match.
+ The to check.
+
+
+ A that maps the X-Requested-With http header field set by AJAX XmlHttpRequest (XHR) to the media type application/json if no explicit Accept header fields are present in the request.
+
+
+ Initializes a new instance of class
+
+
+ Returns a value indicating whether the current instance can return a from request.
+ The quality of the match. A value of 0.0 signifies no match. A value of 1.0 signifies a complete match and that the request was made using XmlHttpRequest without an Accept header.
+ The to check.
+
+
+
+ class to handle Xml.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The instance to copy settings from.
+
+
+ Queries whether the can deserializean object of the specified type.
+ true if the can deserialize the type; otherwise, false.
+ The type to deserialize.
+
+
+ Queries whether the can serializean object of the specified type.
+ true if the can serialize the type; otherwise, false.
+ The type to serialize.
+
+
+ Called during deserialization to get the DataContractSerializer serializer.
+ The object used for serialization.
+ The type of object that will be serialized or deserialized.
+
+
+ Called during deserialization to get the XML reader to use for reading objects from the stream.
+ The to use for reading objects.
+ The to read from.
+ The for the content being read.
+
+
+ Called during deserialization to get the XML serializer.
+ The object used for serialization.
+ The type of object that will be serialized or deserialized.
+
+
+ Called during serialization to get the XML writer to use for writing objects to the stream.
+ The to use for writing objects.
+ The to write to.
+ The for the content being written.
+
+
+ Gets the default media type for the XML formatter.
+ The default media type, which is “application/xml”.
+
+
+ Called during deserialization to get the XML serializer to use for deserializing objects.
+ An instance of or to use for deserializing the object.
+ The type of object to deserialize.
+ The for the content being read.
+
+
+ Called during serialization to get the XML serializer to use for serializing objects.
+ An instance of or to use for serializing the object.
+ The type of object to serialize.
+ The object to serialize.
+ The for the content being written.
+
+
+ Gets or sets a value indicating whether to indent elements when writing data.
+ true to indent elements; otherwise, false.
+
+
+ This method is to support infrastructure and is not intended to be used directly from your code.
+ Returns .
+
+
+ This method is to support infrastructure and is not intended to be used directly from your code.
+ Returns .
+
+
+ This method is to support infrastructure and is not intended to be used directly from your code.
+ Returns .
+
+
+ This method is to support infrastructure and is not intended to be used directly from your code.
+ Returns .
+
+
+ Gets and sets the maximum nested node depth.
+ The maximum nested node depth.
+
+
+ Called during deserialization to read an object of the specified type from the specified readStream.
+ A whose result will be the object instance that has been read.
+ The type of object to read.
+ The from which to read.
+ The for the content being read.
+ The to log events to.
+
+
+ Unregisters the serializer currently associated with the given type.
+ true if a serializer was previously registered for the type; otherwise, false.
+ The type of object whose serializer should be removed.
+
+
+ Registers an to read or write objects of a specified type.
+ The instance.
+ The type of object that will be serialized or deserialized with.
+
+
+ Registers an to read or write objects of a specified type.
+ The type of object that will be serialized or deserialized with.
+ The instance.
+
+
+ Registers an to read or write objects of a specified type.
+ The type of object that will be serialized or deserialized with.
+ The instance.
+
+
+ Registers an to read or write objects of a specified type.
+ The instance.
+ The type of object that will be serialized or deserialized with.
+
+
+ Gets or sets a value indicating whether the XML formatter uses the as the default serializer, instead of using the .
+ If true, the formatter uses the by default; otherwise, it uses the by default.
+
+
+ Gets the settings to be used while writing.
+ The settings to be used while writing.
+
+
+ Called during serialization to write an object of the specified type to the specified writeStream.
+ A that will write the value to the stream.
+ The type of object to write.
+ The object to write.
+ The to which to write.
+ The for the content being written.
+ The .
+ The token to monitor cancellation.
+
+
+ Represents the event arguments for the HTTP progress.
+
+
+ Initializes a new instance of the class.
+ The percentage of the progress.
+ The user token.
+ The number of bytes transferred.
+ The total number of bytes transferred.
+
+
+
+
+ Generates progress notification for both request entities being uploaded and response entities being downloaded.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The inner message handler.
+
+
+ Occurs when event entities are being downloaded.
+
+
+ Occurs when event entities are being uploaded.
+
+
+ Raises the event that handles the request of the progress.
+ The request.
+ The event handler for the request.
+
+
+ Raises the event that handles the response of the progress.
+ The request.
+ The event handler for the request.
+
+
+ Sends the specified progress message to an HTTP server for delivery.
+ The sent progress message.
+ The request.
+ The cancellation token.
+
+
+ Provides value for the cookie header.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The value of the name.
+ The values.
+
+
+ Initializes a new instance of the class.
+ The value of the name.
+ The value.
+
+
+ Creates a shallow copy of the cookie value.
+ A shallow copy of the cookie value.
+
+
+ Gets a collection of cookies sent by the client.
+ A collection object representing the client’s cookie variables.
+
+
+ Gets or sets the domain to associate the cookie with.
+ The name of the domain to associate the cookie with.
+
+
+ Gets or sets the expiration date and time for the cookie.
+ The time of day (on the client) at which the cookie expires.
+
+
+ Gets or sets a value that specifies whether a cookie is accessible by client-side script.
+ true if the cookie has the HttpOnly attribute and cannot be accessed through a client-side script; otherwise, false.
+
+
+ Gets a shortcut to the cookie property.
+ The cookie value.
+
+
+ Gets or sets the maximum age permitted for a resource.
+ The maximum age permitted for a resource.
+
+
+ Gets or sets the virtual path to transmit with the current cookie.
+ The virtual path to transmit with the cookie.
+
+
+ Gets or sets a value indicating whether to transmit the cookie using Secure Sockets Layer (SSL)—that is, over HTTPS only.
+ true to transmit the cookie over an SSL connection (HTTPS); otherwise, false.
+
+
+ Returns a string that represents the current object.
+ A string that represents the current object.
+
+
+ Indicates a value whether the string representation will be converted.
+ true if the string representation will be converted; otherwise, false.
+ The input value.
+ The parsed value to convert.
+
+
+ Contains cookie name and its associated cookie state.
+
+
+ Initializes a new instance of the class.
+ The name of the cookie.
+
+
+ Initializes a new instance of the class.
+ The name of the cookie.
+ The collection of name-value pair for the cookie.
+
+
+ Initializes a new instance of the class.
+ The name of the cookie.
+ The value of the cookie.
+
+
+ Returns a new object that is a copy of the current instance.
+ A new object that is a copy of the current instance.
+
+
+ Gets or sets the cookie value with the specified cookie name, if the cookie data is structured.
+ The cookie value with the specified cookie name.
+
+
+ Gets or sets the name of the cookie.
+ The name of the cookie.
+
+
+ Returns the string representation the current object.
+ The string representation the current object.
+
+
+ Gets or sets the cookie value, if cookie data is a simple string value.
+ The value of the cookie.
+
+
+ Gets or sets the collection of name-value pair, if the cookie data is structured.
+ The collection of name-value pair for the cookie.
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/System.Net.Http.Primitives.dll b/Blog/bin/System.Net.Http.Primitives.dll
new file mode 100644
index 0000000..4f391a3
Binary files /dev/null and b/Blog/bin/System.Net.Http.Primitives.dll differ
diff --git a/Blog/bin/System.Net.Http.Primitives.xml b/Blog/bin/System.Net.Http.Primitives.xml
new file mode 100644
index 0000000..53640c6
--- /dev/null
+++ b/Blog/bin/System.Net.Http.Primitives.xml
@@ -0,0 +1,8 @@
+
+
+
+ System.Net.Http.Primitives
+
+
+
+
diff --git a/Blog/bin/System.Web.Helpers.dll b/Blog/bin/System.Web.Helpers.dll
new file mode 100644
index 0000000..b13e613
Binary files /dev/null and b/Blog/bin/System.Web.Helpers.dll differ
diff --git a/Blog/bin/System.Web.Helpers.xml b/Blog/bin/System.Web.Helpers.xml
new file mode 100644
index 0000000..d5cfa6d
--- /dev/null
+++ b/Blog/bin/System.Web.Helpers.xml
@@ -0,0 +1,839 @@
+
+
+
+ System.Web.Helpers
+
+
+
+ Displays data in the form of a graphical chart.
+
+
+ Initializes a new instance of the class.
+ The width, in pixels, of the complete chart image.
+ The height, in pixels, of the complete chart image.
+ (Optional) The template (theme) to apply to the chart.
+ (Optional) The template (theme) path and file name to apply to the chart.
+
+
+ Adds a legend to the chart.
+ The chart.
+ The text of the legend title.
+ The unique name of the legend.
+
+
+ Provides data points and series attributes for the chart.
+ The chart.
+ The unique name of the series.
+ The chart type of a series.
+ The name of the chart area that is used to plot the data series.
+ The axis label text for the series.
+ The name of the series that is associated with the legend.
+ The granularity of data point markers.
+ The values to plot along the x-axis.
+ The name of the field for x-values.
+ The values to plot along the y-axis.
+ A comma-separated list of name or names of the field or fields for y-values.
+
+
+ Adds a title to the chart.
+ The chart.
+ The title text.
+ The unique name of the title.
+
+
+ Binds a chart to a data table, where one series is created for each unique value in a column.
+ The chart.
+ The chart data source.
+ The name of the column that is used to group data into the series.
+ The name of the column for x-values.
+ A comma-separated list of names of the columns for y-values.
+ Other data point properties that can be bound.
+ The order in which the series will be sorted. The default is "Ascending".
+
+
+ Creates and binds series data to the specified data table, and optionally populates multiple x-values.
+ The chart.
+ The chart data source. This can be can be any object.
+ The name of the table column used for the series x-values.
+
+
+ Gets or sets the name of the file that contains the chart image.
+ The name of the file.
+
+
+ Returns a chart image as a byte array.
+ The chart.
+ The image format. The default is "jpeg".
+
+
+ Retrieves the specified chart from the cache.
+ The chart.
+ The ID of the cache item that contains the chart to retrieve. The key is set when you call the method.
+
+
+ Gets or sets the height, in pixels, of the chart image.
+ The chart height.
+
+
+ Saves a chart image to the specified file.
+ The chart.
+ The location and name of the image file.
+ The image file format, such as "png" or "jpeg".
+
+
+ Saves a chart in the system cache.
+ The ID of the cache item that contains the chart.
+ The ID of the chart in the cache.
+ The number of minutes to keep the chart image in the cache. The default is 20.
+ true to indicate that the chart cache item's expiration is reset each time the item is accessed, or false to indicate that the expiration is based on an absolute interval since the time that the item was added to the cache. The default is true.
+
+
+ Saves a chart as an XML file.
+ The chart.
+ The path and name of the XML file.
+
+
+ Sets values for the horizontal axis.
+ The chart.
+ The title of the x-axis.
+ The minimum value for the x-axis.
+ The maximum value for the x-axis.
+
+
+ Sets values for the vertical axis.
+ The chart.
+ The title of the y-axis.
+ The minimum value for the y-axis.
+ The maximum value for the y-axis.
+
+
+ Creates a object based on the current object.
+ The chart.
+ The format of the image to save the object as. The default is "jpeg". The parameter is not case sensitive.
+
+
+ Gets or set the width, in pixels, of the chart image.
+ The chart width.
+
+
+ Renders the output of the object as an image.
+ The chart.
+ The format of the image. The default is "jpeg".
+
+
+ Renders the output of a object that has been cached as an image.
+ The chart.
+ The ID of the chart in the cache.
+ The format of the image. The default is "jpeg".
+
+
+ Specifies visual themes for a object.
+
+
+ A theme for 2D charting that features a visual container with a blue gradient, rounded edges, drop-shadowing, and high-contrast gridlines.
+
+
+ A theme for 2D charting that features a visual container with a green gradient, rounded edges, drop-shadowing, and low-contrast gridlines.
+
+
+ A theme for 2D charting that features no visual container and no gridlines.
+
+
+ A theme for 3D charting that features no visual container, limited labeling and, sparse, high-contrast gridlines.
+
+
+ A theme for 2D charting that features a visual container that has a yellow gradient, rounded edges, drop-shadowing, and high-contrast gridlines.
+
+
+ Provides methods to generate hash values and encrypt passwords or other sensitive data.
+
+
+ Generates a cryptographically strong sequence of random byte values.
+ The generated salt value as a base-64-encoded string.
+ The number of cryptographically random bytes to generate.
+
+
+ Returns a hash value for the specified byte array.
+ The hash value for as a string of hexadecimal characters.
+ The data to provide a hash value for.
+ The algorithm that is used to generate the hash value. The default is "sha256".
+
+ is null.
+
+
+ Returns a hash value for the specified string.
+ The hash value for as a string of hexadecimal characters.
+ The data to provide a hash value for.
+ The algorithm that is used to generate the hash value. The default is "sha256".
+
+ is null.
+
+
+ Returns an RFC 2898 hash value for the specified password.
+ The hash value for as a base-64-encoded string.
+ The password to generate a hash value for.
+
+ is null.
+
+
+ Returns a SHA-1 hash value for the specified string.
+ The SHA-1 hash value for as a string of hexadecimal characters.
+ The data to provide a hash value for.
+
+ is null.
+
+
+ Returns a SHA-256 hash value for the specified string.
+ The SHA-256 hash value for as a string of hexadecimal characters.
+ The data to provide a hash value for.
+
+ is null.
+
+
+ Determines whether the specified RFC 2898 hash and password are a cryptographic match.
+ true if the hash value is a cryptographic match for the password; otherwise, false.
+ The previously-computed RFC 2898 hash value as a base-64-encoded string.
+ The plaintext password to cryptographically compare with .
+
+ or is null.
+
+
+ Represents a series of values as a JavaScript-like array by using the dynamic capabilities of the Dynamic Language Runtime (DLR).
+
+
+ Initializes a new instance of the class using the specified array element values.
+ An array of objects that contains the values to add to the instance.
+
+
+ Returns an enumerator that can be used to iterate through the elements of the instance.
+ An enumerator that can be used to iterate through the elements of the JSON array.
+
+
+ Returns the value at the specified index in the instance.
+ The value at the specified index.
+
+
+ Returns the number of elements in the instance.
+ The number of elements in the JSON array.
+
+
+ Converts a instance to an array of objects.
+ The array of objects that represents the JSON array.
+ The JSON array to convert.
+
+
+ Converts a instance to an array of objects.
+ The array of objects that represents the JSON array.
+ The JSON array to convert.
+
+
+ Returns an enumerator that can be used to iterate through a collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Converts the instance to a compatible type.
+ true if the conversion was successful; otherwise, false.
+ Provides information about the conversion operation.
+ When this method returns, contains the result of the type conversion operation. This parameter is passed uninitialized.
+
+
+ Tests the instance for dynamic members (which are not supported) in a way that does not cause an exception to be thrown.
+ true in all cases.
+ Provides information about the get operation.
+ When this method returns, contains null. This parameter is passed uninitialized.
+
+
+ Represents a collection of values as a JavaScript-like object by using the capabilities of the Dynamic Language Runtime.
+
+
+ Initializes a new instance of the class using the specified field values.
+ A dictionary of property names and values to add to the instance as dynamic members.
+
+
+ Returns a list that contains the name of all dynamic members (JSON fields) of the instance.
+ A list that contains the name of every dynamic member (JSON field).
+
+
+ Converts the instance to a compatible type.
+ true in all cases.
+ Provides information about the conversion operation.
+ When this method returns, contains the result of the type conversion operation. This parameter is passed uninitialized.
+ The instance could not be converted to the specified type.
+
+
+ Gets the value of a field using the specified index.
+ true in all cases.
+ Provides information about the indexed get operation.
+ An array that contains a single object that indexes the field by name. The object must be convertible to a string that specifies the name of the JSON field to return. If multiple indexes are specified, contains null when this method returns.
+ When this method returns, contains the value of the indexed field, or null if the get operation was unsuccessful. This parameter is passed uninitialized.
+
+
+ Gets the value of a field using the specified name.
+ true in all cases.
+ Provides information about the get operation.
+ When this method returns, contains the value of the field, or null if the get operation was unsuccessful. This parameter is passed uninitialized.
+
+
+ Sets the value of a field using the specified index.
+ true in all cases.
+ Provides information about the indexed set operation.
+ An array that contains a single object that indexes the field by name. The object must be convertible to a string that specifies the name of the JSON field to return. If multiple indexes are specified, no field is changed or added.
+ The value to set the field to.
+
+
+ Sets the value of a field using the specified name.
+ true in all cases.
+ Provides information about the set operation.
+ The value to set the field to.
+
+
+ Provides methods for working with data in JavaScript Object Notation (JSON) format.
+
+
+ Converts data in JavaScript Object Notation (JSON) format into the specified strongly typed data list.
+ The JSON-encoded data converted to a strongly typed list.
+ The JSON-encoded string to convert.
+ The type of the strongly typed list to convert JSON data into.
+
+
+ Converts data in JavaScript Object Notation (JSON) format into a data object.
+ The JSON-encoded data converted to a data object.
+ The JSON-encoded string to convert.
+
+
+ Converts data in JavaScript Object Notation (JSON) format into a data object of a specified type.
+ The JSON-encoded data converted to the specified type.
+ The JSON-encoded string to convert.
+ The type that the data should be converted to.
+
+
+ Converts a data object to a string that is in the JavaScript Object Notation (JSON) format.
+ Returns a string of data converted to the JSON format.
+ The data object to convert.
+
+
+ Converts a data object to a string in JavaScript Object Notation (JSON) format and adds the string to the specified object.
+ The data object to convert.
+ The object that contains the converted JSON data.
+
+
+ Renders the property names and values of the specified object and of any subobjects that it references.
+
+
+ Renders the property names and values of the specified object and of any subobjects.
+ For a simple variable, returns the type and the value. For an object that contains multiple items, returns the property name or key and the value for each property.
+ The object to render information for.
+ Optional. Specifies the depth of nested subobjects to render information for. The default is 10.
+ Optional. Specifies the maximum number of characters that the method displays for object values. The default is 1000.
+
+ is less than zero.
+
+ is less than or equal to zero.
+
+
+ Displays information about the web server environment that hosts the current web page.
+
+
+ Displays information about the web server environment.
+ A string of name-value pairs that contains information about the web server.
+
+
+ Specifies the direction in which to sort a list of items.
+
+
+ Sort from smallest to largest —for example, from 1 to 10.
+
+
+ Sort from largest to smallest — for example, from 10 to 1.
+
+
+ Provides a cache to store frequently accessed data.
+
+
+ Retrieves the specified item from the object.
+ The item retrieved from the cache, or null if the item is not found.
+ The identifier for the cache item to retrieve.
+
+
+ Removes the specified item from the object.
+ The item removed from the object. If the item is not found, returns null.
+ The identifier for the cache item to remove.
+
+
+ Inserts an item into the object.
+ The identifier for the cache item.
+ The data to insert into the cache.
+ Optional. The number of minutes to keep an item in the cache. The default is 20.
+ Optional. true to indicate that the cache item expiration is reset each time the item is accessed, or false to indicate that the expiration is based the absolute time since the item was added to the cache. The default is true. In that case, if you also use the default value for the parameter, a cached item expires 20 minutes after it was last accessed.
+ The value of is less than or equal to zero.
+ Sliding expiration is enabled and the value of is greater than a year.
+
+
+ Displays data on a web page using an HTML table element.
+
+
+ Initializes a new instance of the class.
+ The data to display.
+ A collection that contains the names of the data columns to display. By default, this value is auto-populated according to the values in the parameter.
+ The name of the data column that is used to sort the grid by default.
+ The number of rows that are displayed on each page of the grid when paging is enabled. The default is 10.
+ true to specify that paging is enabled for the instance; otherwise false. The default is true.
+ true to specify that sorting is enabled for the instance; otherwise, false. The default is true.
+ The value of the HTML id attribute that is used to mark the HTML element that gets dynamic Ajax updates that are associated with the instance.
+ The name of the JavaScript function that is called after the HTML element specified by the property has been updated. If the name of a function is not provided, no function will be called. If the specified function does not exist, a JavaScript error will occur if it is invoked.
+ The prefix that is applied to all query-string fields that are associated with the instance. This value is used in order to support multiple instances on the same web page.
+ The name of the query-string field that is used to specify the current page of the instance.
+ The name of the query-string field that is used to specify the currently selected row of the instance.
+ The name of the query-string field that is used to specify the name of the data column that the instance is sorted by.
+ The name of the query-string field that is used to specify the direction in which the instance is sorted.
+
+
+ Adds a specific sort function for a given column.
+ The current grid, with the new custom sorter applied.
+ The column name (as used for sorting)
+ The function used to select a key to sort by, for each element in the grid's source.
+ The type of elements in the grid's source.
+ The column type, usually inferred from the keySelector function's return type.
+
+
+ Gets the name of the JavaScript function to call after the HTML element that is associated with the instance has been updated in response to an Ajax update request.
+ The name of the function.
+
+
+ Gets the value of the HTML id attribute that marks an HTML element on the web page that gets dynamic Ajax updates that are associated with the instance.
+ The value of the id attribute.
+
+
+ Binds the specified data to the instance.
+ The bound and populated instance.
+ The data to display.
+ A collection that contains the names of the data columns to bind.
+ true to enable sorting and paging of the instance; otherwise, false.
+ The number of rows to display on each page of the grid.
+
+
+ Gets a value that indicates whether the instance supports sorting.
+ true if the instance supports sorting; otherwise, false.
+
+
+ Creates a new instance.
+ The new column.
+ The name of the data column to associate with the instance.
+ The text that is rendered in the header of the HTML table column that is associated with the instance.
+ The function that is used to format the data values that are associated with the instance.
+ A string that specifies the name of the CSS class that is used to style the HTML table cells that are associated with the instance.
+ true to enable sorting in the instance by the data values that are associated with the instance; otherwise, false. The default is true.
+
+
+ Gets a collection that contains the name of each data column that is bound to the instance.
+ The collection of data column names.
+
+
+ Returns an array that contains the specified instances.
+ An array of columns.
+ A variable number of column instances.
+
+
+ Gets the prefix that is applied to all query-string fields that are associated with the instance.
+ The query-string field prefix of the instance.
+
+
+ Returns a JavaScript statement that can be used to update the HTML element that is associated with the instance on the specified web page.
+ A JavaScript statement that can be used to update the HTML element in a web page that is associated with the instance.
+ The URL of the web page that contains the instance that is being updated. The URL can include query-string arguments.
+
+
+ Returns the HTML markup that is used to render the instance and using the specified paging options.
+ The HTML markup that represents the fully-populated instance.
+ The name of the CSS class that is used to style the whole table.
+ The name of the CSS class that is used to style the table header.
+ The name of the CSS class that is used to style the table footer.
+ The name of the CSS class that is used to style each table row.
+ The name of the CSS class that is used to style even-numbered table rows.
+ The name of the CSS class that is used to style the selected table row. (Only one row can be selected at a time.)
+ The table caption.
+ true to display the table header; otherwise, false. The default is true.
+ true to insert additional rows in the last page when there are insufficient data items to fill the last page; otherwise, false. The default is false. Additional rows are populated using the text specified by the parameter.
+ The text that is used to populate additional rows in a page when there are insufficient data items to fill the last page. The parameter must be set to true to display these additional rows.
+ A collection of instances that specify how each column is displayed. This includes which data column is associated with each grid column, and how to format the data values that each grid column contains.
+ A collection that contains the names of the data columns to exclude when the grid auto-populates columns.
+ A bitwise combination of the enumeration values that specify methods that are provided for moving between pages of the instance.
+ The text for the HTML link element that is used to link to the first page of the instance. The flag of the parameter must be set to display this page navigation element.
+ The text for the HTML link element that is used to link to previous page of the instance. The flag of the parameter must be set to display this page navigation element.
+ The text for the HTML link element that is used to link to the next page of the instance. The flag of the parameter must be set to display this page navigation element.
+ The text for the HTML link element that is used to link to the last page of the instance. The flag of the parameter must be set to display this page navigation element.
+ The number of numeric page links that are provided to nearby pages. The text of each numeric page link contains the page number. The flag of the parameter must be set to display these page navigation elements.
+ An object that represents a collection of attributes (names and values) to set for the HTML table element that represents the instance.
+
+
+ Returns a URL that can be used to display the specified data page of the instance.
+ A URL that can be used to display the specified data page of the grid.
+ The index of the page to display.
+
+
+ Returns a URL that can be used to sort the instance by the specified column.
+ A URL that can be used to sort the grid.
+ The name of the data column to sort by.
+
+
+ Gets a value that indicates whether a row in the instance is selected.
+ true if a row is currently selected; otherwise, false.
+
+
+ Returns a value that indicates whether the instance can use Ajax calls to refresh the display.
+ true if the instance supports Ajax calls; otherwise, false..
+
+
+ Gets the number of pages that the instance contains.
+ The page count.
+
+
+ Gets the full name of the query-string field that is used to specify the current page of the instance.
+ The full name of the query string field that is used to specify the current page of the grid.
+
+
+ Gets or sets the index of the current page of the instance.
+ The index of the current page.
+
+
+ Returns the HTML markup that is used to provide the specified paging support for the instance.
+ The HTML markup that provides paging support for the grid.
+ A bitwise combination of the enumeration values that specify the methods that are provided for moving between the pages of the grid. The default is the bitwise OR of the and flags.
+ The text for the HTML link element that navigates to the first page of the grid.
+ The text for the HTML link element that navigates to the previous page of the grid.
+ The text for the HTML link element that navigates to the next page of the grid.
+ The text for the HTML link element that navigates to the last page of the grid.
+ The number of numeric page links to display. The default is 5.
+
+
+ Gets a list that contains the rows that are on the current page of the instance after the grid has been sorted.
+ The list of rows.
+
+
+ Gets the number of rows that are displayed on each page of the instance.
+ The number of rows that are displayed on each page of the grid.
+
+
+ Gets or sets the index of the selected row relative to the current page of the instance.
+ The index of the selected row relative to the current page.
+
+
+ Gets the currently selected row of the instance.
+ The currently selected row.
+
+
+ Gets the full name of the query-string field that is used to specify the selected row of the instance.
+ The full name of the query string field that is used to specify the selected row of the grid.
+
+
+ Gets or sets the name of the data column that the instance is sorted by.
+ The name of the data column that is used to sort the grid.
+
+
+ Gets or sets the direction in which the instance is sorted.
+ The sort direction.
+
+
+ Gets the full name of the query-string field that is used to specify the sort direction of the instance.
+ The full name of the query string field that is used to specify the sort direction of the grid.
+
+
+ Gets the full name of the query-string field that is used to specify the name of the data column that the instance is sorted by.
+ The full name of the query-string field that is used to specify the name of the data column that the grid is sorted by.
+
+
+ Returns the HTML markup that is used to render the instance.
+ The HTML markup that represents the fully-populated instance.
+ The name of the CSS class that is used to style the whole table.
+ The name of the CSS class that is used to style the table header.
+ The name of the CSS class that is used to style the table footer.
+ The name of the CSS class that is used to style each table row.
+ The name of the CSS class that is used to style even-numbered table rows.
+ The name of the CSS class that is used use to style the selected table row.
+ The table caption.
+ true to display the table header; otherwise, false. The default is true.
+ true to insert additional rows in the last page when there are insufficient data items to fill the last page; otherwise, false. The default is false. Additional rows are populated using the text specified by the parameter.
+ The text that is used to populate additional rows in the last page when there are insufficient data items to fill the last page. The parameter must be set to true to display these additional rows.
+ A collection of instances that specify how each column is displayed. This includes which data column is associated with each grid column, and how to format the data values that each grid column contains.
+ A collection that contains the names of the data columns to exclude when the grid auto-populates columns.
+ A function that returns the HTML markup that is used to render the table footer.
+ An object that represents a collection of attributes (names and values) to set for the HTML table element that represents the instance.
+
+
+ Gets the total number of rows that the instance contains.
+ The total number of rows in the grid. This value includes all rows from every page, but does not include the additional rows inserted in the last page when there are insufficient data items to fill the last page.
+
+
+ Represents a column in a instance.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets a value that indicates whether the column can be sorted.
+ true to indicate that the column can be sorted; otherwise, false.
+
+
+ Gets or sets the name of the data item that is associated with the column.
+ The name of the data item.
+
+
+ Gets or sets a function that is used to format the data item that is associated with the column.
+ The function that is used to format that data item that is associated with the column.
+
+
+ Gets or sets the text that is rendered in the header of the column.
+ The text that is rendered to the column header.
+
+
+ Gets or sets the CSS class attribute that is rendered as part of the HTML table cells that are associated with the column.
+ The CSS class attribute that is applied to cells that are associated with the column.
+
+
+ Specifies flags that describe the methods that are provided for moving between the pages of a instance.This enumeration has a attribute that allows a bitwise combination of its member values.
+
+
+ Indicates that all methods for moving between pages are provided.
+
+
+ Indicates that methods for moving directly to the first or last page are provided.
+
+
+ Indicates that methods for moving to the next or previous page are provided.
+
+
+ Indicates that methods for moving to a nearby page by using a page number are provided.
+
+
+ Represents a row in a instance.
+
+
+ Initializes a new instance of the class using the specified instance, row value, and index.
+ The instance that contains the row.
+ An object that contains a property member for each value in the row.
+ The index of the row.
+
+
+ Returns an enumerator that can be used to iterate through the values of the instance.
+ An enumerator that can be used to iterate through the values of the row.
+
+
+ Returns an HTML element (a link) that users can use to select the row.
+ The link that users can click to select the row.
+ The inner text of the link element. If is empty or null, "Select" is used.
+
+
+ Returns the URL that can be used to select the row.
+ The URL that is used to select a row.
+
+
+ Returns the value at the specified index in the instance.
+ The value at the specified index.
+ The zero-based index of the value in the row to return.
+
+ is less than 0 or greater than or equal to the number of values in the row.
+
+
+ Returns the value that has the specified name in the instance.
+ The specified value.
+ The name of the value in the row to return.
+
+ is Nothing or empty.
+
+ specifies a value that does not exist.
+
+
+ Returns an enumerator that can be used to iterate through a collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Returns a string that represents all of the values of the instance.
+ A string that represents the row's values.
+
+
+ Returns the value of a member that is described by the specified binder.
+ true if the value of the item was successfully retrieved; otherwise, false.
+ The getter of the bound property member.
+ When this method returns, contains an object that holds the value of the item described by . This parameter is passed uninitialized.
+
+
+ Gets an object that contains a property member for each value in the row.
+ An object that contains each value in the row as a property.
+
+
+ Gets the instance that the row belongs to.
+ The instance that contains the row.
+
+
+ Represents an object that lets you display and manage images in a web page.
+
+
+ Initializes a new instance of the class using a byte array to represent the image.
+ The image.
+
+
+ Initializes a new instance of the class using a stream to represent the image.
+ The image.
+
+
+ Initializes a new instance of the class using a path to represent the image location.
+ The path of the file that contains the image.
+
+
+ Adds a watermark image using a path to the watermark image.
+ The watermarked image.
+ The path of a file that contains the watermark image.
+ The width, in pixels, of the watermark image.
+ The height, in pixels, of the watermark image.
+ The horizontal alignment for watermark image. Values can be "Left", "Right", or "Center".
+ The vertical alignment for the watermark image. Values can be "Top", "Middle", or "Bottom".
+ The opacity for the watermark image, specified as a value between 0 and 100.
+ The size, in pixels, of the padding around the watermark image.
+
+
+ Adds a watermark image using the specified image object.
+ The watermarked image.
+ A object.
+ The width, in pixels, of the watermark image.
+ The height, in pixels, of the watermark image.
+ The horizontal alignment for watermark image. Values can be "Left", "Right", or "Center".
+ The vertical alignment for the watermark image. Values can be "Top", "Middle", or "Bottom".
+ The opacity for the watermark image, specified as a value between 0 and 100.
+ The size, in pixels, of the padding around the watermark image.
+
+
+ Adds watermark text to the image.
+ The watermarked image.
+ The text to use as a watermark.
+ The color of the watermark text.
+ The font size of the watermark text.
+ The font style of the watermark text.
+ The font type of the watermark text.
+ The horizontal alignment for watermark text. Values can be "Left", "Right", or "Center".
+ The vertical alignment for the watermark text. Values can be "Top", "Middle", or "Bottom".
+ The opacity for the watermark image, specified as a value between 0 and 100.
+ The size, in pixels, of the padding around the watermark text.
+
+
+ Copies the object.
+ The image.
+
+
+ Crops an image.
+ The cropped image.
+ The number of pixels to remove from the top.
+ The number of pixels to remove from the left.
+ The number of pixels to remove from the bottom.
+ The number of pixels to remove from the right.
+
+
+ Gets or sets the file name of the object.
+ The file name.
+
+
+ Flips an image horizontally.
+ The flipped image.
+
+
+ Flips an image vertically.
+ The flipped image.
+
+
+ Returns the image as a byte array.
+ The image.
+ The value of the object.
+
+
+ Returns an image that has been uploaded using the browser.
+ The image.
+ (Optional) The name of the file that has been posted. If no file name is specified, the first file that was uploaded is returned.
+
+
+ Gets the height, in pixels, of the image.
+ The height.
+
+
+ Gets the format of the image (for example, "jpeg" or "png").
+ The file format of the image.
+
+
+ Resizes an image.
+ The resized image.
+ The width, in pixels, of the object.
+ The height, in pixels, of the object.
+ true to preserve the aspect ratio of the image; otherwise, false.
+ true to prevent the enlargement of the image; otherwise, false.
+
+
+ Rotates an image to the left.
+ The rotated image.
+
+
+ Rotates an image to the right.
+ The rotated image.
+
+
+ Saves the image using the specified file name.
+ The image.
+ The path to save the image to.
+ The format to use when the image file is saved, such as "gif", or "png".
+ true to force the correct file-name extension to be used for the format that is specified in ; otherwise, false. If there is a mismatch between the file type and the specified file-name extension, and if is true, the correct extension will be appended to the file name. For example, a PNG file named Photograph.txt is saved using the name Photograph.txt.png.
+
+
+ Gets the width, in pixels, of the image.
+ The width.
+
+
+ Renders an image to the browser.
+ The image.
+ (Optional) The file format to use when the image is written.
+
+
+ Provides a way to construct and send an email message using Simple Mail Transfer Protocol (SMTP).
+
+
+ Gets or sets a value that indicates whether Secure Sockets Layer (SSL) is used to encrypt the connection when an email message is sent.
+ true if SSL is used to encrypt the connection; otherwise, false.
+
+
+ Gets or sets the email address of the sender.
+ The email address of the sender.
+
+
+ Gets or sets the password of the sender's email account.
+ The sender's password.
+
+
+ Sends the specified message to an SMTP server for delivery.
+ The email address of the recipient or recipients. Separate multiple recipients using a semicolon (;).
+ The subject line for the email message.
+ The body of the email message. If is true, HTML in the body is interpreted as markup.
+ (Optional) The email address of the message sender, or null to not specify a sender. The default value is null.
+ (Optional) The email addresses of additional recipients to send a copy of the message to, or null if there are no additional recipients. Separate multiple recipients using a semicolon (;). The default value is null.
+ (Optional) A collection of file names that specifies the files to attach to the email message, or null if there are no files to attach. The default value is null.
+ (Optional) true to specify that the email message body is in HTML format; false to indicate that the body is in plain-text format. The default value is true.
+ (Optional) A collection of headers to add to the normal SMTP headers included in this email message, or null to send no additional headers. The default value is null.
+ (Optional) The email addresses of additional recipients to send a "blind" copy of the message to, or null if there are no additional recipients. Separate multiple recipients using a semicolon (;). The default value is null.
+ (Optional) The encoding to use for the body of the message. Possible values are property values for the class, such as . The default value is null.
+ (Optional) The encoding to use for the header of the message. Possible values are property values for the class, such as . The default value is null.
+ (Optional) A value ("Normal", "Low", "High") that specifies the priority of the message. The default is "Normal".
+ (Optional) The email address that will be used when the recipient replies to the message. The default value is null, which indicates that the reply address is the value of the From property.
+
+
+ Gets or sets the port that is used for SMTP transactions.
+ The port that is used for SMTP transactions.
+
+
+ Gets or sets the name of the SMTP server that is used to transmit the email message.
+ The SMTP server.
+
+
+ Gets or sets a value that indicates whether the default credentials are sent with the requests.
+ true if credentials are sent with the email message; otherwise, false.
+
+
+ Gets or sets the name of email account that is used to send email.
+ The name of the user account.
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/System.Web.Http.WebHost.dll b/Blog/bin/System.Web.Http.WebHost.dll
new file mode 100644
index 0000000..4f2b581
Binary files /dev/null and b/Blog/bin/System.Web.Http.WebHost.dll differ
diff --git a/Blog/bin/System.Web.Http.WebHost.xml b/Blog/bin/System.Web.Http.WebHost.xml
new file mode 100644
index 0000000..89aabcc
--- /dev/null
+++ b/Blog/bin/System.Web.Http.WebHost.xml
@@ -0,0 +1,135 @@
+
+
+
+ System.Web.Http.WebHost
+
+
+
+ Provides a global for ASP.NET applications.
+
+
+
+
+
+ Gets the global .
+
+
+ Extension methods for
+
+
+ Maps the specified route template.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+
+
+ Maps the specified route template and sets default route.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+ An object that contains default route values.
+
+
+ Maps the specified route template and sets default route values and constraints.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+ An object that contains default route values.
+ A set of expressions that specify values for routeTemplate.
+
+
+ Maps the specified route template and sets default route values, constraints, and end-point message handler.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+ An object that contains default route values.
+ A set of expressions that specify values for routeTemplate.
+ The handler to which the request will be dispatched.
+
+
+ A that passes ASP.NET requests into the pipeline and write the result back.
+
+
+ Initializes a new instance of the class.
+ The route data.
+
+
+ Initializes a new instance of the class.
+ The route data.
+ The message handler to dispatch requests to.
+
+
+ Provides code that handles an asynchronous task
+ The asynchronous task.
+ The HTTP context.
+
+
+ A that returns instances of that can pass requests to a given instance.
+
+
+ Initializes a new instance of the class.
+
+
+ Provides the object that processes the request.
+ An object that processes the request.
+ An object that encapsulates information about the request.
+
+
+ Gets the singleton instance.
+
+
+ Provides the object that processes the request.
+ An object that processes the request.
+ An object that encapsulates information about the request.
+
+
+ Provides a registration point for the simple membership pre-application start code.
+
+
+ Registers the simple membership pre-application start code.
+
+
+ Represents the web host buffer policy selector.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets a value that indicates whether the host should buffer the entity body of the HTTP request.
+ true if buffering should be used; otherwise a streamed request should be used.
+ The host context.
+
+
+ Uses a buffered output stream for the web host.
+ A buffered output stream.
+ The response.
+
+
+ Provides the catch blocks used within this assembly.
+
+
+ Gets the label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteBufferedResponseContentAsync.
+ The label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteBufferedResponseContentAsync.
+
+
+ Gets the label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteErrorResponseContentAsync.
+ The label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteErrorResponseContentAsync.
+
+
+ Gets the label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.ComputeContentLength.
+ The label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.ComputeContentLength.
+
+
+ Gets the label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteStreamedResponseContentAsync.
+ The label for the catch block in System.Web.Http.WebHost.HttpControllerHandler.WriteStreamedResponseContentAsync.
+
+
+ Gets the label for the catch block in System.Web.Http.WebHost.WebHostExceptionCatchBlocks.HttpWebRoute.GetRouteData.
+ The catch block in System.Web.Http.WebHost.WebHostExceptionCatchBlocks.HttpWebRoute.GetRouteData.
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/System.Web.Http.dll b/Blog/bin/System.Web.Http.dll
new file mode 100644
index 0000000..e1dbdd1
Binary files /dev/null and b/Blog/bin/System.Web.Http.dll differ
diff --git a/Blog/bin/System.Web.Http.xml b/Blog/bin/System.Web.Http.xml
new file mode 100644
index 0000000..365dd7b
--- /dev/null
+++ b/Blog/bin/System.Web.Http.xml
@@ -0,0 +1,6664 @@
+
+
+
+ System.Web.Http
+
+
+
+
+ Creates an that represents an exception.
+ The request must be associated with an instance.An whose content is a serialized representation of an instance.
+ The HTTP request.
+ The status code of the response.
+ The exception.
+
+
+ Creates an that represents an error message.
+ The request must be associated with an instance.An whose content is a serialized representation of an instance.
+ The HTTP request.
+ The status code of the response.
+ The error message.
+
+
+ Creates an that represents an exception with an error message.
+ The request must be associated with an instance.An whose content is a serialized representation of an instance.
+ The HTTP request.
+ The status code of the response.
+ The error message.
+ The exception.
+
+
+ Creates an that represents an error.
+ The request must be associated with an instance.An whose content is a serialized representation of an instance.
+ The HTTP request.
+ The status code of the response.
+ The HTTP error.
+
+
+ Creates an that represents an error in the model state.
+ The request must be associated with an instance.An whose content is a serialized representation of an instance.
+ The HTTP request.
+ The status code of the response.
+ The model state.
+
+
+ Creates an wired up to the associated .
+ An initialized wired up to the associated .
+ The HTTP request message which led to this response message.
+ The HTTP response status code.
+ The content of the HTTP response message.
+ The type of the HTTP response message.
+
+
+ Creates an wired up to the associated .
+ An initialized wired up to the associated .
+ The HTTP request message which led to this response message.
+ The HTTP response status code.
+ The content of the HTTP response message.
+ The media type formatter.
+ The type of the HTTP response message.
+
+
+ Creates an wired up to the associated .
+ An initialized wired up to the associated .
+ The HTTP request message which led to this response message.
+ The HTTP response status code.
+ The content of the HTTP response message.
+ The media type formatter.
+ The media type header value.
+ The type of the HTTP response message.
+
+
+ Creates an wired up to the associated .
+ An initialized wired up to the associated .
+ The HTTP request message which led to this response message.
+ The HTTP response status code.
+ The content of the HTTP response message.
+ The media type formatter.
+ The media type.
+ The type of the HTTP response message.
+
+
+ Creates an wired up to the associated .
+ An initialized wired up to the associated .
+ The HTTP request message which led to this response message.
+ The HTTP response status code.
+ The content of the HTTP response message.
+ The media type header value.
+ The type of the HTTP response message.
+
+
+ Creates an wired up to the associated .
+ An initialized wired up to the associated .
+ The HTTP request message which led to this response message.
+ The HTTP response status code.
+ The content of the HTTP response message.
+ The media type.
+ The type of the HTTP response message.
+
+
+ Creates an wired up to the associated .
+ An initialized wired up to the associated .
+ The HTTP request message which led to this response message.
+ The HTTP response status code.
+ The content of the HTTP response message.
+ The HTTP configuration which contains the dependency resolver used to resolve services.
+ The type of the HTTP response message.
+
+
+
+
+
+ Disposes of all tracked resources associated with the which were added via the method.
+ The HTTP request.
+
+
+
+ Gets the current X.509 certificate from the given HTTP request.
+ The current , or null if a certificate is not available.
+ The HTTP request.
+
+
+ Retrieves the for the given request.
+ The for the given request.
+ The HTTP request.
+
+
+ Retrieves the which has been assigned as the correlation ID associated with the given . The value will be created and set the first time this method is called.
+ The object that represents the correlation ID associated with the request.
+ The HTTP request.
+
+
+ Retrieves the for the given request or null if not available.
+ The for the given request or null if not available.
+ The HTTP request.
+
+
+ Gets the parsed query string as a collection of key-value pairs.
+ The query string as a collection of key-value pairs.
+ The HTTP request.
+
+
+
+
+ Retrieves the for the given request or null if not available.
+ The for the given request or null if not available.
+ The HTTP request.
+
+
+ Retrieves the for the given request or null if not available.
+ The for the given request or null if not available.
+ The HTTP request.
+
+
+ Gets a instance for an HTTP request.
+ A instance that is initialized for the specified HTTP request.
+ The HTTP request.
+
+
+
+
+
+ Adds the given to a list of resources that will be disposed by a host once the is disposed.
+ The HTTP request controlling the lifecycle of .
+ The resource to dispose when is being disposed.
+
+
+
+
+
+
+ Represents the message extensions for the HTTP response from an ASP.NET operation.
+
+
+ Attempts to retrieve the value of the content for the .
+ The result of the retrieval of value of the content.
+ The response of the operation.
+ The value of the content.
+ The type of the value to retrieve.
+
+
+ Represents extensions for adding items to a .
+
+
+
+
+ Provides s from path extensions appearing in a .
+
+
+ Initializes a new instance of the class.
+ The extension corresponding to mediaType. This value should not include a dot or wildcards.
+ The that will be returned if uriPathExtension is matched.
+
+
+ Initializes a new instance of the class.
+ The extension corresponding to mediaType. This value should not include a dot or wildcards.
+ The media type that will be returned if uriPathExtension is matched.
+
+
+ Returns a value indicating whether this instance can provide a for the of request.
+ If this instance can match a file extension in request it returns 1.0 otherwise 0.0.
+ The to check.
+
+
+ Gets the path extension.
+ The path extension.
+
+
+ The path extension key.
+
+
+ Represents an attribute that specifies which HTTP methods an action method will respond to.
+
+
+ Initializes a new instance of the class by using the action method it will respond to.
+ The HTTP method that the action method will respond to.
+
+
+ Initializes a new instance of the class by using a list of HTTP methods that the action method will respond to.
+ The HTTP methods that the action method will respond to.
+
+
+ Gets or sets the list of HTTP methods that the action method will respond to.
+ Gets or sets the list of HTTP methods that the action method will respond to.
+
+
+ Represents an attribute that is used for the name of an action.
+
+
+ Initializes a new instance of the class.
+ The name of the action.
+
+
+ Gets or sets the name of the action.
+ The name of the action.
+
+
+ Specifies that actions and controllers are skipped by during authorization.
+
+
+ Initializes a new instance of the class.
+
+
+ Defines properties and methods for API controller.
+
+
+
+ Gets the action context.
+ The action context.
+
+
+ Creates a .
+ A .
+
+
+ Creates an (400 Bad Request) with the specified error message.
+ An with the specified model state.
+ The user-visible error message.
+
+
+ Creates an with the specified model state.
+ An with the specified model state.
+ The model state to include in the error.
+
+
+ Gets the of the current .
+ The of the current .
+
+
+ Creates a (409 Conflict).
+ A .
+
+
+ Creates a <see cref="T:System.Web.Http.NegotiatedContentResult`1" /> with the specified values.
+ A <see cref="T:System.Web.Http.NegotiatedContentResult`1" /> with the specified values.
+ The HTTP status code for the response message.
+ The content value to negotiate and format in the entity body.
+ The type of content in the entity body.
+
+
+ Creates a <see cref="T:System.Web.Http.FormattedContentResult`1" /> with the specified values.
+ A <see cref="T:System.Web.Http.FormattedContentResult`1" /> with the specified values.
+ The HTTP status code for the response message.
+ The content value to format in the entity body.
+ The formatter to use to format the content.
+ The type of content in the entity body.
+
+
+ Creates a <see cref="T:System.Web.Http.FormattedContentResult`1" /> with the specified values.
+ A <see cref="T:System.Web.Http.FormattedContentResult`1" /> with the specified values.
+ The HTTP status code for the response message.
+ The content value to format in the entity body.
+ The formatter to use to format the content.
+ The value for the Content-Type header, or <see langword="null" /> to have the formatter pick a default value.
+ The type of content in the entity body.
+
+
+ Creates a <see cref="T:System.Web.Http.FormattedContentResult`1" /> with the specified values.
+ A <see cref="T:System.Web.Http.FormattedContentResult`1" /> with the specified values.
+ The HTTP status code for the response message.
+ The content value to format in the entity body.
+ The formatter to use to format the content.
+ The value for the Content-Type header.
+ The type of content in the entity body.
+
+
+ Gets the of the current .
+ The of the current .
+
+
+ Creates a (201 Created) with the specified values.
+ A with the specified values.
+ The location at which the content has been created.
+ The content value to negotiate and format in the entity body.
+ The type of content in the entity body.
+
+
+ Creates a (201 Created) with the specified values.
+ A with the specified values.
+ The location at which the content has been created.
+ The content value to negotiate and format in the entity body.
+ The type of content in the entity body.
+
+
+ Creates a (201 Created) with the specified values.
+ A with the specified values.
+ The name of the route to use for generating the URL.
+ The route data to use for generating the URL.
+ The content value to negotiate and format in the entity body.
+ The type of content in the entity body.
+
+
+ Creates a (201 Created) with the specified values.
+ A with the specified values.
+ The name of the route to use for generating the URL.
+ The route data to use for generating the URL.
+ The content value to negotiate and format in the entity body.
+ The type of content in the entity body.
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Releases the unmanaged resources that are used by the object and, optionally, releases the managed resources.
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ Executes asynchronously a single HTTP operation.
+ The newly started task.
+ The controller context for a single HTTP operation.
+ The cancellation token assigned for the HTTP operation.
+
+
+ Initializes the instance with the specified controllerContext.
+ The object that is used for the initialization.
+
+
+ Creates an (500 Internal Server Error).
+ A .
+
+
+ Creates an (500 Internal Server Error) with the specified exception.
+ An with the specified exception.
+ The exception to include in the error.
+
+
+ Creates a (200 OK) with the specified value.
+ A with the specified value.
+ The content value to serialize in the entity body.
+ The type of content in the entity body.
+
+
+ Creates a (200 OK) with the specified values.
+ A with the specified values.
+ The content value to serialize in the entity body.
+ The serializer settings.
+ The type of content in the entity body.
+
+
+ Creates a (200 OK) with the specified values.
+ A with the specified values.
+ The content value to serialize in the entity body.
+ The serializer settings.
+ The content encoding.
+ The type of content in the entity body.
+
+
+ Gets the model state after the model binding process.
+ The model state after the model binding process.
+
+
+ Creates a .
+ A .
+
+
+ Creates an (200 OK).
+ An .
+
+
+ Creates an with the specified values.
+ An with the specified values.
+ The content value to negotiate and format in the entity body.
+ The type of content in the entity body.
+
+
+ Creates a redirect result (302 Found) with the specified value.
+ A redirect result (302 Found) with the specified value.
+ The location to redirect to.
+
+
+ Creates a redirect result (302 Found) with the specified value.
+ A redirect result (302 Found) with the specified value.
+ The location to redirect to.
+
+
+ Creates a redirect to route result (302 Found) with the specified values.
+ A redirect to route result (302 Found) with the specified values.
+ The name of the route to use for generating the URL.
+ The route data to use for generating the URL.
+
+
+ Creates a redirect to route result (302 Found) with the specified values.
+ A redirect to route result (302 Found) with the specified values.
+ The name of the route to use for generating the URL.
+ The route data to use for generating the URL.
+
+
+ Gets or sets the HttpRequestMessage of the current .
+ The HttpRequestMessage of the current .
+
+
+ Gets the request context.
+ The request context.
+
+
+ Creates a with the specified response.
+ A for the specified response.
+ The HTTP response message.
+
+
+ Creates a with the specified status code.
+ A with the specified status code.
+ The HTTP status code for the response message
+
+
+ Creates an (401 Unauthorized) with the specified values.
+ An with the specified values.
+ The WWW-Authenticate challenges.
+
+
+ Creates an (401 Unauthorized) with the specified values.
+ An with the specified values.
+ The WWW-Authenticate challenges.
+
+
+ Gets an instance of a , which is used to generate URLs to other APIs.
+ A , which is used to generate URLs to other APIs.
+
+
+ Returns the current principal associated with this request.
+ The current principal associated with this request.
+
+
+ Validates the given entity and adds the validation errors to the model state under the empty prefix, if any.
+ The entity being validated.
+ The type of the entity to be validated.
+
+
+ Validates the given entity and adds the validation errors to the model state, if any.
+ The entity being validated.
+ The key prefix under which the model state errors would be added in the model state.
+ The type of the entity to be validated.
+
+
+ Specifies the authorization filter that verifies the request's .
+
+
+ Initializes a new instance of the class.
+
+
+ Processes requests that fail authorization.
+ The context.
+
+
+ Indicates whether the specified control is authorized.
+ true if the control is authorized; otherwise, false.
+ The context.
+
+
+ Calls when an action is being authorized.
+ The context.
+ The context parameter is null.
+
+
+ Gets or sets the authorized roles.
+ The roles string.
+
+
+ Gets a unique identifier for this attribute.
+ A unique identifier for this attribute.
+
+
+ Gets or sets the authorized users.
+ The users string.
+
+
+ An attribute that specifies that an action parameter comes only from the entity body of the incoming .
+
+
+ Initializes a new instance of the class.
+
+
+ Gets a parameter binding.
+ The parameter binding.
+ The parameter description.
+
+
+ An attribute that specifies that an action parameter comes from the URI of the incoming .
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the value provider factories for the model binder.
+ A collection of objects.
+ The configuration.
+
+
+ Represents attributes that specifies that HTTP binding should exclude a property.
+
+
+ Initializes a new instance of the class.
+
+
+ Represents the required attribute for http binding.
+
+
+ Initializes a new instance of the class.
+
+
+ Represents a configuration of instances.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with an HTTP route collection.
+ The HTTP route collection to associate with this instance.
+
+
+ Gets or sets the dependency resolver associated with thisinstance.
+ The dependency resolver.
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Releases the unmanaged resources that are used by the object and, optionally, releases the managed resources.
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ Invoke the Intializer hook. It is considered immutable from this point forward. It's safe to call this multiple times.
+
+
+ Gets the list of filters that apply to all requests served using this instance.
+ The list of filters.
+
+
+ Gets the media-type formatters for this instance.
+ A collection of objects.
+
+
+ Gets or sets a value indicating whether error details should be included in error messages.
+ The value that indicates that error detail policy.
+
+
+ Gets or sets the action that will perform final initialization of the instance before it is used to process requests.
+ The action that will perform final initialization of the instance.
+
+
+ Gets an ordered list of instances to be invoked as an travels up the stack and an travels down in stack in return.
+ The message handler collection.
+
+
+ Gets the collection of rules for how parameters should be bound.
+ A collection of functions that can produce a parameter binding for a given parameter.
+
+
+ Gets the properties associated with this instance.
+ The that contains the properties.
+
+
+ Gets the associated with this instance.
+ The .
+
+
+ Gets the container of default services associated with this instance.
+ The that contains the default services for this instance.
+
+
+ Gets the root virtual path.
+ The root virtual path.
+
+
+ Contains extension methods for the class.
+
+
+
+
+ Maps the attribute-defined routes for the application.
+ The server configuration.
+ The to use for discovering and building routes.
+
+
+ Maps the attribute-defined routes for the application.
+ The server configuration.
+ The constraint resolver.
+
+
+ Maps the attribute-defined routes for the application.
+ The server configuration.
+ The to use for resolving inline constraints.
+ The to use for discovering and building routes.
+
+
+
+ Specifies that an action supports the DELETE HTTP method.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the http methods that correspond to this attribute.
+ The http methods that correspond to this attribute.
+
+
+ Defines a serializable container for storing error information. This information is stored as key/value pairs. The dictionary keys to look up standard error information are available on the type.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class for .
+ The exception to use for error information.
+ true to include the exception information in the error; false otherwise
+
+
+ Initializes a new instance of the class containing error message .
+ The error message to associate with this instance.
+
+
+ Initializes a new instance of the class for .
+ The invalid model state to use for error information.
+ true to include exception messages in the error; false otherwise
+
+
+ Gets or sets the message of the if available.
+ The message of the if available.
+
+
+ Gets or sets the type of the if available.
+ The type of the if available.
+
+
+ Gets a particular property value from this error instance.
+ A particular property value from this error instance.
+ The name of the error property.
+ The type of the property.
+
+
+ Gets the inner associated with this instance if available.
+ The inner associated with this instance if available.
+
+
+ Gets or sets the high-level, user-visible message explaining the cause of the error. Information carried in this field should be considered public in that it will go over the wire regardless of the . As a result care should be taken not to disclose sensitive information about the server or the application.
+ The high-level, user-visible message explaining the cause of the error. Information carried in this field should be considered public in that it will go over the wire regardless of the . As a result care should be taken not to disclose sensitive information about the server or the application.
+
+
+ Gets or sets a detailed description of the error intended for the developer to understand exactly what failed.
+ A detailed description of the error intended for the developer to understand exactly what failed.
+
+
+ Gets the containing information about the errors that occurred during model binding.
+ The containing information about the errors that occurred during model binding.
+
+
+ Gets or sets the stack trace information associated with this instance if available.
+ The stack trace information associated with this instance if available.
+
+
+ This method is reserved and should not be used.
+ Always returns null.
+
+
+ Generates an instance from its XML representation.
+ The XmlReader stream from which the object is deserialized.
+
+
+ Converts an instance into its XML representation.
+ The XmlWriter stream to which the object is serialized.
+
+
+ Provides keys to look up error information stored in the dictionary.
+
+
+ Provides a key for the ErrorCode.
+
+
+ Provides a key for the ExceptionMessage.
+
+
+ Provides a key for the ExceptionType.
+
+
+ Provides a key for the InnerException.
+
+
+ Provides a key for the MessageDetail.
+
+
+ Provides a key for the Message.
+
+
+ Provides a key for the MessageLanguage.
+
+
+ Provides a key for the ModelState.
+
+
+ Provides a key for the StackTrace.
+
+
+ Specifies that an action supports the GET HTTP method.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the http methods that correspond to this attribute.
+ The http methods that correspond to this attribute.
+
+
+ Specifies that an action supports the HEAD HTTP method.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the http methods that correspond to this attribute.
+ The http methods that correspond to this attribute.
+
+
+ Represents an attribute that is used to restrict an HTTP method so that the method handles only HTTP OPTIONS requests.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the http methods that correspond to this attribute.
+ The http methods that correspond to this attribute.
+
+
+ Specifies that an action supports the PATCH HTTP method.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the http methods that correspond to this attribute.
+ The http methods that correspond to this attribute.
+
+
+ Specifies that an action supports the POST HTTP method.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the http methods that correspond to this attribute.
+ The http methods that correspond to this attribute.
+
+
+ Represents an attribute that is used to restrict an HTTP method so that the method handles only HTTP PUT requests.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the http methods that correspond to this attribute.
+ The http methods that correspond to this attribute.
+
+
+ An exception that allows for a given to be returned to the client.
+
+
+ Initializes a new instance of the class.
+ The HTTP response to return to the client.
+
+
+ Initializes a new instance of the class.
+ The status code of the response.
+
+
+ Gets the HTTP response to return to the client.
+ The that represents the HTTP response.
+
+
+ A collection of instances.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The virtual path root.
+
+
+ Adds an instance to the collection.
+ The name of the route.
+ The instance to add to the collection.
+
+
+ Removes all items from the collection.
+
+
+ Determines whether the collection contains a specific .
+ true if the is found in the collection; otherwise, false.
+ The object to locate in the collection.
+
+
+ Determines whether the collection contains an element with the specified key.
+ true if the collection contains an element with the key; otherwise, false.
+ The key to locate in the collection.
+
+
+ Copies the instances of the collection to an array, starting at a particular array index.
+ The array that is the destination of the elements copied from the collection.
+ The zero-based index in at which copying begins.
+
+
+ Copies the route names and instances of the collection to an array, starting at a particular array index.
+ The array that is the destination of the elements copied from the collection.
+ The zero-based index in at which copying begins.
+
+
+ Gets the number of items in the collection.
+ The number of items in the collection.
+
+
+ Creates an instance.
+ The new instance.
+ The route template.
+ An object that contains the default route parameters.
+ An object that contains the route constraints.
+ The route data tokens.
+
+
+ Creates an instance.
+ The new instance.
+ The route template.
+ An object that contains the default route parameters.
+ An object that contains the route constraints.
+ The route data tokens.
+ The message handler for the route.
+
+
+ Creates an instance.
+ The new instance.
+ The route template.
+ An object that contains the default route parameters.
+ An object that contains the route constraints.
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Releases the unmanaged resources that are used by the object and, optionally, releases the managed resources.
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ Returns an enumerator that iterates through the collection.
+ An that can be used to iterate through the collection.
+
+
+ Gets the route data for a specified HTTP request.
+ An instance that represents the route data.
+ The HTTP request.
+
+
+ Gets a virtual path.
+ An instance that represents the virtual path.
+ The HTTP request.
+ The route name.
+ The route values.
+
+
+ Inserts an instance into the collection.
+ The zero-based index at which should be inserted.
+ The route name.
+ The to insert. The value cannot be null.
+
+
+ Gets a value indicating whether the collection is read-only.
+ true if the collection is read-only; otherwise, false.
+
+
+ Gets or sets the element at the specified index.
+ The at the specified index.
+ The index.
+
+
+ Gets or sets the element with the specified route name.
+ The at the specified index.
+ The route name.
+
+
+ Called internally to get the enumerator for the collection.
+ An that can be used to iterate through the collection.
+
+
+ Removes an instance from the collection.
+ true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the collection.
+ The name of the route to remove.
+
+
+ Adds an item to the collection.
+ The object to add to the collection.
+
+
+ Removes the first occurrence of a specific object from the collection.
+ true if was successfully removed from the collection; otherwise, false. This method also returns false if is not found in the original collection.
+ The object to remove from the collection.
+
+
+ Returns an enumerator that iterates through the collection.
+ An object that can be used to iterate through the collection.
+
+
+ Gets the with the specified route name.
+ true if the collection contains an element with the specified name; otherwise, false.
+ The route name.
+ When this method returns, contains the instance, if the route name is found; otherwise, null. This parameter is passed uninitialized.
+
+
+ Validates that a constraint is valid for an created by a call to the method.
+ The route template.
+ The constraint name.
+ The constraint object.
+
+
+ Gets the virtual path root.
+ The virtual path root.
+
+
+ Extension methods for
+
+
+ Ignores the specified route.
+ Returns .
+ A collection of routes for the application.
+ The name of the route to ignore.
+ The route template for the route.
+
+
+ Ignores the specified route.
+ Returns .
+ A collection of routes for the application.
+ The name of the route to ignore.
+ The route template for the route.
+ A set of expressions that specify values for the route template.
+
+
+ Maps the specified route for handling HTTP batch requests.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+ The for handling batch requests.
+
+
+ Maps the specified route template.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+
+
+ Maps the specified route template and sets default route values.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+ An object that contains default route values.
+
+
+ Maps the specified route template and sets default route values and constraints.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+ An object that contains default route values.
+ A set of expressions that specify values for .
+
+
+ Maps the specified route template and sets default route values, constraints, and end-point message handler.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The route template for the route.
+ An object that contains default route values.
+ A set of expressions that specify values for .
+ The handler to which the request will be dispatched.
+
+
+ Defines an implementation of an which dispatches an incoming and creates an as a result.
+
+
+ Initializes a new instance of the class, using the default configuration and dispatcher.
+
+
+ Initializes a new instance of the class with a specified dispatcher.
+ The HTTP dispatcher that will handle incoming requests.
+
+
+ Initializes a new instance of the class with a specified configuration.
+ The used to configure this instance.
+
+
+ Initializes a new instance of the class with a specified configuration and dispatcher.
+ The used to configure this instance.
+ The HTTP dispatcher that will handle incoming requests.
+
+
+ Gets the used to configure this instance.
+ The used to configure this instance.
+
+
+ Gets the HTTP dispatcher that handles incoming requests.
+ The HTTP dispatcher that handles incoming requests.
+
+
+ Releases the unmanaged resources that are used by the object and, optionally, releases the managed resources.
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ Prepares the server for operation.
+
+
+ Dispatches an incoming .
+ A task representing the asynchronous operation.
+ The request to dispatch.
+ The token to monitor for cancellation requests.
+
+
+ Defines a command that asynchronously creates an .
+
+
+ Creates an asynchronously.
+ A task that, when completed, contains the .
+ The token to monitor for cancellation requests.
+
+
+ Specifies whether error details, such as exception messages and stack traces, should be included in error messages.
+
+
+ Always include error details.
+
+
+ Use the default behavior for the host environment. For ASP.NET hosting, use the value from the customErrors element in the Web.config file. For self-hosting, use the value .
+
+
+ Only include error details when responding to a local request.
+
+
+ Never include error details.
+
+
+ Represents an attribute that is used to indicate that a controller method is not an action method.
+
+
+ Initializes a new instance of the class.
+
+
+ Represents a filter attribute that overrides action filters defined at a higher level.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets a value indicating whether the action filter allows multiple attribute.
+ true if the action filter allows multiple attribute; otherwise, false.
+
+
+ Gets the type of filters to override.
+ The type of filters to override.
+
+
+ Represents a filter attribute that overrides authentication filters defined at a higher level.
+
+
+
+
+
+ Represents a filter attribute that overrides authorization filters defined at a higher level.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets a Boolean value indicating whether more than one instance of the indicated attribute can be specified for a single program element.
+ true if more than one instance is allowed to be specified; otherwise, false.
+
+
+ Gets the type to filters override attributes.
+ The type to filters override attributes.
+
+
+ Represents a filter attribute that overrides exception filters defined at a higher level.
+
+
+
+
+
+ Attribute on a parameter or type that produces a . If the attribute is on a type-declaration, then it's as if that attribute is present on all action parameters of that type.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the parameter binding.
+ The parameter binding.
+ The parameter description.
+
+
+ Place on an action to expose it directly via a route.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The route template describing the URI pattern to match against.
+
+
+ Returns .
+
+
+ Returns .
+
+
+
+ Returns .
+
+
+ The class can be used to indicate properties about a route parameter (the literals and placeholders located within segments of a ). It can for example be used to indicate that a route parameter is optional.
+
+
+ An optional parameter.
+
+
+ Returns a that represents this instance.
+ A that represents this instance.
+
+
+ Annotates a controller with a route prefix that applies to all actions within the controller.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The route prefix for the controller.
+
+
+ Gets the route prefix.
+
+
+ Provides type-safe accessors for services obtained from a object.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Returns the registered unhandled exception handler, if any.
+ The registered unhandled exception hander, if present; otherwise, null.
+ The services container.
+
+
+ Returns the collection of registered unhandled exception loggers.
+ The collection of registered unhandled exception loggers.
+ The services container.
+
+
+ Gets the collection.
+ Returns a collection of objects.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance, or null if no instance was registered.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Gets the collection.
+ Returns a collection of objects.
+ The services container.
+
+
+ Gets the service.
+ Returns an instance.
+ The services container.
+
+
+ Gets the collection.
+ Returns a collection ofobjects.
+ The services container.
+
+
+ Gets the service.
+ Returns aninstance.
+ The services container.
+
+
+ Gets the service.
+ Returns aninstance.
+ The services container.
+
+
+ Gets the collection.
+ Returns a collection of objects.
+ The services container.
+
+
+ Represents an containing zero or one entities. Use together with an [EnableQuery] from the System.Web.Http.OData or System.Web.OData namespace.
+
+
+ Initializes a new instance of the class.
+ The containing zero or one entities.
+
+
+ Creates a from an . A helper method to instantiate a object without having to explicitly specify the type .
+ The created .
+ The containing zero or one entities.
+ The type of the data in the data source.
+
+
+ The containing zero or one entities.
+
+
+ Represents an containing zero or one entities. Use together with an [EnableQuery] from the System.Web.Http.OData or System.Web.OData namespace.
+ The type of the data in the data source.
+
+
+ Initializes a new instance of the class.
+ The containing zero or one entities.
+
+
+ The containing zero or one entities.
+
+
+ Defines the order of execution for batch requests.
+
+
+ Executes the batch requests non-sequentially.
+
+
+ Executes the batch requests sequentially.
+
+
+ Provides extension methods for the class.
+
+
+ Copies the properties from another .
+ The sub-request.
+ The batch request that contains the properties to copy.
+
+
+ Represents the default implementation of that encodes the HTTP request/response messages as MIME multipart.
+
+
+ Initializes a new instance of the class.
+ The for handling the individual batch requests.
+
+
+ Creates the batch response message.
+ The batch response message.
+ The responses for the batch requests.
+ The original request containing all the batch requests.
+ The cancellation token.
+
+
+ Executes the batch request messages.
+ A collection of for the batch requests.
+ The collection of batch request messages.
+ The cancellation token.
+
+
+ Gets or sets the execution order for the batch requests. The default execution order is sequential.
+ The execution order for the batch requests. The default execution order is sequential.
+
+
+ Converts the incoming batch request into a collection of request messages.
+ A collection of .
+ The request containing the batch request messages.
+ The cancellation token.
+
+
+ Processes the batch requests.
+ The result of the operation.
+ The batch request.
+ The cancellation token.
+
+
+ Gets the supported content types for the batch request.
+ The supported content types for the batch request.
+
+
+ Validates the incoming request that contains the batch request messages.
+ The request containing the batch request messages.
+
+
+ Defines the abstraction for handling HTTP batch requests.
+
+
+ Initializes a new instance of the class.
+ The for handling the individual batch requests.
+
+
+ Gets the invoker to send the batch requests to the .
+ The invoker to send the batch requests to the .
+
+
+ Processes the incoming batch request as a single .
+ The batch response.
+ The batch request.
+ The cancellation token.
+
+
+ Sends the batch handler asynchronously.
+ The result of the operation.
+ the send request.
+ The cancelation token.
+
+
+ Invokes the action methods of a controller.
+
+
+ Initializes a new instance of the class.
+
+
+ Asynchronously invokes the specified action by using the specified controller context.
+ The invoked action.
+ The controller context.
+ The cancellation token.
+
+
+ Represents a reflection based action selector.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the action mappings for the .
+ The action mappings.
+ The information that describes a controller.
+
+
+ Selects an action for the .
+ The selected action.
+ The controller context.
+
+
+ Represents a container for services that can be specific to a controller. This shadows the services from its parent . A controller can either set a service here, or fall through to the more global set of services.
+
+
+ Initializes a new instance of the class.
+ The parent services container.
+
+
+ Removes a single-instance service from the default services.
+ The type of service.
+
+
+ Gets a service of the specified type.
+ The first instance of the service, or null if the service is not found.
+ The type of service.
+
+
+ Gets the list of service objects for a given service type, and validates the service type.
+ The list of service objects of the specified type.
+ The service type.
+
+
+ Gets the list of service objects for a given service type.
+ The list of service objects of the specified type, or an empty list if the service is not found.
+ The type of service.
+
+
+ Queries whether a service type is single-instance.
+ true if the service type has at most one instance, or false if the service type supports multiple instances.
+ The service type.
+
+
+ Replaces a single-instance service object.
+ The service type.
+ The service object that replaces the previous instance.
+
+
+ Describes *how* the binding will happen and does not actually bind.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The back pointer to the action this binding is for.
+ The synchronous bindings for each parameter.
+
+
+ Gets or sets the back pointer to the action this binding is for.
+ The back pointer to the action this binding is for.
+
+
+ Executes asynchronously the binding for the given request context.
+ Task that is signaled when the binding is complete.
+ The action context for the binding. This contains the parameter dictionary that will get populated.
+ The cancellation token for cancelling the binding operation. Or a binder can also bind a parameter to this.
+
+
+ Gets or sets the synchronous bindings for each parameter.
+ The synchronous bindings for each parameter.
+
+
+ Contains information for the executing action.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The controller context.
+ The action descriptor.
+
+
+ Gets a list of action arguments.
+ A list of action arguments.
+
+
+ Gets or sets the action descriptor for the action context.
+ The action descriptor.
+
+
+ Gets or sets the controller context.
+ The controller context.
+
+
+ Gets the model state dictionary for the context.
+ The model state dictionary.
+
+
+ Gets the request message for the action context.
+ The request message for the action context.
+
+
+ Gets the current request context.
+ The current request context.
+
+
+ Gets or sets the response message for the action context.
+ The response message for the action context.
+
+
+ Contains extension methods for .
+
+
+
+
+
+
+
+
+
+
+ Provides information about the action methods.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with specified information that describes the controller of the action..
+ The information that describes the controller of the action.
+
+
+ Gets or sets the binding that describes the action.
+ The binding that describes the action.
+
+
+ Gets the name of the action.
+ The name of the action.
+
+
+ Gets or sets the action configuration.
+ The action configuration.
+
+
+ Gets the information that describes the controller of the action.
+ The information that describes the controller of the action.
+
+
+ Executes the described action and returns a that once completed will contain the return value of the action.
+ A that once completed will contain the return value of the action.
+ The controller context.
+ A list of arguments.
+ The cancellation token.
+
+
+ Returns the custom attributes associated with the action descriptor.
+ The custom attributes associated with the action descriptor.
+ The action descriptor.
+
+
+ Gets the custom attributes for the action.
+ The collection of custom attributes applied to this action.
+ true to search this action's inheritance chain to find the attributes; otherwise, false.
+ The type of attribute to search for.
+
+
+ Retrieves the filters for the given configuration and action.
+ The filters for the given configuration and action.
+
+
+ Retrieves the filters for the action descriptor.
+ The filters for the action descriptor.
+
+
+ Retrieves the parameters for the action descriptor.
+ The parameters for the action descriptor.
+
+
+ Gets the properties associated with this instance.
+ The properties associated with this instance.
+
+
+ Gets the converter for correctly transforming the result of calling ExecuteAsync(HttpControllerContext, IDictionaryString, Object)" into an instance of .
+ The action result converter.
+
+
+ Gets the return type of the descriptor.
+ The return type of the descriptor.
+
+
+ Gets the collection of supported HTTP methods for the descriptor.
+ The collection of supported HTTP methods for the descriptor.
+
+
+ Contains information for a single HTTP operation.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The request context.
+ The HTTP request.
+ The controller descriptor.
+ The controller.
+
+
+ Initializes a new instance of the class.
+ The configuration.
+ The route data.
+ The request.
+
+
+ Gets or sets the configuration.
+ The configuration.
+
+
+ Gets or sets the HTTP controller.
+ The HTTP controller.
+
+
+ Gets or sets the controller descriptor.
+ The controller descriptor.
+
+
+ Gets or sets the request.
+ The request.
+
+
+ Gets or sets the request context.
+
+
+ Gets or sets the route data.
+ The route data.
+
+
+ Represents information that describes the HTTP controller.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The configuration.
+ The controller name.
+ The controller type.
+
+
+ Gets or sets the configurations associated with the controller.
+ The configurations associated with the controller.
+
+
+ Gets or sets the name of the controller.
+ The name of the controller.
+
+
+ Gets or sets the type of the controller.
+ The type of the controller.
+
+
+ Creates a controller instance for the given .
+ The created controller instance.
+ The request message.
+
+
+ Retrieves a collection of custom attributes of the controller.
+ A collection of custom attributes.
+ The type of the object.
+
+
+ Returns a collection of attributes that can be assigned to <typeparamref name="T" /> for this descriptor's controller.
+ A collection of attributes associated with this controller.
+ true to search this controller's inheritance chain to find the attributes; otherwise, false.
+ Used to filter the collection of attributes. Use a value of to retrieve all attributes.
+
+
+ Returns a collection of filters associated with the controller.
+ A collection of filters associated with the controller.
+
+
+ Gets the properties associated with this instance.
+ The properties associated with this instance.
+
+
+ Contains settings for an HTTP controller.
+
+
+ Initializes a new instance of the class.
+ A configuration object that is used to initialize the instance.
+
+
+ Gets the collection of instances for the controller.
+ The collection of instances.
+
+
+ Gets the collection of parameter bindingfunctions for for the controller.
+ The collection of parameter binding functions.
+
+
+ Gets the collection of service instances for the controller.
+ The collection of service instances.
+
+
+ Describes how a parameter is bound. The binding should be static (based purely on the descriptor) and can be shared across requests.
+
+
+ Initializes a new instance of the class.
+ An that describes the parameters.
+
+
+ Gets the that was used to initialize this instance.
+ The instance.
+
+
+ If the binding is invalid, gets an error message that describes the binding error.
+ An error message. If the binding was successful, the value is null.
+
+
+ Asynchronously executes the binding for the given request.
+ A task object representing the asynchronous operation.
+ Metadata provider to use for validation.
+ The action context for the binding. The action context contains the parameter dictionary that will get populated with the parameter.
+ Cancellation token for cancelling the binding operation.
+
+
+ Gets the parameter value from argument dictionary of the action context.
+ The value for this parameter in the given action context, or null if the parameter has not yet been set.
+ The action context.
+
+
+ Gets a value that indicates whether the binding was successful.
+ true if the binding was successful; otherwise, false.
+
+
+ Sets the result of this parameter binding in the argument dictionary of the action context.
+ The action context.
+ The parameter value.
+
+
+ Returns a value indicating whether this instance will read the entity body of the HTTP message.
+ true if this will read the entity body; otherwise, false.
+
+
+ Represents the HTTP parameter descriptor.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The action descriptor.
+
+
+ Gets or sets the action descriptor.
+ The action descriptor.
+
+
+ Gets or sets the for the .
+ The for the .
+
+
+ Gets the default value of the parameter.
+ The default value of the parameter.
+
+
+ Retrieves a collection of the custom attributes from the parameter.
+ A collection of the custom attributes from the parameter.
+ The type of the custom attributes.
+
+
+ Gets a value that indicates whether the parameter is optional.
+ true if the parameter is optional; otherwise, false.
+
+
+ Gets or sets the parameter binding attribute.
+ The parameter binding attribute.
+
+
+ Gets the name of the parameter.
+ The name of the parameter.
+
+
+ Gets the type of the parameter.
+ The type of the parameter.
+
+
+ Gets the prefix of this parameter.
+ The prefix of this parameter.
+
+
+ Gets the properties of this parameter.
+ The properties of this parameter.
+
+
+ Represents the context associated with a request.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the client certificate.
+ Returns .
+
+
+ Gets or sets the configuration.
+ Returns .
+
+
+ Gets or sets a value indicating whether error details, such as exception messages and stack traces, should be included in the response for this request.
+ Returns .
+
+
+ Gets or sets a value indicating whether the request originates from a local address.
+ Returns .
+
+
+ .Gets or sets the principal
+ Returns .
+
+
+ Gets or sets the route data.
+ Returns .
+
+
+ Gets or sets the factory used to generate URLs to other APIs.
+ Returns .
+
+
+ Gets or sets the virtual path root.
+ Returns .
+
+
+
+
+ A contract for a conversion routine that can take the result of an action returned from <see cref="M:System.Web.Http.Controllers.HttpActionDescriptor.ExecuteAsync(System.Web.Http.Controllers.HttpControllerContext,System.Collections.Generic.IDictionary{System.String,System.Object})" /> and convert it to an instance of .
+
+
+ Converts the specified object to another object.
+ The converted object.
+ The controller context.
+ The action result.
+
+
+ Defines the method for retrieval of action binding associated with parameter value.
+
+
+ Gets the .
+ A object.
+ The action descriptor.
+
+
+ If a controller is decorated with an attribute with this interface, then it gets invoked to initialize the controller settings.
+
+
+ Callback invoked to set per-controller overrides for this controllerDescriptor.
+ The controller settings to initialize.
+ The controller descriptor. Note that the can be associated with the derived controller type given that is inherited.
+
+
+ Contains method that is used to invoke HTTP operation.
+
+
+ Executes asynchronously the HTTP operation.
+ The newly started task.
+ The execution context.
+ The cancellation token assigned for the HTTP operation.
+
+
+ Contains the logic for selecting an action method.
+
+
+ Returns a map, keyed by action string, of all that the selector can select. This is primarily called by to discover all the possible actions in the controller.
+ A map of that the selector can select, or null if the selector does not have a well-defined mapping of .
+ The controller descriptor.
+
+
+ Selects the action for the controller.
+ The action for the controller.
+ The context of the controller.
+
+
+ Represents an HTTP controller.
+
+
+ Executes the controller for synchronization.
+ The controller.
+ The current context for a test controller.
+ The notification that cancels the operation.
+
+
+ Defines extension methods for .
+
+
+ Binds parameter that results as an error.
+ The HTTP parameter binding object.
+ The parameter descriptor that describes the parameter to bind.
+ The error message that describes the reason for fail bind.
+
+
+ Bind the parameter as if it had the given attribute on the declaration.
+ The HTTP parameter binding object.
+ The parameter to provide binding for.
+ The attribute that describes the binding.
+
+
+ Binds parameter by parsing the HTTP body content.
+ The HTTP parameter binding object.
+ The parameter descriptor that describes the parameter to bind.
+
+
+ Binds parameter by parsing the HTTP body content.
+ The HTTP parameter binding object.
+ The parameter descriptor that describes the parameter to bind.
+ The list of formatters which provides selection of an appropriate formatter for serializing the parameter into object.
+
+
+ Binds parameter by parsing the HTTP body content.
+ The HTTP parameter binding object.
+ The parameter descriptor that describes the parameter to bind.
+ The list of formatters which provides selection of an appropriate formatter for serializing the parameter into object.
+ The body model validator used to validate the parameter.
+
+
+ Binds parameter by parsing the HTTP body content.
+ The HTTP parameter binding object.
+ The parameter descriptor that describes the parameter to bind.
+ The list of formatters which provides selection of an appropriate formatter for serializing the parameter into object.
+
+
+ Binds parameter by parsing the query string.
+ The HTTP parameter binding object.
+ The parameter descriptor that describes the parameter to bind.
+
+
+ Binds parameter by parsing the query string.
+ The HTTP parameter binding object.
+ The parameter descriptor that describes the parameter to bind.
+ The value provider factories which provide query string parameter data.
+
+
+ Binds parameter by parsing the query string.
+ The HTTP parameter binding object.
+ The parameter descriptor that describes the parameter to bind.
+ The model binder used to assemble the parameter into an object.
+
+
+ Binds parameter by parsing the query string.
+ The HTTP parameter binding object.
+ The parameter descriptor that describes the parameter to bind.
+ The model binder used to assemble the parameter into an object.
+ The value provider factories which provide query string parameter data.
+
+
+ Binds parameter by parsing the query string.
+ The HTTP parameter binding object.
+ The parameter descriptor that describes the parameter to bind.
+ The value provider factories which provide query string parameter data.
+
+
+ Represents a reflected synchronous or asynchronous action method.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with the specified descriptor and method details..
+ The controller descriptor.
+ The action-method information.
+
+
+ Gets the name of the action.
+ The name of the action.
+
+
+
+ Executes the described action and returns a that once completed will contain the return value of the action.
+ A [T:System.Threading.Tasks.Task`1"] that once completed will contain the return value of the action.
+ The context.
+ The arguments.
+ A cancellation token to cancel the action.
+
+
+ Returns an array of custom attributes defined for this member, identified by type.
+ An array of custom attributes or an empty array if no custom attributes exist.
+ true to search this action's inheritance chain to find the attributes; otherwise, false.
+ The type of the custom attributes.
+
+
+ Retrieves information about action filters.
+ The filter information.
+
+
+
+ Retrieves the parameters of the action method.
+ The parameters of the action method.
+
+
+ Gets or sets the action-method information.
+ The action-method information.
+
+
+ Gets the return type of this method.
+ The return type of this method.
+
+
+ Gets or sets the supported http methods.
+ The supported http methods.
+
+
+ Represents the reflected HTTP parameter descriptor.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The action descriptor.
+ The parameter information.
+
+
+ Gets the default value for the parameter.
+ The default value for the parameter.
+
+
+ Retrieves a collection of the custom attributes from the parameter.
+ A collection of the custom attributes from the parameter.
+ The type of the custom attributes.
+
+
+ Gets a value that indicates whether the parameter is optional.
+ true if the parameter is optional; otherwise false.
+
+
+ Gets or sets the parameter information.
+ The parameter information.
+
+
+ Gets the name of the parameter.
+ The name of the parameter.
+
+
+ Gets the type of the parameter.
+ The type of the parameter.
+
+
+ Represents a converter for actions with a return type of .
+
+
+ Initializes a new instance of the class.
+
+
+ Converts a object to another object.
+ The converted object.
+ The controller context.
+ The action result.
+
+
+ An abstract class that provides a container for services used by ASP.NET Web API.
+
+
+ Initializes a new instance of the class.
+
+
+ Adds a service to the end of services list for the given service type.
+ The service type.
+ The service instance.
+
+
+ Adds the services of the specified collection to the end of the services list for the given service type.
+ The service type.
+ The services to add.
+
+
+ Removes all the service instances of the given service type.
+ The service type to clear from the services list.
+
+
+ Removes all instances of a multi-instance service type.
+ The service type to remove.
+
+
+ Removes a single-instance service type.
+ The service type to remove.
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+ Searches for a service that matches the conditions defined by the specified predicate, and returns the zero-based index of the first occurrence.
+ The zero-based index of the first occurrence, if found; otherwise, -1.
+ The service type.
+ The delegate that defines the conditions of the element to search for.
+
+
+ Gets a service instance of a specified type.
+ The service type.
+
+
+ Gets a mutable list of service instances of a specified type.
+ A mutable list of service instances.
+ The service type.
+
+
+ Gets a collection of service instanes of a specified type.
+ A collection of service instances.
+ The service type.
+
+
+ Inserts a service into the collection at the specified index.
+ The service type.
+ The zero-based index at which the service should be inserted. If is passed, ensures the element is added to the end.
+ The service to insert.
+
+
+ Inserts the elements of the collection into the service list at the specified index.
+ The service type.
+ The zero-based index at which the new elements should be inserted. If is passed, ensures the elements are added to the end.
+ The collection of services to insert.
+
+
+ Determine whether the service type should be fetched with GetService or GetServices.
+ true iff the service is singular.
+ type of service to query
+
+
+ Removes the first occurrence of the given service from the service list for the given service type.
+ true if the item is successfully removed; otherwise, false.
+ The service type.
+ The service instance to remove.
+
+
+ Removes all the elements that match the conditions defined by the specified predicate.
+ The number of elements removed from the list.
+ The service type.
+ The delegate that defines the conditions of the elements to remove.
+
+
+ Removes the service at the specified index.
+ The service type.
+ The zero-based index of the service to remove.
+
+
+ Replaces all existing services for the given service type with the given service instance. This works for both singular and plural services.
+ The service type.
+ The service instance.
+
+
+ Replaces all instances of a multi-instance service with a new instance.
+ The type of service.
+ The service instance that will replace the current services of this type.
+
+
+ Replaces all existing services for the given service type with the given service instances.
+ The service type.
+ The service instances.
+
+
+ Replaces a single-instance service of a specified type.
+ The service type.
+ The service instance.
+
+
+ Removes the cached values for a single service type.
+ The service type.
+
+
+ A converter for creating responses from actions that return an arbitrary value.
+ The declared return type of an action.
+
+
+ Initializes a new instance of the class.
+
+
+ Converts the result of an action with arbitrary return type to an instance of .
+ The newly created object.
+ The action controller context.
+ The execution result.
+
+
+ Represents a converter for creating a response from actions that do not return a value.
+
+
+ Initializes a new instance of the class.
+
+
+ Converts the created response from actions that do not return a value.
+ The converted response.
+ The context of the controller.
+ The result of the action.
+
+
+ Represents a dependency injection container.
+
+
+ Starts a resolution scope.
+ The dependency scope.
+
+
+ Represents an interface for the range of the dependencies.
+
+
+ Retrieves a service from the scope.
+ The retrieved service.
+ The service to be retrieved.
+
+
+ Retrieves a collection of services from the scope.
+ The retrieved collection of services.
+ The collection of services to be retrieved.
+
+
+ Describes an API defined by relative URI path and HTTP method.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the action descriptor that will handle the API.
+ The action descriptor.
+
+
+ Gets or sets the documentation of the API.
+ The documentation.
+
+
+ Gets or sets the HTTP method.
+ The HTTP method.
+
+
+ Gets the ID. The ID is unique within .
+ The ID.
+
+
+ Gets the parameter descriptions.
+ The parameter descriptions.
+
+
+ Gets or sets the relative path.
+ The relative path.
+
+
+ Gets or sets the response description.
+ The response description.
+
+
+ Gets or sets the registered route for the API.
+ The route.
+
+
+ Gets the supported request body formatters.
+ The supported request body formatters.
+
+
+ Gets the supported response formatters.
+ The supported response formatters.
+
+
+ Explores the URI space of the service based on routes, controllers and actions available in the system.
+
+
+ Initializes a new instance of the class.
+ The configuration.
+
+
+ Gets the API descriptions. The descriptions are initialized on the first access.
+
+
+ Gets or sets the documentation provider. The provider will be responsible for documenting the API.
+ The documentation provider.
+
+
+ Gets a collection of HttpMethods supported by the action. Called when initializing the .
+ A collection of HttpMethods supported by the action.
+ The route.
+ The action descriptor.
+
+
+ Determines whether the action should be considered for generation. Called when initializing the .
+ true if the action should be considered for generation, false otherwise.
+ The action variable value from the route.
+ The action descriptor.
+ The route.
+
+
+ Determines whether the controller should be considered for generation. Called when initializing the .
+ true if the controller should be considered for generation, false otherwise.
+ The controller variable value from the route.
+ The controller descriptor.
+ The route.
+
+
+ This attribute can be used on the controllers and actions to influence the behavior of .
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets a value indicating whether to exclude the controller or action from the instances generated by .
+ true if the controller or action should be ignored; otherwise, false.
+
+
+ Describes a parameter on the API defined by relative URI path and HTTP method.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the documentation.
+ The documentation.
+
+
+ Gets or sets the name.
+ The name.
+
+
+ Gets or sets the parameter descriptor.
+ The parameter descriptor.
+
+
+ Gets or sets the source of the parameter. It may come from the request URI, request body or other places.
+ The source.
+
+
+ Describes where the parameter come from.
+
+
+ The parameter come from Body.
+
+
+ The parameter come from Uri.
+
+
+ The location is unknown.
+
+
+ Defines the interface for getting a collection of .
+
+
+ Gets the API descriptions.
+
+
+ Defines the provider responsible for documenting the service.
+
+
+ Gets the documentation based on .
+ The documentation for the controller.
+ The action descriptor.
+
+
+
+ Gets the documentation based on .
+ The documentation for the controller.
+ The parameter descriptor.
+
+
+
+ Describes the API response.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the declared response type.
+ The declared response type.
+
+
+ Gets or sets the response documentation.
+ The response documentation.
+
+
+ Gets or sets the actual response type.
+ The actual response type.
+
+
+ Use this to specify the entity type returned by an action when the declared return type is or . The will be read by when generating .
+
+
+ Initializes a new instance of the class.
+ The response type.
+
+
+ Gets the response type.
+
+
+ Provides an implementation of with no external dependencies.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a list of assemblies available for the application.
+ A <see cref="T:System.Collections.ObjectModel.Collection`1" /> of assemblies.
+
+
+ Represents a default implementation of an . A different implementation can be registered via the . We optimize for the case where we have an instance per instance but can support cases where there are many instances for one as well. In the latter case the lookup is slightly slower because it goes through the dictionary.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates the specified by using the given .
+ An instance of type .
+ The request message.
+ The controller descriptor.
+ The type of the controller.
+
+
+ Represents a default instance for choosing a given a . A different implementation can be registered via the .
+
+
+ Initializes a new instance of the class.
+ The configuration.
+
+
+ Specifies the suffix string in the controller name.
+
+
+ Returns a map, keyed by controller string, of all that the selector can select.
+ A map of all that the selector can select, or null if the selector does not have a well-defined mapping of .
+
+
+ Gets the name of the controller for the specified .
+ The name of the controller for the specified .
+ The HTTP request message.
+
+
+ Selects a for the given .
+ The instance for the given .
+ The HTTP request message.
+
+
+ Provides an implementation of with no external dependencies.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance using a predicate to filter controller types.
+ The predicate.
+
+
+ Returns a list of controllers available for the application.
+ An <see cref="T:System.Collections.Generic.ICollection`1" /> of controllers.
+ The assemblies resolver.
+
+
+ Gets a value whether the resolver type is a controller type predicate.
+ true if the resolver type is a controller type predicate; otherwise, false.
+
+
+ Dispatches an incoming to an implementation for processing.
+
+
+ Initializes a new instance of the class with the specified configuration.
+ The http configuration.
+
+
+ Gets the HTTP configuration.
+ The HTTP configuration.
+
+
+ Dispatches an incoming to an .
+ A representing the ongoing operation.
+ The request to dispatch
+ The cancellation token.
+
+
+ This class is the default endpoint message handler which examines the of the matched route, and chooses which message handler to call. If is null, then it delegates to .
+
+
+ Initializes a new instance of the class, using the provided and as the default handler.
+ The server configuration.
+
+
+ Initializes a new instance of the class, using the provided and .
+ The server configuration.
+ The default handler to use when the has no .
+
+
+ Sends an HTTP request as an asynchronous operation.
+ The task object representing the asynchronous operation.
+ The HTTP request message to send.
+ The cancellation token to cancel operation.
+
+
+ Provides an abstraction for managing the assemblies of an application. A different implementation can be registered via the .
+
+
+ Returns a list of assemblies available for the application.
+ An <see cref="T:System.Collections.Generic.ICollection`1" /> of assemblies.
+
+
+ Defines the methods that are required for an .
+
+
+ Creates an object.
+ An object.
+ The message request.
+ The HTTP controller descriptor.
+ The type of the controller.
+
+
+ Defines the methods that are required for an factory.
+
+
+ Returns a map, keyed by controller string, of all that the selector can select. This is primarily called by to discover all the possible controllers in the system.
+ A map of all that the selector can select, or null if the selector does not have a well-defined mapping of .
+
+
+ Selects a for the given .
+ An instance.
+ The request message.
+
+
+ Provides an abstraction for managing the controller types of an application. A different implementation can be registered via the DependencyResolver.
+
+
+ Returns a list of controllers available for the application.
+ An <see cref="T:System.Collections.Generic.ICollection`1" /> of controllers.
+ The resolver for failed assemblies.
+
+
+ Provides the catch blocks used within this assembly.
+
+
+ Gets the catch block in System.Web.Http.ExceptionHandling.ExceptionCatchBlocks.HttpBatchHandler.SendAsync.
+ The catch block in System.Web.Http.ExceptionHandling.ExceptionCatchBlocks.HttpBatchHandler.SendAsync.
+
+
+ Gets the catch block in System.Web.Http.ExceptionHandling.ExceptionCatchBlocks.HttpControllerDispatcher.SendAsync.
+ The catch block in System.Web.Http.ExceptionHandling.ExceptionCatchBlocks.HttpControllerDispatcher.SendAsync.
+
+
+ Gets the catch block in System.Web.Http.ExceptionHandling.ExceptionCatchBlocks.HttpServer.SendAsync.
+ The catch block in System.Web.Http.ExceptionHandling.ExceptionCatchBlocks.HttpServer.SendAsync.
+
+
+ Gets the catch block in System.Web.Http.ApiController.ExecuteAsync when using .
+ The catch block in System.Web.Http.ApiController.ExecuteAsync when using .
+
+
+ Represents an exception and the contextual data associated with it when it was caught.
+
+
+ Initializes a new instance of the class.
+ The caught exception.
+ The catch block where the exception was caught.
+
+
+ Initializes a new instance of the class.
+ The caught exception.
+ The catch block where the exception was caught.
+ The request being processed when the exception was caught.
+
+
+ Initializes a new instance of the class.
+ The caught exception.
+ The catch block where the exception was caught.
+ The request being processed when the exception was caught.
+ The repsonse being returned when the exception was caught.
+
+
+ Initializes a new instance of the class.
+ The caught exception.
+ The catch block where the exception was caught.
+ The action context in which the exception occurred.
+
+
+ Gets the action context in which the exception occurred, if available.
+ The action context in which the exception occurred, if available.
+
+
+ Gets the catch block in which the exception was caught.
+ The catch block in which the exception was caught.
+
+
+ Gets the controller context in which the exception occurred, if available.
+ The controller context in which the exception occurred, if available.
+
+
+ Gets the caught exception.
+ The caught exception.
+
+
+ Gets the request being processed when the exception was caught.
+ The request being processed when the exception was caught.
+
+
+ Gets the request context in which the exception occurred.
+ The request context in which the exception occurred.
+
+
+ Gets the response being sent when the exception was caught.
+ The response being sent when the exception was caught.
+
+
+ Represents the catch block location for an exception context.
+
+
+ Initializes a new instance of the class.
+ The label for the catch block where the exception was caught.
+ A value indicating whether the catch block where the exception was caught is the last one before the host.
+ A value indicating whether exceptions in the catch block can be handled after they are logged.
+
+
+ Gets a value indicating whether exceptions in the catch block can be handled after they are logged.
+ A value indicating whether exceptions in the catch block can be handled after they are logged.
+
+
+ Gets a value indicating whether the catch block where the exception was caught is the last one before the host.
+ A value indicating whether the catch block where the exception was caught is the last one before the host.
+
+
+ Gets a label for the catch block in which the exception was caught.
+ A label for the catch block in which the exception was caught.
+
+
+ Returns .
+
+
+ Represents an unhandled exception handler.
+
+
+ Initializes a new instance of the class.
+
+
+ When overridden in a derived class, handles the exception synchronously.
+ The exception handler context.
+
+
+ When overridden in a derived class, handles the exception asynchronously.
+ A task representing the asynchronous exception handling operation.
+ The exception handler context.
+ The token to monitor for cancellation requests.
+
+
+ Determines whether the exception should be handled.
+ true if the exception should be handled; otherwise, false.
+ The exception handler context.
+
+
+ Returns .
+
+
+ Represents the context within which unhandled exception handling occurs.
+
+
+ Initializes a new instance of the class.
+ The exception context.
+
+
+ Gets the catch block in which the exception was caught.
+ The catch block in which the exception was caught.
+
+
+ Gets the caught exception.
+ The caught exception.
+
+
+ Gets the exception context providing the exception and related data.
+ The exception context providing the exception and related data.
+
+
+ Gets the request being processed when the exception was caught.
+ The request being processed when the exception was caught.
+
+
+ Gets the request context in which the exception occurred.
+ The request context in which the exception occurred.
+
+
+ Gets or sets the result providing the response message when the exception is handled.
+ The result providing the response message when the exception is handled.
+
+
+ Provides extension methods for .
+
+
+ Calls an exception handler and determines the response handling it, if any.
+ A task that, when completed, contains the response message to return when the exception is handled, or null when the exception remains unhandled.
+ The unhandled exception handler.
+ The exception context.
+ The token to monitor for cancellation requests.
+
+
+ Represents an unhandled exception logger.
+
+
+ Initializes a new instance of the class.
+
+
+ When overridden in a derived class, logs the exception synchronously.
+ The exception logger context.
+
+
+ When overridden in a derived class, logs the exception asynchronously.
+ A task representing the asynchronous exception logging operation.
+ The exception logger context.
+ The token to monitor for cancellation requests.
+
+
+ Determines whether the exception should be logged.
+ true if the exception should be logged; otherwise, false.
+ The exception logger context.
+
+
+ Returns .
+
+
+ Represents the context within which unhandled exception logging occurs.
+
+
+ Initializes a new instance of the class.
+ The exception context.
+
+
+ Gets or sets a value indicating whether the exception can subsequently be handled by an to produce a new response message.
+ A value indicating whether the exception can subsequently be handled by an to produce a new response message.
+
+
+ Gets the catch block in which the exception was caught.
+ The catch block in which the exception was caught.
+
+
+ Gets the caught exception.
+ The caught exception.
+
+
+ Gets the exception context providing the exception and related data.
+ The exception context providing the exception and related data.
+
+
+ Gets the request being processed when the exception was caught.
+ The request being processed when the exception was caught.
+
+
+ Gets the request context in which the exception occurred.
+ The request context in which the exception occurred.
+
+
+ Provides extension methods for .
+
+
+ Calls an exception logger.
+ A task representing the asynchronous exception logging operation.
+ The unhandled exception logger.
+ The exception context.
+ The token to monitor for cancellation requests.
+
+
+ Creates exception services to call logging and handling from catch blocks.
+
+
+ Gets an exception handler that calls the registered handler service, if any, and ensures exceptions do not accidentally propagate to the host.
+ An exception handler that calls any registered handler and ensures exceptions do not accidentally propagate to the host.
+ The services container.
+
+
+ Gets an exception handler that calls the registered handler service, if any, and ensures exceptions do not accidentally propagate to the host.
+ An exception handler that calls any registered handler and ensures exceptions do not accidentally propagate to the host.
+ The configuration.
+
+
+ Gets an exception logger that calls all registered logger services.
+ A composite logger.
+ The services container.
+
+
+ Gets an exception logger that calls all registered logger services.
+ A composite logger.
+ The configuration.
+
+
+ Defines an unhandled exception handler.
+
+
+ Process an unhandled exception, either allowing it to propagate or handling it by providing a response message to return instead.
+ A task representing the asynchronous exception handling operation.
+ The exception handler context.
+ The token to monitor for cancellation requests.
+
+
+ Defines an unhandled exception logger.
+
+
+ Logs an unhandled exception.
+ A task representing the asynchronous exception logging operation.
+ The exception logger context.
+ The token to monitor for cancellation requests.
+
+
+ Provides information about an action method, such as its name, controller, parameters, attributes, and filters.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns the filters that are associated with this action method.
+ The filters that are associated with this action method.
+ The configuration.
+ The action descriptor.
+
+
+ Represents the base class for all action-filter attributes.
+
+
+ Initializes a new instance of the class.
+
+
+ Occurs after the action method is invoked.
+ The action executed context.
+
+
+
+ Occurs before the action method is invoked.
+ The action context.
+
+
+
+ Executes the filter action asynchronously.
+ The newly created task for this operation.
+ The action context.
+ The cancellation token assigned for this task.
+ The delegate function to continue after the action method is invoked.
+
+
+ Provides details for authorization filter.
+
+
+ Initializes a new instance of the class.
+
+
+ Calls when a process requests authorization.
+ The action context, which encapsulates information for using .
+
+
+
+ Executes the authorization filter during synchronization.
+ The authorization filter during synchronization.
+ The action context, which encapsulates information for using .
+ The cancellation token that cancels the operation.
+ A continuation of the operation.
+
+
+ Represents the configuration filter provider.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns the filters that are associated with this configuration method.
+ The filters that are associated with this configuration method.
+ The configuration.
+ The action descriptor.
+
+
+ Represents the attributes for the exception filter.
+
+
+ Initializes a new instance of the class.
+
+
+ Raises the exception event.
+ The context for the action.
+
+
+
+ Asynchronously executes the exception filter.
+ The result of the execution.
+ The context for the action.
+ The cancellation context.
+
+
+ Represents the base class for action-filter attributes.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets a value that indicates whether multiple filters are allowed.
+ true if multiple filters are allowed; otherwise, false.
+
+
+ Provides information about the available action filters.
+
+
+ Initializes a new instance of the class.
+ The instance of this class.
+ The scope of this class.
+
+
+ Gets or sets an instance of the .
+ A .
+
+
+ Gets or sets the scope .
+ The scope of the FilterInfo.
+
+
+ Defines values that specify the order in which filters run within the same filter type and filter order.
+
+
+ Specifies an order after Controller.
+
+
+ Specifies an order before Action and after Global.
+
+
+ Specifies an action before Controller.
+
+
+ Represents the action of the HTTP executed context.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The action context.
+ The exception.
+
+
+ Gets or sets the HTTP action context.
+ The HTTP action context.
+
+
+ Gets or sets the exception that was raised during the execution.
+ The exception that was raised during the execution.
+
+
+ Gets the object for the context.
+ The object for the context.
+
+
+ Gets or sets the for the context.
+ The for the context.
+
+
+ Represents an authentication challenge context containing information for executing an authentication challenge.
+
+
+ Initializes a new instance of the class.
+ The action context.
+ The current action result.
+
+
+ Gets the action context.
+
+
+ Gets the request message.
+
+
+ Gets or sets the action result to execute.
+
+
+ Represents an authentication context containing information for performing authentication.
+
+
+ Initializes a new instance of the class.
+ The action context.
+ The current principal.
+
+
+ Gets the action context.
+ The action context.
+
+
+ Gets or sets an action result that will produce an error response (if authentication failed; otherwise, null).
+ An action result that will produce an error response.
+
+
+ Gets or sets the authenticated principal.
+ The authenticated principal.
+
+
+ Gets the request message.
+ The request message.
+
+
+ Represents a collection of HTTP filters.
+
+
+ Initializes a new instance of the class.
+
+
+ Adds an item at the end of the collection.
+ The item to add to the collection.
+
+
+
+ Removes all item in the collection.
+
+
+ Determines whether the collection contains the specified item.
+ true if the collection contains the specified item; otherwise, false.
+ The item to check.
+
+
+ Gets the number of elements in the collection.
+ The number of elements in the collection.
+
+
+ Gets an enumerator that iterates through the collection.
+ An enumerator object that can be used to iterate through the collection.
+
+
+ Removes the specified item from the collection.
+ The item to remove in the collection.
+
+
+ Gets an enumerator that iterates through the collection.
+ An enumerator object that can be used to iterate through the collection.
+
+
+ Defines the methods that are used in an action filter.
+
+
+ Executes the filter action asynchronously.
+ The newly created task for this operation.
+ The action context.
+ The cancellation token assigned for this task.
+ The delegate function to continue after the action method is invoked.
+
+
+ Defines a filter that performs authentication.
+
+
+ Authenticates the request.
+ A Task that will perform authentication.
+ The authentication context.
+ The token to monitor for cancellation requests.
+
+
+
+ Defines the methods that are required for an authorization filter.
+
+
+ Executes the authorization filter to synchronize.
+ The authorization filter to synchronize.
+ The action context.
+ The cancellation token associated with the filter.
+ The continuation.
+
+
+ Defines the methods that are required for an exception filter.
+
+
+ Executes an asynchronous exception filter.
+ An asynchronous exception filter.
+ The action executed context.
+ The cancellation token.
+
+
+ Defines the methods that are used in a filter.
+
+
+ Gets or sets a value indicating whether more than one instance of the indicated attribute can be specified for a single program element.
+ true if more than one instance is allowed to be specified; otherwise, false. The default is false.
+
+
+ Provides filter information.
+
+
+ Returns an enumeration of filters.
+ An enumeration of filters.
+ The HTTP configuration.
+ The action descriptor.
+
+
+
+
+ Provides common keys for properties stored in the
+
+
+ Provides a key for the client certificate for this request.
+
+
+ Provides a key for the associated with this request.
+
+
+ Provides a key for the collection of resources that should be disposed when a request is disposed.
+
+
+ Provides a key for the associated with this request.
+
+
+ Provides a key for the associated with this request.
+
+
+ Provides a key for the associated with this request.
+
+
+ Provides a key that indicates whether error details are to be included in the response for this HTTP request.
+
+
+ Provides a key that indicates whether the request is a batch request.
+
+
+ Provides a key that indicates whether the request originates from a local address.
+
+
+ Provides a key that indicates whether the request failed to match a route.
+
+
+ Provides a key for the for this request.
+
+
+ Provides a key for the stored in . This is the correlation ID for that request.
+
+
+ Provides a key for the parsed query string stored in .
+
+
+ Provides a key for a delegate which can retrieve the client certificate for this request.
+
+
+ Provides a key for the current stored in Properties(). If Current() is null then no context is stored.
+
+
+ Interface for controlling the use of buffering requests and responses in the host. If a host provides support for buffering requests and/or responses then it can use this interface to determine the policy for when buffering is to be used.
+
+
+ Determines whether the host should buffer the entity body.
+ true if buffering should be used; otherwise a streamed request should be used.
+ The host context.
+
+
+ Determines whether the host should buffer the entity body.
+ true if buffering should be used; otherwise a streamed response should be used.
+ The HTTP response message.
+
+
+ Represents a message handler that suppresses host authentication results.
+
+
+ Initializes a new instance of the class.
+
+
+ Asynchronously sends a request message.
+ That task that completes the asynchronous operation.
+ The request message to send.
+ The cancellation token.
+
+
+ Represents the metadata class of the ModelMetadata.
+
+
+ Initializes a new instance of the class.
+ The provider.
+ The type of the container.
+ The model accessor.
+ The type of the model.
+ The name of the property.
+
+
+ Gets a dictionary that contains additional metadata about the model.
+ A dictionary that contains additional metadata about the model.
+
+
+ Gets or sets the type of the container for the model.
+ The type of the container for the model.
+
+
+ Gets or sets a value that indicates whether empty strings that are posted back in forms should be converted to null.
+ true if empty strings that are posted back in forms should be converted to null; otherwise, false. The default value is true.
+
+
+ Gets or sets the description of the model.
+ The description of the model. The default value is null.
+
+
+ Gets the display name for the model.
+ The display name for the model.
+
+
+ Gets a list of validators for the model.
+ A list of validators for the model.
+ The validator providers for the model.
+
+
+ Gets or sets a value that indicates whether the model is a complex type.
+ A value that indicates whether the model is considered a complex.
+
+
+ Gets a value that indicates whether the type is nullable.
+ true if the type is nullable; otherwise, false.
+
+
+ Gets or sets a value that indicates whether the model is read-only.
+ true if the model is read-only; otherwise, false.
+
+
+ Gets the value of the model.
+ The model value can be null.
+
+
+ Gets the type of the model.
+ The type of the model.
+
+
+ Gets a collection of model metadata objects that describe the properties of the model.
+ A collection of model metadata objects that describe the properties of the model.
+
+
+ Gets the property name.
+ The property name.
+
+
+ Gets or sets the provider.
+ The provider.
+
+
+ Provides an abstract base class for a custom metadata provider.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets a ModelMetadata object for each property of a model.
+ A ModelMetadata object for each property of a model.
+ The container.
+ The type of the container.
+
+
+ Gets a metadata for the specified property.
+ The metadata model for the specified property.
+ The model accessor.
+ The type of the container.
+ The property to get the metadata model for.
+
+
+ Gets the metadata for the specified model accessor and model type.
+ The metadata.
+ The model accessor.
+ The type of the mode.
+
+
+ Provides an abstract class to implement a metadata provider.
+ The type of the model metadata.
+
+
+ Initializes a new instance of the class.
+
+
+ When overridden in a derived class, creates the model metadata for the property using the specified prototype.
+ The model metadata for the property.
+ The prototype from which to create the model metadata.
+ The model accessor.
+
+
+ When overridden in a derived class, creates the model metadata for the property.
+ The model metadata for the property.
+ The set of attributes.
+ The type of the container.
+ The type of the model.
+ The name of the property.
+
+
+ Retrieves a list of properties for the model.
+ A list of properties for the model.
+ The model container.
+ The type of the container.
+
+
+ Retrieves the metadata for the specified property using the container type and property name.
+ The metadata for the specified property.
+ The model accessor.
+ The type of the container.
+ The name of the property.
+
+
+ Returns the metadata for the specified property using the type of the model.
+ The metadata for the specified property.
+ The model accessor.
+ The type of the container.
+
+
+ Provides prototype cache data for .
+
+
+ Initializes a new instance of the class.
+ The attributes that provides data for the initialization.
+
+
+ Gets or sets the metadata display attribute.
+ The metadata display attribute.
+
+
+ Gets or sets the metadata display format attribute.
+ The metadata display format attribute.
+
+
+
+ Gets or sets the metadata editable attribute.
+ The metadata editable attribute.
+
+
+ Gets or sets the metadata read-only attribute.
+ The metadata read-only attribute.
+
+
+ Provides a container for common metadata, for the class, for a data model.
+
+
+ Initializes a new instance of the class.
+ The prototype used to initialize the model metadata.
+ The model accessor.
+
+
+ Initializes a new instance of the class.
+ The metadata provider.
+ The type of the container.
+ The type of the model.
+ The name of the property.
+ The attributes that provides data for the initialization.
+
+
+ Retrieves a value that indicates whether empty strings that are posted back in forms should be converted to null.
+ true if empty strings that are posted back in forms should be converted to null; otherwise, false.
+
+
+ Retrieves the description of the model.
+ The description of the model.
+
+
+ Retrieves a value that indicates whether the model is read-only.
+ true if the model is read-only; otherwise, false.
+
+
+
+ Provides prototype cache data for the .
+ The type of prototype cache.
+
+
+ Initializes a new instance of the class.
+ The prototype.
+ The model accessor.
+
+
+ Initializes a new instance of the class.
+ The provider.
+ The type of container.
+ The type of the model.
+ The name of the property.
+ The prototype cache.
+
+
+ Indicates whether empty strings that are posted back in forms should be computed and converted to null.
+ true if empty strings that are posted back in forms should be computed and converted to null; otherwise, false.
+
+
+ Indicates the computation value.
+ The computation value.
+
+
+ Gets a value that indicates whether the model is a complex type.
+ A value that indicates whether the model is considered a complex type by the Web API framework.
+
+
+ Gets a value that indicates whether the model to be computed is read-only.
+ true if the model to be computed is read-only; otherwise, false.
+
+
+ Gets or sets a value that indicates whether empty strings that are posted back in forms should be converted to null.
+ true if empty strings that are posted back in forms should be converted to null; otherwise, false. The default value is true.
+
+
+ Gets or sets the description of the model.
+ The description of the model.
+
+
+ Gets a value that indicates whether the model is a complex type.
+ A value that indicates whether the model is considered a complex type by the Web API framework.
+
+
+ Gets or sets a value that indicates whether the model is read-only.
+ true if the model is read-only; otherwise, false.
+
+
+ Gets or sets a value that indicates whether the prototype cache is updating.
+ true if the prototype cache is updating; otherwise, false.
+
+
+ Implements the default model metadata provider.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates the metadata from prototype for the specified property.
+ The metadata for the property.
+ The prototype.
+ The model accessor.
+
+
+ Creates the metadata for the specified property.
+ The metadata for the property.
+ The attributes.
+ The type of the container.
+ The type of the model.
+ The name of the property.
+
+
+ Represents an empty model metadata provider.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates metadata from prototype.
+ The metadata.
+ The model metadata prototype.
+ The model accessor.
+
+
+ Creates a prototype of the metadata provider of the .
+ A prototype of the metadata provider.
+ The attributes.
+ The type of container.
+ The type of model.
+ The name of the property.
+
+
+ Represents the binding directly to the cancellation token.
+
+
+ Initializes a new instance of the class.
+ The binding descriptor.
+
+
+ Executes the binding during synchronization.
+ The binding during synchronization.
+ The metadata provider.
+ The action context.
+ The notification after the cancellation of the operations.
+
+
+ Represents an attribute that invokes a custom model binder.
+
+
+ Initializes a new instance of the class.
+
+
+ Retrieves the associated model binder.
+ A reference to an object that implements the interface.
+
+
+ Represents the default action value of the binder.
+
+
+ Initializes a new instance of the class.
+
+
+ Default implementation of the interface. This interface is the primary entry point for binding action parameters.
+ The associated with the .
+ The action descriptor.
+
+
+ Gets the associated with the .
+ The associated with the .
+ The parameter descriptor.
+
+
+ Defines a binding error.
+
+
+ Initializes a new instance of the class.
+ The error descriptor.
+ The message.
+
+
+ Gets the error message.
+ The error message.
+
+
+ Executes the binding method during synchronization.
+ The metadata provider.
+ The action context.
+ The cancellation Token value.
+
+
+ Represents parameter binding that will read from the body and invoke the formatters.
+
+
+ Initializes a new instance of the class.
+ The descriptor.
+ The formatter.
+ The body model validator.
+
+
+ Gets or sets an interface for the body model validator.
+ An interface for the body model validator.
+
+
+ Gets the error message.
+ The error message.
+
+
+ Asynchronously execute the binding of .
+ The result of the action.
+ The metadata provider.
+ The context associated with the action.
+ The cancellation token.
+
+
+ Gets or sets an enumerable object that represents the formatter for the parameter binding.
+ An enumerable object that represents the formatter for the parameter binding.
+
+
+ Asynchronously reads the content of .
+ The result of the action.
+ The request.
+ The type.
+ The formatter.
+ The format logger.
+
+
+
+ Gets whether the will read body.
+ True if the will read body; otherwise, false.
+
+
+ Represents the extensions for the collection of form data.
+
+
+ Reads the collection extensions with specified type.
+ The read collection extensions.
+ The form data.
+ The generic type.
+
+
+ Reads the collection extensions with specified type.
+ The collection extensions.
+ The form data.
+ The name of the model.
+ The required member selector.
+ The formatter logger.
+ The generic type.
+
+
+
+
+
+ Reads the collection extensions with specified type.
+ The collection extensions with specified type.
+ The form data.
+ The type of the object.
+
+
+ Reads the collection extensions with specified type and model name.
+ The collection extensions.
+ The form data.
+ The type of the object.
+ The name of the model.
+ The required member selector.
+ The formatter logger.
+
+
+ Deserialize the form data to the given type, using model binding.
+ best attempt to bind the object. The best attempt may be null.
+ collection with parsed form url data
+ target type to read as
+ null or empty to read the entire form as a single object. This is common for body data. Or the name of a model to do a partial binding against the form data. This is common for extracting individual fields.
+ The used to determine required members.
+ The to log events to.
+ The configuration to pick binder from. Can be null if the config was not created already. In that case a new config is created.
+
+
+
+
+
+
+
+ Enumerates the behavior of the HTTP binding.
+
+
+ Never use HTTP binding.
+
+
+ The optional binding behavior
+
+
+ HTTP binding is required.
+
+
+ Provides a base class for model-binding behavior attributes.
+
+
+ Initializes a new instance of the class.
+ The behavior.
+
+
+ Gets or sets the behavior category.
+ The behavior category.
+
+
+ Gets the unique identifier for this attribute.
+ The id for this attribute.
+
+
+ Parameter binds to the request.
+
+
+ Initializes a new instance of the class.
+ The parameter descriptor.
+
+
+ Asynchronously executes parameter binding.
+ The binded parameter.
+ The metadata provider.
+ The action context.
+ The cancellation token.
+
+
+ Defines the methods that are required for a model binder.
+
+
+ Binds the model to a value by using the specified controller context and binding context.
+ true if model binding is successful; otherwise, false.
+ The action context.
+ The binding context.
+
+
+ Represents a value provider for parameter binding.
+
+
+ Gets the instances used by this parameter binding.
+ The instances used by this parameter binding.
+
+
+ Represents the class for handling HTML form URL-ended data, also known as application/x-www-form-urlencoded.
+
+
+ Initializes a new instance of the class.
+
+
+
+ Determines whether this can read objects of the specified .
+ true if objects of this type can be read; otherwise false.
+ The type of object that will be read.
+
+
+ Reads an object of the specified from the specified stream. This method is called during deserialization.
+ A whose result will be the object instance that has been read.
+ The type of object to read.
+ The from which to read.
+ The content being read.
+ The to log events to.
+
+
+ Specify this parameter uses a model binder. This can optionally specify the specific model binder and value providers that drive that model binder. Derived attributes may provide convenience settings for the model binder or value provider.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The type of model binder.
+
+
+ Gets or sets the type of model binder.
+ The type of model binder.
+
+
+ Gets the binding for a parameter.
+ The that contains the binding.
+ The parameter to bind.
+
+
+ Get the IModelBinder for this type.
+ a non-null model binder.
+ The configuration.
+ model type that the binder is expected to bind.
+
+
+ Gets the model binder provider.
+ The instance.
+ The configuration object.
+
+
+ Gets the value providers that will be fed to the model binder.
+ A collection of instances.
+ The configuration object.
+
+
+ Gets or sets the name to consider as the parameter name during model binding.
+ The parameter name to consider.
+
+
+ Gets or sets a value that specifies whether the prefix check should be suppressed.
+ true if the prefix check should be suppressed; otherwise, false.
+
+
+ Provides a container for model-binder configuration.
+
+
+ Gets or sets the name of the resource file (class key) that contains localized string values.
+ The name of the resource file (class key).
+
+
+ Gets or sets the current provider for type-conversion error message.
+ The current provider for type-conversion error message.
+
+
+ Gets or sets the current provider for value-required error messages.
+ The error message provider.
+
+
+ Provides a container for model-binder error message provider.
+
+
+ Describes a parameter that gets bound via ModelBinding.
+
+
+ Initializes a new instance of the class.
+ The parameter descriptor.
+ The model binder.
+ The collection of value provider factory.
+
+
+ Gets the model binder.
+ The model binder.
+
+
+ Asynchronously executes the parameter binding via the model binder.
+ The task that is signaled when the binding is complete.
+ The metadata provider to use for validation.
+ The action context for the binding.
+ The cancellation token assigned for this task for cancelling the binding operation.
+
+
+ Gets the collection of value provider factory.
+ The collection of value provider factory.
+
+
+ Provides an abstract base class for model binder providers.
+
+
+ Initializes a new instance of the class.
+
+
+ Finds a binder for the given type.
+ A binder, which can attempt to bind this type. Or null if the binder knows statically that it will never be able to bind the type.
+ A configuration object.
+ The type of the model to bind against.
+
+
+ Provides the context in which a model binder functions.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The binding context.
+
+
+ Gets or sets a value that indicates whether the binder should use an empty prefix.
+ true if the binder should use an empty prefix; otherwise, false.
+
+
+ Gets or sets the model.
+ The model.
+
+
+ Gets or sets the model metadata.
+ The model metadata.
+
+
+ Gets or sets the name of the model.
+ The name of the model.
+
+
+ Gets or sets the state of the model.
+ The state of the model.
+
+
+ Gets or sets the type of the model.
+ The type of the model.
+
+
+ Gets the property metadata.
+ The property metadata.
+
+
+ Gets or sets the validation node.
+ The validation node.
+
+
+ Gets or sets the value provider.
+ The value provider.
+
+
+ Represents an error that occurs during model binding.
+
+
+ Initializes a new instance of the class by using the specified exception.
+ The exception.
+
+
+ Initializes a new instance of the class by using the specified exception and error message.
+ The exception.
+ The error message
+
+
+ Initializes a new instance of the class by using the specified error message.
+ The error message
+
+
+ Gets or sets the error message.
+ The error message.
+
+
+ Gets or sets the exception object.
+ The exception object.
+
+
+ Represents a collection of instances.
+
+
+ Initializes a new instance of the class.
+
+
+ Adds the specified Exception object to the model-error collection.
+ The exception.
+
+
+ Adds the specified error message to the model-error collection.
+ The error message.
+
+
+ Encapsulates the state of model binding to a property of an action-method argument, or to the argument itself.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets a object that contains any errors that occurred during model binding.
+ The model state errors.
+
+
+ Gets a object that encapsulates the value that was being bound during model binding.
+ The model state value.
+
+
+ Represents the state of an attempt to bind a posted form to an action method, which includes validation information.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using values that are copied from the specified model-state dictionary.
+ The dictionary.
+
+
+ Adds the specified item to the model-state dictionary.
+ The object to add to the model-state dictionary.
+
+
+ Adds an element that has the specified key and value to the model-state dictionary.
+ The key of the element to add.
+ The value of the element to add.
+
+
+ Adds the specified model error to the errors collection for the model-state dictionary that is associated with the specified key.
+ The key.
+ The exception.
+
+
+ Adds the specified error message to the errors collection for the model-state dictionary that is associated with the specified key.
+ The key.
+ The error message.
+
+
+ Removes all items from the model-state dictionary.
+
+
+ Determines whether the model-state dictionary contains a specific value.
+ true if item is found in the model-state dictionary; otherwise, false.
+ The object to locate in the model-state dictionary.
+
+
+ Determines whether the model-state dictionary contains the specified key.
+ true if the model-state dictionary contains the specified key; otherwise, false.
+ The key to locate in the model-state dictionary.
+
+
+ Copies the elements of the model-state dictionary to an array, starting at a specified index.
+ The array. The array must have zero-based indexing.
+ The zero-based index in array at which copying starts.
+
+
+ Gets the number of key/value pairs in the collection.
+ The number of key/value pairs in the collection.
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Gets a value that indicates whether the collection is read-only.
+ true if the collection is read-only; otherwise, false.
+
+
+ Gets a value that indicates whether this instance of the model-state dictionary is valid.
+ true if this instance is valid; otherwise, false.
+
+
+ Determines whether there are any objects that are associated with or prefixed with the specified key.
+ true if the model-state dictionary contains a value that is associated with the specified key; otherwise, false.
+ The key.
+
+
+ Gets or sets the value that is associated with the specified key.
+ The model state item.
+ The key.
+
+
+ Gets a collection that contains the keys in the dictionary.
+ A collection that contains the keys of the model-state dictionary.
+
+
+ Copies the values from the specified object into this dictionary, overwriting existing values if keys are the same.
+ The dictionary.
+
+
+ Removes the first occurrence of the specified object from the model-state dictionary.
+ true if item was successfully removed the model-state dictionary; otherwise, false. This method also returns false if item is not found in the model-state dictionary.
+ The object to remove from the model-state dictionary.
+
+
+ Removes the element that has the specified key from the model-state dictionary.
+ true if the element is successfully removed; otherwise, false. This method also returns false if key was not found in the model-state dictionary.
+ The key of the element to remove.
+
+
+ Sets the value for the specified key by using the specified value provider dictionary.
+ The key.
+ The value.
+
+
+ Returns an enumerator that iterates through a collection.
+ An IEnumerator object that can be used to iterate through the collection.
+
+
+ Attempts to gets the value that is associated with the specified key.
+ true if the object contains an element that has the specified key; otherwise, false.
+ The key of the value to get.
+ The value associated with the specified key.
+
+
+ Gets a collection that contains the values in the dictionary.
+ A collection that contains the values of the model-state dictionary.
+
+
+ Collection of functions that can produce a parameter binding for a given parameter.
+
+
+ Initializes a new instance of the class.
+
+
+ Adds function to the end of the collection. The function added is a wrapper around funcInner that checks that parameterType matches typeMatch.
+ type to match against HttpParameterDescriptor.ParameterType
+ inner function that is invoked if type match succeeds
+
+
+ Insert a function at the specified index in the collection. /// The function added is a wrapper around funcInner that checks that parameterType matches typeMatch.
+ index to insert at.
+ type to match against HttpParameterDescriptor.ParameterType
+ inner function that is invoked if type match succeeds
+
+
+ Execute each binding function in order until one of them returns a non-null binding.
+ the first non-null binding produced for the parameter. Of null if no binding is produced.
+ parameter to bind.
+
+
+ Maps a browser request to an array.
+ The type of the array.
+
+
+ Initializes a new instance of the class.
+
+
+ Indicates whether the model is binded.
+ true if the specified model is binded; otherwise, false.
+ The action context.
+ The binding context.
+
+
+ Converts the collection to an array.
+ true in all cases.
+ The action context.
+ The binding context.
+ The new collection.
+
+
+ Provides a model binder for arrays.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a model binder for arrays.
+ A model binder object or null if the attempt to get a model binder is unsuccessful.
+ The configuration.
+ The type of model.
+
+
+ Maps a browser request to a collection.
+ The type of the collection.
+
+
+ Initializes a new instance of the class.
+
+
+ Binds the model by using the specified execution context and binding context.
+ true if model binding is successful; otherwise, false.
+ The action context.
+ The binding context.
+
+
+ Provides a way for derived classes to manipulate the collection before returning it from the binder.
+ true in all cases.
+ The action context.
+ The binding context.
+ The new collection.
+
+
+ Provides a model binder for a collection.
+
+
+ Initializes a new instance of the class.
+
+
+ Retrieves a model binder for a collection.
+ The model binder.
+ The configuration of the model.
+ The type of the model.
+
+
+ Represents a data transfer object (DTO) for a complex model.
+
+
+ Initializes a new instance of the class.
+ The model metadata.
+ The collection of property metadata.
+
+
+ Gets or sets the model metadata of the .
+ The model metadata of the .
+
+
+ Gets or sets the collection of property metadata of the .
+ The collection of property metadata of the .
+
+
+ Gets or sets the results of the .
+ The results of the .
+
+
+ Represents a model binder for object.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the specified model is binded.
+ true if the specified model is binded; otherwise, false.
+ The action context.
+ The binding context.
+
+
+ Represents a complex model that invokes a model binder provider.
+
+
+ Initializes a new instance of the class.
+
+
+ Retrieves the associated model binder.
+ The model binder.
+ The configuration.
+ The type of the model to retrieve.
+
+
+ Represents the result for object.
+
+
+ Initializes a new instance of the class.
+ The object model.
+ The validation node.
+
+
+ Gets or sets the model for this object.
+ The model for this object.
+
+
+ Gets or sets the for this object.
+ The for this object.
+
+
+ Represents an that delegates to one of a collection of instances.
+
+
+ Initializes a new instance of the class.
+ An enumeration of binders.
+
+
+ Initializes a new instance of the class.
+ An array of binders.
+
+
+ Indicates whether the specified model is binded.
+ true if the model is binded; otherwise, false.
+ The action context.
+ The binding context.
+
+
+ Represents the class for composite model binder providers.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ A collection of
+
+
+ Gets the binder for the model.
+ The binder for the model.
+ The binder configuration.
+ The type of the model.
+
+
+ Gets the providers for the composite model binder.
+ The collection of providers.
+
+
+ Maps a browser request to a dictionary data object.
+ The type of the key.
+ The type of the value.
+
+
+ Initializes a new instance of the class.
+
+
+ Converts the collection to a dictionary.
+ true in all cases.
+ The action context.
+ The binding context.
+ The new collection.
+
+
+ Provides a model binder for a dictionary.
+
+
+ Initializes a new instance of the class.
+
+
+ Retrieves the associated model binder.
+ The associated model binder.
+ The configuration to use.
+ The type of model.
+
+
+ Maps a browser request to a key/value pair data object.
+ The type of the key.
+ The type of the value.
+
+
+ Initializes a new instance of the class.
+
+
+ Binds the model by using the specified execution context and binding context.
+ true if model binding is successful; otherwise, false.
+ The action context.
+ The binding context.
+
+
+ Provides a model binder for a collection of key/value pairs.
+
+
+ Initializes a new instance of the class.
+
+
+ Retrieves the associated model binder.
+ The associated model binder.
+ The configuration.
+ The type of model.
+
+
+ Maps a browser request to a mutable data object.
+
+
+ Initializes a new instance of the class.
+
+
+ Binds the model by using the specified action context and binding context.
+ true if binding is successful; otherwise, false.
+ The action context.
+ The binding context.
+
+
+ Retrieves a value that indicates whether a property can be updated.
+ true if the property can be updated; otherwise, false.
+ The metadata for the property to be evaluated.
+
+
+ Creates an instance of the model.
+ The newly created model object.
+ The action context.
+ The binding context.
+
+
+ Creates a model instance if an instance does not yet exist in the binding context.
+ The action context.
+ The binding context.
+
+
+ Retrieves metadata for properties of the model.
+ The metadata for properties of the model.
+ The action context.
+ The binding context.
+
+
+ Sets the value of a specified property.
+ The action context.
+ The binding context.
+ The metadata for the property to set.
+ The validation information about the property.
+ The validator for the model.
+
+
+ Provides a model binder for mutable objects.
+
+
+ Initializes a new instance of the class.
+
+
+ Retrieves the model binder for the specified type.
+ The model binder.
+ The configuration.
+ The type of the model to retrieve.
+
+
+ Provides a simple model binder for this model binding class.
+
+
+ Initializes a new instance of the class.
+ The model type.
+ The model binder factory.
+
+
+ Initializes a new instance of the class by using the specified model type and the model binder.
+ The model type.
+ The model binder.
+
+
+ Returns a model binder by using the specified execution context and binding context.
+ The model binder, or null if the attempt to get a model binder is unsuccessful.
+ The configuration.
+ The model type.
+
+
+ Gets the type of the model.
+ The type of the model.
+
+
+ Gets or sets a value that specifies whether the prefix check should be suppressed.
+ true if the prefix check should be suppressed; otherwise, false.
+
+
+ Maps a browser request to a data object. This type is used when model binding requires conversions using a .NET Framework type converter.
+
+
+ Initializes a new instance of the class.
+
+
+ Binds the model by using the specified controller context and binding context.
+ true if model binding is successful; otherwise, false.
+ The action context.
+ The binding context.
+
+
+ Provides a model binder for a model that requires type conversion.
+
+
+ Initializes a new instance of the class.
+
+
+ Retrieve a model binder for a model that requires type conversion.
+ The model binder, or Nothing if the type cannot be converted or there is no value to convert.
+ The configuration of the binder.
+ The type of the model.
+
+
+ Maps a browser request to a data object. This class is used when model binding does not require type conversion.
+
+
+ Initializes a new instance of the class.
+
+
+ Binds the model by using the specified execution context and binding context.
+ true if model binding is successful; otherwise, false.
+ The action context.
+ The binding context.
+
+
+ Provides a model binder for a model that does not require type conversion.
+
+
+ Initializes a new instance of the class.
+
+
+ Retrieves the associated model binder.
+ The associated model binder.
+ The configuration.
+ The type of model.
+
+
+ Represents an action result that returns response and performs content negotiation on an see with .
+
+
+ Initializes a new instance of the class.
+ The user-visible error message.
+ The content negotiator to handle content negotiation.
+ The request message which led to this result.
+ The formatters to use to negotiate and format the content.
+
+
+ Initializes a new instance of the class.
+ The user-visible error message.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Gets the content negotiator to handle content negotiation.
+ Returns .
+
+
+ Returns .
+
+
+ Gets the formatters to use to negotiate and format the content.
+ Returns .
+
+
+ Gets the user-visible error message.
+ Returns .
+
+
+ Gets the request message which led to this result.
+ Returns .
+
+
+ Represents an action result that returns an empty response.
+
+
+ Initializes a new instance of the class.
+ The request message which led to this result.
+
+
+ Initializes a new instance of the class.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Asynchronously executes the request.
+ The task that completes the execute operation.
+ The cancellation token.
+
+
+ Gets the request message which led to this result.
+ The request message which led to this result.
+
+
+ Represents an action result that returns an empty HttpStatusCode.Conflict response.
+
+
+ Initializes a new instance of the class.
+ The request message which led to this result.
+
+
+ Initializes a new instance of the class.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Executes asynchronously the operation of the conflict result.
+ Asynchronously executes the specified task.
+ The cancellation token.
+
+
+ Gets the request message which led to this result.
+ The HTTP request message which led to this result.
+
+
+ Represents an action result that performs route generation and content negotiation and returns a response when content negotiation succeeds.
+ The type of content in the entity body.
+
+
+ Initializes a new instance of the class with the values provided.
+ The name of the route to use for generating the URL.
+ The route data to use for generating the URL.
+ The content value to negotiate and format in the entity body.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Initializes a new instance of the class with the values provided.
+ The name of the route to use for generating the URL.
+ The route data to use for generating the URL.
+ The content value to negotiate and format in the entity body.
+ The factory to use to generate the route URL.
+ The content negotiator to handle content negotiation.
+ The request message which led to this result.
+ The formatters to use to negotiate and format the content.
+
+
+ Gets the content value to negotiate and format in the entity body.
+
+
+ Gets the content negotiator to handle content negotiation.
+
+
+
+ Gets the formatters to use to negotiate and format the content.
+
+
+ Gets the request message which led to this result.
+
+
+ Gets the name of the route to use for generating the URL.
+
+
+ Gets the route data to use for generating the URL.
+
+
+ Gets the factory to use to generate the route URL.
+
+
+ Represents an action result that performs content negotiation and returns a response when it succeeds.
+ The type of content in the entity body.
+
+
+ Initializes a new instance of the class with the values provided.
+ The content value to negotiate and format in the entity body.
+ The location at which the content has been created.
+ The content negotiator to handle content negotiation.
+ The request message which led to this result.
+ The formatters to use to negotiate and format the content.
+
+
+ Initializes a new instance of the class with the values provided.
+ The location at which the content has been created.
+ The content value to negotiate and format in the entity body.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Gets the content value to negotiate and format in the entity body.
+ The content value to negotiate and format in the entity body.
+
+
+ Gets the content negotiator to handle content negotiation.
+ The content negotiator to handle content negotiation.
+
+
+ Executes asynchronously the operation of the created negotiated content result.
+ Asynchronously executes a return value.
+ The cancellation token.
+
+
+ Gets the formatters to use to negotiate and format the content.
+ The formatters to use to negotiate and format the content.
+
+
+ Gets the location at which the content has been created.
+ The location at which the content has been created.
+
+
+ Gets the request message which led to this result.
+ The HTTP request message which led to this result.
+
+
+ Represents an action result that returns a response and performs content negotiation on an based on an .
+
+
+ Initializes a new instance of the class.
+ The exception to include in the error.
+ true if the error should include exception messages; otherwise, false .
+ The content negotiator to handle content negotiation.
+ The request message which led to this result.
+ The formatters to use to negotiate and format the content.
+
+
+ Initializes a new instance of the class.
+ The exception to include in the error.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Gets the content negotiator to handle content negotiation.
+ Returns .
+
+
+ Gets the exception to include in the error.
+ Returns .
+
+
+ Returns .
+
+
+ Gets the formatters to use to negotiate and format the content.
+ Returns .
+
+
+ Gets a value indicating whether the error should include exception messages.
+ Returns .
+
+
+ Gets the request message which led to this result.
+ Returns .
+
+
+ Represents an action result that returns formatted content.
+ The type of content in the entity body.
+
+
+ Initializes a new instance of the class with the values provided.
+ The HTTP status code for the response message.
+ The content value to format in the entity body.
+ The formatter to use to format the content.
+ The value for the Content-Type header, or to have the formatter pick a default value.
+ The request message which led to this result.
+
+
+ Initializes a new instance of the class with the values provided.
+ The HTTP status code for the response message.
+ The content value to format in the entity body.
+ The formatter to use to format the content.
+ The value for the Content-Type header, or to have the formatter pick a default value.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Gets the content value to format in the entity body.
+
+
+
+ Gets the formatter to use to format the content.
+
+
+ Gets the value for the Content-Type header, or to have the formatter pick a default value.
+
+
+ Gets the request message which led to this result.
+
+
+ Gets the HTTP status code for the response message.
+
+
+ Represents an action result that returns an empty response.
+
+
+ Initializes a new instance of the class.
+ The request message which led to this result.
+
+
+ Initializes a new instance of the class.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Returns .
+
+
+ Gets the request message which led to this result.
+ Returns .
+
+
+ Represents an action result that returns a response and performs content negotiation on an based on a .
+
+
+ Initializes a new instance of the class.
+ The model state to include in the error.
+ true if the error should include exception messages; otherwise, false.
+ The content negotiator to handle content negotiation.
+ The request message which led to this result.
+ The formatters to use to negotiate and format the content.
+
+
+ Initializes a new instance of the class.
+ The model state to include in the error.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Gets the content negotiator to handle content negotiation.
+ The content negotiator to handle content negotiation.
+
+
+ Creates a response message asynchronously.
+ A task that, when completed, contains the response message.
+ The token to monitor for cancellation requests.
+
+
+ Gets the formatters to use to negotiate and format the content.
+ The formatters to use to negotiate and format the content.
+
+
+ Gets a value indicating whether the error should include exception messages.
+ true if the error should include exception messages; otherwise, false.
+
+
+ Gets the model state to include in the error.
+ The model state to include in the error.
+
+
+ Gets the request message which led to this result.
+ The request message which led to this result.
+
+
+ Represents an action result that returns an response with JSON data.
+ The type of content in the entity body.
+
+
+ Initializes a new instance of the class with the values provided.
+ The content value to serialize in the entity body.
+ The serializer settings.
+ The content encoding.
+ The request message which led to this result.
+
+
+ Initializes a new instance of the class with the values provided.
+ The content value to serialize in the entity body.
+ The serializer settings.
+ The content encoding.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Gets the content value to serialize in the entity body.
+ The content value to serialize in the entity body.
+
+
+ Gets the content encoding.
+ The content encoding.
+
+
+ Creates a response message asynchronously.
+ A task that, when completed, contains the response message.
+ The token to monitor for cancellation requests.
+
+
+ Gets the request message which led to this result.
+ The request message which led to this result.
+
+
+ Gets the serializer settings.
+ The serializer settings.
+
+
+ Represents an action result that performs content negotiation.
+ The type of content in the entity body.
+
+
+ Initializes a new instance of the class with the values provided.
+ The HTTP status code for the response message.
+ The content value to negotiate and format in the entity body.
+ The content negotiator to handle content negotiation.
+ The request message which led to this result.
+ The formatters to use to negotiate and format the content.
+
+
+ Initializes a new instance of the class with the values provided.
+ The HTTP status code for the response message.
+ The content value to negotiate and format in the entity body.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Gets the content value to negotiate and format in the entity body.
+ The content value to negotiate and format in the entity body.
+
+
+ Gets the content negotiator to handle content negotiation.
+ The content negotiator to handle content negotiation.
+
+
+ Executes asynchronously an HTTP negotiated content results.
+ Asynchronously executes an HTTP negotiated content results.
+ The cancellation token.
+
+
+ Gets the formatters to use to negotiate and format the content.
+ The formatters to use to negotiate and format the content.
+
+
+ Gets the request message which led to this result.
+ The HTTP request message which led to this result.
+
+
+ Gets the HTTP status code for the response message.
+ The HTTP status code for the response message.
+
+
+ Represents an action result that returns an empty response.
+
+
+ Initializes a new instance of the class.
+ The request message which led to this result.
+
+
+ Initializes a new instance of the class.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+
+ Gets the request message which led to this result.
+
+
+ Represents an action result that performs content negotiation and returns an HttpStatusCode.OK response when it succeeds.
+ The type of content in the entity body.
+
+
+ Initializes a new instance of the class with the values provided.
+ The content value to negotiate and format in the entity body.
+ The content negotiator to handle content negotiation.
+ The request message which led to this result.
+ The formatters to use to negotiate and format the content.
+
+
+ Initializes a new instance of the class with the values provided.
+ The content value to negotiate and format in the entity body.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Gets the content value to negotiate and format in the entity body.
+
+
+ Gets the content negotiator to handle content negotiation.
+
+
+
+ Gets the formatters to use to negotiate and format the content.
+
+
+ Gets the request message which led to this result.
+
+
+ Represents an action result that returns an empty HttpStatusCode.OK response.
+
+
+ Initializes a new instance of the class.
+ The request message which led to this result.
+
+
+ Initializes a new instance of the class.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Executes asynchronously.
+ Returns the task.
+ The cancellation token.
+
+
+ Gets a HTTP request message for the results.
+ A HTTP request message for the results.
+
+
+ Represents an action result for a <see cref="F:System.Net.HttpStatusCode.Redirect"/>.
+
+
+ Initializes a new instance of the <see cref="T:System.Web.Http.Results.RedirectResult"/> class with the values provided.
+ The location to which to redirect.
+ The request message which led to this result.
+
+
+ Initializes a new instance of the <see cref="T:System.Web.Http.Results.RedirectResult"/> class with the values provided.
+ The location to which to redirect.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Returns .
+
+
+ Gets the location at which the content has been created.
+ Returns .
+
+
+ Gets the request message which led to this result.
+ Returns .
+
+
+ Represents an action result that performs route generation and returns a <see cref="F:System.Net.HttpStatusCode.Redirect"/> response.
+
+
+ Initializes a new instance of the <see cref="T:System.Web.Http.Results.RedirectToRouteResult"/> class with the values provided.
+ The name of the route to use for generating the URL.
+ The route data to use for generating the URL.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Initializes a new instance of the <see cref="T:System.Web.Http.Results.RedirectToRouteResult"/> class with the values provided.
+ The name of the route to use for generating the URL.
+ The route data to use for generating the URL.
+ The factory to use to generate the route URL.
+ The request message which led to this result.
+
+
+ Returns .
+
+
+ Gets the request message which led to this result.
+ Returns .
+
+
+ Gets the name of the route to use for generating the URL.
+ Returns .
+
+
+ Gets the route data to use for generating the URL.
+ Returns .
+
+
+ Gets the factory to use to generate the route URL.
+ Returns .
+
+
+ Represents an action result that returns a specified response message.
+
+
+ Initializes a new instance of the class.
+ The response message.
+
+
+
+ Gets the response message.
+
+
+ Represents an action result that returns a specified HTTP status code.
+
+
+ Initializes a new instance of the class.
+ The HTTP status code for the response message.
+ The request message which led to this result.
+
+
+ Initializes a new instance of the class.
+ The HTTP status code for the response message.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Creates a response message asynchronously.
+ A task that, when completed, contains the response message.
+ The token to monitor for cancellation requests.
+
+
+ Gets the request message which led to this result.
+ The request message which led to this result.
+
+
+ Gets the HTTP status code for the response message.
+ The HTTP status code for the response message.
+
+
+ Represents an action result that returns an response.
+
+
+ Initializes a new instance of the class.
+ The WWW-Authenticate challenges.
+ The request message which led to this result.
+
+
+ Initializes a new instance of the class.
+ The WWW-Authenticate challenges.
+ The controller from which to obtain the dependencies needed for execution.
+
+
+ Gets the WWW-Authenticate challenges.
+ Returns .
+
+
+ Returns .
+
+
+ Gets the request message which led to this result.
+ Returns .
+
+
+ A default implementation of .
+
+
+
+ Creates instances based on the provided factories and action. The route entries provide direct routing to the provided action.
+ A set of route entries.
+ The action descriptor.
+ The direct route factories.
+ The constraint resolver.
+
+
+ Gets a set of route factories for the given action descriptor.
+ A set of route factories.
+ The action descriptor.
+
+
+ Creates instances based on the provided factories, controller and actions. The route entries provided direct routing to the provided controller and can reach the set of provided actions.
+ A set of route entries.
+ The controller descriptor.
+ The action descriptors.
+ The direct route factories.
+ The constraint resolver.
+
+
+ Gets route factories for the given controller descriptor.
+ A set of route factories.
+ The controller descriptor.
+
+
+ Gets direct routes for the given controller descriptor and action descriptors based on attributes.
+ A set of route entries.
+ The controller descriptor.
+ The action descriptors for all actions.
+ The constraint resolver.
+
+
+ Gets the route prefix from the provided controller.
+ The route prefix or null.
+ The controller descriptor.
+
+
+ The default implementation of . Resolves constraints by parsing a constraint key and constraint arguments, using a map to resolve the constraint type, and calling an appropriate constructor for the constraint type.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the mutable dictionary that maps constraint keys to a particular constraint type.
+ The mutable dictionary that maps constraint keys to a particular constraint type.
+
+
+ Resolves the inline constraint.
+ The the inline constraint was resolved to.
+ The inline constraint to resolve.
+
+
+ Represents a context that supports creating a direct route.
+
+
+ Initializes a new instance of the class.
+ The route prefix, if any, defined by the controller.
+ The action descriptors to which to create a route.
+ The inline constraint resolver.
+ A value indicating whether the route is configured at the action or controller level.
+
+
+ Gets the action descriptors to which to create a route.
+ The action descriptors to which to create a route.
+
+
+ Creates a route builder that can build a route matching this context.
+ A route builder that can build a route matching this context.
+ The route template.
+
+
+ Creates a route builder that can build a route matching this context.
+ A route builder that can build a route matching this context.
+ The route template.
+ The inline constraint resolver to use, if any; otherwise, null.
+
+
+ Gets the inline constraint resolver.
+ The inline constraint resolver.
+
+
+ Gets the route prefix, if any, defined by the controller.
+ The route prefix, if any, defined by the controller.
+
+
+ Gets a value indicating whether the route is configured at the action or controller level.
+ true when the route is configured at the action level; otherwise false (if the route is configured at the controller level).
+
+
+ Enables you to define which HTTP verbs are allowed when ASP.NET routing determines whether a URL matches a route.
+
+
+ Initializes a new instance of the class by using the HTTP verbs that are allowed for the route.
+ The HTTP verbs that are valid for the route.
+
+
+ Gets or sets the collection of allowed HTTP verbs for the route.
+ A collection of allowed HTTP verbs for the route.
+
+
+ Determines whether the request was made with an HTTP verb that is one of the allowed verbs for the route.
+ When ASP.NET routing is processing a request, true if the request was made by using an allowed HTTP verb; otherwise, false. When ASP.NET routing is constructing a URL, true if the supplied values contain an HTTP verb that matches one of the allowed HTTP verbs; otherwise, false. The default is true.
+ The request that is being checked to determine whether it matches the URL.
+ The object that is being checked to determine whether it matches the URL.
+ The name of the parameter that is being checked.
+ An object that contains the parameters for a route.
+ An object that indicates whether the constraint check is being performed when an incoming request is processed or when a URL is generated.
+
+
+ Determines whether the request was made with an HTTP verb that is one of the allowed verbs for the route.
+ When ASP.NET routing is processing a request, true if the request was made by using an allowed HTTP verb; otherwise, false. When ASP.NET routing is constructing a URL, true if the supplied values contain an HTTP verb that matches one of the allowed HTTP verbs; otherwise, false. The default is true.
+ The request that is being checked to determine whether it matches the URL.
+ The object that is being checked to determine whether it matches the URL.
+ The name of the parameter that is being checked.
+ An object that contains the parameters for a route.
+ An object that indicates whether the constraint check is being performed when an incoming request is processed or when a URL is generated.
+
+
+ Represents a route class for self-host (i.e. hosted outside of ASP.NET).
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The route template.
+
+
+ Initializes a new instance of the class.
+ The route template.
+ The default values for the route parameters.
+
+
+ Initializes a new instance of the class.
+ The route template.
+ The default values for the route parameters.
+ The constraints for the route parameters.
+
+
+ Initializes a new instance of the class.
+ The route template.
+ The default values for the route parameters.
+ The constraints for the route parameters.
+ Any additional tokens for the route parameters.
+
+
+ Initializes a new instance of the class.
+ The route template.
+ The default values for the route parameters.
+ The constraints for the route parameters.
+ Any additional tokens for the route parameters.
+ The message handler that will be the recipient of the request.
+
+
+ Gets the constraints for the route parameters.
+ The constraints for the route parameters.
+
+
+ Gets any additional data tokens not used directly to determine whether a route matches an incoming .
+ Any additional data tokens not used directly to determine whether a route matches an incoming .
+
+
+ Gets the default values for route parameters if not provided by the incoming .
+ The default values for route parameters if not provided by the incoming .
+
+
+ Determines whether this route is a match for the incoming request by looking up the for the route.
+ The for a route if matches; otherwise null.
+ The virtual path root.
+ The HTTP request.
+
+
+ Attempts to generate a URI that represents the values passed in based on current values from the and new values using the specified .
+ A instance or null if URI cannot be generated.
+ The HTTP request message.
+ The route values.
+
+
+ Gets or sets the http route handler.
+ The http route handler.
+
+
+ Specifies the HTTP route key.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP request.
+ The constraints for the route parameters.
+ The name of the parameter.
+ The list of parameter values.
+ One of the enumeration values of the enumeration.
+
+
+ Gets the route template describing the URI pattern to match against.
+ The route template describing the URI pattern to match against.
+
+
+ Encapsulates information regarding the HTTP route.
+
+
+ Initializes a new instance of the class.
+ An object that defines the route.
+
+
+ Initializes a new instance of the class.
+ An object that defines the route.
+ The value.
+
+
+ Gets the object that represents the route.
+ the object that represents the route.
+
+
+ Gets a collection of URL parameter values and default values for the route.
+ An object that contains values that are parsed from the URL and from default values.
+
+
+ Removes all optional parameters that do not have a value from the route data.
+
+
+ If a route is really a union of other routes, return the set of sub routes.
+ Returns the set of sub routes contained within this route.
+ A union route data.
+
+
+ Removes all optional parameters that do not have a value from the route data.
+ The route data, to be mutated in-place.
+
+
+ Specifies an enumeration of route direction.
+
+
+ The UriGeneration direction.
+
+
+ The UriResolution direction.
+
+
+ Represents a route class for self-host of specified key/value pairs.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The dictionary.
+
+
+ Initializes a new instance of the class.
+ The key value.
+
+
+ Presents the data regarding the HTTP virtual path.
+
+
+ Initializes a new instance of the class.
+ The route of the virtual path.
+ The URL that was created from the route definition.
+
+
+ Gets or sets the route of the virtual path..
+ The route of the virtual path.
+
+
+ Gets or sets the URL that was created from the route definition.
+ The URL that was created from the route definition.
+
+
+ Defines a builder that creates direct routes to actions (attribute routes).
+
+
+ Gets the action descriptors to which to create a route.
+ The action descriptors to which to create a route.
+
+
+ Creates a route entry based on the current property values.
+ The route entry created.
+
+
+ Gets or sets the route constraints.
+ The route constraints.
+
+
+ Gets or sets the route data tokens.
+ The route data tokens.
+
+
+ Gets or sets the route defaults.
+ The route defaults.
+
+
+ Gets or sets the route name, if any; otherwise null.
+ The route name, if any; otherwise null.
+
+
+ Gets or sets the route order.
+ The route order.
+
+
+ Gets or sets the route precedence.
+ The route precedence.
+
+
+ Gets a value indicating whether the route is configured at the action or controller level.
+ true when the route is configured at the action level; otherwise false (if the route is configured at the controller level).
+
+
+ Gets or sets the route template.
+ The route template.
+
+
+ Defines a factory that creates a route directly to a set of action descriptors (an attribute route).
+
+
+ Creates a direct route entry.
+ The direct route entry.
+ The context to use to create the route.
+
+
+ Defines a provider for routes that directly target action descriptors (attribute routes).
+
+
+ Gets the direct routes for a controller.
+ A set of route entries for the controller.
+ The controller descriptor.
+ The action descriptors.
+ The inline constraint resolver.
+
+
+
+ defines the interface for a route expressing how to map an incoming to a particular controller and action.
+
+
+ Gets the constraints for the route parameters.
+ The constraints for the route parameters.
+
+
+ Gets any additional data tokens not used directly to determine whether a route matches an incoming .
+ The additional data tokens.
+
+
+ Gets the default values for route parameters if not provided by the incoming .
+ The default values for route parameters.
+
+
+ Determine whether this route is a match for the incoming request by looking up the <see cref="!:IRouteData" /> for the route.
+ The <see cref="!:RouteData" /> for a route if matches; otherwise null.
+ The virtual path root.
+ The request.
+
+
+ Gets a virtual path data based on the route and the values provided.
+ The virtual path data.
+ The request message.
+ The values.
+
+
+ Gets the message handler that will be the recipient of the request.
+ The message handler.
+
+
+ Gets the route template describing the URI pattern to match against.
+ The route template.
+
+
+ Represents a base class route constraint.
+
+
+ Determines whether this instance equals a specified route.
+ True if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Provides information about a route.
+
+
+ Gets the object that represents the route.
+ The object that represents the route.
+
+
+ Gets a collection of URL parameter values and default values for the route.
+ The values that are parsed from the URL and from default values.
+
+
+ Provides information for defining a route.
+
+
+ Gets the name of the route to generate.
+
+
+ Gets the order of the route relative to other routes.
+
+
+ Gets the route template describing the URI pattern to match against.
+
+
+ Defines the properties for HTTP route.
+
+
+ Gets the HTTP route.
+ The HTTP route.
+
+
+ Gets the URI that represents the virtual path of the current HTTP route.
+ The URI that represents the virtual path of the current HTTP route.
+
+
+ Defines an abstraction for resolving inline constraints as instances of .
+
+
+ Resolves the inline constraint.
+ The the inline constraint was resolved to.
+ The inline constraint to resolve.
+
+
+ Defines a route prefix.
+
+
+ Gets the route prefix.
+ The route prefix.
+
+
+ Represents a named route.
+
+
+ Initializes a new instance of the class.
+ The route name, if any; otherwise, null.
+ The route.
+
+
+ Gets the route name, if any; otherwise, null.
+ The route name, if any; otherwise, null.
+
+
+ Gets the route.
+ The route.
+
+
+ Represents an attribute route that may contain custom constraints.
+
+
+ Initializes a new instance of the class.
+ The route template.
+
+
+ Gets the route constraints, if any; otherwise null.
+ The route constraints, if any; otherwise null.
+
+
+ Creates the route entry
+ The created route entry.
+ The context.
+
+
+ Gets the route data tokens, if any; otherwise null.
+ The route data tokens, if any; otherwise null.
+
+
+ Gets the route defaults, if any; otherwise null.
+ The route defaults, if any; otherwise null.
+
+
+ Gets or sets the route name, if any; otherwise null.
+ The route name, if any; otherwise null.
+
+
+ Gets or sets the route order.
+ The route order.
+
+
+ Gets the route template.
+ The route template.
+
+
+ Represents a handler that specifies routing should not handle requests for a route template. When a route provides this class as a handler, requests matching against the route will be ignored.
+
+
+ Initializes a new instance of the class.
+
+
+ Represents a factory for creating URLs.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The HTTP request for this instance.
+
+
+ Creates an absolute URL using the specified path.
+ The generated URL.
+ The URL path, which may be a relative URL, a rooted URL, or a virtual path.
+
+
+ Returns a link for the specified route.
+ A link for the specified route.
+ The name of the route.
+ An object that contains the parameters for a route.
+
+
+ Returns a link for the specified route.
+ A link for the specified route.
+ The name of the route.
+ A route value.
+
+
+ Gets or sets the of the current instance.
+ The of the current instance.
+
+
+ Returns the route for the .
+ The route for the .
+ The name of the route.
+ A list of route values.
+
+
+ Returns the route for the .
+ The route for the .
+ The name of the route.
+ The route values.
+
+
+ Constrains a route parameter to contain only lowercase or uppercase letters A through Z in the English alphabet.
+
+
+ Initializes a new instance of the class.
+
+
+ Constrains a route parameter to represent only Boolean values.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constrains a route by several child constraints.
+
+
+ Initializes a new instance of the class.
+ The child constraints that must match for this constraint to match.
+
+
+ Gets the child constraints that must match for this constraint to match.
+ The child constraints that must match for this constraint to match.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constrains a route parameter to represent only values.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route of direction.
+
+
+ Constrains a route parameter to represent only decimal values.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constrains a route parameter to represent only 64-bit floating-point values.
+
+
+
+
+ Constrains a route parameter to represent only 32-bit floating-point values.
+
+
+
+
+ Constrains a route parameter to represent only values.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constrains a route parameter to represent only 32-bit integer values.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constrains a route parameter to be a string of a given length or within a given range of lengths.
+
+
+
+ Initializes a new instance of the class that constrains a route parameter to be a string of a given length.
+ The minimum length of the route parameter.
+ The maximum length of the route parameter.
+
+
+ Gets the length of the route parameter, if one is set.
+
+
+
+ Gets the maximum length of the route parameter, if one is set.
+
+
+ Gets the minimum length of the route parameter, if one is set.
+
+
+ Constrains a route parameter to represent only 64-bit integer values.
+
+
+
+
+ Constrains a route parameter to be a string with a maximum length.
+
+
+ Initializes a new instance of the class.
+ The maximum length.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Gets the maximum length of the route parameter.
+ The maximum length of the route parameter.
+
+
+ Constrains a route parameter to be an integer with a maximum value.
+
+
+
+
+ Gets the maximum value of the route parameter.
+
+
+ Constrains a route parameter to be a string with a maximum length.
+
+
+ Initializes a new instance of the class.
+ The minimum length.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Gets the minimum length of the route parameter.
+ The minimum length of the route parameter.
+
+
+ Constrains a route parameter to be a long with a minimum value.
+
+
+ Initializes a new instance of the class.
+ The minimum value of the route parameter.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Gets the minimum value of the route parameter.
+ The minimum value of the route parameter.
+
+
+ Constrains a route by an inner constraint that doesn't fail when an optional parameter is set to its default value.
+
+
+ Initializes a new instance of the class.
+ The inner constraint to match if the parameter is not an optional parameter without a value
+
+
+ Gets the inner constraint to match if the parameter is not an optional parameter without a value.
+ The inner constraint to match if the parameter is not an optional parameter without a value.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constraints a route parameter to be an integer within a given range of values.
+
+
+ Initializes a new instance of the class.
+ The minimum value.
+ The maximum value.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Gets the maximum value of the route parameter.
+ The maximum value of the route parameter.
+
+
+ Gets the minimum value of the route parameter.
+ The minimum value of the route parameter.
+
+
+ Constrains a route parameter to match a regular expression.
+
+
+ Initializes a new instance of the class.
+ The pattern.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The request.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Gets the regular expression pattern to match.
+ The regular expression pattern to match.
+
+
+ Provides a method for retrieving the innermost object of an object that might be wrapped by an <see cref="T:System.Web.Http.Services.IDecorator`1" />.
+
+
+ Gets the innermost object which does not implement <see cref="T:System.Web.Http.Services.IDecorator`1" />.
+ Object which needs to be unwrapped.
+
+
+
+ Represents a container for service instances used by the . Note that this container only supports known types, and methods to get or set arbitrary service types will throw when called. For creation of arbitrary types, please use instead. The supported types for this container are: Passing any type which is not on this to any method on this interface will cause an to be thrown.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with a specified object.
+ The object.
+
+
+ Removes a single-instance service from the default services.
+ The type of the service.
+
+
+ Gets a service of the specified type.
+ The first instance of the service, or null if the service is not found.
+ The type of service.
+
+
+ Gets the list of service objects for a given service type, and validates the service type.
+ The list of service objects of the specified type.
+ The service type.
+
+
+ Gets the list of service objects for a given service type.
+ The list of service objects of the specified type, or an empty list if the service is not found.
+ The type of service.
+
+
+ Queries whether a service type is single-instance.
+ true if the service type has at most one instance, or false if the service type supports multiple instances.
+ The service type.
+
+
+ Replaces a single-instance service object.
+ The service type.
+ The service object that replaces the previous instance.
+
+
+ Removes the cached values for a single service type.
+ The service type.
+
+
+ Defines a decorator that exposes the inner decorated object.
+ This type parameter is covariant. That is, you can use either the type you specified or any type that is more derived. For more information about covariance and contravariance, see .
+
+
+ Gets the inner object.
+
+
+ Represents a performance tracing class to log method entry/exit and duration.
+
+
+ Initializes the class with a specified configuration.
+ The configuration.
+
+
+ Represents the trace writer.
+
+
+ Invokes the specified traceAction to allow setting values in a new if and only if tracing is permitted at the given category and level.
+ The current . It may be null but doing so will prevent subsequent trace analysis from correlating the trace to a particular request.
+ The logical category for the trace. Users can define their own.
+ The at which to write this trace.
+ The action to invoke if tracing is enabled. The caller is expected to fill in the fields of the given in this action.
+
+
+ Represents an extension methods for .
+
+
+ Provides a set of methods and properties that help debug your code with the specified writer, request, category and exception.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The error occurred during execution.
+
+
+ Provides a set of methods and properties that help debug your code with the specified writer, request, category, exception, message format and argument.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The error occurred during execution.
+ The format of the message.
+ The message argument.
+
+
+ Provides a set of methods and properties that help debug your code with the specified writer, request, category, exception, message format and argument.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The format of the message.
+ The message argument.
+
+
+ Displays an error message in the list with the specified writer, request, category and exception.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The error occurred during execution.
+
+
+ Displays an error message in the list with the specified writer, request, category, exception, message format and argument.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The exception.
+ The format of the message.
+ The argument in the message.
+
+
+ Displays an error message in the list with the specified writer, request, category, message format and argument.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The format of the message.
+ The argument in the message.
+
+
+ Displays an error message in the class with the specified writer, request, category and exception.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The exception that appears during execution.
+
+
+ Displays an error message in the class with the specified writer, request, category and exception, message format and argument.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The exception.
+ The format of the message.
+ The message argument.
+
+
+ Displays an error message in the class with the specified writer, request, category and message format and argument.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The format of the message.
+ The message argument.
+
+
+ Displays the details in the .
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The error occurred during execution.
+
+
+ Displays the details in the .
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The error occurred during execution.
+ The format of the message.
+ The message argument.
+
+
+ Displays the details in the .
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The format of the message.
+ The message argument.
+
+
+ Indicates the trace listeners in the Listeners collection.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The trace level.
+ The error occurred during execution.
+
+
+ Indicates the trace listeners in the Listeners collection.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The trace level.
+ The error occurred during execution.
+ The format of the message.
+ The message argument.
+
+
+ Indicates the trace listeners in the Listeners collection.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The of the trace.
+ The format of the message.
+ The message argument.
+
+
+ Traces both a begin and an end trace around a specified operation.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The of the trace.
+ The name of the object performing the operation. It may be null.
+ The name of the operation being performed. It may be null.
+ The to invoke prior to performing the operation, allowing the given to be filled in. It may be null.
+ An <see cref="T:System.Func`1" /> that returns the that will perform the operation.
+ The to invoke after successfully performing the operation, allowing the given to be filled in. It may be null.
+ The to invoke if an error was encountered performing the operation, allowing the given to be filled in. It may be null.
+
+
+ Traces both a begin and an end trace around a specified operation.
+ The returned by the operation.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The of the trace.
+ The name of the object performing the operation. It may be null.
+ The name of the operation being performed. It may be null.
+ The to invoke prior to performing the operation, allowing the given to be filled in. It may be null.
+ An <see cref="T:System.Func`1" /> that returns the that will perform the operation.
+ The to invoke after successfully performing the operation, allowing the given to be filled in. The result of the completed task will also be passed to this action. This action may be null.
+ The to invoke if an error was encountered performing the operation, allowing the given to be filled in. It may be null.
+ The type of result produced by the .
+
+
+ Traces both a begin and an end trace around a specified operation.
+ The returned by the operation.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The of the trace.
+ The name of the object performing the operation. It may be null.
+ The name of the operation being performed. It may be null.
+ The to invoke prior to performing the operation, allowing the given to be filled in. It may be null.
+ An <see cref="T:System.Func`1" /> that returns the that will perform the operation.
+ The to invoke after successfully performing the operation, allowing the given to be filled in. It may be null.
+ The to invoke if an error was encountered performing the operation, allowing the given to be filled in. It may be null.
+
+
+ Indicates the warning level of execution.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The error occurred during execution.
+
+
+ Indicates the warning level of execution.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The error occurred during execution.
+ The format of the message.
+ The message argument.
+
+
+ Indicates the warning level of execution.
+ The .
+ The with which to associate the trace. It may be null.
+ The logical category of the trace.
+ The format of the message.
+ The message argument.
+
+
+ Specifies an enumeration of tracing categories.
+
+
+ An action category.
+
+
+ The controllers category.
+
+
+ The filters category.
+
+
+ The formatting category.
+
+
+ The message handlers category.
+
+
+ The model binding category.
+
+
+ The request category.
+
+
+ The routing category.
+
+
+ Specifies the kind of tracing operation.
+
+
+ Trace marking the beginning of some operation.
+
+
+ Trace marking the end of some operation.
+
+
+ Single trace, not part of a Begin/End trace pair.
+
+
+ Specifies an enumeration of tracing level.
+
+
+ Trace level for debugging traces.
+
+
+ Trace level for error traces.
+
+
+ Trace level for fatal traces.
+
+
+ Trace level for informational traces.
+
+
+ Tracing is disabled.
+
+
+ Trace level for warning traces.
+
+
+ Represents a trace record.
+
+
+ Initializes a new instance of the class.
+ The message request.
+ The trace category.
+ The trace level.
+
+
+ Gets or sets the tracing category.
+ The tracing category.
+
+
+ Gets or sets the exception.
+ The exception.
+
+
+ Gets or sets the kind of trace.
+ The kind of trace.
+
+
+ Gets or sets the tracing level.
+ The tracing level.
+
+
+ Gets or sets the message.
+ The message.
+
+
+ Gets or sets the logical operation name being performed.
+ The logical operation name being performed.
+
+
+ Gets or sets the logical name of the object performing the operation.
+ The logical name of the object performing the operation.
+
+
+ Gets the optional user-defined properties.
+ The optional user-defined properties.
+
+
+ Gets the from the record.
+ The from the record.
+
+
+ Gets the correlation ID from the .
+ The correlation ID from the .
+
+
+ Gets or sets the associated with the .
+ The associated with the .
+
+
+ Gets the of this trace (via ).
+ The of this trace (via ).
+
+
+ Represents a class used to recursively validate an object.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether instances of a particular type should be validated.
+ true if the type should be validated; false otherwise.
+ The type to validate.
+
+
+ Determines whether the is valid and adds any validation errors to the 's .
+ true if model is valid, false otherwise.
+ The model to be validated.
+ The to use for validation.
+ The used to provide model metadata.
+ The within which the model is being validated.
+ The to append to the key for any validation errors.
+
+
+ Represents an interface for the validation of the models
+
+
+ Determines whether the model is valid and adds any validation errors to the actionContext's
+ trueif model is valid, false otherwise.
+ The model to be validated.
+ The to use for validation.
+ The used to provide the model metadata.
+ The within which the model is being validated.
+ The to append to the key for any validation errors.
+
+
+ This logs formatter errors to the provided .
+
+
+ Initializes a new instance of the class.
+ The model state.
+ The prefix.
+
+
+ Logs the specified model error.
+ The error path.
+ The error message.
+
+
+ Logs the specified model error.
+ The error path.
+ The error message.
+
+
+ Provides data for the event.
+
+
+ Initializes a new instance of the class.
+ The action context.
+ The parent node.
+
+
+ Gets or sets the context for an action.
+ The context for an action.
+
+
+ Gets or sets the parent of this node.
+ The parent of this node.
+
+
+ Provides data for the event.
+
+
+ Initializes a new instance of the class.
+ The action context.
+ The parent node.
+
+
+ Gets or sets the context for an action.
+ The context for an action.
+
+
+ Gets or sets the parent of this node.
+ The parent of this node.
+
+
+ Provides a container for model validation information.
+
+
+ Initializes a new instance of the class, using the model metadata and state key.
+ The model metadata.
+ The model state key.
+
+
+ Initializes a new instance of the class, using the model metadata, the model state key, and child model-validation nodes.
+ The model metadata.
+ The model state key.
+ The model child nodes.
+
+
+ Gets or sets the child nodes.
+ The child nodes.
+
+
+ Combines the current instance with a specified instance.
+ The model validation node to combine with the current instance.
+
+
+ Gets or sets the model metadata.
+ The model metadata.
+
+
+ Gets or sets the model state key.
+ The model state key.
+
+
+ Gets or sets a value that indicates whether validation should be suppressed.
+ true if validation should be suppressed; otherwise, false.
+
+
+ Validates the model using the specified execution context.
+ The action context.
+
+
+ Validates the model using the specified execution context and parent node.
+ The action context.
+ The parent node.
+
+
+ Gets or sets a value that indicates whether all properties of the model should be validated.
+ true if all properties of the model should be validated, or false if validation should be skipped.
+
+
+ Occurs when the model has been validated.
+
+
+ Occurs when the model is being validated.
+
+
+ Represents the selection of required members by checking for any required ModelValidators associated with the member.
+
+
+ Initializes a new instance of the class.
+ The metadata provider.
+ The validator providers.
+
+
+ Indicates whether the member is required for validation.
+ true if the member is required for validation; otherwise, false.
+ The member.
+
+
+ Provides a container for a validation result.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the name of the member.
+ The name of the member.
+
+
+ Gets or sets the validation result message.
+ The validation result message.
+
+
+ Provides a base class for implementing validation logic.
+
+
+ Initializes a new instance of the class.
+ The validator providers.
+
+
+ Returns a composite model validator for the model.
+ A composite model validator for the model.
+ An enumeration of validator providers.
+
+
+ Gets a value that indicates whether a model property is required.
+ true if the model property is required; otherwise, false.
+
+
+ Validates a specified object.
+ A list of validation results.
+ The metadata.
+ The container.
+
+
+ Gets or sets an enumeration of validator providers.
+ An enumeration of validator providers.
+
+
+ Provides a list of validators for a model.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets a list of validators associated with this .
+ The list of validators.
+ The metadata.
+ The validator providers.
+
+
+ Provides an abstract class for classes that implement a validation provider.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets a type descriptor for the specified type.
+ A type descriptor for the specified type.
+ The type of the validation provider.
+
+
+ Gets the validators for the model using the metadata and validator providers.
+ The validators for the model.
+ The metadata.
+ An enumeration of validator providers.
+
+
+ Gets the validators for the model using the metadata, the validator providers, and a list of attributes.
+ The validators for the model.
+ The metadata.
+ An enumeration of validator providers.
+ The list of attributes.
+
+
+ Represents the method that creates a instance.
+
+
+ Represents an implementation of which providers validators for attributes which derive from . It also provides a validator for types which implement . To support client side validation, you can either register adapters through the static methods on this class, or by having your validation attributes implement . The logic to support IClientValidatable is implemented in .
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the validators for the model using the specified metadata, validator provider and attributes.
+ The validators for the model.
+ The metadata.
+ The validator providers.
+ The attributes.
+
+
+ Registers an adapter to provide client-side validation.
+ The type of the validation attribute.
+ The type of the adapter.
+
+
+ Registers an adapter factory for the validation provider.
+ The type of the attribute.
+ The factory that will be used to create the object for the specified attribute.
+
+
+ Registers the default adapter.
+ The type of the adapter.
+
+
+ Registers the default adapter factory.
+ The factory that will be used to create the object for the default adapter.
+
+
+ Registers the default adapter type for objects which implement . The adapter type must derive from and it must contain a public constructor which takes two parameters of types and .
+ The type of the adapter.
+
+
+ Registers the default adapter factory for objects which implement .
+ The factory.
+
+
+ Registers an adapter type for the given modelType, which must implement . The adapter type must derive from and it must contain a public constructor which takes two parameters of types and .
+ The model type.
+ The type of the adapter.
+
+
+ Registers an adapter factory for the given modelType, which must implement .
+ The model type.
+ The factory.
+
+
+ Provides a factory for validators that are based on .
+
+
+ Represents a validator provider for data member model.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the validators for the model.
+ The validators for the model.
+ The metadata.
+ An enumerator of validator providers.
+ A list of attributes.
+
+
+ An implementation of which provides validators that throw exceptions when the model is invalid.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets a list of validators associated with this .
+ The list of validators.
+ The metadata.
+ The validator providers.
+ The list of attributes.
+
+
+ Represents the provider for the required member model validator.
+
+
+ Initializes a new instance of the class.
+ The required member selector.
+
+
+ Gets the validator for the member model.
+ The validator for the member model.
+ The metadata.
+ The validator providers
+
+
+ Provides a model validator.
+
+
+ Initializes a new instance of the class.
+ The validator providers.
+ The validation attribute for the model.
+
+
+ Gets or sets the validation attribute for the model validator.
+ The validation attribute for the model validator.
+
+
+ Gets a value that indicates whether model validation is required.
+ true if model validation is required; otherwise, false.
+
+
+ Validates the model and returns the validation errors if any.
+ A list of validation error messages for the model, or an empty list if no errors have occurred.
+ The model metadata.
+ The container for the model.
+
+
+ A to represent an error. This validator will always throw an exception regardless of the actual model value.
+
+
+ Initializes a new instance of the class.
+ The list of model validator providers.
+ The error message for the exception.
+
+
+ Validates a specified object.
+ A list of validation results.
+ The metadata.
+ The container.
+
+
+ Represents the for required members.
+
+
+ Initializes a new instance of the class.
+ The validator providers.
+
+
+ Gets or sets a value that instructs the serialization engine that the member must be presents when validating.
+ true if the member is required; otherwise, false.
+
+
+ Validates the object.
+ A list of validation results.
+ The metadata.
+ The container.
+
+
+ Provides an object adapter that can be validated.
+
+
+ Initializes a new instance of the class.
+ The validation provider.
+
+
+ Validates the specified object.
+ A list of validation results.
+ The metadata.
+ The container.
+
+
+ Represents the base class for value providers whose values come from a collection that implements the interface.
+
+
+ Retrieves the keys from the specified .
+ The keys from the specified .
+ The prefix.
+
+
+ Represents an interface that is implemented by any that supports the creation of a to access the of an incoming .
+
+
+ Defines the methods that are required for a value provider in ASP.NET MVC.
+
+
+ Determines whether the collection contains the specified prefix.
+ true if the collection contains the specified prefix; otherwise, false.
+ The prefix to search for.
+
+
+ Retrieves a value object using the specified key.
+ The value object for the specified key, or null if the key is not found.
+ The key of the value object to retrieve.
+
+
+ This attribute is used to specify a custom .
+
+
+ Initializes a new instance of the .
+ The type of the model binder.
+
+
+ Initializes a new instance of the .
+ An array of model binder types.
+
+
+ Gets the value provider factories.
+ A collection of value provider factories.
+ A configuration object.
+
+
+ Gets the types of object returned by the value provider factory.
+ A collection of types.
+
+
+ Represents a factory for creating value-provider objects.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a value-provider object for the specified controller context.
+ A value-provider object.
+ An object that encapsulates information about the current HTTP request.
+
+
+ Represents the result of binding a value (such as from a form post or query string) to an action-method argument property, or to the argument itself.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The raw value.
+ The attempted value.
+ The culture.
+
+
+ Gets or sets the raw value that is converted to a string for display.
+ The raw value that is converted to a string for display.
+
+
+ Converts the value that is encapsulated by this result to the specified type.
+ The converted value.
+ The target type.
+
+
+ Converts the value that is encapsulated by this result to the specified type by using the specified culture information.
+ The converted value.
+ The target type.
+ The culture to use in the conversion.
+
+
+ Gets or sets the culture.
+ The culture.
+
+
+ Gets or set the raw value that is supplied by the value provider.
+ The raw value that is supplied by the value provider.
+
+
+ Represents a value provider whose values come from a list of value providers that implements the interface.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The list of value providers.
+
+
+ Determines whether the collection contains the specified .
+ true if the collection contains the specified ; otherwise, false.
+ The prefix to search for.
+
+
+ Retrieves the keys from the specified .
+ The keys from the specified .
+ The prefix from which keys are retrieved.
+
+
+ Retrieves a value object using the specified .
+ The value object for the specified .
+ The key of the value object to retrieve.
+
+
+ Inserts an element into the collection at the specified index.
+ The zero-based index at which should be inserted.
+ The object to insert.
+
+
+ Replaces the element at the specified index.
+ The zero-based index of the element to replace.
+ The new value for the element at the specified index.
+
+
+ Represents a factory for creating a list of value-provider objects.
+
+
+ Initializes a new instance of the class.
+ The collection of value-provider factories.
+
+
+ Retrieves a list of value-provider objects for the specified controller context.
+ The list of value-provider objects for the specified controller context.
+ An object that encapsulates information about the current HTTP request.
+
+
+ A value provider for name/value pairs.
+
+
+
+ Initializes a new instance of the class.
+ The name/value pairs for the provider.
+ The culture used for the name/value pairs.
+
+
+ Initializes a new instance of the class, using a function delegate to provide the name/value pairs.
+ A function delegate that returns a collection of name/value pairs.
+ The culture used for the name/value pairs.
+
+
+ Determines whether the collection contains the specified prefix.
+ true if the collection contains the specified prefix; otherwise, false.
+ The prefix to search for.
+
+
+ Gets the keys from a prefix.
+ The keys.
+ The prefix.
+
+
+ Retrieves a value object using the specified key.
+ The value object for the specified key.
+ The key of the value object to retrieve.
+
+
+ Represents a value provider for query strings that are contained in a object.
+
+
+ Initializes a new instance of the class.
+ An object that encapsulates information about the current HTTP request.
+ An object that contains information about the target culture.
+
+
+ Represents a class that is responsible for creating a new instance of a query-string value-provider object.
+
+
+ Initializes a new instance of the class.
+
+
+ Retrieves a value-provider object for the specified controller context.
+ A query-string value-provider object.
+ An object that encapsulates information about the current HTTP request.
+
+
+ Represents a value provider for route data that is contained in an object that implements the IDictionary(Of TKey, TValue) interface.
+
+
+ Initializes a new instance of the class.
+ An object that contain information about the HTTP request.
+ An object that contains information about the target culture.
+
+
+ Represents a factory for creating route-data value provider objects.
+
+
+ Initializes a new instance of the class.
+
+
+ Retrieves a value-provider object for the specified controller context.
+ A value-provider object.
+ An object that encapsulates information about the current HTTP request.
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/System.Web.Mvc.dll b/Blog/bin/System.Web.Mvc.dll
new file mode 100644
index 0000000..eb088f2
Binary files /dev/null and b/Blog/bin/System.Web.Mvc.dll differ
diff --git a/Blog/bin/System.Web.Mvc.xml b/Blog/bin/System.Web.Mvc.xml
new file mode 100644
index 0000000..b4b6df8
--- /dev/null
+++ b/Blog/bin/System.Web.Mvc.xml
@@ -0,0 +1,11485 @@
+
+
+
+ System.Web.Mvc
+
+
+
+ Represents an attribute that specifies which HTTP verbs an action method will respond to.
+
+
+ Initializes a new instance of the class by using a list of HTTP verbs that the action method will respond to.
+ The HTTP verbs that the action method will respond to.
+ The parameter is null or zero length.
+
+
+ Initializes a new instance of the class using the HTTP verbs that the action method will respond to.
+ The HTTP verbs that the action method will respond to.
+
+
+ Determines whether the specified method information is valid for the specified controller context.
+ true if the method information is valid; otherwise, false.
+ The controller context.
+ The method information.
+ The parameter is null.
+
+
+ Gets or sets the list of HTTP verbs that the action method will respond to.
+ The list of HTTP verbs that the action method will respond to.
+
+
+ Provides information about an action method, such as its name, controller, parameters, attributes, and filters.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the name of the action method.
+ The name of the action method.
+
+
+ Gets the controller descriptor.
+ The controller descriptor.
+
+
+ Executes the action method by using the specified parameters and controller context.
+ The result of executing the action method.
+ The controller context.
+ The parameters of the action method.
+
+
+ Returns an array of custom attributes that are defined for this member, excluding named attributes.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+
+
+ Returns an array of custom attributes that are defined for this member, identified by type.
+ An array of custom attributes, or an empty array if no custom attributes of the specified type exist.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+ The parameter is null.
+
+
+ Gets the filter attributes.
+ The filter attributes.
+ true to use the cache, otherwise false.
+
+
+ Returns the filters that are associated with this action method.
+ The filters that are associated with this action method.
+
+
+ Returns the parameters of the action method.
+ The parameters of the action method.
+
+
+ Returns the action-method selectors.
+ The action-method selectors.
+
+
+ Determines whether one or more instances of the specified attribute type are defined for this member.
+ true if is defined for this member; otherwise, false.
+ The type of the custom attribute.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The parameter is null.
+
+
+ Gets the unique ID for the action descriptor using lazy initialization.
+ The unique ID.
+
+
+ Provides the context for the ActionExecuted method of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The controller context.
+ The action method descriptor.
+ true if the action is canceled.
+ The exception object.
+ The parameter is null.
+
+
+ Gets or sets the action descriptor.
+ The action descriptor.
+
+
+ Gets or sets a value that indicates that this object is canceled.
+ true if the context canceled; otherwise, false.
+
+
+ Gets or sets the exception that occurred during the execution of the action method, if any.
+ The exception that occurred during the execution of the action method.
+
+
+ Gets or sets a value that indicates whether the exception is handled.
+ true if the exception is handled; otherwise, false.
+
+
+ Gets or sets the result returned by the action method.
+ The result returned by the action method.
+
+
+ Provides the context for the ActionExecuting method of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using the specified controller context, action descriptor, and action-method parameters.
+ The controller context.
+ The action descriptor.
+ The action-method parameters.
+ The or parameter is null.
+
+
+ Gets or sets the action descriptor.
+ The action descriptor.
+
+
+ Gets or sets the action-method parameters.
+ The action-method parameters.
+
+
+ Gets or sets the result that is returned by the action method.
+ The result that is returned by the action method.
+
+
+ Represents the base class for filter attributes.
+
+
+ Initializes a new instance of the class.
+
+
+ Called by the ASP.NET MVC framework after the action method executes.
+ The filter context.
+
+
+ Called by the ASP.NET MVC framework before the action method executes.
+ The filter context.
+
+
+ Called by the ASP.NET MVC framework after the action result executes.
+ The filter context.
+
+
+ Called by the ASP.NET MVC framework before the action result executes.
+ The filter context.
+
+
+ Represents an attribute that is used to influence the selection of an action method.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the action method selection is valid for the specified controller context.
+ true if the action method selection is valid for the specified controller context; otherwise, false.
+ The controller context.
+ Information about the action method.
+
+
+ Represents an attribute that is used for the name of an action.
+
+
+ Initializes a new instance of the class.
+ Name of the action.
+ The parameter is null or empty.
+
+
+ Determines whether the action name is valid within the specified controller context.
+ true if the action name is valid within the specified controller context; otherwise, false.
+ The controller context.
+ The name of the action.
+ Information about the action method.
+
+
+ Gets or sets the name of the action.
+ The name of the action.
+
+
+ Represents an attribute that affects the selection of an action method.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the action name is valid in the specified controller context.
+ true if the action name is valid in the specified controller context; otherwise, false.
+ The controller context.
+ The name of the action.
+ Information about the action method.
+
+
+ Represents the result of an action method.
+
+
+ Initializes a new instance of the class.
+
+
+ Enables processing of the result of an action method by a custom type that inherits from the class.
+ The context in which the result is executed. The context information includes the controller, HTTP content, request context, and route data.
+
+
+ Represents a delegate that contains the logic for selecting an action method.
+
+
+ Provides a class that implements the interface in order to support additional metadata.
+
+
+ Initializes a new instance of the class.
+ The name of the model metadata.
+ The value of the model metadata.
+
+
+ Gets the name of the additional metadata attribute.
+ The name of the of the additional metadata attribute.
+
+
+ Provides metadata to the model metadata creation process.
+ The meta data.
+
+
+ Gets the type of the of the additional metadata attribute.
+ The type of the of the additional metadata attribute.
+
+
+ Gets the value of the of the additional metadata attribute.
+ The value of the of the additional metadata attribute.
+
+
+ Represents support for rendering HTML in AJAX scenarios within a view.
+
+
+ Initializes a new instance of the class using the specified view context and view data container.
+ The view context.
+ The view data container.
+ One or both of the parameters is null.
+
+
+ Initializes a new instance of the class by using the specified view context, view data container, and route collection.
+ The view context.
+ The view data container.
+ The URL route collection.
+ One or more of the parameters is null.
+
+
+ Gets or sets the root path for the location to use for globalization script files.
+ The location of the folder where globalization script files are stored. The default location is "~/Scripts/Globalization".
+
+
+ Serializes the specified message and returns the resulting JSON-formatted string.
+ The serialized message as a JSON-formatted string.
+ The message to serialize.
+
+
+ Gets the collection of URL routes for the application.
+ The collection of routes for the application.
+
+
+ Gets the ViewBag.
+ The ViewBag.
+
+
+ Gets the context information about the view.
+ The context of the view.
+
+
+ Gets the current view data dictionary.
+ The view data dictionary.
+
+
+ Gets the view data container.
+ The view data container.
+
+
+ Represents support for rendering HTML in AJAX scenarios within a strongly typed view.
+ The type of the model.
+
+
+ Initializes a new instance of the class by using the specified view context and view data container.
+ The view context.
+ The view data container.
+
+
+ Initializes a new instance of the class by using the specified view context, view data container, and URL route collection.
+ The view context.
+ The view data container.
+ The URL route collection.
+
+
+ Gets the ViewBag.
+ The ViewBag.
+
+
+ Gets the strongly typed version of the view data dictionary.
+ The strongly typed data dictionary of the view.
+
+
+ Represents a class that extends the class by adding the ability to determine whether an HTTP request is an AJAX request.
+
+
+ Determines whether the specified HTTP request is an AJAX request.
+ true if the specified HTTP request is an AJAX request; otherwise, false.
+ The HTTP request.
+ The parameter is null (Nothing in Visual Basic).
+
+
+ Represents an attribute that marks controllers and actions to skip the during authorization.
+
+
+ Initializes a new instance of the class.
+
+
+ Allows a request to include HTML markup during model binding by skipping request validation for the property. (It is strongly recommended that your application explicitly check all models where you disable request validation in order to prevent script exploits.)
+
+
+ Initializes a new instance of the class.
+
+
+ This method supports the ASP.NET MVC validation infrastructure and is not intended to be used directly from your code.
+ The model metadata.
+
+
+ Controls interpretation of a controller name when constructing a .
+
+
+ Find the controller in the current area.
+
+
+ Find the controller in the root area.
+
+
+ Provides a way to register one or more areas in an ASP.NET MVC application.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the name of the area to register.
+ The name of the area to register.
+
+
+ Registers all areas in an ASP.NET MVC application.
+
+
+ Registers all areas in an ASP.NET MVC application by using the specified user-defined information.
+ An object that contains user-defined information to pass to the area.
+
+
+ Registers an area in an ASP.NET MVC application using the specified area's context information.
+ Encapsulates the information that is required in order to register the area.
+
+
+ Encapsulates the information that is required in order to register an area within an ASP.NET MVC application.
+
+
+ Initializes a new instance of the class using the specified area name and routes collection.
+ The name of the area to register.
+ The collection of routes for the application.
+
+
+ Initializes a new instance of the class using the specified area name, routes collection, and user-defined data.
+ The name of the area to register.
+ The collection of routes for the application.
+ An object that contains user-defined information to pass to the area.
+
+
+ Gets the name of the area to register.
+ The name of the area to register.
+
+
+ Maps the specified URL route and associates it with the area that is specified by the property.
+ A reference to the mapped route.
+ The name of the route.
+ The URL pattern for the route.
+ The parameter is null.
+
+
+ Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values.
+ A reference to the mapped route.
+ The name of the route.
+ The URL pattern for the route.
+ An object that contains default route values.
+ The parameter is null.
+
+
+ Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values and constraint.
+ A reference to the mapped route.
+ The name of the route.
+ The URL pattern for the route.
+ An object that contains default route values.
+ A set of expressions that specify valid values for a URL parameter.
+ The parameter is null.
+
+
+ Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values, constraints, and namespaces.
+ A reference to the mapped route.
+ The name of the route.
+ The URL pattern for the route.
+ An object that contains default route values.
+ A set of expressions that specify valid values for a URL parameter.
+ An enumerable set of namespaces for the application.
+ The parameter is null.
+
+
+ Maps the specified URL route and associates it with the area that is specified by the property, using the specified route default values and namespaces.
+ A reference to the mapped route.
+ The name of the route.
+ The URL pattern for the route.
+ An object that contains default route values.
+ An enumerable set of namespaces for the application.
+ The parameter is null.
+
+
+ Maps the specified URL route and associates it with the area that is specified by the property, using the specified namespaces.
+ A reference to the mapped route.
+ The name of the route.
+ The URL pattern for the route.
+ An enumerable set of namespaces for the application.
+ The parameter is null.
+
+
+ Gets the namespaces for the application.
+ An enumerable set of namespaces for the application.
+
+
+ Gets a collection of defined routes for the application.
+ A collection of defined routes for the application.
+
+
+ Gets an object that contains user-defined information to pass to the area.
+ An object that contains user-defined information to pass to the area.
+
+
+ Provides an abstract class to implement a metadata provider.
+
+
+ Called from constructors in a derived class to initialize the class.
+
+
+ When overridden in a derived class, creates the model metadata for the property.
+ The model metadata for the property.
+ The set of attributes.
+ The type of the container.
+ The model accessor.
+ The type of the model.
+ The name of the property.
+
+
+ Gets a list of attributes.
+ A list of attributes.
+ The type of the container.
+ The property descriptor.
+ The attribute container.
+
+
+ Returns a list of properties for the model.
+ A list of properties for the model.
+ The model container.
+ The type of the container.
+
+
+ Returns the metadata for the specified property using the container type and property descriptor.
+ The metadata for the specified property using the container type and property descriptor.
+ The model accessor.
+ The type of the container.
+ The property descriptor
+
+
+ Returns the metadata for the specified property using the container type and property name.
+ The metadata for the specified property using the container type and property name.
+ The model accessor.
+ The type of the container.
+ The name of the property.
+
+
+ Returns the metadata for the specified property using the type of the model.
+ The metadata for the specified property using the type of the model.
+ The model accessor.
+ The type of the model.
+
+
+ Returns the type descriptor from the specified type.
+ The type descriptor.
+ The type.
+
+
+ Provides an abstract class for classes that implement a validation provider.
+
+
+ Called from constructors in derived classes to initialize the class.
+
+
+ Gets a type descriptor for the specified type.
+ A type descriptor for the specified type.
+ The type of the validation provider.
+
+
+ Gets the validators for the model using the metadata and controller context.
+ The validators for the model.
+ The metadata.
+ The controller context.
+
+
+ Gets the validators for the model using the metadata, the controller context, and a list of attributes.
+ The validators for the model.
+ The metadata.
+ The controller context.
+ The list of attributes.
+
+
+ Provided for backward compatibility with ASP.NET MVC 3.
+
+
+ Initializes a new instance of the class.
+
+
+ Represents an attribute that is used to set the timeout value, in milliseconds, for an asynchronous method.
+
+
+ Initializes a new instance of the class.
+ The timeout value, in milliseconds.
+
+
+ Gets the timeout duration, in milliseconds.
+ The timeout duration, in milliseconds.
+
+
+ Called by ASP.NET before the asynchronous action method executes.
+ The filter context.
+
+
+ Encapsulates the information that is required for using an attribute.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the specified controller context.
+ The context within which the result is executed. The context information includes the controller, HTTP content, request context, and route data.
+
+
+ Initializes a new instance of the class using the specified controller context and action descriptor.
+ The context in which the result is executed. The context information includes the controller, HTTP content, request context, and route data.
+ An object that provides information about an action method, such as its name, controller, parameters, attributes, and filters.
+
+
+ Provides information about the action method that is marked by the attribute, such as its name, controller, parameters, attributes, and filters.
+ The action descriptor for the action method that is marked by the attribute.
+
+
+ Gets or sets the result that is returned by an action method.
+ The result that is returned by an action method.
+
+
+ Specifies that access to a controller or action method is restricted to users who meet the authorization requirement.
+
+
+ Initializes a new instance of the class.
+
+
+ When overridden, provides an entry point for custom authorization checks.
+ true if the user is authorized; otherwise, false.
+ The HTTP context, which encapsulates all HTTP-specific information about an individual HTTP request.
+ The parameter is null.
+
+
+ Processes HTTP requests that fail authorization.
+ Encapsulates the information for using . The object contains the controller, HTTP context, request context, action result, and route data.
+
+
+ Called when a process requests authorization.
+ The filter context, which encapsulates information for using .
+ The parameter is null.
+
+
+ Called when the caching module requests authorization.
+ A reference to the validation status.
+ The HTTP context, which encapsulates all HTTP-specific information about an individual HTTP request.
+ The parameter is null.
+
+
+ Gets or sets the user roles that are authorized to access the controller or action method.
+ The user roles that are authorized to access the controller or action method.
+
+
+ Gets the unique identifier for this attribute.
+ The unique identifier for this attribute.
+
+
+ Gets or sets the users that are authorized to access the controller or action method.
+ The users that are authorized to access the controller or action method.
+
+
+ Represents an attribute that is used to provide details about how model binding to a parameter should occur.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets a comma-delimited list of property names for which binding is not allowed.
+ The exclude list.
+
+
+ Gets or sets a comma-delimited list of property names for which binding is allowed.
+ The include list.
+
+
+ Determines whether the specified property is allowed.
+ true if the specified property is allowed; otherwise, false.
+ The name of the property.
+
+
+ Gets or sets the prefix to use when markup is rendered for binding to an action argument or to a model property.
+ The prefix to use.
+
+
+ Represents the base class for views that are compiled by the BuildManager class before being rendered by a view engine.
+
+
+ Initializes a new instance of the class using the specified controller context and view path.
+ The controller context.
+ The view path.
+
+
+ Initializes a new instance of the class using the specified controller context, view path, and view page activator.
+ Context information for the current controller. This information includes the HTTP context, request context, route data, parent action view context, and more.
+ The path to the view that will be rendered.
+ The object responsible for dynamically constructing the view page at run time.
+ The parameter is null.
+ The parameter is null or empty.
+
+
+ Renders the specified view context by using the specified the writer object.
+ Information related to rendering a view, such as view data, temporary data, and form context.
+ The writer object.
+ The parameter is null.
+ An instance of the view type could not be created.
+
+
+ When overridden in a derived class, renders the specified view context by using the specified writer object and object instance.
+ Information related to rendering a view, such as view data, temporary data, and form context.
+ The writer object.
+ An object that contains additional information that can be used in the view.
+
+
+ Gets or sets the view path.
+ The view path.
+
+
+ Provides a base class for view engines.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the specified view page activator.
+ The view page activator.
+
+
+ Gets a value that indicates whether a file exists in the specified virtual file system (path).
+ true if the file exists in the virtual file system; otherwise, false.
+ The controller context.
+ The virtual path.
+
+
+
+ Gets the view page activator.
+ The view page activator.
+
+
+ Maps a browser request to a byte array.
+
+
+ Initializes a new instance of the class.
+
+
+ Binds the model by using the specified controller context and binding context.
+ The bound data object.Implements
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+ The parameter is null.
+
+
+ Provides an abstract class to implement a cached metadata provider.
+
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the cache item policy.
+ The cache item policy.
+
+
+ Gets the cache key prefix.
+ The cache key prefix.
+
+
+ When overridden in a derived class, creates the cached model metadata for the property.
+ The cached model metadata for the property.
+ The attributes.
+ The container type.
+ The model accessor.
+ The model type.
+ The property name.
+
+
+ Creates prototype metadata by applying the prototype and model access to yield the final metadata.
+ The prototype metadata.
+ The prototype.
+ The model accessor.
+
+
+ Creates a metadata prototype.
+ A metadata prototype.
+ The attributes.
+ The container type.
+ The model type.
+ The property name.
+
+
+ Gets the metadata for the properties.
+ The metadata for the properties.
+ The container.
+ The container type.
+
+
+ Returns the metadata for the specified property.
+ The metadata for the specified property.
+ The model accessor.
+ The container type.
+ The property descriptor.
+
+
+ Returns the metadata for the specified property.
+ The metadata for the specified property.
+ The model accessor.
+ The container type.
+ The property name.
+
+
+ Returns the cached metadata for the specified property using the type of the model.
+ The cached metadata for the specified property using the type of the model.
+ The model accessor.
+ The type of the container.
+
+
+ Gets the prototype cache.
+ The prototype cache.
+
+
+ Provides a container to cache attributes.
+
+
+ Initializes a new instance of the class.
+ The attributes.
+
+
+ Gets the data type.
+ The data type.
+
+
+ Gets the display.
+ The display.
+
+
+ Gets the display column.
+ The display column.
+
+
+ Gets the display format.
+ The display format.
+
+
+ Gets the display name.
+ The display name.
+
+
+ Indicates whether a data field is editable.
+ true if the field is editable; otherwise, false.
+
+
+ Gets the hidden input.
+ The hidden input.
+
+
+ Indicates whether a data field is read only.
+ true if the field is read only; otherwise, false.
+
+
+ Indicates whether a data field is required.
+ true if the field is required; otherwise, false.
+
+
+ Indicates whether a data field is scaffold.
+ true if the field is scaffold; otherwise, false.
+
+
+ Gets the UI hint.
+ The UI hint.
+
+
+ Provides a container to cache .
+
+
+ Initializes a new instance of the class using the prototype and model accessor.
+ The prototype.
+ The model accessor.
+
+
+ Initializes a new instance of the class using the provider, container type, model type, property name and attributes.
+ The provider.
+ The container type.
+ The model type.
+ The property name.
+ The attributes.
+
+
+ Gets a value that indicates whether empty strings that are posted back in forms should be converted to Nothing.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ A value that indicates whether empty strings that are posted back in forms should be converted to Nothing.
+
+
+ Gets meta information about the data type.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ Meta information about the data type.
+
+
+ Gets the description of the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ The description of the model.
+
+
+ Gets the display format string for the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ The display format string for the model.
+
+
+ Gets the display name of the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ The display name of the model.
+
+
+ Gets the edit format string of the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ The edit format string of the model.
+
+
+ Gets a value that indicates whether the model uses a non-default edit format.
+ A value that indicates whether non-default edit format is used.
+
+
+ Gets a value that indicates whether the model object should be rendered using associated HTML elements.Gets a value that indicates whether the model object should be rendered using associated HTML elements.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ A value that indicates whether the model object should be rendered using associated HTML elements.
+
+
+ Gets a value that indicates whether the model is read-only.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ A value that indicates whether the model is read-only.
+
+
+ Gets a value that indicates whether the model is required.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ A value that indicates whether the model is required.
+
+
+ Gets the string to display for null values.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ The string to display for null values.
+
+
+ Gets a value that represents order of the current metadata.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ A value that represents order of the current metadata.
+
+
+ Gets a short display name.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ A short display name.
+
+
+ Gets a value that indicates whether the property should be displayed in read-only views such as list and detail views.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ A value that indicates whether the property should be displayed in read-only views such as list and detail views.
+
+
+ Gets or sets a value that indicates whether the model should be displayed in editable views.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ Returns .
+
+
+ Gets the simple display string for the model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ The simple display string for the model.
+
+
+ Gets a hint that suggests what template to use for this model.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ A hint that suggests what template to use for this model.
+
+
+ Gets a value that can be used as a watermark.If the value is cached, the cashed value is returned; otherwise the value is retrieved from the model metadata and stored in the cache.
+ A value that can be used as a watermark.
+
+
+ Implements the default cached model metadata provider for ASP.NET MVC.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a container of real instances of the cached metadata class based on prototype and model accessor.
+ A container of real instances of the cached metadata class.
+ The prototype.
+ The model accessor.
+
+
+ Returns a container prototype instances of the metadata class.
+ a container prototype instances of the metadata class.
+ The attributes type.
+ The container type.
+ The model type.
+ The property name.
+
+
+ Provides a container for cached metadata.
+ he type of the container.
+
+
+ Constructor for creating real instances of the metadata class based on a prototype.
+ The provider.
+ The container type.
+ The model type.
+ The property name.
+ The prototype.
+
+
+ Constructor for creating the prototype instances of the metadata class.
+ The prototype.
+ The model accessor.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether empty strings that are posted back in forms should be converted to null.
+ A cached value that indicates whether empty strings that are posted back in forms should be converted to null.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets meta information about the data type.
+ Meta information about the data type.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the description of the model.
+ The description of the model.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the display format string for the model.
+ The display format string for the model.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the display name of the model.
+ The display name of the model.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the edit format string of the model.
+ The edit format string of the model.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .
+ A value that indicates whether a non-default edit format is used.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model object should be rendered using associated HTML elements.
+ A cached value that indicates whether the model object should be rendered using associated HTML elements.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model is read-only.
+ A cached value that indicates whether the model is read-only.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model is required.
+ A cached value that indicates whether the model is required.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the cached string to display for null values.
+ The cached string to display for null values.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that represents order of the current metadata.
+ A cached value that represents order of the current metadata.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a short display name.
+ A short display name.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the property should be displayed in read-only views such as list and detail views.
+ A cached value that indicates whether the property should be displayed in read-only views such as list and detail views.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that indicates whether the model should be displayed in editable views.
+ A cached value that indicates whether the model should be displayed in editable views.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets the cached simple display string for the model.
+ The cached simple display string for the model.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached hint that suggests what template to use for this model.
+ A cached hint that suggests what template to use for this model.
+
+
+ This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as .Gets or sets a cached value that can be used as a watermark.
+ A cached value that can be used as a watermark.
+
+
+ Gets or sets a cached value that indicates whether empty strings that are posted back in forms should be converted to null.
+ A cached value that indicates whether empty strings that are posted back in forms should be converted to null.
+
+
+ Gets or sets meta information about the data type.
+ The meta information about the data type.
+
+
+ Gets or sets the description of the model.
+ The description of the model.
+
+
+ Gets or sets the display format string for the model.
+ The display format string for the model.
+
+
+ Gets or sets the display name of the model.
+ The display name of the model.
+
+
+ Gets or sets the edit format string of the model.
+ The edit format string of the model.
+
+
+ Gets or sets the simple display string for the model.
+ The simple display string for the model.
+
+
+ Gets or sets a value that indicates whether the model object should be rendered using associated HTML elements.
+ A value that indicates whether the model object should be rendered using associated HTML elements.
+
+
+ Gets or sets a value that indicates whether the model is read-only.
+ A value that indicates whether the model is read-only.
+
+
+ Gets or sets a value that indicates whether the model is required.
+ A value that indicates whether the model is required.
+
+
+ Gets or sets the string to display for null values.
+ The string to display for null values.
+
+
+ Gets or sets a value that represents order of the current metadata.
+ The order value of the current metadata.
+
+
+ Gets or sets the prototype cache.
+ The prototype cache.
+
+
+ Gets or sets a short display name.
+ The short display name.
+
+
+ Gets or sets a value that indicates whether the property should be displayed in read-only views such as list and detail views.
+ true if the model should be displayed in read-only views; otherwise, false.
+
+
+ Gets or sets a value that indicates whether the model should be displayed in editable views.
+ true if the model should be displayed in editable views; otherwise, false.
+
+
+ Gets or sets the simple display string for the model.
+ The simple display string for the model.
+
+
+ Gets or sets a hint that suggests what template to use for this model.
+ A hint that suggests what template to use for this model.
+
+
+ Gets or sets a value that can be used as a watermark.
+ A value that can be used as a watermark.
+
+
+ Provides a mechanism to propagates notification that model binder operations should be canceled.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns the default cancellation token.
+ The default cancellation token.Implements
+ The controller context.
+ The binding context.
+
+
+ Represents an attribute that is used to indicate that an action method should be called only as a child action.
+
+
+ Initializes a new instance of the class.
+
+
+ Called when authorization is required.
+ An object that encapsulates the information that is required in order to authorize access to the child action.
+
+
+ Represents a value provider for values from child actions.
+
+
+ Initializes a new instance of the class.
+ The controller context.
+
+
+ Retrieves a value object using the specified key.
+ The value object for the specified key.
+ The key.
+
+
+ Represents a factory for creating value provider objects for child actions.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a object for the specified controller context.
+ A object.
+ The controller context.
+
+
+ Returns the client data-type model validators.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns the client data-type model validators.
+ The client data-type model validators.
+ The metadata.
+ The context.
+
+
+ Gets the resource class key.
+ The resource class key.
+
+
+ Provides an attribute that compares two properties of a model.
+
+
+ Initializes a new instance of the class.
+ The property to compare with the current property.
+
+
+ Applies formatting to an error message based on the data field where the compare error occurred.
+ The formatted error message.
+ The name of the field that caused the validation failure.
+
+
+ Formats the property for client validation by prepending an asterisk (*) and a dot.
+ The string "*." is prepended to the property.
+ The property.
+
+
+ Gets a list of compare-value client validation rules for the property using the specified model metadata and controller context.
+ A list of compare-value client validation rules.
+ The model metadata.
+ The controller context.
+
+
+ Determines whether the specified object is equal to the compared object.
+ null if the value of the compared property is equal to the value parameter; otherwise, a validation result that contains the error message that indicates that the comparison failed.
+ The value of the object to compare.
+ The validation context.
+
+
+ Gets the property to compare with the current property.
+ The property to compare with the current property.
+
+
+ Gets the other properties display name.
+ The other properties display name.
+
+
+ Represents a user-defined content type that is the result of an action method.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the content.
+ The content.
+
+
+ Gets or sets the content encoding.
+ The content encoding.
+
+
+ Gets or sets the type of the content.
+ The type of the content.
+
+
+ Enables processing of the result of an action method by a custom type that inherits from the class.
+ The context within which the result is executed.
+ The parameter is null.
+
+
+ Provides methods that respond to HTTP requests that are made to an ASP.NET MVC Web site.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the action invoker for the controller.
+ The action invoker.
+
+
+ Provides asynchronous operations.
+ Returns .
+
+
+ Begins execution of the specified request context
+ Returns an IAsyncController instance.
+ The request context.
+ The asynchronous callback.
+ The state.
+
+
+ Begins to invoke the action in the current controller context.
+ Returns an IAsyncController instance.
+ The callback.
+ The state.
+
+
+ Gets or sets the binder.
+ The binder.
+
+
+ Creates a content result object by using a string.
+ The content result instance.
+ The content to write to the response.
+
+
+ Creates a content result object by using a string and the content type.
+ The content result instance.
+ The content to write to the response.
+ The content type (MIME type).
+
+
+ Creates a content result object by using a string, the content type, and content encoding.
+ The content result instance.
+ The content to write to the response.
+ The content type (MIME type).
+ The content encoding.
+
+
+ Creates an action invoker.
+ An action invoker.
+
+
+ Creates a temporary data provider.
+ A temporary data provider.
+
+
+ Gets whether to disable the asynchronous support for the controller.
+ true to disable the asynchronous support for the controller; otherwise, false.
+
+
+ Releases all resources that are used by the current instance of the class.
+
+
+ Releases unmanaged resources and optionally releases managed resources.
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ Ends the invocation of the action in the current controller context.
+ The asynchronous result.
+
+
+ Ends the execute core.
+ The asynchronous result.
+
+
+ Invokes the action in the current controller context.
+
+
+ Creates a FileContentResult object by using the file contents and file type.
+ The file-content result object.
+ The binary content to send to the response.
+ The content type (MIME type).
+
+
+ Creates a FileContentResult object by using the file contents, content type, and the destination file name.
+ The file-content result object.
+ The binary content to send to the response.
+ The content type (MIME type).
+ The file name to use in the file-download dialog box that is displayed in the browser.
+
+
+ Creates a FileStreamResult object by using the Stream object and content type.
+ The file-content result object.
+ The stream to send to the response.
+ The content type (MIME type).
+
+
+ Creates a FileStreamResult object using the Stream object, the content type, and the target file name.
+ The file-stream result object.
+ The stream to send to the response.
+ The content type (MIME type)
+ The file name to use in the file-download dialog box that is displayed in the browser.
+
+
+ Creates a FilePathResult object by using the file name and the content type.
+ The file-stream result object.
+ The path of the file to send to the response.
+ The content type (MIME type).
+
+
+ Creates a FilePathResult object by using the file name, the content type, and the file download name.
+ The file-stream result object.
+ The path of the file to send to the response.
+ The content type (MIME type).
+ The file name to use in the file-download dialog box that is displayed in the browser.
+
+
+ Called when a request matches this controller, but no method with the specified action name is found in the controller.
+ The name of the attempted action.
+
+
+ Gets HTTP-specific information about an individual HTTP request.
+ The HTTP context.
+
+
+ Returns an instance of the class.
+ An instance of the class.
+
+
+ Returns an instance of the class.
+ An instance of the class.
+ The status description.
+
+
+ Initializes data that might not be available when the constructor is called.
+ The HTTP context and route data.
+
+
+ Creates a object.
+ The object that writes the script to the response.
+ The JavaScript code to run on the client
+
+
+ Creates a object that serializes the specified object to JavaScript Object Notation (JSON).
+ The JSON result object that serializes the specified object to JSON format. The result object that is prepared by this method is written to the response by the ASP.NET MVC framework when the object is executed.
+ The JavaScript object graph to serialize.
+
+
+ Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format.
+ The JSON result object that serializes the specified object to JSON format.
+ The JavaScript object graph to serialize.
+ The content type (MIME type).
+
+
+ Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format.
+ The JSON result object that serializes the specified object to JSON format.
+ The JavaScript object graph to serialize.
+ The content type (MIME type).
+ The content encoding.
+
+
+ Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format using the content type, content encoding, and the JSON request behavior.
+ The result object that serializes the specified object to JSON format.
+ The JavaScript object graph to serialize.
+ The content type (MIME type).
+ The content encoding.
+ The JSON request behavior
+
+
+ Creates a object that serializes the specified object to JavaScript Object Notation (JSON) format using the specified content type and JSON request behavior.
+ The result object that serializes the specified object to JSON format.
+ The JavaScript object graph to serialize.
+ The content type (MIME type).
+ The JSON request behavior
+
+
+ Creates a JsonResult object that serializes the specified object to JavaScript Object Notation (JSON) format using the specified JSON request behavior.
+ The result object that serializes the specified object to JSON format.
+ The JavaScript object graph to serialize.
+ The JSON request behavior.
+
+
+ Gets the model state dictionary object that contains the state of the model and of model-binding validation.
+ The model state dictionary.
+
+
+ Called after the action method is invoked.
+ Information about the current request and action.
+
+
+ Called before the action method is invoked.
+ Information about the current request and action.
+
+
+ Called when authorization occurs.
+ Information about the current request and action.
+
+
+ Called when authorization challenge occurs.
+ Information about the current request and action.
+
+
+ Called when authorization occurs.
+ Information about the current request and action.
+
+
+ Called when an unhandled exception occurs in the action.
+ Information about the current request and action.
+
+
+ Called after the action result that is returned by an action method is executed.
+ Information about the current request and action result.
+
+
+ Called before the action result that is returned by an action method is executed.
+ Information about the current request and action result.
+
+
+ Creates a object that renders a partial view.
+ A partial-view result object.
+
+
+ Creates a object that renders a partial view, by using the specified model.
+ A partial-view result object.
+ The model that is rendered by the partial view
+
+
+ Creates a object that renders a partial view, by using the specified view name.
+ A partial-view result object.
+ The name of the view that is rendered to the response.
+
+
+ Creates a object that renders a partial view, by using the specified view name and model.
+ A partial-view result object.
+ The name of the view that is rendered to the response.
+ The model that is rendered by the partial view
+
+
+ Gets the HTTP context profile.
+ The HTTP context profile.
+
+
+ Creates a object that redirects to the specified URL.
+ The redirect result object.
+ The URL to redirect to.
+
+
+ Returns an instance of the class with the Permanent property set to true.
+ An instance of the class with the Permanent property set to true.
+ The URL to redirect to.
+
+
+ Redirects to the specified action using the action name.
+ The redirect result object.
+ The name of the action.
+
+
+ Redirects to the specified action using the action name and route values.
+ The redirect result object.
+ The name of the action.
+ The parameters for a route.
+
+
+ Redirects to the specified action using the action name and controller name.
+ The redirect result object.
+ The name of the action.
+ The name of the controller.
+
+
+ Redirects to the specified action using the action name, controller name, and route dictionary.
+ The redirect result object.
+ The name of the action.
+ The name of the controller.
+ The parameters for a route.
+
+
+ Redirects to the specified action using the action name, controller name, and route values.
+ The redirect result object.
+ The name of the action.
+ The name of the controller.
+ The parameters for a route.
+
+
+ Redirects to the specified action using the action name and route dictionary.
+ The redirect result object.
+ The name of the action.
+ The parameters for a route.
+
+
+ Returns an instance of the class with the Permanent property set to true using the specified action name.
+ An instance of the class with the Permanent property set to true using the specified action name, controller name, and route values.
+ The action name.
+
+
+ Returns an instance of the class with the Permanent property set to true using the specified action name, and route values.
+ An instance of the class with the Permanent property set to true using the specified action name, and route values.
+ The action name.
+ The route values.
+
+
+ Returns an instance of the class with the Permanent property set to true using the specified action name, and controller name.
+ An instance of the class with the Permanent property set to true using the specified action name, and controller name.
+ The action name.
+ The controller name.
+
+
+ Returns an instance of the class with the Permanent property set to true using the specified action name, controller name, and route values.
+ An instance of the class with the Permanent property set to true using the specified action name, controller name, and route values.
+ The action name.
+ The controller name.
+ The route values.
+
+
+ Returns an instance of the class with the Permanent property set to true using the specified action name, controller name, and route values.
+ An instance of the class with the Permanent property set to true using the specified action name, controller name, and route values.
+ The action name.
+ The controller name.
+ The route values.
+
+
+ Returns an instance of the class with the Permanent property set to true using the specified action name, and route values.
+ An instance of the class with the Permanent property set to true using the specified action name, and route values.
+ The action name.
+ The route values.
+
+
+ Redirects to the specified route using the specified route values.
+ The redirect-to-route result object.
+ The parameters for a route.
+
+
+ Redirects to the specified route using the route name.
+ The redirect-to-route result object.
+ The name of the route.
+
+
+ Redirects to the specified route using the route name and route values.
+ The redirect-to-route result object.
+ The name of the route.
+ The parameters for a route.
+
+
+ Redirects to the specified route using the route name and route dictionary.
+ The redirect-to-route result object.
+ The name of the route.
+ The parameters for a route.
+
+
+ Redirects to the specified route using the route dictionary.
+ The redirect-to-route result object.
+ The parameters for a route.
+
+
+ Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route values.
+ Returns an instance of the RedirectResult class with the Permanent property set to true.
+ The route name.
+
+
+ Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route name.
+ Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route name.
+ The route name.
+
+
+ Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route name and route values.
+ An instance of the RedirectResult class with the Permanent property set to true using the specified route name and route values.
+ The route name.
+ The route values.
+
+
+ Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route name and route values.
+ An instance of the RedirectResult class with the Permanent property set to true.
+ The route name.
+ The route values.
+
+
+ Returns an instance of the RedirectResult class with the Permanent property set to true using the specified route values.
+ An instance of the RedirectResult class with the Permanent property set to true using the specified route values.
+ The route values.
+
+
+ Gets the HttpRequestBase object for the current HTTP request.
+ The request object.
+
+
+ Represents a replaceable dependency resolver providing services. By default, it uses the .
+
+
+ Gets the HttpResponseBase object for the current HTTP response.
+ The HttpResponseBase object for the current HTTP response.
+
+
+ Gets the route data for the current request.
+ The route data.
+
+
+ Gets the HttpServerUtilityBase object that provides methods that are used during Web request processing.
+ The HTTP server object.
+
+
+ Gets the HttpSessionStateBase object for the current HTTP request.
+ The HTTP session-state object for the current HTTP request.
+
+
+ This method calls the BeginExecute method.
+ The result of the operation.
+ The request context.
+ The asynchronous callback.
+ The state of the object.
+
+
+ This method calls the EndExecute method.
+ The asynchronous result of the operation.
+
+
+ This method calls the OnAuthentication method.
+ The filter context.
+
+
+ This method calls the OnAuthenticationChallenge method.
+ The filter context.
+
+
+ This method calls the OnActionExecuted method.
+ The filter context.
+
+
+ This method calls the OnActionExecuting method.
+ The filter context.
+
+
+ This method calls the OnAuthorization method.
+ The filter context.
+
+
+ This method calls the OnException method.
+ The filter context.
+
+
+ This method calls the OnResultExecuted method.
+ The filter context.
+
+
+ This method calls the OnResultExecuting method.
+ The filter context.
+
+
+ Gets the temporary-data provider object that is used to store data for the next request.
+ The temporary-data provider.
+
+
+ Updates the specified model instance using values from the controller's current value provider.
+ true if the update is successful; otherwise, false.
+ The model instance to update.
+ The type of the model object.
+ The parameter or the ValueProvider property is null.
+
+
+ Updates the specified model instance using values from the controller's current value provider and a prefix.
+ true if the update is successful; otherwise, false.
+ The model instance to update.
+ The prefix to use when looking up values in the value provider.
+ The type of the model object.
+ The parameter or the ValueProvider property is null.
+
+
+ Updates the specified model instance using values from the controller's current value provider, a prefix, and included properties.
+ true if the update is successful; otherwise, false.
+ The model instance to update.
+ The prefix to use when looking up values in the value provider.
+ A list of properties of the model to update.
+ The type of the model object.
+ The parameter or the ValueProvider property is null.
+
+
+ Updates the specified model instance using values from the controller's current value provider, a prefix, a list of properties to exclude, and a list of properties to include.
+ true if the update is successful; otherwise, false.
+ The model instance to update.
+ The prefix to use when looking up values in the value provider.
+ A list of properties of the model to update.
+ A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the includeProperties parameter list.
+ The type of the model object.
+ The parameter or the ValueProvider property is null.
+
+
+ Updates the specified model instance using values from the value provider, a prefix, a list of properties to exclude , and a list of properties to include.
+ true if the update is successful; otherwise, false.
+ The model instance to update.
+ The prefix to use when looking up values in the value provider.
+ A list of properties of the model to update.
+ A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the includeProperties parameter list.
+ A dictionary of values that is used to update the model.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the value provider, a prefix, and included properties.
+ true if the update is successful; otherwise, false.
+ The model instance to update.
+ The prefix to use when looking up values in the value provider.
+ A list of properties of the model to update.
+ A dictionary of values that is used to update the model.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the value provider and a list of properties to include.
+ true if the update is successful; otherwise, false.
+ The model instance to update.
+ A list of properties of the model to update.
+ A dictionary of values that is used to update the model.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the controller's current value provider and included properties.
+ true if the update is successful; otherwise, false.
+ The model instance to update.
+ A list of properties of the model to update.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the value provider and a list of properties to include.
+ true if the update is successful; otherwise, false.
+ The model instance to update.
+ A list of properties of the model to update.
+ A dictionary of values that is used to update the model.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the value provider.
+ true if the update is successful; otherwise, false.
+ The model instance to update.
+ A dictionary of values that is used to update the model.
+ The type of the model object.
+
+
+ Validates the specified model instance.
+ true if the model validation is successful; otherwise, false.
+ The model to validate.
+
+
+ Validates the specified model instance using an HTML prefix.
+ true if the model validation is successful; otherwise, false.
+ The model to validate.
+ The prefix to use when looking up values in the model provider.
+
+
+ Updates the specified model instance using values from the controller's current value provider.
+ The model instance to update.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the controller's current value provider and a prefix.
+ The model instance to update.
+ A prefix to use when looking up values in the value provider.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the controller's current value provider, a prefix, and included properties.
+ The model instance to update.
+ A prefix to use when looking up values in the value provider.
+ A list of properties of the model to update.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the controller's current value provider, a prefix, a list of properties to exclude, and a list of properties to include.
+ The model instance to update.
+ A prefix to use when looking up values in the value provider.
+ A list of properties of the model to update.
+ A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the includeProperties list.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the value provider, a prefix, a list of properties to exclude, and a list of properties to include.
+ The model instance to update.
+ The prefix to use when looking up values in the value provider.
+ A list of properties of the model to update.
+ A list of properties to explicitly exclude from the update. These are excluded even if they are listed in the includeProperties parameter list.
+ A dictionary of values that is used to update the model.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the value provider, a prefix, and a list of properties to include.
+ The model instance to update.
+ The prefix to use when looking up values in the value provider.
+ A list of properties of the model to update.
+ A dictionary of values that is used to update the model.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the value provider, a prefix, and a list of properties to include.
+ The model instance to update.
+ A list of properties of the model to update.
+ A dictionary of values that is used to update the model.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the controller object's current value provider.
+ The model instance to update.
+ A list of properties of the model to update.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the value provider, a prefix, and a list of properties to include.
+ The model instance to update.
+ A list of properties of the model to update.
+ A dictionary of values that is used to update the model.
+ The type of the model object.
+
+
+ Updates the specified model instance using values from the value provider.
+ The model instance to update.
+ A dictionary of values that is used to update the model.
+ The type of the model object.
+
+
+ Gets the URL helper object that is used to generate URLs by using routing.
+ The URL helper object.
+
+
+ Gets the user security information for the current HTTP request.
+ The user security information for the current HTTP request.
+
+
+ Validates the specified model instance.
+ The model to validate.
+
+
+ Validates the specified model instance using an HTML prefix.
+ The model to validate.
+ The prefix to use when looking up values in the model provider.
+
+
+ Creates a object that renders a view to the response.
+ The result that renders a view to the response.
+
+
+ Creates a object by using the model that renders a view to the response.
+ The view result.
+ The model that is rendered by the view.
+
+
+ Creates a object by using the view name that renders a view.
+ The view result.
+ The name of the view that is rendered to the response.
+
+
+ Creates a object that renders the specified IView object.
+ The view result.
+ The view that is rendered to the response.
+ The model that is rendered by the view.
+
+
+ Creates a object using the view name and master-page name that renders a view to the response.
+ The view result.
+ The name of the view that is rendered to the response.
+ The name of the master page or template to use when the view is rendered.
+
+
+ Creates a object using the view name, master-page name, and model that renders a view.
+ The view result.
+ The name of the view that is rendered to the response.
+ The name of the master page or template to use when the view is rendered.
+ The model that is rendered by the view.
+
+
+ Creates a object that renders the specified IView object.
+ The view result.
+ The view that is rendered to the response.
+
+
+ Creates a object that renders the specified object.
+ The view result.
+ The view that is rendered to the response.
+ The model that is rendered by the view.
+
+
+ Gets the view engine collection.
+ The view engine collection.
+
+
+ Represents a class that is responsible for invoking the action methods of a controller.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the model binders that are associated with the action.
+ The model binders that are associated with the action.
+
+
+ Creates the action result.
+ The action result object.
+ The controller context.
+ The action descriptor.
+ The action return value.
+
+
+ Finds the information about the action method.
+ Information about the action method.
+ The controller context.
+ The controller descriptor.
+ The name of the action.
+
+
+ Retrieves information about the controller by using the specified controller context.
+ Information about the controller.
+ The controller context.
+
+
+ Retrieves information about the action filters.
+ Information about the action filters.
+ The controller context.
+ The action descriptor.
+
+
+ Gets the value of the specified action-method parameter.
+ The value of the action-method parameter.
+ The controller context.
+ The parameter descriptor.
+
+
+ Gets the values of the action-method parameters.
+ The values of the action-method parameters.
+ The controller context.
+ The action descriptor.
+
+
+ Invokes the specified action by using the specified controller context.
+ The result of executing the action.
+ The controller context.
+ The name of the action to invoke.
+ The parameter is null.
+ The parameter is null or empty.
+ The thread was aborted during invocation of the action.
+ An unspecified error occurred during invocation of the action.
+
+
+ Invokes the specified action method by using the specified parameters and the controller context.
+ The result of executing the action method.
+ The controller context.
+ The action descriptor.
+ The parameters.
+
+
+ Invokes the specified action method by using the specified parameters, controller context, and action filters.
+ The context for the ActionExecuted method of the class.
+ The controller context.
+ The action filters.
+ The action descriptor.
+ The parameters.
+
+
+ Invokes the specified action result by using the specified controller context.
+ The controller context.
+ The action result.
+
+
+ Invokes the specified action result by using the specified action filters and the controller context.
+ The context for the ResultExecuted method of the class.
+ The controller context.
+ The action filters.
+ The action result.
+
+
+
+
+ Invokes the specified authorization filters by using the specified action descriptor and controller context.
+ The context for the object.
+ The controller context.
+ The authorization filters.
+ The action descriptor.
+
+
+ Invokes the specified exception filters by using the specified exception and controller context.
+ The context for the object.
+ The controller context.
+ The exception filters.
+ The exception.
+
+
+ Represents the base class for all MVC controllers.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the controller context.
+ The controller context.
+
+
+ Executes the specified request context.
+ The request context.
+ The parameter is null.
+
+
+ Executes the request.
+
+
+ Initializes the specified request context.
+ The request context.
+
+
+ Executes the specified request context.
+ The request context.
+
+
+ Gets or sets the dictionary for temporary data.
+ The dictionary for temporary data.
+
+
+ Gets or sets a value that indicates whether request validation is enabled for this request.
+ true if request validation is enabled for this request; otherwise, false. The default is true.
+
+
+ Gets or sets the value provider for the controller.
+ The value provider for the controller.
+
+
+ Gets the dynamic view data dictionary.
+ The dynamic view data dictionary.
+
+
+ Gets or sets the dictionary for view data.
+ The dictionary for the view data.
+
+
+ Represents a class that is responsible for dynamically building a controller.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the current controller builder object.
+ The current controller builder.
+
+
+ Gets the default namespaces.
+ The default namespaces.
+
+
+ Gets the associated controller factory.
+ The controller factory.
+
+
+ Sets the controller factory by using the specified type.
+ The type of the controller factory.
+ The parameter is null.
+ The controller factory cannot be assigned from the type in the parameter.
+ An error occurred while the controller factory was being set.
+
+
+ Sets the specified controller factory.
+ The controller factory.
+ The parameter is null.
+
+
+ Encapsulates information about an HTTP request that matches specified and instances.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using the specified HTTP context, URL route data, and controller.
+ The HTTP context.
+ The route data.
+ The controller.
+
+
+ Initializes a new instance of the class by using the specified controller context.
+ The controller context.
+ The parameter is null.
+
+
+ Initializes a new instance of the class by using the specified request context and controller.
+ The request context.
+ The controller.
+ One or both parameters are null.
+
+
+ Gets or sets the controller.
+ The controller.
+
+
+ Gets the display mode.
+ The display mode.
+
+
+ Gets or sets the HTTP context.
+ The HTTP context.
+
+
+ Gets a value that indicates whether the associated action method is a child action.
+ true if the associated action method is a child action; otherwise, false.
+
+
+ Gets an object that contains the view context information for the parent action method.
+ An object that contains the view context information for the parent action method.
+
+
+ Gets or sets the request context.
+ The request context.
+
+
+ Gets or sets the URL route data.
+ The URL route data.
+
+
+ Encapsulates information that describes a controller, such as its name, type, and actions.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the name of the controller.
+ The name of the controller.
+
+
+ Gets the type of the controller.
+ The type of the controller.
+
+
+ Finds an action method by using the specified name and controller context.
+ The information about the action method.
+ The controller context.
+ The name of the action.
+
+
+ Retrieves a list of action-method descriptors in the controller.
+ A list of action-method descriptors in the controller.
+
+
+ Retrieves custom attributes that are defined for this member, excluding named attributes.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+
+
+ Retrieves custom attributes of a specified type that are defined for this member, excluding named attributes.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+ The parameter is null (Nothing in Visual Basic).
+
+
+ Gets the filter attributes.
+ The filter attributes.
+ true if the cache should be used; otherwise, false.
+
+
+ Retrieves a value that indicates whether one or more instance of the specified custom attribute are defined for this member.
+ true if the is defined for this member; otherwise, false.
+ The type of the custom attribute.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The parameter is null (Nothing in Visual Basic).
+
+
+ When implemented in a derived class, gets the unique ID for the controller descriptor using lazy initialization.
+ The unique ID.
+
+
+ Adds the controller to the instance.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns the collection of controller instance filters.
+ The collection of controller instance filters.
+ The controller context.
+ The action descriptor.
+
+
+ Represents an attribute that invokes a custom model binder.
+
+
+ Initializes a new instance of the class.
+
+
+ Retrieves the associated model binder.
+ A reference to an object that implements the interface.
+
+
+ Provides a container for common metadata, for the class, and for the class for a data model.
+
+
+ Initializes a new instance of the class.
+ The data-annotations model metadata provider.
+ The type of the container.
+ The model accessor.
+ The type of the model.
+ The name of the property.
+ The display column attribute.
+
+
+ Returns simple text for the model data.
+ Simple text for the model data.
+
+
+ Implements the default model metadata provider for ASP.NET MVC.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the metadata for the specified property.
+ The metadata for the property.
+ The attributes.
+ The type of the container.
+ The model accessor.
+ The type of the model.
+ The name of the property.
+
+
+ Represents the method that creates a instance.
+
+
+ Provides a model validator.
+
+
+ Initializes a new instance of the class.
+ The metadata for the model.
+ The controller context for the model.
+ The validation attribute for the model.
+
+
+ Gets the validation attribute for the model validator.
+ The validation attribute for the model validator.
+
+
+ Gets the error message for the validation failure.
+ The error message for the validation failure.
+
+
+ Retrieves a collection of client validation rules.
+ A collection of client validation rules.
+
+
+ Gets a value that indicates whether model validation is required.
+ true if model validation is required; otherwise, false.
+
+
+ Returns a list of validation error messages for the model.
+ A list of validation error messages for the model, or an empty list if no errors have occurred.
+ The container for the model.
+
+
+ Provides a model validator for a specified validation type.
+
+
+
+ Initializes a new instance of the class.
+ The metadata for the model.
+ The controller context for the model.
+ The validation attribute for the model.
+
+
+ Gets the validation attribute from the model validator.
+ The validation attribute from the model validator.
+
+
+ Implements the default validation provider for ASP.NET MVC.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets a value that indicates whether non-nullable value types are required.
+ true if non-nullable value types are required; otherwise, false.
+
+
+ Gets a list of validators.
+ A list of validators.
+ The metadata.
+ The context.
+ The list of validation attributes.
+
+
+ Registers an adapter to provide client-side validation.
+ The type of the validation attribute.
+ The type of the adapter.
+
+
+ Registers an adapter factory for the validation provider.
+ The type of the attribute.
+ The factory that will be used to create the object for the specified attribute.
+
+
+ Registers the default adapter.
+ The type of the adapter.
+
+
+ Registers the default adapter factory.
+ The factory that will be used to create the object for the default adapter.
+
+
+ Registers an adapter to provide default object validation.
+ The type of the adapter.
+
+
+ Registers an adapter factory for the default object validation provider.
+ The factory.
+
+
+ Registers an adapter to provide object validation.
+ The type of the model.
+ The type of the adapter.
+
+
+ Registers an adapter factory for the object validation provider.
+ The type of the model.
+ The factory.
+
+
+ Provides a factory for validators that are based on .
+
+
+ Provides a container for the error-information model validator.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets a list of error-information model validators.
+ A list of error-information model validators.
+ The model metadata.
+ The controller context.
+
+
+ Represents the controller factory that is registered by default.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using a controller activator.
+ An object that implements the controller activator interface.
+
+
+ Creates the specified controller by using the specified request context.
+ The controller.
+ The context of the HTTP request, which includes the HTTP context and route data.
+ The name of the controller.
+ The parameter is null.
+ The parameter is null or empty.
+
+
+ Retrieves the controller instance for the specified request context and controller type.
+ The controller instance.
+ The context of the HTTP request, which includes the HTTP context and route data.
+ The type of the controller.
+
+ is null.
+
+ cannot be assigned.
+ An instance of cannot be created.
+
+
+ Returns the controller's session behavior.
+ The controller's session behavior.
+ The request context.
+ The type of the controller.
+
+
+ Retrieves the controller type for the specified name and request context.
+ The controller type.
+ The context of the HTTP request, which includes the HTTP context and route data.
+ The name of the controller.
+
+
+ Releases the specified controller.
+ The controller to release.
+
+
+ This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code. This method calls the method.
+ The controller's session behavior.
+ The request context.
+ The controller name.
+
+
+ Maps a browser request to a data object. This class provides a concrete implementation of a model binder.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the model binders for the application.
+ The model binders for the application.
+
+
+ Binds the model by using the specified controller context and binding context.
+ The bound object.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+ The parameter is null.
+
+
+ Binds the specified property by using the specified controller context and binding context and the specified property descriptor.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+ Describes a property to be bound. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value.
+
+
+ Creates the specified model type by using the specified controller context and binding context.
+ A data object of the specified type.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+ The type of the model object to return.
+
+
+ Creates an index (a subindex) based on a category of components that make up a larger index, where the specified index value is an integer.
+ The name of the subindex.
+ The prefix for the subindex.
+ The index value.
+
+
+ Creates an index (a subindex) based on a category of components that make up a larger index, where the specified index value is a string.
+ The name of the subindex.
+ The prefix for the subindex.
+ The index value.
+
+
+ Creates the name of the subproperty by using the specified prefix and property name.
+ The name of the subproperty.
+ The prefix for the subproperty.
+ The name of the property.
+
+
+ Returns a set of properties that match the property filter restrictions that are established by the specified .
+ An enumerable set of property descriptors.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+
+
+ Returns the properties of the model by using the specified controller context and binding context.
+ A collection of property descriptors.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+
+
+ Returns the value of a property using the specified controller context, binding context, property descriptor, and property binder.
+ An object that represents the property value.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+ The descriptor for the property to access. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value.
+ An object that provides a way to bind the property.
+
+
+ Returns the descriptor object for a type that is specified by its controller context and binding context.
+ A custom type descriptor object.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+
+
+ Determines whether a data model is valid for the specified binding context.
+ true if the model is valid; otherwise, false.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+ The parameter is null.
+
+
+ Called when the model is updated.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+
+
+ Called when the model is updating.
+ true if the model is updating; otherwise, false.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+
+
+ Called when the specified property is validated.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+ Describes a property to be validated. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value.
+ The value to set for the property.
+
+
+ Called when the specified property is validating.
+ true if the property is validating; otherwise, false.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+ Describes a property being validated. The descriptor provides information such as component type, property type, and property value. It also provides methods to get or set the property value.
+ The value to set for the property.
+
+
+ Gets or sets the name of the resource file (class key) that contains localized string values.
+ The name of the resource file (class key).
+
+
+ Sets the specified property by using the specified controller context, binding context, and property value.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+ Describes a property to be set. The descriptor provides information such as the component type, property type, and property value. It also provides methods to get or set the property value.
+ The value to set for the property.
+
+
+ Represents a memory cache for view locations.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using the specified cache time span.
+ The cache time span.
+ The Ticks attribute of the parameter is set to a negative number.
+
+
+ Retrieves the default view location by using the specified HTTP context and cache key.
+ The default view location.
+ The HTTP context.
+ The cache key
+ The parameter is null.
+
+
+ Inserts the view in the specified virtual path by using the specified HTTP context, cache key, and virtual path.
+ The HTTP context.
+ The cache key.
+ The virtual path
+ The parameter is null.
+
+
+ Creates an empty view location cache.
+
+
+ Gets or sets the cache time span.
+ The cache time span.
+
+
+ Provides a registration point for dependency resolvers that implement or the Common Service Locator IServiceLocator interface.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the implementation of the dependency resolver.
+ The implementation of the dependency resolver.
+
+
+ This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
+ The implementation of the dependency resolver.
+
+
+ This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
+ The function that provides the service.
+ The function that provides the services.
+
+
+ This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
+ The common service locator.
+
+
+ This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
+ The object that implements the dependency resolver.
+
+
+ Provides a registration point for dependency resolvers using the specified service delegate and specified service collection delegates.
+ The service delegate.
+ The services delegates.
+
+
+ Provides a registration point for dependency resolvers using the provided common service locator when using a service locator interface.
+ The common service locator.
+
+
+ Provides a registration point for dependency resolvers, using the specified dependency resolver interface.
+ The dependency resolver.
+
+
+ Provides a type-safe implementation of and .
+
+
+ Resolves singly registered services that support arbitrary object creation.
+ The requested service or object.
+ The dependency resolver instance that this method extends.
+ The type of the requested service or object.
+
+
+ Resolves multiply registered services.
+ The requested services.
+ The dependency resolver instance that this method extends.
+ The type of the requested services.
+
+
+ Represents the base class for value providers whose values come from a collection that implements the interface.
+ The type of the value.
+
+
+ Initializes a new instance of the class.
+ The name/value pairs that are used to initialize the value provider.
+ Information about a specific culture, such as the names of the culture, the writing system, and the calendar used.
+ The parameter is null.
+
+
+ Determines whether the collection contains the specified prefix.
+ true if the collection contains the specified prefix; otherwise, false.
+ The prefix to search for.
+ The parameter is null.
+
+
+ Gets the keys from the prefix.
+ The keys from the prefix.
+ the prefix.
+
+
+ Returns a value object using the specified key and controller context.
+ The value object for the specified key.
+ The key of the value object to retrieve.
+ The parameter is null.
+
+
+ Provides an empty metadata provider for data models that do not require metadata.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a new instance of the class.
+ A new instance of the class.
+ The attributes.
+ The type of the container.
+ The model accessor.
+ The type of the model.
+ The name of the model.
+
+
+ Provides an empty validation provider for models that do not require a validator.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the empty model validator.
+ The empty model validator.
+ The metadata.
+ The context.
+
+
+ Represents a result that does nothing, such as a controller action method that returns nothing.
+
+
+ Initializes a new instance of the class.
+
+
+ Executes the specified result context.
+ The result context.
+
+
+ Provides the context for using the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class for the specified exception by using the specified controller context.
+ The controller context.
+ The exception.
+ The parameter is null.
+
+
+ Gets or sets the exception object.
+ The exception object.
+
+
+ Gets or sets a value that indicates whether the exception has been handled.
+ true if the exception has been handled; otherwise, false.
+
+
+ Gets or sets the action result.
+ The action result.
+
+
+ Provides a helper class to get the model name from an expression.
+
+
+ Gets the model name from a lambda expression.
+ The model name.
+ The expression.
+
+
+ Gets the model name from a string expression.
+ The model name.
+ The expression.
+
+
+ Provides a container for client-side field validation metadata.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the name of the data field.
+ The name of the data field.
+
+
+ Gets or sets a value that indicates whether the validation message contents should be replaced with the client validation error.
+ true if the validation message contents should be replaced with the client validation error; otherwise, false.
+
+
+ Gets or sets the validator message ID.
+ The validator message ID.
+
+
+ Gets the client validation rules.
+ The client validation rules.
+
+
+ Sends the contents of a binary file to the response.
+
+
+ Initializes a new instance of the class by using the specified file contents and content type.
+ The byte array to send to the response.
+ The content type to use for the response.
+ The parameter is null.
+
+
+ The binary content to send to the response.
+ The file contents.
+
+
+ Writes the file content to the response.
+ The response.
+
+
+ Sends the contents of a file to the response.
+
+
+ Initializes a new instance of the class by using the specified file name and content type.
+ The name of the file to send to the response.
+ The content type of the response.
+ The parameter is null or empty.
+
+
+ Gets or sets the path of the file that is sent to the response.
+ The path of the file that is sent to the response.
+
+
+ Writes the file to the response.
+ The response.
+
+
+ Represents a base class that is used to send binary file content to the response.
+
+
+ Initializes a new instance of the class.
+ The type of the content.
+ The parameter is null or empty.
+
+
+ Gets the content type to use for the response.
+ The type of the content.
+
+
+ Enables processing of the result of an action method by a custom type that inherits from the class.
+ The context within which the result is executed.
+ The parameter is null.
+
+
+ Gets or sets the content-disposition header so that a file-download dialog box is displayed in the browser with the specified file name.
+ The name of the file.
+
+
+ Writes the file to the response.
+ The response.
+
+
+ Sends binary content to the response by using a instance.
+
+
+ Initializes a new instance of the class.
+ The stream to send to the response.
+ The content type to use for the response.
+ The parameter is null.
+
+
+ Gets the stream that will be sent to the response.
+ The file stream.
+
+
+ Writes the file to the response.
+ The response.
+
+
+ Represents a metadata class that contains a reference to the implementation of one or more of the filter interfaces, the filter's order, and the filter's scope.
+
+
+ Initializes a new instance of the class.
+ The instance.
+ The scope.
+ The order.
+
+
+ Represents a constant that is used to specify the default ordering of filters.
+
+
+ Gets the instance of this class.
+ The instance of this class.
+
+
+ Gets the order in which the filter is applied.
+ The order in which the filter is applied.
+
+
+ Gets the scope ordering of the filter.
+ The scope ordering of the filter.
+
+
+ Represents the base class for action and result filter attributes.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets a value that indicates whether more than one instance of the filter attribute can be specified.
+ true if more than one instance of the filter attribute can be specified; otherwise, false.
+
+
+ Gets or sets the order in which the action filters are executed.
+ The order in which the action filters are executed.
+
+
+ Defines a filter provider for filter attributes.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class and optionally caches attribute instances.
+ true to cache attribute instances; otherwise, false.
+
+
+ Gets a collection of custom action attributes.
+ A collection of custom action attributes.
+ The controller context.
+ The action descriptor.
+
+
+ Gets a collection of controller attributes.
+ A collection of controller attributes.
+ The controller context.
+ The action descriptor.
+
+
+ Aggregates the filters from all of the filter providers into one collection.
+ The collection filters from all of the filter providers.
+ The controller context.
+ The action descriptor.
+
+
+ Encapsulates information about the available action filters.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the specified filters collection.
+ The filters collection.
+
+
+ Gets all the action filters in the application.
+ The action filters.
+
+
+ Gets all the authentication filters in the application.
+ The list of authentication filters.
+
+
+ Gets all the authorization filters in the application.
+ The authorization filters.
+
+
+ Gets all the exception filters in the application.
+ The exception filters.
+
+
+ Gets all the result filters in the application.
+ The result filters.
+
+
+ Represents the collection of filter providers for the application.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with specified list of filter provider.
+ The list of filter providers.
+
+
+ Removes all elements from the collection.
+
+
+ Returns the collection of filter providers.
+ The collection of filter providers.
+ The controller context.
+ The action descriptor.
+
+
+ Inserts an element into the collection at the specified index.
+ The zero-based index at which item should be inserted.
+ The object to insert. The value can be null for reference types.
+
+
+ Removes the element at the specified index of the collection
+ The zero-based index of the element to remove.
+
+
+ Replaces the element at the specified index.
+ The zero-based index of the element to replace.
+ The new value for the element at the specified index. The value can be null for reference types.
+
+
+ Provides a registration point for filters.
+
+
+ Provides a registration point for filters.
+ The collection of filters.
+
+
+ Defines values that specify the order in which ASP.NET MVC filters run within the same filter type and filter order.
+
+
+ Specifies an order before and after .
+
+
+ Specifies an order before and after .
+
+
+ Specifies first.
+
+
+ Specifies an order before and after .
+
+
+ Specifies last.
+
+
+ Contains the form value providers for the application.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The collection.
+ The parameter is null.
+
+
+ Gets the specified value provider.
+ The value provider.
+ The name of the value provider to get.
+ The parameter is null or empty.
+
+
+ Gets a value that indicates whether the value provider contains an entry that has the specified prefix.
+ true if the value provider contains an entry that has the specified prefix; otherwise, false.
+ The prefix to look for.
+
+
+ Gets a value from a value provider using the specified key.
+ A value from a value provider.
+ The key.
+
+
+ Returns a dictionary that contains the value providers.
+ A dictionary of value providers.
+
+
+ Encapsulates information that is required in order to validate and process the input data from an HTML form.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the field validators for the form.
+ A dictionary of field validators for the form.
+
+
+ Gets or sets the form identifier.
+ The form identifier.
+
+
+ Returns a serialized object that contains the form identifier and field-validation values for the form.
+ A serialized object that contains the form identifier and field-validation values for the form.
+
+
+ Returns the validation value for the specified input field.
+ The value to validate the field input with.
+ The name of the field to retrieve the validation value for.
+ The parameter is either null or empty.
+
+
+ Returns the validation value for the specified input field and a value that indicates what to do if the validation value is not found.
+ The value to validate the field input with.
+ The name of the field to retrieve the validation value for.
+ true to create a validation value if one is not found; otherwise, false.
+ The parameter is either null or empty.
+
+
+ Returns a value that indicates whether the specified field has been rendered in the form.
+ true if the field has been rendered; otherwise, false.
+ The field name.
+
+
+ Sets a value that indicates whether the specified field has been rendered in the form.
+ The field name.
+ true to specify that the field has been rendered in the form; otherwise, false.
+
+
+ Determines whether client validation errors should be dynamically added to the validation summary.
+ true if client validation errors should be added to the validation summary; otherwise, false.
+
+
+ Gets or sets the identifier for the validation summary.
+ The identifier for the validation summary.
+
+
+ Enumerates the HTTP request types for a form.
+
+
+ Specifies a GET request.
+
+
+ Specifies a POST request.
+
+
+ Represents a value provider for form values that are contained in a object.
+
+
+ Initializes a new instance of the class.
+ An object that encapsulates information about the current HTTP request.
+
+
+ Represents a class that is responsible for creating a new instance of a form-value provider object.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a form-value provider object for the specified controller context.
+ A form-value provider object.
+ An object that encapsulates information about the current HTTP request.
+ The parameter is null.
+
+
+ Represents a class that contains all the global filters.
+
+
+ Initializes a new instance of the class.
+
+
+ Adds the specified filter to the global filter collection.
+ The filter.
+
+
+ Adds the specified filter to the global filter collection using the specified filter run order.
+ The filter.
+ The filter run order.
+
+
+ Removes all filters from the global filter collection.
+
+
+ Determines whether a filter is in the global filter collection.
+ true if is found in the global filter collection; otherwise, false.
+ The filter.
+
+
+ Gets the number of filters in the global filter collection.
+ The number of filters in the global filter collection.
+
+
+ Returns an enumerator that iterates through the global filter collection.
+ An enumerator that iterates through the global filter collection.
+
+
+ Removes all the filters that match the specified filter.
+ The filter to remove.
+
+
+ This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
+ An enumerator that iterates through the global filter collection.
+
+
+ This API supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
+ An enumerator that iterates through the global filter collection.
+ The controller context.
+ The action descriptor.
+
+
+ Represents the global filter collection.
+
+
+ Gets or sets the global filter collection.
+ The global filter collection.
+
+
+ Represents an attribute that is used to handle an exception that is thrown by an action method.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the type of the exception.
+ The type of the exception.
+
+
+ Gets or sets the master view for displaying exception information.
+ The master view.
+
+
+ Called when an exception occurs.
+ The action-filter context.
+ The parameter is null.
+
+
+ Gets the unique identifier for this attribute.
+ The unique identifier for this attribute.
+
+
+ Gets or sets the page view for displaying exception information.
+ The page view.
+
+
+ Encapsulates information for handling an error that was thrown by an action method.
+
+
+ Initializes a new instance of the class.
+ The exception.
+ The name of the controller.
+ The name of the action.
+ The parameter is null.
+ The or parameter is null or empty.
+
+
+ Gets or sets the name of the action that was executing when the exception was thrown.
+ The name of the action.
+
+
+ Gets or sets the name of the controller that contains the action method that threw the exception.
+ The name of the controller.
+
+
+ Gets or sets the exception object.
+ The exception object.
+
+
+ Represents an attribute that is used to indicate whether a property or field value should be rendered as a hidden input element.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets a value that indicates whether to display the value of the hidden input element.
+ true if the value should be displayed; otherwise, false.
+
+
+ Enumerates the date rendering mode for HTML5.
+
+
+ The current culture formatting.
+
+
+ The RFC 3339 formatting.
+
+
+ Supports the rendering of HTML controls in a view.
+
+
+ Initializes a new instance of the class by using the specified view context and view data container.
+ The view context.
+ The view data container.
+ The or the viewDataContainer parameter is null.
+
+
+ Initializes a new instance of the class by using the specified view context, view data container, and route collection.
+ The view context.
+ The view data container.
+ The route collection.
+ One or more parameters is null.
+
+
+ Replaces underscore characters (_) with hyphens (-) in the specified HTML attributes.
+ The HTML attributes with underscore characters replaced by hyphens.
+ The HTML attributes.
+
+
+ Generates a hidden form field (anti-forgery token) that is validated when the form is submitted.
+ The generated form field (anti-forgery token).
+
+
+ Generates a hidden form field (anti-forgery token) that is validated when the form is submitted. The field value is generated using the specified salt value.
+ The generated form field (anti-forgery token).
+ The salt value, which can be any non-empty string.
+
+
+ Generates a hidden form field (anti-forgery token) that is validated when the form is submitted. The field value is generated using the specified salt value, domain, and path.
+ The generated form field (anti-forgery token).
+ The salt value, which can be any non-empty string.
+ The application domain.
+ The virtual path.
+
+
+ Converts the specified attribute value to an HTML-encoded string.
+ The HTML-encoded string. If the value parameter is null or empty, this method returns an empty string.
+ The object to encode.
+
+
+ Converts the specified attribute value to an HTML-encoded string.
+ The HTML-encoded string. If the value parameter is null or empty, this method returns an empty string.
+ The string to encode.
+
+
+ Gets or sets a value that indicates whether client validation is enabled.
+ true if enable client validation is enabled; otherwise, false.
+
+
+ Enables input validation that is performed by using client script in the browser.
+
+
+ Enables or disables client validation.
+ true to enable client validation; otherwise, false.
+
+
+ Enables or disables unobtrusive JavaScript.
+
+
+ Enables or disables unobtrusive JavaScript.
+ true to enable unobtrusive JavaScript; otherwise, false.
+
+
+ Converts the value of the specified object to an HTML-encoded string.
+ The HTML-encoded string.
+ The object to encode.
+
+
+ Converts the specified string to an HTML-encoded string.
+ The HTML-encoded string.
+ The string to encode.
+
+
+ Formats the value.
+ The formatted value.
+ The value.
+ The format string.
+
+
+ Creates an HTML element ID using the specified element name.
+ The ID of the HTML element.
+ The name of the HTML element.
+ The name parameter is null.
+
+
+ Creates an HTML element ID using the specified element name and a string that replaces dots in the name.
+ The ID of the HTML element.
+ The name of the HTML element.
+ The string that replaces dots (.) in the name parameter.
+ The name parameter or the idAttributeDotReplacement parameter is null.
+
+
+ Generates an HTML anchor element (a element) that links to the specified action method, and enables the user to specify the communication protocol, name of the host, and a URL fragment.
+ An HTML element that links to the specified action method.
+ The context of the HTTP request.
+ The collection of URL routes.
+ The text caption to display for the link.
+ The name of the route that is used to return a virtual path.
+ The name of the action method.
+ The name of the controller.
+ The communication protocol, such as HTTP or HTTPS. If this parameter is null, the protocol defaults to HTTP.
+ The name of the host.
+ The fragment identifier.
+ An object that contains the parameters for a route.
+ An object that contains the HTML attributes for the element.
+
+
+ Generates an HTML anchor element (a element) that links to the specified action method.
+ An HTML element that links to the specified action method.
+ The context of the HTTP request.
+ The collection of URL routes.
+ The text caption to display for the link.
+ The name of the route that is used to return a virtual path.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route.
+ An object that contains the HTML attributes for the element.
+
+
+ Generates an HTML anchor element (a element) that links to the specified URL route, and enables the user to specify the communication protocol, name of the host, and a URL fragment.
+ An HTML element that links to the specified URL route.
+ The context of the HTTP request.
+ The collection of URL routes.
+ The text caption to display for the link.
+ The name of the route that is used to return a virtual path.
+ The communication protocol, such as HTTP or HTTPS. If this parameter is null, the protocol defaults to HTTP.
+ The name of the host.
+ The fragment identifier.
+ An object that contains the parameters for a route.
+ An object that contains the HTML attributes for the element.
+
+
+ Generates an HTML anchor element (a element) that links to the specified URL route.
+ An HTML element that links to the specified URL route.
+ The context of the HTTP request.
+ The collection of URL routes.
+ The text caption to display for the link.
+ The name of the route that is used to return a virtual path.
+ An object that contains the parameters for a route.
+ An object that contains the HTML attributes for the element.
+
+
+ Returns the HTTP method that handles form input (GET or POST) as a string.
+ The form method string, either "get" or "post".
+ The HTTP method that handles the form.
+
+
+ Returns the HTML input control type as a string.
+ The input type string ("checkbox", "hidden", "password", "radio", or "text").
+ The enumerated input type.
+
+
+ Gets the collection of unobtrusive JavaScript validation attributes using the specified HTML name attribute.
+ The collection of unobtrusive JavaScript validation attributes.
+ The HTML name attribute.
+
+
+ Gets the collection of unobtrusive JavaScript validation attributes using the specified HTML name attribute and model metadata.
+ The collection of unobtrusive JavaScript validation attributes.
+ The HTML name attribute.
+ The model metadata.
+
+
+ Gets or sets the HTML5 date rendering mode.
+ The HTML5 date rendering mode.
+
+
+ Returns a hidden input element that identifies the override method for the specified HTTP data-transfer method that was used by the client.
+ The override method that uses the HTTP data-transfer method that was used by the client.
+ The HTTP data-transfer method that was used by the client (DELETE, HEAD, or PUT).
+ The httpVerb parameter is not "PUT", "DELETE", or "HEAD".
+
+
+ Returns a hidden input element that identifies the override method for the specified verb that represents the HTTP data-transfer method used by the client.
+ The override method that uses the verb that represents the HTTP data-transfer method used by the client.
+ The verb that represents the HTTP data-transfer method used by the client.
+ The httpVerb parameter is not "PUT", "DELETE", or "HEAD".
+
+
+ Gets or sets the character that replaces periods in the ID attribute of an element.
+ The character that replaces periods in the ID attribute of an element.
+
+
+ Creates a dictionary from an object, by adding each public instance property as a key with its associated value to the dictionary. It will expose public properties from derived types as well. This is typically used with objects of an anonymous type.
+ The created dictionary of property names and property values.
+ The object to be converted.
+
+
+ Returns markup that is not HTML encoded.
+ The HTML markup without encoding.
+ The HTML markup.
+
+
+ Returns markup that is not HTML encoded.
+ The HTML markup without encoding.
+ The HTML markup.
+
+
+ Gets or sets the collection of routes for the application.
+ The collection of routes for the application.
+
+
+ Set element name used to wrap the validation message generated by and other overloads.
+
+
+ Set element name used to wrap a top-level message in and other overloads.
+
+
+ Gets or sets a value that indicates whether unobtrusive JavaScript is enabled.
+ true if unobtrusive JavaScript is enabled; otherwise, false.
+
+
+ The name of the CSS class that is used to style an input field when a validation error occurs.
+
+
+ The name of the CSS class that is used to style an input field when the input is valid.
+
+
+ The name of the CSS class that is used to style the error message when a validation error occurs.
+
+
+ Element name used to wrap the validation message generated by and other overloads.
+
+
+ The name of the CSS class that is used to style the validation message when the input is valid.
+
+
+ The name of the CSS class that is used to style validation summary error messages.
+
+
+ Element name used to wrap a top-level message in and other overloads.
+
+
+ The name of the CSS class that is used to style the validation summary when the input is valid.
+
+
+ Gets the view bag.
+ The view bag.
+
+
+ Gets or sets the context information about the view.
+ The context of the view.
+
+
+ Gets the current view data dictionary.
+ The view data dictionary.
+
+
+ Gets or sets the view data container.
+ The view data container.
+
+
+ Represents support for rendering HTML controls in a strongly typed view.
+ The type of the model.
+
+
+ Initializes a new instance of the class by using the specified view context and view data container.
+ The view context.
+ The view data container.
+
+
+ Initializes a new instance of the class by using the specified view context, view data container, and route collection.
+ The view context.
+ The view data container.
+ The route collection.
+
+
+ Gets the view bag.
+ The view bag.
+
+
+ Gets the strongly typed view data dictionary.
+ The strongly typed view data dictionary.
+
+
+ Represents an attribute that is used to restrict an action method so that the method handles only HTTP DELETE requests.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the action method delete request is valid for the specified controller context.
+ true if the action method request is valid for the specified controller context; otherwise, false.
+ The controller context.
+ Information about the action method.
+
+
+ Represents a value provider to use with values that come from a collection of HTTP files.
+
+
+ Initializes a new instance of the class.
+ An object that encapsulates information about the current HTTP request.
+
+
+ Represents a class that is responsible for creating a new instance of an HTTP file collection value provider object.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a value provider object for the specified controller context.
+ An HTTP file collection value provider.
+ An object that encapsulates information about the HTTP request.
+ The parameter is null.
+
+
+ Represents an attribute that is used to restrict an action method so that the method handles only HTTP GET requests.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the action method get request is valid for the specified controller context.
+ true if the action method request is valid for the specified controller context; otherwise, false.
+ The controller context.
+ Information about the action method.
+
+
+ Specifies that the HTTP request must be the HTTP HEAD method.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the action method request is valid for the specified controller context.
+ true if the action method request is valid for the specified controller context; otherwise, false.
+ The controller context.
+ Information about the action method.
+
+
+ Defines an object that is used to indicate that the requested resource was not found.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using a status description.
+ The status description.
+
+
+ Represents an attribute that is used to restrict an action method so that the method handles only HTTP OPTIONS requests.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the action method request is valid for the specified controller context.
+ true if the action method request is valid for the specified controller context; otherwise, false.
+ The controller context.
+ Information about the action method.
+
+
+ Represents an attribute that is used to restrict an action method so that the method handles only HTTP PATCH requests.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the action method request is valid for the specified controller context.
+ true if the action method request is valid for the specified controller context; otherwise, false.
+ The controller context.
+ Information about the action method.
+
+
+ Represents an attribute that is used to restrict an action method so that the method handles only HTTP POST requests.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the action method post request is valid for the specified controller context.
+ true if the action method request is valid for the specified controller context; otherwise, false.
+ The controller context.
+ Information about the action method.
+
+
+ Binds a model to a posted file.
+
+
+ Initializes a new instance of the class.
+
+
+ Binds the model.
+ The bound value.Implements
+ The controller context.
+ The binding context.
+ One or both parameters are null.
+
+
+ Represents an attribute that is used to restrict an action method so that the method handles only HTTP PUT requests.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the action method put request is valid for the specified controller context.
+ true if the action method request is valid for the specified controller context; otherwise, false.
+ The controller context.
+ Information about the action method.
+
+
+ Extends the class that contains the HTTP values that were sent by a client during a Web request.
+
+
+ Retrieves the HTTP data-transfer method override that was used by the client.
+ The HTTP data-transfer method override that was used by the client.
+ An object that contains the HTTP values that were sent by a client during a Web request.
+ The parameter is null.
+ The HTTP data-transfer method override was not implemented.
+
+
+ Provides a way to return an action result with a specific HTTP response status code and description.
+
+
+ Initializes a new instance of the class using a status code.
+ The status code.
+
+
+ Initializes a new instance of the class using a status code and status description.
+ The status code.
+ The status description.
+
+
+ Initializes a new instance of the class using a status code.
+ The status code.
+
+
+ Initializes a new instance of the class using a status code and status description.
+ The status code.
+ The status description.
+
+
+ Enables processing of the result of an action method by a custom type that inherits from the class.
+ The context in which the result is executed. The context information includes the controller, HTTP content, request context, and route data.
+
+
+ Gets the HTTP status code.
+ The HTTP status code.
+
+
+ Gets the HTTP status description.
+ the HTTP status description.
+
+
+ Represents the result of an unauthorized HTTP request.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the status description.
+ The status description.
+
+
+ Enumerates the HTTP verbs.
+
+
+ Requests that a specified URI be deleted.
+
+
+ Retrieves the information or entity that is identified by the URI of the request.
+
+
+ Retrieves the message headers for the information or entity that is identified by the URI of the request.
+
+
+ Represents a request for information about the communication options available on the request/response chain identified by the Request-URI.
+
+
+ Requests that a set of changes described in the request entity be applied to the resource identified by the Request- URI.
+
+
+ Posts a new entity as an addition to a URI.
+
+
+ Replaces an entity that is identified by a URI.
+
+
+ Defines the methods that are used in an action filter.
+
+
+ Called after the action method executes.
+ The filter context.
+
+
+ Called before an action method executes.
+ The filter context.
+
+
+ Defines the contract for an action invoker, which is used to invoke an action in response to an HTTP request.
+
+
+ Invokes the specified action by using the specified controller context.
+ true if the action was found; otherwise, false.
+ The controller context.
+ The name of the action.
+
+
+ Used to create an instance for the current request.
+
+
+ Creates an instance of action invoker for the current request.
+ The created .
+
+
+ Defines the methods that are required for an authorization filter.
+
+
+ Called when authorization is required.
+ The filter context.
+
+
+ Provides a way for the ASP.NET MVC validation framework to discover at run time whether a validator has support for client validation.
+
+
+ When implemented in a class, returns client validation rules for that class.
+ The client validation rules for this validator.
+ The model metadata.
+ The controller context.
+
+
+ Defines the methods that are required for a controller.
+
+
+ Executes the specified request context.
+ The request context.
+
+
+ Provides fine-grained control over how controllers are instantiated using dependency injection.
+
+
+ When implemented in a class, creates a controller.
+ The created controller.
+ The request context.
+ The controller type.
+
+
+ Defines the methods that are required for a controller factory.
+
+
+ Creates the specified controller by using the specified request context.
+ The controller.
+ The request context.
+ The name of the controller.
+
+
+ Gets the controller's session behavior.
+ The controller's session behavior.
+ The request context.
+ The name of the controller whose session behavior you want to get.
+
+
+ Releases the specified controller.
+ The controller.
+
+
+ Defines the methods that simplify service location and dependency resolution.
+
+
+ Resolves singly registered services that support arbitrary object creation.
+ The requested service or object.
+ The type of the requested service or object.
+
+
+ Resolves multiply registered services.
+ The requested services.
+ The type of the requested services.
+
+
+ Represents a special that has the ability to be enumerable.
+
+
+ Gets the keys from the prefix.
+ The keys.
+ The prefix.
+
+
+ Defines the methods that are required for an exception filter.
+
+
+ Called when an exception occurs.
+ The filter context.
+
+
+ Provides an interface for finding filters.
+
+
+ Returns an enumerator that contains all the instances in the service locator.
+ The enumerator that contains all the instances in the service locator.
+ The controller context.
+ The action descriptor.
+
+
+ Provides an interface for exposing attributes to the class.
+
+
+ When implemented in a class, provides metadata to the model metadata creation process.
+ The model metadata.
+
+
+ An optional interface for types which provide a .
+
+
+ Gets the MethodInfo
+
+
+ Defines the methods that are required for a model binder.
+
+
+ Binds the model to a value by using the specified controller context and binding context.
+ The bound value.
+ The controller context.
+ The binding context.
+
+
+ Defines methods that enable dynamic implementations of model binding for classes that implement the interface.
+
+
+ Returns the model binder for the specified type.
+ The model binder for the specified type.
+ The type of the model.
+
+
+ Defines members that specify the order of filters and whether multiple filters are allowed.
+
+
+ When implemented in a class, gets or sets a value that indicates whether multiple filters are allowed.
+ true if multiple filters are allowed; otherwise, false.
+
+
+ When implemented in a class, gets the filter order.
+ The filter order.
+
+
+ Enumerates the types of input controls.
+
+
+ A check box.
+
+
+ A hidden field.
+
+
+ A password box.
+
+
+ A radio button.
+
+
+ A text box.
+
+
+ Defines the methods that are required for a result filter.
+
+
+ Called after an action result executes.
+ The filter context.
+
+
+ Called before an action result executes.
+ The filter context.
+
+
+ Associates a route with an area in an ASP.NET MVC application.
+
+
+ Gets the name of the area to associate the route with.
+ The name of the area to associate the route with.
+
+
+ Defines the contract for temporary-data providers that store data that is viewed on the next request.
+
+
+ Loads the temporary data.
+ The temporary data.
+ The controller context.
+
+
+ Saves the temporary data.
+ The controller context.
+ The values.
+
+
+ Used to create an instance for the controller.
+
+
+ Creates an instance of for the controller.
+ The created .
+
+
+ Represents an interface that can skip request validation.
+
+
+ Retrieves the value of the object that is associated with the specified key.
+ The value of the object for the specified key.
+ The key.
+ true if validation should be skipped; otherwise, false.
+
+
+ Defines the methods that are required for a value provider in ASP.NET MVC.
+
+
+ Determines whether the collection contains the specified prefix.
+ true if the collection contains the specified prefix; otherwise, false.
+ The prefix to search for.
+
+
+ Retrieves a value object using the specified key.
+ The value object for the specified key, or null if the key is not found.
+ The key of the value object to retrieve.
+
+
+ Defines the methods that are required for a view.
+
+
+ Renders the specified view context by using the specified the writer object.
+ The view context.
+ The writer object.
+
+
+ Defines the methods that are required for a view data dictionary.
+
+
+ Gets or sets the view data dictionary.
+ The view data dictionary.
+
+
+ Defines the methods that are required for a view engine.
+
+
+ Finds the specified partial view by using the specified controller context.
+ The partial view.
+ The controller context.
+ The name of the partial view.
+ true to specify that the view engine returns the cached view, if a cached view exists; otherwise, false.
+
+
+ Finds the specified view by using the specified controller context.
+ The page view.
+ The controller context.
+ The name of the view.
+ The name of the master.
+ true to specify that the view engine returns the cached view, if a cached view exists; otherwise, false.
+
+
+ Releases the specified view by using the specified controller context.
+ The controller context.
+ The view.
+
+
+ Defines the methods that are required in order to cache view locations in memory.
+
+
+ Gets the view location by using the specified HTTP context and the cache key.
+ The view location.
+ The HTTP context.
+ The cache key.
+
+
+ Inserts the specified view location into the cache by using the specified HTTP context and the cache key.
+ The HTTP context.
+ The cache key.
+ The virtual path.
+
+
+ Provides fine-grained control over how view pages are created using dependency injection.
+
+
+ Provides fine-grained control over how view pages are created using dependency injection.
+ The created view page.
+ The controller context.
+ The type of the controller.
+
+
+ Sends JavaScript content to the response.
+
+
+ Initializes a new instance of the class.
+
+
+ Enables processing of the result of an action method by a custom type that inherits from the class.
+ The context within which the result is executed.
+ The parameter is null.
+
+
+ Gets or sets the script.
+ The script.
+
+
+ The JQuery Form Value provider is used to handle JQuery formatted data in request Forms.
+
+
+ Constructs a new instance of the JQuery form ValueProvider
+ The context on which the ValueProvider operates.
+
+
+ Provides the necessary ValueProvider to handle JQuery Form data.
+
+
+ Constructs a new instance of the factory which provides JQuery form ValueProviders.
+
+
+ Returns the suitable ValueProvider.
+ The context on which the ValueProvider should operate.
+
+
+ Specifies whether HTTP GET requests from the client are allowed.
+
+
+ HTTP GET requests from the client are allowed.
+
+
+ HTTP GET requests from the client are not allowed.
+
+
+ Represents a class that is used to send JSON-formatted content to the response.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the content encoding.
+ The content encoding.
+
+
+ Gets or sets the type of the content.
+ The type of the content.
+
+
+ Gets or sets the data.
+ The data.
+
+
+ Enables processing of the result of an action method by a custom type that inherits from the class.
+ The context within which the result is executed.
+ The parameter is null.
+
+
+ Gets or sets a value that indicates whether HTTP GET requests from the client are allowed.
+ A value that indicates whether HTTP GET requests from the client are allowed.
+
+
+ Gets or sets the maximum length of data.
+ The maximum length of data.
+
+
+ Gets or sets the recursion limit.
+ The recursion limit.
+
+
+ Enables action methods to send and receive JSON-formatted text and to model-bind the JSON text to parameters of action methods.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a JSON value-provider object for the specified controller context.
+ A JSON value-provider object for the specified controller context.
+ The controller context.
+
+
+ Maps a browser request to a LINQ object.
+
+
+ Initializes a new instance of the class.
+
+
+ Binds the model by using the specified controller context and binding context.
+ The bound data object. If the model cannot be bound, this method returns null.Implements.
+ The context within which the controller operates. The context information includes the controller, HTTP content, request context, and route data.
+ The context within which the model is bound. The context includes information such as the model object, model name, model type, property filter, and value provider.
+
+
+ Provides an adapter for the MaxLengthAttribute attribute.
+
+
+ Initializes a new instance of the MaxLengthAttribute class.
+ The model metadata.
+ The controller context.
+ The MaxLength attribute.
+
+
+ Gets a list of client validation rules for a max length check.
+ A list of client validation rules for the check.
+
+
+ Provides an adapter for the MinLengthAttribute attribute.
+
+
+ Initializes a new instance of the MinLenghtAttribute class.
+ The model metadata.
+ The controller context.
+ The minimum length attribute.
+
+
+ Gets a list of client validation rules for the minimum length check.
+ A list of client validation rules for a check.
+
+
+ Represents an attribute that is used to associate a model type to a model-builder type.
+
+
+ Initializes a new instance of the class.
+ The type of the binder.
+ The parameter is null.
+
+
+ Gets or sets the type of the binder.
+ The type of the binder.
+
+
+ Retrieves an instance of the model binder.
+ A reference to an object that implements the interface.
+ An error occurred while an instance of the model binder was being created.
+
+
+ Represents a class that contains all model binders for the application, listed by binder type.
+
+
+ Initializes a new instance of the class.
+
+
+ Adds the specified item to the model binder dictionary.
+ The object to add to the instance.
+ The object is read-only.
+
+
+ Adds the specified item to the model binder dictionary using the specified key.
+ The key of the element to add.
+ The value of the element to add.
+ The object is read-only.
+
+ is null.
+ An element that has the same key already exists in the object.
+
+
+ Removes all items from the model binder dictionary.
+ The object is read-only.
+
+
+ Determines whether the model binder dictionary contains a specified value.
+ true if is found in the model binder dictionary; otherwise, false.
+ The object to locate in the object.
+
+
+ Determines whether the model binder dictionary contains an element that has the specified key.
+ true if the model binder dictionary contains an element that has the specified key; otherwise, false.
+ The key to locate in the object.
+
+ is null.
+
+
+ Copies the elements of the model binder dictionary to an array, starting at a specified index.
+ The one-dimensional array that is the destination of the elements copied from . The array must have zero-based indexing.
+ The zero-based index in at which copying starts.
+
+ is null.
+
+ is less than 0.
+
+ is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source object is greater than the available space from to the end of the destination array. -or- Type cannot be cast automatically to the type of the destination array.
+
+
+ Gets the number of elements in the model binder dictionary.
+ The number of elements in the model binder dictionary.
+
+
+ Gets or sets the default model binder.
+ The default model binder.
+
+
+ Retrieves the model binder for the specified type.
+ The model binder.
+ The type of the model to retrieve.
+ The parameter is null.
+
+
+ Retrieves the model binder for the specified type or retrieves the default model binder.
+ The model binder.
+ The type of the model to retrieve.
+ true to retrieve the default model binder.
+ The parameter is null.
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Gets a value that indicates whether the model binder dictionary is read-only.
+ true if the model binder dictionary is read-only; otherwise, false.
+
+
+ Gets or sets the specified key in an object that implements the interface.
+ The key for the specified item.
+
+
+ Gets a collection that contains the keys in the model binder dictionary.
+ A collection that contains the keys in the model binder dictionary.
+
+
+ Removes the first occurrence of the specified element from the model binder dictionary.
+ true if was successfully removed from the model binder dictionary; otherwise, false. This method also returns false if is not found in the model binder dictionary.
+ The object to remove from the object.
+ The object is read-only.
+
+
+ Removes the element that has the specified key from the model binder dictionary.
+ true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the model binder dictionary.
+ The key of the element to remove.
+ The object is read-only.
+
+ is null.
+
+
+ Returns an enumerator that can be used to iterate through a collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Gets the value that is associated with the specified key.
+ true if the object that implements contains an element that has the specified key; otherwise, false.
+ The key of the value to get.
+ When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
+
+ is null.
+
+
+ Gets a collection that contains the values in the model binder dictionary.
+ A collection that contains the values in the model binder dictionary.
+
+
+ No content here will be updated; please do not add material here.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using a list of model binder providers.
+ A list of model binder providers.
+
+
+ Removes all elements from the collection.
+
+
+ Returns a model binder of the specified type.
+ A model binder of the specified type.
+ The type of the model binder.
+
+
+ Inserts a model binder provider into the ModelBinderProviderCollection at the specified index.
+ The index.
+ The model binder provider.
+
+
+ Removes the element at the specified index of the collection.
+ The zero-based index of the element to remove.
+
+
+ Replaces the model binder provider element at the specified index.
+ The index.
+ The model binder provider.
+
+
+ Provides a container for model binder providers.
+
+
+ Provides a registration point for model binder providers for applications that do not use dependency injection.
+ The model binder provider collection.
+
+
+ Provides global access to the model binders for the application.
+
+
+ Gets the model binders for the application.
+ The model binders for the application.
+
+
+ Provides the context in which a model binder functions.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the binding context.
+ The binding context.
+
+
+ Gets or sets a value that indicates whether the binder should use an empty prefix.
+ true if the binder should use an empty prefix; otherwise, false.
+
+
+ Gets or sets the model.
+ The model.
+
+
+ Gets or sets the model metadata.
+ The model metadata.
+
+
+ Gets or sets the name of the model.
+ The name of the model.
+
+
+ Gets or sets the state of the model.
+ The state of the model.
+
+
+ Gets or sets the type of the model.
+ The type of the model.
+
+
+ Gets or sets the property filter.
+ The property filter.
+
+
+ Gets the property metadata.
+ The property metadata.
+
+
+ Gets or sets the value provider.
+ The value provider.
+
+
+ Represents an error that occurs during model binding.
+
+
+ Initializes a new instance of the class by using the specified exception.
+ The exception.
+ The parameter is null.
+
+
+ Initializes a new instance of the class by using the specified exception and error message.
+ The exception.
+ The error message.
+ The parameter is null.
+
+
+ Initializes a new instance of the class by using the specified error message.
+ The error message.
+
+
+ Gets or sets the error message.
+ The error message.
+
+
+ Gets or sets the exception object.
+ The exception object.
+
+
+ A collection of instances.
+
+
+ Initializes a new instance of the class.
+
+
+ Adds the specified object to the model-error collection.
+ The exception.
+
+
+ Adds the specified error message to the model-error collection.
+ The error message.
+
+
+ Provides a container for common metadata, for the class, and for the class for a data model.
+
+
+ Initializes a new instance of the class.
+ The provider.
+ The type of the container.
+ The model accessor.
+ The type of the model.
+ The name of the model.
+
+
+ Gets a dictionary that contains additional metadata about the model.
+ A dictionary that contains additional metadata about the model.
+
+
+ A reference to the model's container object. Will be non-null if the model represents a property.
+
+
+ Gets or sets the type of the container for the model.
+ The type of the container for the model.
+
+
+ Gets or sets a value that indicates whether empty strings that are posted back in forms should be converted to null.
+ true if empty strings that are posted back in forms should be converted to null; otherwise, false. The default value is true.
+
+
+ Gets or sets meta information about the data type.
+ Meta information about the data type.
+
+
+ The default order value, which is 10000.
+
+
+ Gets or sets the description of the model.
+ The description of the model. The default value is null.
+
+
+ Gets or sets the display format string for the model.
+ The display format string for the model.
+
+
+ Gets or sets the display name of the model.
+ The display name of the model.
+
+
+ Gets or sets the edit format string of the model.
+ The edit format string of the model.
+
+
+ Returns the metadata from the parameter for the model.
+ The metadata.
+ An expression that identifies the model.
+ The view data dictionary.
+ The type of the parameter.
+ The type of the value.
+
+
+ Gets the metadata from the expression parameter for the model.
+ The metadata for the model.
+ An expression that identifies the model.
+ The view data dictionary.
+
+
+ Gets the display name for the model.
+ The display name for the model.
+
+
+ Returns the simple description of the model.
+ The simple description of the model.
+
+
+ Gets a list of validators for the model.
+ A list of validators for the model.
+ The controller context.
+
+
+ Gets or sets a value that indicates whether the model object should be rendered using associated HTML elements.
+ true if the associated HTML elements that contains the model object should be included with the object; otherwise, false.
+
+
+ Gets or sets a value that indicates whether the model is a complex type.
+ A value that indicates whether the model is considered a complex type by the MVC framework.
+
+
+ Gets a value that indicates whether the type is nullable.
+ true if the type is nullable; otherwise, false.
+
+
+ Gets or sets a value that indicates whether the model is read-only.
+ true if the model is read-only; otherwise, false.
+
+
+ Gets or sets a value that indicates whether the model is required.
+ true if the model is required; otherwise, false.
+
+
+ Gets the value of the model.
+ The value of the model. For more information about , see the entry ASP.NET MVC 2 Templates, Part 2: ModelMetadata on Brad Wilson's blog
+
+
+ Gets the type of the model.
+ The type of the model.
+
+
+ Gets or sets the string to display for null values.
+ The string to display for null values.
+
+
+ Gets or sets a value that represents order of the current metadata.
+ The order value of the current metadata.
+
+
+ Gets a collection of model metadata objects that describe the properties of the model.
+ A collection of model metadata objects that describe the properties of the model.
+
+
+ Gets the property name.
+ The property name.
+
+
+ Gets or sets the provider.
+ The provider.
+
+
+ Gets or sets a value that indicates whether request validation is enabled.
+ true if request validation is enabled; otherwise, false.
+
+
+ Gets or sets a short display name.
+ The short display name.
+
+
+ Gets or sets a value that indicates whether the property should be displayed in read-only views such as list and detail views.
+ true if the model should be displayed in read-only views; otherwise, false.
+
+
+ Gets or sets a value that indicates whether the model should be displayed in editable views.
+ true if the model should be displayed in editable views; otherwise, false.
+
+
+ Gets or sets the simple display string for the model.
+ The simple display string for the model.
+
+
+ Gets or sets a hint that suggests what template to use for this model.
+ A hint that suggests what template to use for this model.
+
+
+ Gets or sets a value that can be used as a watermark.
+ The watermark.
+
+
+ Provides an abstract base class for a custom metadata provider.
+
+
+ When overridden in a derived class, initializes a new instance of the object that derives from the class.
+
+
+ Gets a object for each property of a model.
+ A object for each property of a model.
+ The container.
+ The type of the container.
+
+
+ Gets metadata for the specified property.
+ A object for the property.
+ The model accessor.
+ The type of the container.
+ The property to get the metadata model for.
+
+
+ Gets metadata for the specified model accessor and model type.
+ A object for the specified model accessor and model type.
+ The model accessor.
+ The type of the model.
+
+
+ Provides a container for the current instance.
+
+
+ Gets or sets the current object.
+ The current object.
+
+
+ Encapsulates the state of model binding to a property of an action-method argument, or to the argument itself.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a object that contains any errors that occurred during model binding.
+ The errors.
+
+
+ Returns a object that encapsulates the value that was being bound during model binding.
+ The value.
+
+
+ Represents the state of an attempt to bind a posted form to an action method, which includes validation information.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using values that are copied from the specified model-state dictionary.
+ The model-state dictionary.
+ The parameter is null.
+
+
+ Adds the specified item to the model-state dictionary.
+ The object to add to the model-state dictionary.
+ The model-state dictionary is read-only.
+
+
+ Adds an element that has the specified key and value to the model-state dictionary.
+ The key of the element to add.
+ The value of the element to add.
+ The model-state dictionary is read-only.
+
+ is null.
+ An element that has the specified key already occurs in the model-state dictionary.
+
+
+ Adds the specified model error to the errors collection for the model-state dictionary that is associated with the specified key.
+ The key.
+ The exception.
+
+
+ Adds the specified error message to the errors collection for the model-state dictionary that is associated with the specified key.
+ The key.
+ The error message.
+
+
+ Removes all items from the model-state dictionary.
+ The model-state dictionary is read-only.
+
+
+ Determines whether the model-state dictionary contains a specific value.
+ true if is found in the model-state dictionary; otherwise, false.
+ The object to locate in the model-state dictionary.
+
+
+ Determines whether the model-state dictionary contains the specified key.
+ true if the model-state dictionary contains the specified key; otherwise, false.
+ The key to locate in the model-state dictionary.
+
+
+ Copies the elements of the model-state dictionary to an array, starting at a specified index.
+ The one-dimensional array that is the destination of the elements copied from the object. The array must have zero-based indexing.
+ The zero-based index in at which copying starts.
+
+ is null.
+
+ is less than 0.
+
+ is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source collection is greater than the available space from to the end of the destination .-or- Type cannot be cast automatically to the type of the destination .
+
+
+ Gets the number of key/value pairs in the collection.
+ The number of key/value pairs in the collection.
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Gets a value that indicates whether the collection is read-only.
+ true if the collection is read-only; otherwise, false.
+
+
+ Gets a value that indicates whether this instance of the model-state dictionary is valid.
+ true if this instance is valid; otherwise, false.
+
+
+ Determines whether there are any objects that are associated with or prefixed with the specified key.
+ true if the model-state dictionary contains a value that is associated with the specified key; otherwise, false.
+ The key.
+ The parameter is null.
+
+
+ Gets or sets the value that is associated with the specified key.
+ The model state item.
+
+
+ Gets a collection that contains the keys in the dictionary.
+ A collection that contains the keys of the model-state dictionary.
+
+
+ Copies the values from the specified object into this dictionary, overwriting existing values if keys are the same.
+ The dictionary.
+
+
+ Removes the first occurrence of the specified object from the model-state dictionary.
+ true if was successfully removed the model-state dictionary; otherwise, false. This method also returns false if is not found in the model-state dictionary.
+ The object to remove from the model-state dictionary.
+ The model-state dictionary is read-only.
+
+
+ Removes the element that has the specified key from the model-state dictionary.
+ true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the model-state dictionary.
+ The key of the element to remove.
+ The model-state dictionary is read-only.
+
+ is null.
+
+
+ Sets the value for the specified key by using the specified value provider dictionary.
+ The key.
+ The value.
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Attempts to gets the value that is associated with the specified key.
+ true if the object that implements contains an element that has the specified key; otherwise, false.
+ The key of the value to get.
+ When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
+
+ is null.
+
+
+ Gets a collection that contains the values in the dictionary.
+ A collection that contains the values of the model-state dictionary.
+
+
+ Provides a container for a validation result.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the name of the member.
+ The name of the member.
+
+
+ Gets or sets the validation result message.
+ The validation result message.
+
+
+ Provides a base class for implementing validation logic.
+
+
+ Called from constructors in derived classes to initialize the class.
+ The metadata.
+ The controller context.
+
+
+ Gets the controller context.
+ The controller context.
+
+
+ When implemented in a derived class, returns metadata for client validation.
+ The metadata for client validation.
+
+
+ Returns a composite model validator for the model.
+ A composite model validator for the model.
+ The metadata.
+ The controller context.
+
+
+ Gets or sets a value that indicates whether a model property is required.
+ true if the model property is required; otherwise, false.
+
+
+ Gets the metadata for the model validator.
+ The metadata for the model validator.
+
+
+ When implemented in a derived class, validates the object.
+ A list of validation results.
+ The container.
+
+
+ Provides a list of validators for a model.
+
+
+ When implemented in a derived class, initializes a new instance of the class.
+
+
+ Gets a list of validators.
+ A list of validators.
+ The metadata.
+ The context.
+
+
+ No content here will be updated; please do not add material here.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using a list of model-validation providers.
+ A list of model-validation providers.
+
+
+ Removes all elements from the collection.
+
+
+ Returns the list of model validators.
+ The list of model validators.
+ The model metadata.
+ The controller context.
+
+
+ Inserts a model-validator provider into the collection.
+ The zero-based index at which item should be inserted.
+ The model-validator provider object to insert.
+
+
+ Removes the element at the specified index of the collection.
+ The zero-based index of the element to remove.
+
+
+ Replaces the model-validator provider element at the specified index.
+ The zero-based index of the model-validator provider element to replace.
+ The new value for the model-validator provider element.
+
+
+ Provides a container for the current validation provider.
+
+
+ Gets the model validator provider collection.
+ The model validator provider collection.
+
+
+ Represents a list of items that users can select more than one item from.
+
+
+ Initializes a new instance of the class by using the specified items to include in the list.
+ The items.
+ The parameter is null.
+
+
+ Initializes a new instance of the class by using the specified items to include in the list and the selected values.
+ The items.
+ The selected values.
+ The parameter is null.
+
+
+ Initializes a new instance of the MultiSelectList class by using the items to include in the list, the selected values, the disabled values.
+ The items used to build each of the list.
+ The selected values field. Used to match the Selected property of the corresponding .
+ The disabled values. Used to match the Disabled property of the corresponding .
+
+
+ Initializes a new instance of the class by using the items to include in the list, the data value field, and the data text field.
+ The items.
+ The data value field.
+ The data text field.
+ The parameter is null.
+
+
+ Initializes a new instance of the class by using the items to include in the list, the data value field, the data text field, and the selected values.
+ The items.
+ The data value field.
+ The data text field.
+ The selected values.
+ The parameter is null.
+
+
+ Initializes a new instance of the MultiSelectList class by using the items to include in the list, the data value field, the data text field, the selected values, and the disabled values.
+ The items used to build each of the list.
+ The data value field. Used to match the Value property of the corresponding .
+ The data text field. Used to match the Text property of the corresponding .
+ The selected values field. Used to match the Selected property of the corresponding .
+ The disabled values. Used to match the Disabled property of the corresponding .
+
+
+ Initializes a new instance of the MultiSelectList class by using the items to include in the list, the data value field, the data text field, and the data group field.
+ The items used to build each of the list.
+ The data value field. Used to match the Value property of the corresponding .
+ The data text field. Used to match the Text property of the corresponding .
+ The data group field. Used to match the Group property of the corresponding .
+
+
+ Initializes a new instance of the MultiSelectList class by using the items to include in the list, the data value field, the data text field, the data group field, and the selected values.
+ The items used to build each of the list.
+ The data value field. Used to match the Value property of the corresponding .
+ The data text field. Used to match the Text property of the corresponding .
+ The data group field. Used to match the Group property of the corresponding .
+ The selected values field. Used to match the Selected property of the corresponding .
+
+
+ Initializes a new instance of the MultiSelectList class by using the items to include in the list, the data value field, the data text field, the data group field, the selected values, and the disabled values.
+ The items used to build each of the list.
+ The data value field. Used to match the Value property of the corresponding .
+ The data text field. Used to match the Text property of the corresponding .
+ The data group field. Used to match the Group property of the corresponding .
+ The selected values field. Used to match the Selected property of the corresponding .
+ The disabled values. Used to match the Disabled property of the corresponding .
+
+
+ Initializes a new instance of the MultiSelectList class by using the items to include in the list, the data value field, the data text field, the data group field, the selected values, the disabled values, and the disabled groups.
+ The items used to build each of the list.
+ The data value field. Used to match the Value property of the corresponding .
+ The data text field. Used to match the Text property of the corresponding .
+ The data group field. Used to match the Group property of the corresponding .
+ The selected values field. Used to match the Selected property of the corresponding .
+ The disabled values. Used to match the Disabled property of the corresponding .
+ The disabled groups. Used to match the Disabled property of the corresponding .
+
+
+ Gets the data group field.
+
+
+ Gets or sets the data text field.
+ The data text field.
+
+
+ Gets or sets the data value field.
+ The data value field.
+
+
+ Gets the disabled groups.
+
+
+ Gets the disabled values.
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Gets or sets the items in the list.
+ The items in the list.
+
+
+ Gets or sets the selected values.
+ The selected values.
+
+
+ Returns an enumerator can be used to iterate through a collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ When implemented in a derived class, provides a metadata class that contains a reference to the implementation of one or more of the filter interfaces, the filter's order, and the filter's scope.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class and specifies the order of filters and whether multiple filters are allowed.
+ true to specify that multiple filters of the same type are allowed; otherwise, false.
+ The filter order.
+
+
+ Gets a value that indicates whether more than one instance of the filter attribute can be specified.
+ true if more than one instance of the filter attribute is allowed; otherwise, false.Implements.
+
+
+ Gets a value that indicates the order in which a filter is applied.
+ A value that indicates the order in which a filter is applied.Implements.
+
+
+ Selects the controller that will handle an HTTP request.
+
+
+ Initializes a new instance of the class.
+ The request context.
+ The parameter is null.
+
+
+ Adds the version header by using the specified HTTP context.
+ The HTTP context.
+
+
+ Called by ASP.NET to begin asynchronous request processing.
+ The status of the asynchronous call.
+ The HTTP context.
+ The asynchronous callback method.
+ The state of the asynchronous object.
+
+
+ Called by ASP.NET to begin asynchronous request processing using the base HTTP context.
+ The status of the asynchronous call.
+ The HTTP context.
+ The asynchronous callback method.
+ The state of the asynchronous object.
+
+
+ Gets or sets a value that indicates whether the MVC response header is disabled.
+ true if the MVC response header is disabled; otherwise, false.
+
+
+ Called by ASP.NET when asynchronous request processing has ended.
+ The asynchronous result.
+
+
+ Gets a value that indicates whether another request can use the instance.
+ true if the instance is reusable; otherwise, false.
+
+
+ Contains the header name of the ASP.NET MVC version.
+
+
+ Processes the request by using the specified HTTP request context.
+ The HTTP context.
+
+
+ Processes the request by using the specified base HTTP request context.
+ The HTTP context.
+
+
+ Gets the request context.
+ The request context.
+
+
+ Called by ASP.NET to begin asynchronous request processing using the base HTTP context.
+ The status of the asynchronous call.
+ The HTTP context.
+ The asynchronous callback method.
+ The data.
+
+
+ Called by ASP.NET when asynchronous request processing has ended.
+ The asynchronous result.
+
+
+ Gets a value that indicates whether another request can use the instance.
+ true if the instance is reusable; otherwise, false.
+
+
+ Enables processing of HTTP Web requests by a custom HTTP handler that implements the interface.
+ An object that provides references to the intrinsic server objects (for example, Request, Response, Session, and Server) that are used to service HTTP requests.
+
+
+ Represents an HTML-encoded string that should not be encoded again.
+
+
+ Initializes a new instance of the class.
+ The string to create. If no value is assigned, the object is created using an empty-string value.
+
+
+ Creates an HTML-encoded string using the specified text value.
+ An HTML-encoded string.
+ The value of the string to create .
+
+
+ Contains an empty HTML string.
+
+
+ Determines whether the specified string contains content or is either null or empty.
+ true if the string is null or empty; otherwise, false.
+ The string.
+
+
+ Verifies and processes an HTTP request.
+
+
+ Initializes a new instance of the class.
+
+
+ Called by ASP.NET to begin asynchronous request processing.
+ The status of the asynchronous call.
+ The HTTP context.
+ The asynchronous callback method.
+ The state.
+
+
+ Called by ASP.NET to begin asynchronous request processing.
+ The status of the asynchronous call.
+ The base HTTP context.
+ The asynchronous callback method.
+ The state.
+
+
+ Called by ASP.NET when asynchronous request processing has ended.
+ The asynchronous result.
+
+
+ Called by ASP.NET to begin asynchronous request processing.
+ The status of the asynchronous call.
+ The context.
+ The asynchronous callback method.
+ An object that contains data.
+
+
+ Called by ASP.NET when asynchronous request processing has ended.
+ The status of the asynchronous operations.
+
+
+ Verifies and processes an HTTP request.
+ The HTTP handler.
+ The HTTP context.
+
+
+ Creates an object that implements the IHttpHandler interface and passes the request context to it.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the specified factory controller object.
+ The controller factory.
+
+
+ Returns the HTTP handler by using the specified HTTP context.
+ The HTTP handler.
+ The request context.
+
+
+ Returns the session behavior.
+ The session behavior.
+ The request context.
+
+
+ Returns the HTTP handler by using the specified request context.
+ The HTTP handler.
+ The request context.
+
+
+ Creates instances of files.
+
+
+ Initializes a new instance of the class.
+
+
+ Creates a Razor host.
+ A Razor host.
+ The virtual path to the target file.
+ The physical path to the target file.
+
+
+ Extends a NameValueCollection object so that the collection can be copied to a specified dictionary.
+
+
+ Copies the specified collection to the specified destination.
+ The collection.
+ The destination.
+
+
+ Copies the specified collection to the specified destination, and optionally replaces previous entries.
+ The collection.
+ The destination.
+ true to replace previous entries; otherwise, false.
+
+
+ Represents the base class for value providers whose values come from a object.
+
+
+ Initializes a new instance of the class using the specified unvalidated collection.
+ A collection that contains the values that are used to initialize the provider.
+ A collection that contains the values that are used to initialize the provider. This collection will not be validated.
+ An object that contains information about the target culture.
+
+
+ Initializes Name Value collection provider.
+ Key value collection from request.
+ Unvalidated key value collection from the request.
+ Culture with which the values are to be used.
+ jQuery POST when sending complex Javascript objects to server does not encode in the way understandable by MVC. This flag should be set if the request should be normalized to MVC form - https://aspnetwebstack.codeplex.com/workitem/1564.
+
+
+ Initializes a new instance of the class.
+ A collection that contains the values that are used to initialize the provider.
+ An object that contains information about the target culture.
+ The parameter is null.
+
+
+ Determines whether the collection contains the specified prefix.
+ true if the collection contains the specified prefix; otherwise, false.
+ The prefix to search for.
+ The parameter is null.
+
+
+ Gets the keys using the specified prefix.
+ They keys.
+ The prefix.
+
+
+ Returns a value object using the specified key.
+ The value object for the specified key.
+ The key of the value object to retrieve.
+ The parameter is null.
+
+
+ Returns a value object using the specified key and validation directive.
+ The value object for the specified key.
+ The key.
+ true if validation should be skipped; otherwise, false.
+
+
+ Provides a convenience wrapper for the attribute.
+
+
+ Initializes a new instance of the class.
+
+
+ Represents an attribute that is used to indicate that a controller method is not an action method.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether the attribute marks a method that is not an action method by using the specified controller context.
+ true if the attribute marks a valid non-action method; otherwise, false.
+ The controller context.
+ The method information.
+
+
+ Represents an attribute that is used to mark an action method whose output will be cached.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the cache profile name.
+ The cache profile name.
+
+
+ Gets or sets the child action cache.
+ The child action cache.
+
+
+ Gets or sets the cache duration, in seconds.
+ The cache duration.
+
+
+ Returns a value that indicates whether a child action cache is active.
+ true if the child action cache is active; otherwise, false.
+ The controller context.
+
+
+ Gets or sets the location.
+ The location.
+
+
+ Gets or sets a value that indicates whether to store the cache.
+ true if the cache should be stored; otherwise, false.
+
+
+ This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code.
+ The filter context.
+
+
+ This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code.
+ The filter context.
+
+
+ This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code.
+ The filter context.
+
+
+ This method is an implementation of and supports the ASP.NET MVC infrastructure. It is not intended to be used directly from your code.
+ The filter context.
+
+
+ Called before the action result executes.
+ The filter context, which encapsulates information for using .
+ The parameter is null.
+
+
+ Gets or sets the SQL dependency.
+ The SQL dependency.
+
+
+ Gets or sets the vary-by-content encoding.
+ The vary-by-content encoding.
+
+
+ Gets or sets the vary-by-custom value.
+ The vary-by-custom value.
+
+
+ Gets or sets the vary-by-header value.
+ The vary-by-header value.
+
+
+ Gets or sets the vary-by-param value.
+ The vary-by-param value.
+
+
+ Represents the attributes associated with the override filter.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the filters to override for this instance.
+ The filters to override for this instance.
+
+
+ Represents the attributes associated with the authentication.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the filters to override for this instance.
+ The filters to override for this instance.
+
+
+ Represents the attributes associated with the authorization.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the filters to override for this instance.
+ The filters to override for this instance.
+
+
+ Represents the attributes associated with the exception filter.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the filters to override for this instance.
+ The filters to override for this instance.
+
+
+ Represents the attributes associated with the result filter.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the filters to override for this instance.
+ The filters to override for this instance.
+
+
+ Encapsulates information for binding action-method parameters to a data model.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the model binder.
+ The model binder.
+
+
+ Gets a comma-delimited list of property names for which binding is disabled.
+ The exclude list.
+
+
+ Gets a comma-delimited list of property names for which binding is enabled.
+ The include list.
+
+
+ Gets the prefix to use when the MVC framework binds a value to an action parameter or to a model property.
+ The prefix.
+
+
+ Contains information that describes a parameter.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the action descriptor.
+ The action descriptor.
+
+
+ Gets the binding information.
+ The binding information.
+
+
+ Gets the default value of the parameter.
+ The default value of the parameter.
+
+
+ Returns an array of custom attributes that are defined for this member, excluding named attributes.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+
+
+ Returns an array of custom attributes that are defined for this member, identified by type.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+ The parameter is null.
+
+
+ Indicates whether one or more instances of a custom attribute type are defined for this member.
+ true if the custom attribute type is defined for this member; otherwise, false.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The parameter is null.
+
+
+ Gets the name of the parameter.
+ The name of the parameter.
+
+
+ Gets the type of the parameter.
+ The type of the parameter.
+
+
+ Represents a base class that is used to send a partial view to the response.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns the object that is used to render the view.
+ The view engine result.
+ The controller context.
+ An error occurred while the method was attempting to find the view.
+
+
+ Provides a registration point for ASP.NET Razor pre-application start code.
+
+
+ Registers Razor pre-application start code.
+
+
+ Represents a value provider for query strings that are contained in a object.
+
+
+ Initializes a new instance of the class.
+ An object that encapsulates information about the current HTTP request.
+
+
+ Represents a class that is responsible for creating a new instance of a query-string value-provider object.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a value-provider object for the specified controller context.
+ A query-string value-provider object.
+ An object that encapsulates information about the current HTTP request.
+ The parameter is null.
+
+
+ Provides an adapter for the attribute.
+
+
+ Initializes a new instance of the class.
+ The model metadata.
+ The controller context.
+ The range attribute.
+
+
+ Gets a list of client validation rules for a range check.
+ A list of client validation rules for a range check.
+
+
+ Represents the class used to create views that have Razor syntax.
+
+
+ Initializes a new instance of the class.
+ The controller context.
+ The view path.
+ The layout or master page.
+ A value that indicates whether view start files should be executed before the view.
+ The set of extensions that will be used when looking up view start files.
+
+
+ Initializes a new instance of the class using the view page activator.
+ The controller context.
+ The view path.
+ The layout or master page.
+ A value that indicates whether view start files should be executed before the view.
+ The set of extensions that will be used when looking up view start files.
+ The view page activator.
+
+
+ Gets the layout or master page.
+ The layout or master page.
+
+
+ Renders the specified view context by using the specified writer and instance.
+ The view context.
+ The writer that is used to render the view to the response.
+ The instance.
+
+
+ Gets a value that indicates whether view start files should be executed before the view.
+ A value that indicates whether view start files should be executed before the view.
+
+
+ Gets or sets the set of file extensions that will be used when looking up view start files.
+ The set of file extensions that will be used when looking up view start files.
+
+
+ Represents a view engine that is used to render a Web page that uses the ASP.NET Razor syntax.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the view page activator.
+ The view page activator.
+
+
+ Creates a partial view using the specified controller context and partial path.
+ The partial view.
+ The controller context.
+ The path to the partial view.
+
+
+ Creates a view by using the specified controller context and the paths of the view and master view.
+ The view.
+ The controller context.
+ The path to the view.
+ The path to the master view.
+
+
+ Controls the processing of application actions by redirecting to a specified URI.
+
+
+ Initializes a new instance of the class.
+ The target URL.
+ The parameter is null.
+
+
+ Initializes a new instance of the class using the specified URL and permanent-redirection flag.
+ The URL.
+ A value that indicates whether the redirection should be permanent.
+
+
+ Enables processing of the result of an action method by a custom type that inherits from the class.
+ The context within which the result is executed.
+ The parameter is null.
+
+
+ Gets a value that indicates whether the redirection should be permanent.
+ true if the redirection should be permanent; otherwise, false.
+
+
+ Gets or sets the target URL.
+ The target URL.
+
+
+ Represents a result that performs a redirection by using the specified route values dictionary.
+
+
+ Initializes a new instance of the class by using the specified route name and route values.
+ The name of the route.
+ The route values.
+
+
+ Initializes a new instance of the class by using the specified route name, route values, and permanent-redirection flag.
+ The name of the route.
+ The route values.
+ A value that indicates whether the redirection should be permanent.
+
+
+ Initializes a new instance of the class by using the specified route values.
+ The route values.
+
+
+ Enables processing of the result of an action method by a custom type that inherits from the class.
+ The context within which the result is executed.
+ The parameter is null.
+
+
+ Gets a value that indicates whether the redirection should be permanent.
+ true if the redirection should be permanent; otherwise, false.
+
+
+ Gets or sets the name of the route.
+ The name of the route.
+
+
+ Gets or sets the route values.
+ The route values.
+
+
+ Contains information that describes a reflected action method.
+
+
+ Initializes a new instance of the class.
+ The action-method information.
+ The name of the action.
+ The controller descriptor.
+ Either the or parameter is null.
+ The parameter is null or empty.
+
+
+ Gets the name of the action.
+ The name of the action.
+
+
+ Gets the controller descriptor.
+ The controller descriptor.
+
+
+ Executes the specified controller context by using the specified action-method parameters.
+ The action return value.
+ The controller context.
+ The parameters.
+ The or parameter is null.
+
+
+ Returns an array of custom attributes defined for this member, excluding named attributes.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+
+
+ Returns an array of custom attributes defined for this member, identified by type.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+
+
+ Gets the filter attributes.
+ The filter attributes.
+ true to use the cache, otherwise false.
+
+
+ Retrieves the parameters of the action method.
+ The parameters of the action method.
+
+
+ Retrieves the action selectors.
+ The action selectors.
+
+
+ Indicates whether one or more instances of a custom attribute type are defined for this member.
+ true if the custom attribute type is defined for this member; otherwise, false.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+ Gets or sets the action-method information.
+ The action-method information.
+
+
+ Gets the unique ID for the reflected action descriptor using lazy initialization.
+ The unique ID.
+
+
+ Contains information that describes a reflected controller.
+
+
+ Initializes a new instance of the class.
+ The type of the controller.
+ The parameter is null.
+
+
+ Gets the type of the controller.
+ The type of the controller.
+
+
+ Finds the specified action for the specified controller context.
+ The information about the action.
+ The controller context.
+ The name of the action.
+ The parameter is null.
+ The parameter is null or empty.
+
+
+ Returns the list of actions for the controller.
+ A list of action descriptors for the controller.
+
+
+ Returns an array of custom attributes that are defined for this member, excluding named attributes.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+
+
+ Returns an array of custom attributes that are defined for this member, identified by type.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+
+
+ Gets the filter attributes.
+ The filter attributes.
+ true to use the cache, otherwise false.
+
+
+ Returns a value that indicates whether one or more instances of a custom attribute type are defined for this member.
+ true if the custom attribute type is defined for this member; otherwise, false.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+ Contains information that describes a reflected action-method parameter.
+
+
+ Initializes a new instance of the class.
+ The parameter information.
+ The action descriptor.
+ The or parameter is null.
+
+
+ Gets the action descriptor.
+ The action descriptor.
+
+
+ Gets the binding information.
+ The binding information.
+
+
+ Gets the default value of the reflected parameter.
+ The default value of the reflected parameter.
+
+
+ Returns an array of custom attributes that are defined for this member, excluding named attributes.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+
+
+ Returns an array of custom attributes that are defined for this member, identified by type.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+ The custom attribute type cannot be loaded.
+ There is more than one attribute of type defined for this member.
+
+
+ Returns a value that indicates whether one or more instances of a custom attribute type are defined for this member.
+ true if the custom attribute type is defined for this member; otherwise, false.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+ Gets or sets the parameter information.
+ The parameter information.
+
+
+ Gets the name of the parameter.
+ The name of the parameter.
+
+
+ Gets the type of the parameter.
+ The type of the parameter.
+
+
+ Provides an adapter for the attribute.
+
+
+ Initializes a new instance of the class.
+ The model metadata.
+ The controller context.
+ The regular expression attribute.
+
+
+ Gets a list of regular-expression client validation rules.
+ A list of regular-expression client validation rules.
+
+
+ Provides an attribute that uses the jQuery validation plug-in remote validator.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the specified route name.
+ The route name.
+
+
+ Initializes a new instance of the class using the specified action-method name and controller name.
+ The name of the action method.
+ The name of the controller.
+
+
+ Initializes a new instance of the class using the specified action-method name, controller name, and area name.
+ The name of the action method.
+ The name of the controller.
+ The name of the area.
+
+
+ Initializes a new instance of the class.
+ The route name.
+ The name of the controller.
+ Find the controller in the root if . Otherwise look in the current area.
+
+
+ Gets or sets the additional fields that are required for validation.
+ The additional fields that are required for validation.
+
+
+ Returns a comma-delimited string of validation field names.
+ A comma-delimited string of validation field names.
+ The name of the validation property.
+
+
+ Formats the error message that is displayed when validation fails.
+ A formatted error message.
+ A name to display with the error message.
+
+
+ Formats the property for client validation by prepending an asterisk (*) and a dot.
+ The string "*." Is prepended to the property.
+ The property.
+
+
+ Gets a list of client validation rules for the property.
+ A list of remote client validation rules for the property.
+ The model metadata.
+ The controller context.
+
+
+ Gets the URL for the remote validation call.
+ The URL for the remote validation call.
+ The controller context.
+
+
+ Gets or sets the HTTP method used for remote validation.
+ The HTTP method used for remote validation. The default value is "Get".
+
+
+ This method always returns true.
+ true
+ The validation target.
+
+
+ Gets the route data dictionary.
+ The route data dictionary.
+
+
+ Gets or sets the route name.
+ The route name.
+
+
+ Gets the route collection from the route table.
+ The route collection from the route table.
+
+
+ Provides an adapter for the attribute.
+
+
+ Initializes a new instance of the class.
+ The model metadata.
+ The controller context.
+ The required attribute.
+
+
+ Gets a list of required-value client validation rules.
+ A list of required-value client validation rules.
+
+
+ Represents an attribute that forces an unsecured HTTP request to be re-sent over HTTPS.
+
+
+ Initializes a new instance of the class.
+
+
+ Handles unsecured HTTP requests that are sent to the action method.
+ An object that encapsulates information that is required in order to use the attribute.
+ The HTTP request contains an invalid transfer method override. All GET requests are considered invalid.
+
+
+ Determines whether a request is secured (HTTPS) and, if it is not, calls the method.
+ An object that encapsulates information that is required in order to use the attribute.
+ The parameter is null.
+
+
+ Provides the context for the method of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The controller context.
+ The result object.
+ true to cancel execution; otherwise, false.
+ The exception object.
+ The parameter is null.
+
+
+ Gets or sets a value that indicates whether this instance is canceled.
+ true if the instance is canceled; otherwise, false.
+
+
+ Gets or sets the exception object.
+ The exception object.
+
+
+ Gets or sets a value that indicates whether the exception has been handled.
+ true if the exception has been handled; otherwise, false.
+
+
+ Gets or sets the action result.
+ The action result.
+
+
+ Provides the context for the method of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using the specified controller context and action result.
+ The controller context.
+ The action result.
+ The parameter is null.
+
+
+ Gets or sets a value that indicates whether this value is "cancel".
+ true if the value is "cancel"; otherwise, false.
+
+
+ Gets or sets the action result.
+ The action result.
+
+
+ Defines the area to set for all the routes defined in this controller.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The name of the area. If the value is null, an attempt will be made to infer the area name from the target controller's namespace.
+
+
+ Gets the area name to set for all the routes defined in the controller. If the value is null, an attempt will be made to infer the area name from the target controller's namespace.
+ The area name to set for all the routes defined in the controller.
+
+
+ Gets the URL prefix to apply to the routes of this area. Defaults to the area's name.
+ The URL prefix to apply to the routes of this area.
+
+
+ Place on a controller or action to expose it directly via a route. When placed on a controller, it applies to actions that do not have any System.Web.Mvc.RouteAttribute’s on them.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with the specified template.
+ The pattern of the route to match.
+
+
+ Gets or sets the name of the route.
+ The name of the route
+
+
+ Gets the order the route is applied.
+ The order the route is applied.
+
+
+ Creates a direct route entry.
+ The direct route entry.
+ The context to use to create the route.
+
+
+ Gets the pattern for the route to match.
+ The pattern to match.
+
+
+ Provides routing extensions for route collection attribute.
+
+
+ Maps the attribute-defined routes for the application.
+ A collection of routes.
+
+
+ Maps the attribute-defined routes for the application.
+ The to use for mapping routes.
+
+
+ Maps the attribute-defined routes for the application.
+ A collection of routes.
+ The to use for resolving inline constraints in route templates.
+
+
+ Maps the attribute-defined routes for the application.
+ The to use for resolving inline constraints in route templates.
+ The to use for mapping routes.
+
+
+ Extends a object for MVC routing.
+
+
+ Returns an object that contains information about the route and virtual path that are the result of generating a URL in the current area.
+ An object that contains information about the route and virtual path that are the result of generating a URL in the current area.
+ An object that contains the routes for the applications.
+ An object that encapsulates information about the requested route.
+ The name of the route to use when information about the URL path is retrieved.
+ An object that contains the parameters for a route.
+
+
+ Returns an object that contains information about the route and virtual path that are the result of generating a URL in the current area.
+ An object that contains information about the route and virtual path that are the result of generating a URL in the current area.
+ An object that contains the routes for the applications.
+ An object that encapsulates information about the requested route.
+ An object that contains the parameters for a route.
+
+
+ Ignores the specified URL route for the given list of available routes.
+ A collection of routes for the application.
+ The URL pattern for the route to ignore.
+ The or parameter is null.
+
+
+ Ignores the specified URL route for the given list of the available routes and a list of constraints.
+ A collection of routes for the application.
+ The URL pattern for the route to ignore.
+ A set of expressions that specify values for the parameter.
+ The or parameter is null.
+
+
+ Maps the specified URL route.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The URL pattern for the route.
+ The or parameter is null.
+
+
+ Maps the specified URL route and sets default route values.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The URL pattern for the route.
+ An object that contains default route values.
+ The or parameter is null.
+
+
+ Maps the specified URL route and sets default route values and constraints.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The URL pattern for the route.
+ An object that contains default route values.
+ A set of expressions that specify values for the parameter.
+ The or parameter is null.
+
+
+ Maps the specified URL route and sets default route values, constraints, and namespaces.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The URL pattern for the route.
+ An object that contains default route values.
+ A set of expressions that specify values for the parameter.
+ A set of namespaces for the application.
+ The or parameter is null.
+
+
+ Maps the specified URL route and sets default route values and namespaces.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The URL pattern for the route.
+ An object that contains default route values.
+ A set of namespaces for the application.
+ The or parameter is null.
+
+
+ Maps the specified URL route and sets the namespaces.
+ A reference to the mapped route.
+ A collection of routes for the application.
+ The name of the route to map.
+ The URL pattern for the route.
+ A set of namespaces for the application.
+ The or parameter is null.
+
+
+ Represents a value provider for route data that is contained in an object that implements the interface.
+
+
+ Initializes a new instance of the class.
+ An object that contain information about the HTTP request.
+
+
+ Represents a factory for creating route-data value provider objects.
+
+
+ Initialized a new instance of the class.
+
+
+ Returns a value-provider object for the specified controller context.
+ A value-provider object.
+ An object that encapsulates information about the current HTTP request.
+ The parameter is null.
+
+
+ Annotates a controller with a route prefix that applies to all actions within the controller.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with the specified prefix.
+ The route prefix for the controller.
+
+
+ Gets the route prefix.
+ The route prefix.
+
+
+ Represents a list that lets users select one item.
+
+
+ Initializes a new instance of the class by using the specified items for the list.
+ The items.
+
+
+ Initializes a new instance of the class by using the specified items for the list and a selected value.
+ The items.
+ The selected value.
+
+
+ Initializes a new instance of the SelectList class by using the specified items for the list, the selected value, and the disabled values.
+ The items used to build each of the list.
+ The selected value. Used to match the Selected property of the corresponding .
+ The disabled values. Used to match the Disabled property of the corresponding .
+
+
+ Initializes a new instance of the class by using the specified items for the list, the data value field, and the data text field.
+ The items.
+ The data value field.
+ The data text field.
+
+
+ Initializes a new instance of the class by using the specified items for the list, the data value field, the data text field, and a selected value.
+ The items.
+ The data value field.
+ The data text field.
+ The selected value.
+
+
+ Initializes a new instance of the SelectList class by using the specified items for the list, the data value field, the data text field, the selected value, and the disabled values.
+ The items used to build each of the list.
+ The data value field. Used to match the Value property of the corresponding .
+ The data text field. Used to match the Text property of the corresponding .
+ The selected value. Used to match the Selected property of the corresponding .
+ The disabled values. Used to match the Disabled property of the corresponding .
+
+
+ Initializes a new instance of the SelectList class by using the specified items for the list, the data value field, the data text field, the data group field, and the selected value.
+ The items used to build each of the list.
+ The data value field. Used to match the Value property of the corresponding .
+ The data text field. Used to match the Text property of the corresponding .
+ The data group field. Used to match the Group property of the corresponding .
+ The selected value. Used to match the Selected property of the corresponding .
+
+
+ Initializes a new instance of the SelectList class by using the specified items for the list, the data value field, the data text field, the data group field, the selected value, and the disabled values.
+ The items used to build each of the list.
+ The data value field. Used to match the Value property of the corresponding .
+ The data text field. Used to match the Text property of the corresponding .
+ The data group field. Used to match the Group property of the corresponding .
+ The selected value. Used to match the Selected property of the corresponding .
+ The disabled values. Used to match the Disabled property of the corresponding .
+
+
+ Initializes a new instance of the SelectList class by using the specified items for the list, the data value field, the data text field, the data group field. the selected value, the disabled values, and the disabled groups.
+ The items used to build each of the list.
+ The data value field. Used to match the Value property of the corresponding .
+ The data text field. Used to match the Text property of the corresponding .
+ The data group field. Used to match the Group property of the corresponding .
+ The selected value. Used to match the Selected property of the corresponding .
+ The disabled values. Used to match the Disabled property of the corresponding .
+ The disabled groups. Used to match the Disabled property of the corresponding .
+
+
+ Gets the list value that was selected by the user.
+ The selected value.
+
+
+ Represents the optgroup HTML element and its attributes. In a select list, multiple groups with the same name are supported. They are compared with reference equality.
+
+
+
+ Gets or sets a value that indicates whether this is disabled.
+
+
+ Represents the value of the optgroup's label.
+
+
+ Represents the selected item in an instance of the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets a value that indicates whether this is disabled.
+
+
+ Represents the optgroup HTML element this item is wrapped into. In a select list, multiple groups with the same name are supported. They are compared with reference equality.
+
+
+ Gets or sets a value that indicates whether this is selected.
+ true if the item is selected; otherwise, false.
+
+
+ Gets or sets the text of the selected item.
+ The text.
+
+
+ Gets or sets the value of the selected item.
+ The value.
+
+
+ Specifies the session state of the controller.
+
+
+ Initializes a new instance of the class
+ The type of the session state.
+
+
+ Get the session state behavior for the controller.
+ The session state behavior for the controller.
+
+
+ Provides session-state data to the current object.
+
+
+ Initializes a new instance of the class.
+
+
+ Loads the temporary data by using the specified controller context.
+ The temporary data.
+ The controller context.
+ An error occurred when the session context was being retrieved.
+
+
+ Saves the specified values in the temporary data dictionary by using the specified controller context.
+ The controller context.
+ The values.
+ An error occurred the session context was being retrieved.
+
+
+ Provides an adapter for the attribute.
+
+
+ Initializes a new instance of the class.
+ The model metadata.
+ The controller context.
+ The string-length attribute.
+
+
+ Gets a list of string-length client validation rules.
+ A list of string-length client validation rules.
+
+
+ Represents a set of data that persists only from one request to the next.
+
+
+ Initializes a new instance of the class.
+
+
+ Adds an element that has the specified key and value to the object.
+ The key of the element to add.
+ The value of the element to add.
+ The object is read-only.
+
+ is null.
+ An element that has the same key already exists in the object.
+
+
+ Removes all items from the instance.
+ The object is read-only.
+
+
+ Determines whether the instance contains an element that has the specified key.
+ true if the instance contains an element that has the specified key; otherwise, false.
+ The key to locate in the instance.
+
+ is null.
+
+
+ Determines whether the dictionary contains the specified value.
+ true if the dictionary contains the specified value; otherwise, false.
+ The value.
+
+
+ Gets the number of elements in the object.
+ The number of elements in the object.
+
+
+ Gets the enumerator.
+ The enumerator.
+
+
+ Gets or sets the object that has the specified key.
+ The object that has the specified key.
+
+
+ Marks all keys in the dictionary for retention.
+
+
+ Marks the specified key in the dictionary for retention.
+ The key to retain in the dictionary.
+
+
+ Gets an object that contains the keys of elements in the object.
+ The keys of the elements in the object.
+
+
+ Loads the specified controller context by using the specified data provider.
+ The controller context.
+ The temporary data provider.
+
+
+ Returns an object that contains the element that is associated with the specified key, without marking the key for deletion.
+ An object that contains the element that is associated with the specified key.
+ The key of the element to return.
+
+
+ Removes the element that has the specified key from the object.
+ true if the element was removed successfully; otherwise, false. This method also returns false if was not found in the . instance.
+ The key of the element to remove.
+ The object is read-only.
+
+ is null.
+
+
+ Saves the specified controller context by using the specified data provider.
+ The controller context.
+ The temporary data provider.
+
+
+ Adds the specified key/value pair to the dictionary.
+ The key/value pair.
+
+
+ Determines whether a sequence contains a specified element by using the default equality comparer.
+ true if the dictionary contains the specified key/value pair; otherwise, false.
+ The key/value pair to search for.
+
+
+ Copies a key/value pair to the specified array at the specified index.
+ The target array.
+ The index.
+
+
+ Gets a value that indicates whether the dictionary is read-only.
+ true if the dictionary is read-only; otherwise, false.
+
+
+ Deletes the specified key/value pair from the dictionary.
+ true if the key/value pair was removed successfully; otherwise, false.
+ The key/value pair.
+
+
+ Returns an enumerator that can be used to iterate through a collection.
+ An object that can be used to iterate through the collection.
+
+
+ Gets the value of the element that has the specified key.
+ true if the object that implements contains an element that has the specified key; otherwise, false.
+ The key of the value to get.
+ When this method returns, the value that is associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
+
+ is null.
+
+
+ Gets the object that contains the values in the object.
+ The values of the elements in the object that implements .
+
+
+ Encapsulates information about the current template context.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the formatted model value.
+ The formatted model value.
+
+
+ Retrieves the full DOM ID of a field using the specified HTML name attribute.
+ The full DOM ID.
+ The value of the HTML name attribute.
+
+
+ Retrieves the fully qualified name (including a prefix) for a field using the specified HTML name attribute.
+ The prefixed name of the field.
+ The value of the HTML name attribute.
+
+
+ Gets or sets the HTML field prefix.
+ The HTML field prefix.
+
+
+ Contains the number of objects that were visited by the user.
+ The number of objects.
+
+
+ Determines whether the template has been visited by the user.
+ true if the template has been visited by the user; otherwise, false.
+ An object that encapsulates information that describes the model.
+
+
+ Contains methods to build URLs for ASP.NET MVC within an application.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the specified request context.
+ An object that contains information about the current request and about the route that it matched.
+
+
+ Initializes a new instance of the class using the specified request context and route collection.
+ An object that contains information about the current request and about the route that it matched.
+ A collection of routes.
+ The or the parameter is null.
+
+
+ Generates a string to a fully qualified URL to an action method.
+ A string to a fully qualified URL to an action method.
+
+
+ Generates a fully qualified URL to an action method by using the specified action name.
+ The fully qualified URL to an action method.
+ The name of the action method.
+
+
+ Generates a fully qualified URL to an action method by using the specified action name and route values.
+ The fully qualified URL to an action method.
+ The name of the action method.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+
+
+ Generates a fully qualified URL to an action method by using the specified action name and controller name.
+ The fully qualified URL to an action method.
+ The name of the action method.
+ The name of the controller.
+
+
+ Generates a fully qualified URL to an action method by using the specified action name, controller name, and route values.
+ The fully qualified URL to an action method.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+
+
+ Generates a fully qualified URL to an action method by using the specified action name, controller name, route values, and protocol to use.
+ The fully qualified URL to an action method.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ The protocol for the URL, such as "http" or "https".
+
+
+ Generates a fully qualified URL to an action method by using the specified action name, controller name, and route values.
+ The fully qualified URL to an action method.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route.
+
+
+ Generates a fully qualified URL for an action method by using the specified action name, controller name, route values, and protocol to use.
+ The fully qualified URL to an action method.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route.
+ The protocol for the URL, such as "http" or "https".
+
+
+ Generates a fully qualified URL for an action method by using the specified action name, controller name, route values, protocol to use and host name.
+ The fully qualified URL to an action method.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route.
+ The protocol for the URL, such as "http" or "https".
+ The host name for the URL.
+
+
+ Generates a fully qualified URL to an action method for the specified action name and route values.
+ The fully qualified URL to an action method.
+ The name of the action method.
+ An object that contains the parameters for a route.
+
+
+ Converts a virtual (relative) path to an application absolute path.
+ The application absolute path.
+ The virtual path of the content.
+
+
+ Encodes special characters in a URL string into character-entity equivalents.
+ An encoded URL string.
+ The text to encode.
+
+
+ Returns a string that contains a content URL.
+ A string that contains a content URL.
+ The content path.
+ The http context.
+
+
+ Returns a string that contains a URL.
+ A string that contains a URL.
+ The route name.
+ The action name.
+ The controller name.
+ The HTTP protocol.
+ The host name.
+ The fragment.
+ The route values.
+ The route collection.
+ The request context.
+ true to include implicit MVC values; otherwise false.
+
+
+ Returns a string that contains a URL.
+ A string that contains a URL.
+ The route name.
+ The action name.
+ The controller name.
+ The route values.
+ The route collection.
+ The request context.
+ true to include implicit MVC values; otherwise false.
+
+
+ Generates a fully qualified URL for the specified route values.
+ A fully qualified URL for the specified route values.
+ The route name.
+ The route values.
+
+
+ Generates a fully qualified URL for the specified route values.
+ A fully qualified URL for the specified route values.
+ The route name.
+ The route values.
+
+
+ Returns a value that indicates whether the URL is local.
+ true if the URL is local; otherwise, false.
+ The URL.
+
+
+ Gets information about an HTTP request that matches a defined route.
+ The request context.
+
+
+ Gets a collection that contains the routes that are registered for the application.
+ The route collection.
+
+
+ Generates a fully qualified URL for the specified route values.
+ The fully qualified URL.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+
+
+ Generates a fully qualified URL for the specified route name.
+ The fully qualified URL.
+ The name of the route that is used to generate URL.
+
+
+ Generates a fully qualified URL for the specified route values by using a route name.
+ The fully qualified URL.
+ The name of the route that is used to generate URL.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+
+
+ Generates a fully qualified URL for the specified route values by using a route name and the protocol to use.
+ The fully qualified URL.
+ The name of the route that is used to generate the URL.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ The protocol for the URL, such as "http" or "https".
+
+
+ Generates a fully qualified URL for the specified route values by using a route name.
+ The fully qualified URL.
+ The name of the route that is used to generate URL.
+ An object that contains the parameters for a route.
+
+
+ Generates a fully qualified URL for the specified route values by using the specified route name, protocol to use, and host name.
+ The fully qualified URL.
+ The name of the route that is used to generate URL.
+ An object that contains the parameters for a route.
+ The protocol for the URL, such as "http" or "https".
+ The host name for the URL.
+
+
+ Generates a fully qualified URL for the specified route values.
+ The fully qualified URL.
+ An object that contains the parameters for a route.
+
+
+ Represents an optional parameter that is used by the class during routing.
+
+
+ Contains the read-only value for the optional parameter.
+
+
+ Returns an empty string. This method supports the ASP.NET MVC infrastructure and is not intended to be used directly from your code.
+ An empty string.
+
+
+ Provides an object adapter that can be validated.
+
+
+ Initializes a new instance of the class.
+ The model metadata.
+ The controller context.
+
+
+ Validates the specified object.
+ A list of validation results.
+ The container.
+
+
+ Represents an attribute that is used to prevent forgery of a request.
+
+
+ Initializes a new instance of the class.
+
+
+ Called when authorization is required.
+ The filter context.
+ The parameter is null.
+
+
+ Gets or sets the salt string.
+ The salt string.
+
+
+ Represents an attribute that is used to mark action methods whose input must be validated.
+
+
+ Initializes a new instance of the class.
+ true to enable validation.
+
+
+ Gets or sets a value that indicates whether to enable validation.
+ true if validation is enabled; otherwise, false.
+
+
+ Called when authorization is required.
+ The filter context.
+ The parameter is null.
+
+
+ Represents the collection of value-provider objects for the application.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class and registers the specified value providers.
+ The list of value providers to register.
+
+
+ Determines whether the collection contains the specified prefix.
+ true if the collection contains the specified prefix; otherwise, false.
+ The prefix to search for.
+
+
+ Gets the keys using the specified prefix.
+ They keys.
+ The prefix.
+
+
+ Returns a value object using the specified key.
+ The value object for the specified key.
+ The key of the value object to retrieve.
+
+
+ Returns a value object using the specified key and skip-validation parameter.
+ The value object for the specified key.
+ The key of the value object to retrieve.
+ true to specify that validation should be skipped; otherwise, false.
+
+
+ Inserts the specified value-provider object into the collection at the specified index location.
+ The zero-based index location at which to insert the value provider into the collection.
+ The value-provider object to insert.
+ The parameter is null.
+
+
+ Replaces the value provider at the specified index location with a new value provider.
+ The zero-based index of the element to replace.
+ The new value for the element at the specified index.
+ The parameter is null.
+
+
+ Note: This API is now obsolete.Represents a dictionary of value providers for the application.
+
+
+ Initializes a new instance of the class.
+ The controller context.
+
+
+ Adds the specified item to the collection of value providers.
+ The object to add to the object.
+ The object is read-only.
+
+
+ Adds an element that has the specified key and value to the collection of value providers.
+ The key of the element to add.
+ The value of the element to add.
+ The object is read-only.
+
+ is null.
+ An element that has the specified key already exists in the object.
+
+
+ Adds an element that has the specified key and value to the collection of value providers.
+ The key of the element to add.
+ The value of the element to add.
+ The object is read-only.
+
+ is null.
+ An element that has the specified key already exists in the object.
+
+
+ Removes all items from the collection of value providers.
+ The object is read-only.
+
+
+ Determines whether the collection of value providers contains the specified item.
+ true if is found in the collection of value providers; otherwise, false.
+ The object to locate in the instance.
+
+
+ Determines whether the collection of value providers contains an element that has the specified key.
+ true if the collection of value providers contains an element that has the key; otherwise, false.
+ The key of the element to find in the instance.
+
+ is null.
+
+
+ Gets or sets the controller context.
+ The controller context.
+
+
+ Copies the elements of the collection to an array, starting at the specified index.
+ The one-dimensional array that is the destination of the elements copied from the object. The array must have zero-based indexing.
+ The zero-based index in at which copying starts.
+
+ is null.
+
+ is less than 0.
+
+ is multidimensional.-or- is equal to or greater than the length of .-or-The number of elements in the source collection is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination array.
+
+
+ Gets the number of elements in the collection.
+ The number of elements in the collection.
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Gets a value that indicates whether the collection is read-only.
+ true if the collection is read-only; otherwise, false.
+
+
+ Gets or sets the object that has the specified key.
+ The object.
+
+
+ Gets a collection that contains the keys of the instance.
+ A collection that contains the keys of the object that implements the interface.
+
+
+ Removes the first occurrence of the specified item from the collection of value providers.
+ true if was successfully removed from the collection; otherwise, false. This method also returns false if is not found in the collection.
+ The object to remove from the instance.
+ The object is read-only.
+
+
+ Removes the element that has the specified key from the collection of value providers.
+ true if the element was successfully removed; otherwise, false. This method also returns false if was not found in the collection.
+ The key of the element to remove.
+ The object is read-only.
+
+ is null.
+
+
+ Returns an enumerator that can be used to iterate through a collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Determines whether the collection contains the specified prefix.
+ true if the collection contains the specified prefix; otherwise, false.
+ The prefix to search for.
+
+
+ Returns a value object using the specified key.
+ The value object for the specified key.
+ The key of the value object to return.
+
+
+ Gets the value of the element that has the specified key.
+ true if the object that implements contains an element that has the specified key; otherwise, false.
+ The key of the element to get.
+ When this method returns, the value that is associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
+
+ is null.
+
+
+ Gets a collection that contains the values in the object.
+ A collection of the values in the object that implements the interface.
+
+
+ Represents a container for value-provider factory objects.
+
+
+ Gets the collection of value-provider factories for the application.
+ The collection of value-provider factory objects.
+
+
+ Represents a factory for creating value-provider objects.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a value-provider object for the specified controller context.
+ A value-provider object.
+ An object that encapsulates information about the current HTTP request.
+
+
+ Represents the collection of value-provider factories for the application.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the specified list of value-provider factories.
+ A list of value-provider factories to initialize the collection with.
+
+
+ Removes all elements from the collection.
+
+
+ Returns the value-provider factory for the specified controller context.
+ The value-provider factory object for the specified controller context.
+ An object that encapsulates information about the current HTTP request.
+
+
+ Inserts the specified value-provider factory object at the specified index location.
+ The zero-based index location at which to insert the value provider into the collection.
+ The value-provider factory object to insert.
+ The parameter is null.
+
+
+ Removes the element at the specified index of the .
+ The zero-based index of the element to remove.
+
+ is less than zero.-or- is equal to or greater than
+
+
+ Sets the specified value-provider factory object at the given index location.
+ The zero-based index location at which to insert the value provider into the collection.
+ The value-provider factory object to set.
+ The parameter is null.
+
+
+ Represents the result of binding a value (such as from a form post or query string) to an action-method argument property, or to the argument itself.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using the specified raw value, attempted value, and culture information.
+ The raw value.
+ The attempted value.
+ The culture.
+
+
+ Gets or sets the raw value that is converted to a string for display.
+ The raw value.
+
+
+ Converts the value that is encapsulated by this result to the specified type.
+ The converted value.
+ The target type.
+ The parameter is null.
+
+
+ Converts the value that is encapsulated by this result to the specified type by using the specified culture information.
+ The converted value.
+ The target type.
+ The culture to use in the conversion.
+ The parameter is null.
+
+
+ Gets or sets the culture.
+ The culture.
+
+
+ Gets or set the raw value that is supplied by the value provider.
+ The raw value.
+
+
+ Encapsulates information that is related to rendering a view.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using the specified controller context, view, view data dictionary, temporary data dictionary, and text writer.
+ Encapsulates information about the HTTP request.
+ The view to render.
+ The dictionary that contains the data that is required in order to render the view.
+ The dictionary that contains temporary data for the view.
+ The text writer object that is used to write HTML output.
+ One of the parameters is null.
+
+
+ Gets or sets a value that indicates whether client-side validation is enabled.
+ true if client-side validation is enabled; otherwise, false.
+
+
+ Gets or sets an object that encapsulates information that is required in order to validate and process the input data from an HTML form.
+ An object that encapsulates information that is required in order to validate and process the input data from an HTML form.
+
+
+ Writes the client validation information to the HTTP response.
+
+
+ Gets data that is associated with this request and that is available for only one request.
+ The temporary data.
+
+
+ Gets or sets a value that indicates whether unobtrusive JavaScript is enabled.
+ true if unobtrusive JavaScript is enabled; otherwise, false.
+
+
+ Element name used to wrap a top-level message generated by and other overloads.
+
+
+ Element name used to wrap a top-level message generated by and other overloads.
+
+
+ Gets an object that implements the interface to render in the browser.
+ The view.
+
+
+ Gets the dynamic view data dictionary.
+ The dynamic view data dictionary.
+
+
+ Gets the view data that is passed to the view.
+ The view data.
+
+
+ Gets or sets the text writer object that is used to write HTML output.
+ The object that is used to write the HTML output.
+
+
+ Represents a container that is used to pass data between a controller and a view.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using the specified model.
+ The model.
+
+
+ Initializes a new instance of the class by using the specified dictionary.
+ The dictionary.
+ The parameter is null.
+
+
+ Adds the specified item to the collection.
+ The object to add to the collection.
+ The collection is read-only.
+
+
+ Adds an element to the collection using the specified key and value .
+ The key of the element to add.
+ The value of the element to add.
+ The object is read-only.
+
+ is null.
+ An element with the same key already exists in the object.
+
+
+ Removes all items from the collection.
+ The object is read-only.
+
+
+ Determines whether the collection contains the specified item.
+ true if is found in the collection; otherwise, false.
+ The object to locate in the collection.
+
+
+ Determines whether the collection contains an element that has the specified key.
+ true if the collection contains an element that has the specified key; otherwise, false.
+ The key of the element to locate in the collection.
+
+ is null.
+
+
+ Copies the elements of the collection to an array, starting at a particular index.
+ The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing.
+ The zero-based index in at which copying begins.
+
+ is null.
+
+ is less than 0.
+
+ is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source collection is greater than the available space from to the end of the destination .-or- Type cannot be cast automatically to the type of the destination .
+
+
+ Gets the number of elements in the collection.
+ The number of elements in the collection.
+
+
+ Evaluates the specified expression.
+ The results of the evaluation.
+ The expression.
+ The parameter is null or empty.
+
+
+ Evaluates the specified expression by using the specified format.
+ The results of the evaluation.
+ The expression.
+ The format.
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Returns information about the view data as defined by the parameter.
+ An object that contains the view data information that is defined by the parameter.
+ A set of key/value pairs that define the view-data information to return.
+ The parameter is either null or empty.
+
+
+ Gets a value that indicates whether the collection is read-only.
+ true if the collection is read-only; otherwise, false.
+
+
+ Gets or sets the item that is associated with the specified key.
+ The value of the selected item.
+
+
+ Gets a collection that contains the keys of this dictionary.
+ A collection that contains the keys of the object that implements .
+
+
+ Gets or sets the model that is associated with the view data.
+ The model that is associated with the view data.
+
+
+ Gets or sets information about the model.
+ Information about the model.
+
+
+ Gets the state of the model.
+ The state of the model.
+
+
+ Removes the first occurrence of a specified object from the collection.
+ true if was successfully removed from the collection; otherwise, false. This method also returns false if is not found in the collection.
+ The object to remove from the collection.
+ The collection is read-only.
+
+
+ Removes the element from the collection using the specified key.
+ true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original collection.
+ The key of the element to remove.
+ The collection is read-only.
+
+ is null.
+
+
+ Sets the data model to use for the view.
+ The data model to use for the view.
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Gets or sets an object that encapsulates information about the current template context.
+ An object that contains information about the current template.
+
+
+ Attempts to retrieve the value that is associated with the specified key.
+ true if the collection contains an element with the specified key; otherwise, false.
+ The key of the value to get.
+ When this method returns, the value that is associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
+
+ is null.
+
+
+ Gets a collection that contains the values in this dictionary.
+ A collection that contains the values of the object that implements .
+
+
+ Represents a container that is used to pass strongly typed data between a controller and a view.
+ The type of the model.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using the specified view data dictionary.
+ An existing view data dictionary to copy into this instance.
+
+
+ Initializes a new instance of the class by using the specified model.
+ The data model to use for the view.
+
+
+ Gets or sets the model.
+ A reference to the data model.
+
+
+ Gets or sets information about the model.
+ Information about the model.
+
+
+ Sets the data model to use for the view.
+ The data model to use for the view.
+ An error occurred while the model was being set.
+
+
+ Encapsulates information about the current template content that is used to develop templates and about HTML helpers that interact with templates.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the T:System.Web.Mvc.ViewDataInfo class and associates a delegate for accessing the view data information.
+ A delegate that defines how the view data information is accessed.
+
+
+ Gets or sets the object that contains the values to be displayed by the template.
+ The object that contains the values to be displayed by the template.
+
+
+ Gets or sets the description of the property to be displayed by the template.
+ The description of the property to be displayed by the template.
+
+
+ Gets or sets the current value to be displayed by the template.
+ The current value to be displayed by the template.
+
+
+ Represents a collection of view engines that are available to the application.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the specified list of view engines.
+ The list that is wrapped by the new collection.
+
+ is null.
+
+
+ Removes all elements from the .
+
+
+ Finds the specified partial view by using the specified controller context.
+ The partial view.
+ The controller context.
+ The name of the partial view.
+ The parameter is null.
+ The parameter is null or empty.
+
+
+ Finds the specified view by using the specified controller context and master view.
+ The view.
+ The controller context.
+ The name of the view.
+ The name of the master view.
+ The parameter is null.
+ The parameter is null or empty.
+
+
+ Inserts an element into the collection at the specified index.
+ The zero-based index at which item should be inserted.
+ The object to insert.
+
+ is less than zero.-or- is greater than the number of items in the collection.
+ The parameter is null.
+
+
+ Removes the element at the specified index of the .
+ The zero-based index of the element to remove.
+
+ is less than zero.-or- is equal to or greater than
+
+
+ Replaces the element at the specified index.
+ The zero-based index of the element to replace.
+ The new value for the element at the specified index.
+
+ is less than zero.-or- is greater than the number of items in the collection.
+ The parameter is null.
+
+
+ Represents the result of locating a view engine.
+
+
+ Initializes a new instance of the class by using the specified searched locations.
+ The searched locations.
+ The parameter is null.
+
+
+ Initializes a new instance of the class by using the specified view and view engine.
+ The view.
+ The view engine.
+ The or parameter is null.
+
+
+ Gets or sets the searched locations.
+ The searched locations.
+
+
+ Gets or sets the view.
+ The view.
+
+
+ Gets or sets the view engine.
+ The view engine.
+
+
+ Represents a collection of view engines that are available to the application.
+
+
+ Gets the view engines.
+ The view engines.
+
+
+ Represents the information that is needed to build a master view page.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the AJAX script for the master page.
+ The AJAX script for the master page.
+
+
+ Gets the HTML for the master page.
+ The HTML for the master page.
+
+
+ Gets the model.
+ The model.
+
+
+ Gets the temporary data.
+ The temporary data.
+
+
+ Gets the URL.
+ The URL.
+
+
+ Gets the dynamic view-bag dictionary.
+ The dynamic view-bag dictionary.
+
+
+ Gets the view context.
+ The view context.
+
+
+ Gets the view data.
+ The view data.
+
+
+ Gets the writer that is used to render the master page.
+ The writer that is used to render the master page.
+
+
+ Represents the information that is required in order to build a strongly typed master view page.
+ The type of the model.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the AJAX script for the master page.
+ The AJAX script for the master page.
+
+
+ Gets the HTML for the master page.
+ The HTML for the master page.
+
+
+ Gets the model.
+ A reference to the data model.
+
+
+ Gets the view data.
+ The view data.
+
+
+ Represents the properties and methods that are needed to render a view as a Web Forms page.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the object that is used to render HTML in Ajax scenarios.
+ The Ajax helper object that is associated with the view.
+
+
+ Gets or sets the object that is used to render HTML elements.
+ The HTML helper object that is associated with the view.
+
+
+ Initializes the , , and properties.
+
+
+ Gets or sets the path of the master view.
+ The path of the master view.
+
+
+ Gets the Model property of the associated object.
+ The Model property of the associated object.
+
+
+ Raises the event at the beginning of page initialization.
+ The event data.
+
+
+ Enables processing of the specified HTTP request by the ASP.NET MVC framework.
+ An object that encapsulates HTTP-specific information about the current HTTP request.
+
+
+ Initializes the object that receives the page content to be rendered.
+ The object that receives the page content.
+
+
+ Renders the view page to the response using the specified view context.
+ An object that encapsulates the information that is required in order to render the view, which includes the controller context, form context, the temporary data, and the view data for the associated view.
+
+
+ Note: This API is now obsolete.Sets the text writer that is used to render the view to the response.
+ The writer that is used to render the view to the response.
+
+
+ Sets the view data dictionary for the associated view.
+ A dictionary of data to pass to the view.
+
+
+ Gets the temporary data to pass to the view.
+ The temporary data to pass to the view.
+
+
+ Gets or sets the URL of the rendered page.
+ The URL of the rendered page.
+
+
+ Gets the view bag.
+ The view bag.
+
+
+ Gets or sets the information that is used to render the view.
+ The information that is used to render the view, which includes the form context, the temporary data, and the view data of the associated view.
+
+
+ Gets or sets a dictionary that contains data to pass between the controller and the view.
+ A dictionary that contains data to pass between the controller and the view.
+
+
+ Gets the text writer that is used to render the view to the response.
+ The text writer that is used to render the view to the response.
+
+
+ Represents the information that is required in order to render a strongly typed view as a Web Forms page.
+ The type of the model.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the object that supports rendering HTML in Ajax scenarios.
+ The Ajax helper object that is associated with the view.
+
+
+ Gets or sets the object that provides support for rendering elements.
+ The HTML helper object that is associated with the view.
+
+
+ Instantiates and initializes the and properties.
+
+
+ Gets the property of the associated object.
+ A reference to the data model.
+
+
+ Sets the view data dictionary for the associated view.
+ A dictionary of data to pass to the view.
+
+
+ Gets or sets a dictionary that contains data to pass between the controller and the view.
+ A dictionary that contains data to pass between the controller and the view.
+
+
+ Represents a class that is used to render a view by using an instance that is returned by an object.
+
+
+ Initializes a new instance of the class.
+
+
+ Searches the registered view engines and returns the object that is used to render the view.
+ The object that is used to render the view.
+ The controller context.
+ An error occurred while the method was searching for the view.
+
+
+ Gets the name of the master view (such as a master page or template) to use when the view is rendered.
+ The name of the master view.
+
+
+ Represents a base class that is used to provide the model to the view and then render the view to the response.
+
+
+ Initializes a new instance of the class.
+
+
+ When called by the action invoker, renders the view to the response.
+ The context that the result is executed in.
+ The parameter is null.
+
+
+ Returns the object that is used to render the view.
+ The view engine.
+ The context.
+
+
+ Gets the view data model.
+ The view data model.
+
+
+ Gets or sets the object for this result.
+ The temporary data.
+
+
+ Gets or sets the object that is rendered to the response.
+ The view.
+
+
+ Gets the view bag.
+ The view bag.
+
+
+ Gets or sets the view data object for this result.
+ The view data.
+
+
+ Gets or sets the collection of view engines that are associated with this result.
+ The collection of view engines.
+
+
+ Gets or sets the name of the view to render.
+ The name of the view.
+
+
+ Provides an abstract class that can be used to implement a view start (master) page.
+
+
+ When implemented in a derived class, initializes a new instance of the class.
+
+
+ When implemented in a derived class, gets the HTML markup for the view start page.
+ The HTML markup for the view start page.
+
+
+ When implemented in a derived class, gets the URL for the view start page.
+ The URL for the view start page.
+
+
+ When implemented in a derived class, gets the view context for the view start page.
+ The view context for the view start page.
+
+
+ Provides a container for objects.
+
+
+ Initializes a new instance of the class.
+
+
+ Provides a container for objects.
+ The type of the model.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the formatted value.
+ The formatted value.
+
+
+ Represents the type of a view.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the name of the type.
+ The name of the type.
+
+
+ Represents the information that is needed to build a user control.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the AJAX script for the view.
+ The AJAX script for the view.
+
+
+ Ensures that view data is added to the object of the user control if the view data exists.
+
+
+ Gets the HTML for the view.
+ The HTML for the view.
+
+
+ Gets the model.
+ The model.
+
+
+ Renders the view by using the specified view context.
+ The view context.
+
+
+ Sets the text writer that is used to render the view to the response.
+ The writer that is used to render the view to the response.
+
+
+ Sets the view-data dictionary by using the specified view data.
+ The view data.
+
+
+ Gets the temporary-data dictionary.
+ The temporary-data dictionary.
+
+
+ Gets the URL for the view.
+ The URL for the view.
+
+
+ Gets the view bag.
+ The view bag.
+
+
+ Gets or sets the view context.
+ The view context.
+
+
+ Gets or sets the view-data dictionary.
+ The view-data dictionary.
+
+
+ Gets or sets the view-data key.
+ The view-data key.
+
+
+ Gets the writer that is used to render the view to the response.
+ The writer that is used to render the view to the response.
+
+
+ Represents the information that is required in order to build a strongly typed user control.
+ The type of the model.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the AJAX script for the view.
+ The AJAX script for the view.
+
+
+ Gets the HTML for the view.
+ The HTML for the view.
+
+
+ Gets the model.
+ A reference to the data model.
+
+
+ Sets the view data for the view.
+ The view data.
+
+
+ Gets or sets the view data.
+ The view data.
+
+
+ Represents an abstract base-class implementation of the interface.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the area-enabled master location formats.
+ The area-enabled master location formats.
+
+
+ Gets or sets the area-enabled partial-view location formats.
+ The area-enabled partial-view location formats.
+
+
+ Gets or sets the area-enabled view location formats.
+ The area-enabled view location formats.
+
+
+ Creates the specified partial view by using the specified controller context.
+ A reference to the partial view.
+ The controller context.
+ The partial path for the new partial view.
+
+
+ Creates the specified view by using the controller context, path of the view, and path of the master view.
+ A reference to the view.
+ The controller context.
+ The path of the view.
+ The path of the master view.
+
+
+ Gets or sets the display mode provider.
+ The display mode provider.
+
+
+ Returns a value that indicates whether the file is in the specified path by using the specified controller context.
+ true if the file is in the specified path; otherwise, false.
+ The controller context.
+ The virtual path.
+
+
+ Gets or sets the file-name extensions that are used to locate a view.
+ The file-name extensions that are used to locate a view.
+
+
+ Finds the specified partial view by using the specified controller context.
+ The partial view.
+ The controller context.
+ The name of the partial view.
+ true to use the cached partial view.
+ The parameter is null (Nothing in Visual Basic).
+ The parameter is null or empty.
+
+
+ Finds the specified view by using the specified controller context and master view name.
+ The page view.
+ The controller context.
+ The name of the view.
+ The name of the master view.
+ true to use the cached view.
+ The parameter is null (Nothing in Visual Basic).
+ The parameter is null or empty.
+
+
+ Gets or sets the master location formats.
+ The master location formats.
+
+
+ Gets or sets the partial-view location formats.
+ The partial-view location formats.
+
+
+ Releases the specified view by using the specified controller context.
+ The controller context.
+ The view to release.
+
+
+ Gets or sets the view location cache.
+ The view location cache.
+
+
+ Gets or sets the view location formats.
+ The view location formats.
+
+
+ Gets or sets the virtual path provider.
+ The virtual path provider.
+
+
+ Represents the information that is needed to build a Web Forms page in ASP.NET MVC.
+
+
+ Initializes a new instance of the class using the controller context and view path.
+ The controller context.
+ The view path.
+
+
+ Initializes a new instance of the class using the controller context, view path, and the path to the master page.
+ The controller context.
+ The view path.
+ The path to the master page.
+
+
+ Initializes a new instance of the class using the controller context, view path, the path to the master page, and a instance.
+ The controller context.
+ The view path.
+ The path to the master page.
+ An instance of the view page activator interface.
+
+
+ Gets or sets the master path.
+ The master path.
+
+
+ Renders the view to the response.
+ An object that encapsulates the information that is required in order to render the view, which includes the controller context, form context, the temporary data, and the view data for the associated view.
+ The text writer object that is used to write HTML output.
+ The view page instance.
+
+
+ Represents a view engine that is used to render a Web Forms page to the response.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the specified view page activator.
+ An instance of a class that implements the interface.
+
+
+ Creates the specified partial view by using the specified controller context.
+ The partial view.
+ The controller context.
+ The partial path.
+
+
+ Creates the specified view by using the specified controller context and the paths of the view and master view.
+ The view.
+ The controller context.
+ The view path.
+ The master-view path.
+
+
+ Represents the properties and methods that are needed in order to render a view that uses ASP.NET Razor syntax.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the object that is used to render HTML using Ajax.
+ The object that is used to render HTML using Ajax.
+
+
+ Sets the view context and view data for the page.
+ The parent page.
+
+
+ Gets the object that is associated with the page.
+ The object that is associated with the page.
+
+
+ Runs the page hierarchy for the ASP.NET Razor execution pipeline.
+
+
+ Gets or sets the object that is used to render HTML elements.
+ The object that is used to render HTML elements.
+
+
+ Initializes the , , and classes.
+
+
+ Gets the Model property of the associated object.
+ The Model property of the associated object.
+
+
+ Sets the view data.
+ The view data.
+
+
+ Gets the temporary data to pass to the view.
+ The temporary data to pass to the view.
+
+
+ Gets or sets the URL of the rendered page.
+ The URL of the rendered page.
+
+
+ Gets the view bag.
+ The view bag.
+
+
+ Gets or sets the information that is used to render the view.
+ The information that is used to render the view, which includes the form context, the temporary data, and the view data of the associated view.
+
+
+ Gets or sets a dictionary that contains data to pass between the controller and the view.
+ A dictionary that contains data to pass between the controller and the view.
+
+
+ Represents the properties and methods that are needed in order to render a view that uses ASP.NET Razor syntax.
+ The type of the view data model.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the object that is used to render HTML markup using Ajax.
+ The object that is used to render HTML markup using Ajax.
+
+
+ Gets or sets the object that is used to render HTML elements.
+ The object that is used to render HTML elements.
+
+
+ Initializes the , , and classes.
+
+
+ Gets the Model property of the associated object.
+ The Model property of the associated object.
+
+
+ Sets the view data.
+ The view data.
+
+
+ Gets or sets a dictionary that contains data to pass between the controller and the view.
+ A dictionary that contains data to pass between the controller and the view.
+
+
+ Represents support for ASP.NET AJAX within an ASP.NET MVC application.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ The name of the controller.
+ The protocol for the URL, such as "http" or "https".
+ The host name for the URL.
+ The URL fragment name (the anchor name).
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ The name of the controller.
+ The protocol for the URL, such as "http" or "https".
+ The host name for the URL.
+ The URL fragment name (the anchor name).
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ The name of the controller.
+ An object that provides options for the asynchronous request.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ An object that provides options for the asynchronous request.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the URL to the specified action method; when the action link is clicked, the action method is invoked asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the action method.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Writes an opening <form> tag to the response.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the action method that will handle the request.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+
+
+ Writes an opening <form> tag to the response.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the action method that will handle the request.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the action method that will handle the request.
+ The name of the controller.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+
+
+ Writes an opening <form> tag to the response.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the action method that will handle the request.
+ The name of the controller.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the action method that will handle the request.
+ The name of the controller.
+ An object that provides options for the asynchronous request.
+
+
+ Writes an opening <form> tag to the response.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the action method that will handle the request.
+ The name of the controller.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+
+
+ Writes an opening <form> tag to the response.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the action method that will handle the request.
+ The name of the controller.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the action method that will handle the request.
+ An object that provides options for the asynchronous request.
+
+
+ Writes an opening <form> tag to the response.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the action method that will handle the request.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+
+
+ Writes an opening <form> tag to the response.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the action method that will handle the request.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element..
+
+
+ Writes an opening <form> tag to the response.
+ An opening <form> tag.
+ The AJAX helper.
+ An object that provides options for the asynchronous request.
+
+
+ Writes an opening <form> tag to the response using the specified routing information.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the route to use to obtain the form post URL.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+
+
+ Writes an opening <form> tag to the response using the specified routing information.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the route to use to obtain the form post URL.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response using the specified routing information.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the route to use to obtain the form post URL.
+ An object that provides options for the asynchronous request.
+
+
+ Writes an opening <form> tag to the response using the specified routing information.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the route to use to obtain the form post URL.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+
+
+ Writes an opening <form> tag to the response using the specified routing information.
+ An opening <form> tag.
+ The AJAX helper.
+ The name of the route to use to obtain the form post URL.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns an HTML script element that contains a reference to a globalization script that defines the culture information.
+ A script element whose src attribute is set to the globalization script, as in the following example: <script type="text/javascript" src="/MvcApplication1/Scripts/Globalization/en-US.js"></script>
+ The AJAX helper object that this method extends.
+
+
+ Returns an HTML script element that contains a reference to a globalization script that defines the specified culture information.
+ An HTML script element whose src attribute is set to the globalization script, as in the following example:<script type="text/javascript" src="/MvcApplication1/Scripts/Globalization/en-US.js"></script>
+ The AJAX helper object that this method extends.
+ Encapsulates information about the target culture, such as date formats.
+ The parameter is null.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the route to use to obtain the form post URL.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the route to use to obtain the form post URL.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the route to use to obtain the form post URL.
+ The protocol for the URL, such as "http" or "https".
+ The host name for the URL.
+ The URL fragment name (the anchor name).
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the route to use to obtain the form post URL.
+ An object that provides options for the asynchronous request.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the route to use to obtain the form post URL.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the route to use to obtain the form post URL.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the route to use to obtain the form post URL.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ The name of the route to use to obtain the form post URL.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ The parameter is null or empty.
+
+
+ Returns an anchor element that contains the virtual path for the specified route values; when the link is clicked, a request is made to the virtual path asynchronously by using JavaScript.
+ An anchor element.
+ The AJAX helper.
+ The inner text of the anchor element.
+ An object that contains the parameters for a route.
+ An object that provides options for the asynchronous request.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Represents option settings for running Ajax scripts in an ASP.NET MVC application.
+
+
+ Initializes a new instance of the class.
+
+
+
+ Gets or sets the message to display in a confirmation window before a request is submitted.
+ The message to display in a confirmation window.
+
+
+ Gets or sets the HTTP request method ("Get" or "Post").
+ The HTTP request method. The default value is "Post".
+
+
+ Gets or sets the mode that specifies how to insert the response into the target DOM element.
+ The insertion mode ("InsertAfter", "InsertBefore", or "Replace"). The default value is "Replace".
+
+
+ Gets or sets a value, in milliseconds, that controls the duration of the animation when showing or hiding the loading element.
+ A value, in milliseconds, that controls the duration of the animation when showing or hiding the loading element.
+
+
+ Gets or sets the id attribute of an HTML element that is displayed while the Ajax function is loading.
+ The ID of the element that is displayed while the Ajax function is loading.
+
+
+ Gets or sets the name of the JavaScript function to call immediately before the page is updated.
+ The name of the JavaScript function to call before the page is updated.
+
+
+ Gets or sets the JavaScript function to call when response data has been instantiated but before the page is updated.
+ The JavaScript function to call when the response data has been instantiated.
+
+
+ Gets or sets the JavaScript function to call if the page update fails.
+ The JavaScript function to call if the page update fails.
+
+
+ Gets or sets the JavaScript function to call after the page is successfully updated.
+ The JavaScript function to call after the page is successfully updated.
+
+
+ Returns the Ajax options as a collection of HTML attributes to support unobtrusive JavaScript.
+ The Ajax options as a collection of HTML attributes to support unobtrusive JavaScript.
+
+
+ Gets or sets the ID of the DOM element to update by using the response from the server.
+ The ID of the DOM element to update.
+
+
+ Gets or sets the URL to make the request to.
+ The URL to make the request to.
+
+
+ Enumerates the AJAX script insertion modes.
+
+
+ Insert after the element.
+
+
+ Insert before the element.
+
+
+ Replace the element.
+
+
+ Replace the entire element.
+
+
+ Provides information about an asynchronous action method, such as its name, controller, parameters, attributes, and filters.
+
+
+ Initializes a new instance of the class.
+
+
+ Invokes the asynchronous action method by using the specified parameters and controller context.
+ An object that contains the result of an asynchronous call.
+ The controller context.
+ The parameters of the action method.
+ The callback method.
+ An object that contains information to be used by the callback method. This parameter can be null.
+
+
+ Returns the result of an asynchronous operation.
+ The result of an asynchronous operation.
+ An object that represents the status of an asynchronous operation.
+
+
+ Executes the asynchronous action method by using the specified parameters and controller context.
+ The result of executing the asynchronous action method.
+ The controller context.
+ The parameters of the action method.
+
+
+ Represents a class that is responsible for invoking the action methods of an asynchronous controller.
+
+
+ Initializes a new instance of the class.
+
+
+ Invokes the asynchronous action method by using the specified controller context, action name, callback method, and state.
+ An object that contains the result of an asynchronous operation.Implements
+ The controller context.
+ The name of the action.
+ The callback method.
+ An object that contains information to be used by the callback method. This parameter can be null.
+
+
+ Invokes the asynchronous action method by using the specified controller context, action descriptor, parameters, callback method, and state.
+ An object that contains the result of an asynchronous operation.
+ The controller context.
+ The action descriptor.
+ The parameters for the asynchronous action method.
+ The callback method.
+ An object that contains information to be used by the callback method. This parameter can be null.
+
+
+ Invokes the asynchronous action method by using the specified controller context, filters, action descriptor, parameters, callback method, and state.
+ An object that contains the result of an asynchronous operation.
+ The controller context.
+ The filters.
+ The action descriptor.
+ The parameters for the asynchronous action method.
+ The callback method.
+ An object that contains information to be used by the callback method. This parameter can be null.
+
+
+ Cancels the action.
+ true if the action was canceled; otherwise, false.
+ The user-defined object that qualifies or contains information about an asynchronous operation.
+
+
+ Cancels the action.
+ true if the action was canceled; otherwise, false.
+ The user-defined object that qualifies or contains information about an asynchronous operation.
+
+
+ Cancels the action.
+ true if the action was canceled; otherwise, false.
+ The user-defined object that qualifies or contains information about an asynchronous operation.
+
+
+ Returns the controller descriptor.
+ The controller descriptor.
+ The controller context.
+
+
+ Provides asynchronous operations for the class.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the synchronization context.
+ The synchronization context.
+
+
+ Notifies ASP.NET that all asynchronous operations are complete.
+
+
+ Occurs when the method is called.
+
+
+ Gets the number of outstanding operations.
+ The number of outstanding operations.
+
+
+ Gets the parameters that were passed to the asynchronous completion method.
+ The parameters that were passed to the asynchronous completion method.
+
+
+ Executes a callback in the current synchronization context.
+ The asynchronous action.
+
+
+ Gets or sets the asynchronous timeout value, in milliseconds.
+ The asynchronous timeout value, in milliseconds.
+
+
+ Defines the interface for an action invoker, which is used to invoke an asynchronous action in response to an HTTP request.
+
+
+ Invokes the specified action.
+ The status of the asynchronous result.
+ The controller context.
+ The name of the asynchronous action.
+ The callback method.
+ The state.
+
+
+ Cancels the asynchronous action.
+ true if the asynchronous method could be canceled; otherwise, false.
+ The asynchronous result.
+
+
+ Used to create an instance for the current request.
+
+
+ Creates an instance of async action invoker for the current request.
+ The created .
+
+
+ Defines the methods that are required for an asynchronous controller.
+
+
+ Executes the specified request context.
+ The status of the asynchronous operation.
+ The request context.
+ The asynchronous callback method.
+ The state.
+
+
+ Ends the asynchronous operation.
+ The asynchronous result.
+
+
+ Provides a container for the asynchronous manager object.
+
+
+ Gets the asynchronous manager object.
+ The asynchronous manager object.
+
+
+ Provides a container that maintains a count of pending asynchronous operations.
+
+
+ Initializes a new instance of the class.
+
+
+ Occurs when an asynchronous method completes.
+
+
+ Gets the operation count.
+ The operation count.
+
+
+ Reduces the operation count by 1.
+ The updated operation count.
+
+
+ Reduces the operation count by the specified value.
+ The updated operation count.
+ The number of operations to reduce the count by.
+
+
+ Increments the operation count by one.
+ The updated operation count.
+
+
+ Increments the operation count by the specified value.
+ The updated operation count.
+ The number of operations to increment the count by.
+
+
+ Provides information about an asynchronous action method, such as its name, controller, parameters, attributes, and filters.
+
+
+ Initializes a new instance of the class.
+ An object that contains information about the method that begins the asynchronous operation (the method whose name ends with "Asynch").
+ An object that contains information about the completion method (method whose name ends with "Completed").
+ The name of the action.
+ The controller descriptor.
+
+
+ Gets the name of the action method.
+ The name of the action method.
+
+
+ Gets the method information for the asynchronous action method.
+ The method information for the asynchronous action method.
+
+
+ Begins running the asynchronous action method by using the specified parameters and controller context.
+ An object that contains the result of an asynchronous call.
+ The controller context.
+ The parameters of the action method.
+ The callback method.
+ An object that contains information to be used by the callback method. This parameter can be null.
+
+
+ Gets the method information for the asynchronous completion method.
+ The method information for the asynchronous completion method.
+
+
+ Gets the controller descriptor for the asynchronous action method.
+ The controller descriptor for the asynchronous action method.
+
+
+ Returns the result of an asynchronous operation.
+ The result of an asynchronous operation.
+ An object that represents the status of an asynchronous operation.
+
+
+ Returns an array of custom attributes that are defined for this member, excluding named attributes.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+ Returns an array of custom attributes that are defined for this member, identified by type.
+ An array of custom attributes, or an empty array if no custom attributes of the specified type exist.
+ The type of the custom attributes to return.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+ Gets the filter attributes.
+ The filter attributes.
+ Use cache flag.
+
+
+ Returns the parameters of the action method.
+ The parameters of the action method.
+
+
+ Returns the action-method selectors.
+ The action-method selectors.
+
+
+ Determines whether one or more instances of the specified attribute type are defined for the action member.
+ true if an attribute of type that is represented by is defined for this member; otherwise, false.
+ The type of the custom attribute.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+
+ Gets the lazy initialized unique ID of the instance of this class.
+ The lazy initialized unique ID of the instance of this class.
+
+
+ Encapsulates information that describes an asynchronous controller, such as its name, type, and actions.
+
+
+ Initializes a new instance of the class.
+ The type of the controller.
+
+
+ Gets the type of the controller.
+ The type of the controller.
+
+
+ Finds an action method by using the specified name and controller context.
+ The information about the action method.
+ The controller context.
+ The name of the action.
+
+
+ Returns a list of action method descriptors in the controller.
+ A list of action method descriptors in the controller.
+
+
+ Returns custom attributes that are defined for this member, excluding named attributes.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+ Returns custom attributes of a specified type that are defined for this member, excluding named attributes.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+ Gets the filter attributes.
+ The filter attributes.
+ true to use the cache, otherwise false.
+
+
+ Returns a value that indicates whether one or more instances of the specified custom attribute are defined for this member.
+ true if an attribute of the type represented by is defined for this member; otherwise, false.
+ The type of the custom attribute.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+ Represents an exception that occurred during the synchronous processing of an HTTP request in an ASP.NET MVC application.
+
+
+ Initializes a new instance of the class using a system-supplied message.
+
+
+ Initializes a new instance of the class using the specified message.
+ The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture.
+
+
+ Initializes a new instance of the class using a specified error message and a reference to the inner exception that is the cause of this exception.
+ The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture.
+ The exception that is the cause of the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception.
+
+
+ When an action method returns either Task or Task<T> the provides information about the action.
+
+
+ Initializes a new instance of the class.
+ The task method information.
+ The action name.
+ The controller descriptor.
+
+
+ Gets the name of the action method.
+ The name of the action method.
+
+
+ Invokes the asynchronous action method using the specified parameters, controller context callback and state.
+ An object that contains the result of an asynchronous call.
+ The controller context.
+ The parameters of the action method.
+ The optional callback method.
+ An object that contains information to be used by the callback method. This parameter can be null.
+
+
+ Gets the controller descriptor.
+ The controller descriptor.
+
+
+ Ends the asynchronous operation.
+ The result of an asynchronous operation.
+ An object that represents the status of an asynchronous operation.
+
+
+ Executes the asynchronous action method
+ The result of executing the asynchronous action method.
+ The controller context.
+ The parameters of the action method.
+
+
+ Returns an array of custom attributes that are defined for this member, excluding named attributes.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+ Returns an array of custom attributes that are defined for this member, identified by type.
+ An array of custom attributes, or an empty array if no custom attributes exist.
+ The type of the custom attributes.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+ Returns an array of all custom attributes applied to this member.
+ An array that contains all the custom attributes applied to this member, or an array with zero elements if no attributes are defined.
+ true to search this member's inheritance chain to find the attributes; otherwise, false.
+
+
+ Returns the parameters of the asynchronous action method.
+ The parameters of the asynchronous action method.
+
+
+ Returns the asynchronous action-method selectors.
+ The asynchronous action-method selectors.
+
+
+ Returns a value that indicates whether one or more instance of the specified custom attribute are defined for this member.
+ A value that indicates whether one or more instance of the specified custom attribute are defined for this member.
+ The type of the custom attribute.
+ true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.
+
+
+
+ Gets information for the asynchronous task.
+ Information for the asynchronous task.
+
+
+ Gets the unique ID for the task.
+ The unique ID for the task.
+
+
+ Represents an authentication challenge context containing information for executing an authentication challenge.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The controller context.
+ The action methods associated with the challenge.
+ The challenge response.
+
+
+ Gets or sets the action descriptor.
+ The action descriptor associated with the challenge.
+
+
+ Gets or sets the action result to execute.
+ The challenge response.
+
+
+ Represents an authentication context containing information for performing authentication.
+
+
+ Initializes a new instance of the class.
+
+
+
+ Gets or sets the action descriptor.
+ The action methods associated with the authentication
+
+
+ Gets or sets the currently authenticated principal.
+ The security credentials for the authentication.
+
+
+ Gets or sets the error result, which indicates that authentication was attempted and failed.
+ The authentication result.
+
+
+ Defines a filter that performs authentication.
+
+
+ Authenticates the request.
+ The context to use for authentication.
+
+
+ Adds an authentication challenge to the current .
+ The context to use for the authentication challenge.
+
+
+ Defines a filter that overrides other filters.
+
+
+ Gets the type of filters to override.
+ The filter to override.
+
+
+ Represents support for calling child action methods and rendering the result inline in a parent view.
+
+
+ Invokes the specified child action method and returns the result as an HTML string.
+ The child action result as an HTML string.
+ The HTML helper instance that this method extends.
+ The name of the action method to invoke.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Invokes the specified child action method with the specified parameters and returns the result as an HTML string.
+ The child action result as an HTML string.
+ The HTML helper instance that this method extends.
+ The name of the action method to invoke.
+ An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Invokes the specified child action method using the specified controller name and returns the result as an HTML string.
+ The child action result as an HTML string.
+ The HTML helper instance that this method extends.
+ The name of the action method to invoke.
+ The name of the controller that contains the action method.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Invokes the specified child action method using the specified parameters and controller name and returns the result as an HTML string.
+ The child action result as an HTML string.
+ The HTML helper instance that this method extends.
+ The name of the action method to invoke.
+ The name of the controller that contains the action method.
+ An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Invokes the specified child action method using the specified parameters and controller name and returns the result as an HTML string.
+ The child action result as an HTML string.
+ The HTML helper instance that this method extends.
+ The name of the action method to invoke.
+ The name of the controller that contains the action method.
+ A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Invokes the specified child action method using the specified parameters and returns the result as an HTML string.
+ The child action result as an HTML string.
+ The HTML helper instance that this method extends.
+ The name of the action method to invoke.
+ A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Invokes the specified child action method and renders the result inline in the parent view.
+ The HTML helper instance that this method extends.
+ The name of the child action method to invoke.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Invokes the specified child action method using the specified parameters and renders the result inline in the parent view.
+ The HTML helper instance that this method extends.
+ The name of the child action method to invoke.
+ An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Invokes the specified child action method using the specified controller name and renders the result inline in the parent view.
+ The HTML helper instance that this method extends.
+ The name of the child action method to invoke.
+ The name of the controller that contains the action method.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view.
+ The HTML helper instance that this method extends.
+ The name of the child action method to invoke.
+ The name of the controller that contains the action method.
+ An object that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Invokes the specified child action method using the specified parameters and controller name and renders the result inline in the parent view.
+ The HTML helper instance that this method extends.
+ The name of the child action method to invoke.
+ The name of the controller that contains the action method.
+ A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Invokes the specified child action method using the specified parameters and renders the result inline in the parent view.
+ The HTML helper instance that this method extends.
+ The name of the child action method to invoke.
+ A dictionary that contains the parameters for a route. You can use to provide the parameters that are bound to the action method parameters. The parameter is merged with the original route values and overrides them.
+ The parameter is null.
+ The parameter is null or empty.
+ The required virtual path data cannot be found.
+
+
+ Represents support for rendering object values as HTML.
+
+
+ Returns HTML markup for each property in the object that is represented by a string expression.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+
+
+ Returns HTML markup for each property in the object that is represented by a string expression, using additional view data.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Returns HTML markup for each property in the object that is represented by the expression, using the specified template.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+
+
+ Returns HTML markup for each property in the object that is represented by the expression, using the specified template and additional view data.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Returns HTML markup for each property in the object that is represented by the expression, using the specified template and an HTML field ID.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+
+
+ Returns HTML markup for each property in the object that is represented by the expression, using the specified template, HTML field ID, and additional view data.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Returns HTML markup for each property in the object that is represented by the expression.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The type of the model.
+ The type of the value.
+
+
+ Returns a string that contains each property value in the object that is represented by the specified expression, using additional view data.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
+
+
+ Returns a string that contains each property value in the object that is represented by the , using the specified template.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+ The type of the model.
+ The type of the value.
+
+
+ Returns a string that contains each property value in the object that is represented by the specified expression, using the specified template and additional view data.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
+
+
+ Returns HTML markup for each property in the object that is represented by the , using the specified template and an HTML field ID.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+ The type of the model.
+ The type of the value.
+
+
+ Returns HTML markup for each property in the object that is represented by the specified expression, using the template, an HTML field ID, and additional view data.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template that is used to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
+
+
+ Returns HTML markup for each property in the model.
+ The HTML markup for each property in the model.
+ The HTML helper instance that this method extends.
+
+
+ Returns HTML markup for each property in the model, using additional view data.
+ The HTML markup for each property in the model.
+ The HTML helper instance that this method extends.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Returns HTML markup for each property in the model using the specified template.
+ The HTML markup for each property in the model.
+ The HTML helper instance that this method extends.
+ The name of the template that is used to render the object.
+
+
+ Returns HTML markup for each property in the model, using the specified template and additional view data.
+ The HTML markup for each property in the model.
+ The HTML helper instance that this method extends.
+ The name of the template that is used to render the object.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Returns HTML markup for each property in the model using the specified template and HTML field ID.
+ The HTML markup for each property in the model.
+ The HTML helper instance that this method extends.
+ The name of the template that is used to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+
+
+ Returns HTML markup for each property in the model, using the specified template, an HTML field ID, and additional view data.
+ The HTML markup for each property in the model.
+ The HTML helper instance that this method extends.
+ The name of the template that is used to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Provides a mechanism to get display names.
+
+
+ Gets the display name.
+ The display name.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the display name.
+
+
+ Gets the display name for the model.
+ The display name for the model.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the display name.
+ The type of the model.
+ The type of the value.
+
+
+ Gets the display name for the model.
+ The display name for the model.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the display name.
+ The type of the model.
+ The type of the value.
+
+
+ Gets the display name for the model.
+ The display name for the model.
+ The HTML helper instance that this method extends.
+
+
+ Provides a way to render object values as HTML.
+
+
+ Returns HTML markup for each property in the object that is represented by the specified expression.
+ The HTML markup for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+
+
+ Returns HTML markup for each property in the object that is represented by the specified expression.
+ The HTML markup for each property.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The type of the model.
+ The type of the result.
+
+
+ Represents support for the HTML input element in an application.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using additional view data.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and additional view data.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and HTML field name.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template, HTML field name, and additional view data.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using additional view data.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and additional view data.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template and HTML field name.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML input element for each property in the object that is represented by the expression, using the specified template, HTML field name, and additional view data.
+ An HTML input element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ The name of the template to use to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML input element for each property in the model.
+ An HTML input element for each property in the model.
+ The HTML helper instance that this method extends.
+
+
+ Returns an HTML input element for each property in the model, using additional view data.
+ An HTML input element for each property in the model.
+ The HTML helper instance that this method extends.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Returns an HTML input element for each property in the model, using the specified template.
+ An HTML input element for each property in the model and in the specified template.
+ The HTML helper instance that this method extends.
+ The name of the template to use to render the object.
+
+
+ Returns an HTML input element for each property in the model, using the specified template and additional view data.
+ An HTML input element for each property in the model.
+ The HTML helper instance that this method extends.
+ The name of the template to use to render the object.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Returns an HTML input element for each property in the model, using the specified template name and HTML field name.
+ An HTML input element for each property in the model and in the named template.
+ The HTML helper instance that this method extends.
+ The name of the template to use to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+
+
+ Returns an HTML input element for each property in the model, using the template name, HTML field name, and additional view data.
+ An HTML input element for each property in the model.
+ The HTML helper instance that this method extends.
+ The name of the template to use to render the object.
+ A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
+ An anonymous object that can contain additional view data that will be merged into the instance that is created for the template.
+
+
+ Provides methods for working with enumeration values and select lists.
+
+
+ Gets a list of objects corresponding to enum constants defined in the given type.
+ A list for the given .
+ The type to evaluate.
+
+
+ Gets a list of objects corresponding to enum constants defined in the given type. Also ensures the will round-trip even if it does not match a defined constant and sets the Selected property to true for one element in the returned list -- matching the .
+ A list for the given , possibly extended to include an unrecognized .
+ The type to evaluate.
+ The value from type to select.
+
+
+ Gets a list of objects corresponding to enum constants defined in the given metadata.
+ A list for the given metadata.
+ The model metadata to evaluate.
+
+
+ Gets a list of objects corresponding to enum constants defined in the given metadata. Also ensures the value will round-trip even if it does not match a defined constant and sets the Selected property to true for one element in the returned list -- matching the value.
+ A list for the given , possibly extended to include an unrecognized .
+ The metadata to evaluate.
+ Value from the type of metadata to select.
+
+
+ Gets a value indicating whether the given type or an expression of this type is suitable for use in and calls.
+ true if will not throw when passed the given type and will not throw when passed an expression of this type; otherwise, false.
+ The type to check.
+
+
+ Gets a value indicating whether the given metadata or associated expression is suitable for use in and calls.
+ true if will return not throw when passed given and will not throw when passed associated expression; otherwise, false.
+ The metadata to check.
+
+
+ Represents support for HTML in an application.
+
+
+ Writes an opening <form> tag to the response. The form uses the POST method, and the request is processed by the action method for the view.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+
+
+ Writes an opening <form> tag to the response and includes the route values in the action attribute. The form uses the POST method, and the request is processed by the action method for the view.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+
+
+ Writes an opening <form> tag to the response and sets the action tag to the specified controller and action. The form uses the POST method.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the action method.
+ The name of the controller.
+
+
+ Writes an opening <form> tag to the response, and sets the action tag to the specified controller, action, and route values. The form uses the POST method.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+
+
+ Writes an opening <form> tag to the response and sets the action tag to the specified controller, action, and route values. The form uses the specified HTTP method.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ The HTTP method for processing the form, either GET or POST.
+
+
+ Writes an opening <form> tag to the response and sets the action tag to the specified controller, action, and route values. The form uses the specified HTTP method and includes the HTML attributes.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ The HTTP method for processing the form, either GET or POST.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response and sets the action tag to the specified controller and action. The form uses the specified HTTP method.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the action method.
+ The name of the controller.
+ The HTTP method for processing the form, either GET or POST.
+
+
+ Writes an opening <form> tag to the response and sets the action tag to the specified controller and action. The form uses the specified HTTP method and includes the HTML attributes from a dictionary.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the action method.
+ The name of the controller.
+ The HTTP method for processing the form, either GET or POST.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response and sets the action tag to the specified controller and action. The form uses the specified HTTP method and includes the HTML attributes.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the action method.
+ The name of the controller.
+ The HTTP method for processing the form, either GET or POST.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response, and sets the action tag to the specified controller, action, and route values from the route value dictionary. The form uses the POST method.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route.
+
+
+ Writes an opening <form> tag to the response, and sets the action tag to the specified controller, action, and route values from the route value dictionary. The form uses the specified HTTP method.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route.
+ The HTTP method for processing the form, either GET or POST.
+
+
+ Writes an opening <form> tag to the response, and sets the action tag to the specified controller, action, and route values from the route value dictionary. The form uses the specified HTTP method, and includes the HTML attributes from the dictionary.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the action method.
+ The name of the controller.
+ An object that contains the parameters for a route.
+ The HTTP method for processing the form, either GET or POST.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response and includes the route values from the route value dictionary in the action attribute. The form uses the POST method, and the request is processed by the action method for the view.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ An object that contains the parameters for a route.
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the route to use to obtain the form-post URL.
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the route to use to obtain the form-post URL.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the route to use to obtain the form-post URL.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ The HTTP method for processing the form, either GET or POST.
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the route to use to obtain the form-post URL.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. This object is typically created by using object initializer syntax.
+ The HTTP method for processing the form, either GET or POST.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the route to use to obtain the form-post URL.
+ The HTTP method for processing the form, either GET or POST.
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the route to use to obtain the form-post URL.
+ The HTTP method for processing the form, either GET or POST.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the route to use to obtain the form-post URL.
+ The HTTP method for processing the form, either GET or POST.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the route to use to obtain the form-post URL.
+ An object that contains the parameters for a route
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the route to use to obtain the form-post URL.
+ An object that contains the parameters for a route
+ The HTTP method for processing the form, either GET or POST.
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ The name of the route to use to obtain the form-post URL.
+ An object that contains the parameters for a route
+ The HTTP method for processing the form, either GET or POST.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Writes an opening <form> tag to the response. When the user submits the form, the request will be processed by the route target.
+ An opening <form> tag.
+ The HTML helper instance that this method extends.
+ An object that contains the parameters for a route
+
+
+ Renders the closing </form> tag to the response.
+ The HTML helper instance that this method extends.
+
+
+ Represents support for HTML input controls in an application.
+
+
+ Returns a check box input element by using the specified HTML helper and the name of the form field.
+ An input element whose type attribute is set to "checkbox".
+ The HTML helper instance that this method extends.
+ The name of the form field.
+
+
+ Returns a check box input element by using the specified HTML helper, the name of the form field, and a value to indicate whether the check box is selected.
+ An input element whose type attribute is set to "checkbox".
+ The HTML helper instance that this method extends.
+ The name of the form field.
+ true to select the check box; otherwise, false. The value of the check box is retrieved in this order - the object, the value of this parameter, the object, and lastly, a checked attribute in the html attributes.
+
+
+ Returns a check box input element by using the specified HTML helper, the name of the form field, a value to indicate whether the check box is selected, and the HTML attributes.
+ An input element whose type attribute is set to "checkbox".
+ The HTML helper instance that this method extends.
+ The name of the form field.
+ true to select the check box; otherwise, false. The value of the check box is retrieved in this order - the object, the value of this parameter, the object, and lastly, a checked attribute in the html attributes.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns a check box input element by using the specified HTML helper, the name of the form field, a value that indicates whether the check box is selected, and the HTML attributes.
+ An input element whose type attribute is set to "checkbox".
+ The HTML helper instance that this method extends.
+ The name of the form field.
+ true to select the check box; otherwise, false. The value of the check box is retrieved in this order - the object, the value of this parameter, the object, and lastly, a checked attribute in the html attributes.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns a check box input element by using the specified HTML helper, the name of the form field, and the HTML attributes.
+ An input element whose type attribute is set to "checkbox".
+ The HTML helper instance that this method extends.
+ The name of the form field.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns a check box input element by using the specified HTML helper, the name of the form field, and the HTML attributes.
+ An input element whose type attribute is set to "checkbox".
+ The HTML helper instance that this method extends.
+ The name of the form field.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns a check box input element for each property in the object that is represented by the specified expression.
+ An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The parameter is null.
+
+
+ Returns a check box input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The parameter is null.
+
+
+ Returns a check box input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "checkbox" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The parameter is null.
+
+
+ Returns a hidden input element by using the specified HTML helper and the name of the form field.
+ An input element whose type attribute is set to "hidden".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+
+
+ Returns a hidden input element by using the specified HTML helper, the name of the form field, and the value.
+ An input element whose type attribute is set to "hidden".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the hidden input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+
+
+ Returns a hidden input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
+ An input element whose type attribute is set to "hidden".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the hidden input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns a hidden input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
+ An input element whose type attribute is set to "hidden".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the hidden input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns an HTML hidden input element for each property in the object that is represented by the specified expression.
+ An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the property.
+
+
+ Returns an HTML hidden input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+
+
+ Returns an HTML hidden input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An input element whose type attribute is set to "hidden" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+
+
+ Returns a password input element by using the specified HTML helper and the name of the form field.
+ An input element whose type attribute is set to "password".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+
+
+ Returns a password input element by using the specified HTML helper, the name of the form field, and the value.
+ An input element whose type attribute is set to "password".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the password input element. If a value for this parameter is not provided, the value attribute in the html attributes is used to retrieve the value.
+
+
+ Returns a password input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
+ An input element whose type attribute is set to "password".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the password input element. If a value for this parameter is not provided, the value attribute in the html attributes is used to retrieve the value.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns a password input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
+ An input element whose type attribute is set to "password".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the password input element. If a value for this parameter is not provided, the value attribute in the html attributes is used to retrieve the value.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns a password input element for each property in the object that is represented by the specified expression.
+ An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns a password input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns a password input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "password" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns a radio button input element that is used to present mutually exclusive options.
+ An input element whose type attribute is set to "radio".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ The parameter is null or empty.
+ The parameter is null.
+
+
+ Returns a radio button input element that is used to present mutually exclusive options.
+ An input element whose type attribute is set to "radio".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ true to select the radio button; otherwise, false.
+ The parameter is null or empty.
+ The parameter is null.
+
+
+ Returns a radio button input element that is used to present mutually exclusive options.
+ An input element whose type attribute is set to "radio".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ true to select the radio button; otherwise, false.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+ The parameter is null.
+
+
+ Returns a radio button input element that is used to present mutually exclusive options.
+ An input element whose type attribute is set to "radio".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ true to select the radio button; otherwise, false.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+ The parameter is null.
+
+
+ Returns a radio button input element that is used to present mutually exclusive options.
+ An input element whose type attribute is set to "radio".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+ The parameter is null.
+
+
+ Returns a radio button input element that is used to present mutually exclusive options.
+ An input element whose type attribute is set to "radio".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+ The parameter is null.
+
+
+ Returns a radio button input element for each property in the object that is represented by the specified expression.
+ An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns a radio button input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns a radio button input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "radio" for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The value of the selected radio button. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns a text input element by using the specified HTML helper and the name of the form field.
+ An input element whose type attribute is set to "text".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+
+
+ Returns a text input element by using the specified HTML helper, the name of the form field, and the value.
+ An input element whose type attribute is set to "text".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+
+
+ Returns a text input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
+ An input element whose type attribute is set to "text".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns a text input element by using the specified HTML helper, the name of the form field, the value, and the HTML attributes.
+ An input element whose type attribute is set to "text".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns a text input element.
+ An input element whose type attribute is set to "text".
+ The HTML helper instance that this method extends.
+ The name of the form field.
+ The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ A string that is used to format the input.
+
+
+ Returns a text input element.
+ An input element whose type attribute is set to "text".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ A string that is used to format the input.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns a text input element.
+ An input element whose type attribute is set to "text".
+ The HTML helper instance that this method extends.
+ The name of the form field and the key that is used to look up the value.
+ The value of the text input element. The value is retrieved in this order - the object, the value of this parameter, the object, and lastly, a value attribute in the html attributes.
+ A string that is used to format the input.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns a text input element for each property in the object that is represented by the specified expression.
+ An HTML input element whose type attribute is set to "text" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the value.
+ The parameter is null or empty.
+
+
+ Returns a text input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element type attribute is set to "text" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null or empty.
+
+
+ Returns a text input element for each property in the object that is represented by the specified expression, using the specified HTML attributes.
+ An HTML input element whose type attribute is set to "text" for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null or empty.
+
+
+ Returns a text input element.
+ An input element whose type attribute is set to "text".
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A string that is used to format the input.
+ The type of the model.
+ The type of the value.
+
+
+ Returns a text input element.
+ An input element whose type attribute is set to "text".
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A string that is used to format the input.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+
+
+ Returns a text input element.
+ An input element whose type attribute is set to "text".
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A string that is used to format the input.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+
+
+ Represents support for the HTML label element in an ASP.NET MVC view.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression using the label text.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ The label text to display.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ The label text.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ The label text.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The value.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression using the label text.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ The label text to display.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ The label text to display.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the property to display.
+ The label text.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The Value.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the model.
+ An HTML label element and the property name of the property that is represented by the model.
+ The HTML helper instance that this method extends.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression using the label text.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ The label text to display.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ The label Text.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns an HTML label element and the property name of the property that is represented by the specified expression.
+ An HTML label element and the property name of the property that is represented by the expression.
+ The HTML helper instance that this method extends.
+ The label text.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Represents support for HTML links in an application.
+
+
+ Returns an anchor element (a element) for the specified link text and action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the action.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) for the specified link text, action, and route values.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the action.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) for the specified link text, action, route values, and HTML attributes.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the action.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ An object that contains the HTML attributes for the element. The attributes are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) for the specified link text, action, and controller.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the action.
+ The name of the controller.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) for the specified link text, action, controller, route values, and HTML attributes.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the action.
+ The name of the controller.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) for the specified link text, action, controller, protocol, host name, URL fragment, route values, and HTML attributes.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the action.
+ The name of the controller.
+ The protocol for the URL, such as "http" or "https".
+ The host name for the URL.
+ The URL fragment name (the anchor name).
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) for the specified link text, action, controller, protocol, host name, URL fragment, route values as a route value dictionary, and HTML attributes as a dictionary.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the action.
+ The name of the controller.
+ The protocol for the URL, such as "http" or "https".
+ The host name for the URL.
+ The URL fragment name (the anchor name).
+ An object that contains the parameters for a route.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) for the specified link text, action, controller, route values as a route value dictionary, and HTML attributes as a dictionary.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the action.
+ The name of the controller.
+ An object that contains the parameters for a route.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) for the specified link text, action, and route values as a route value dictionary.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the action.
+ An object that contains the parameters for a route.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) for the specified link text, action, route values as a route value dictionary, and HTML attributes as a dictionary.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the action.
+ An object that contains the parameters for a route.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) that contains the virtual path of the specified action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) that contains the virtual path of the specified action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) that contains the virtual path of the specified action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the route that is used to return a virtual path.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) that contains the virtual path of the specified action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the route that is used to return a virtual path.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) that contains the virtual path of the specified action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the route that is used to return a virtual path.
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) that contains the virtual path of the specified action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the route that is used to return a virtual path.
+ The protocol for the URL, such as "http" or "https".
+ The host name for the URL.
+ The URL fragment name (the anchor name).
+ An object that contains the parameters for a route. The parameters are retrieved through reflection by examining the properties of the object. The object is typically created by using object initializer syntax.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) that contains the virtual path of the specified action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the route that is used to return a virtual path.
+ The protocol for the URL, such as "http" or "https".
+ The host name for the URL.
+ The URL fragment name (the anchor name).
+ An object that contains the parameters for a route.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) that contains the virtual path of the specified action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the route that is used to return a virtual path.
+ An object that contains the parameters for a route.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) that contains the virtual path of the specified action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ The name of the route that is used to return a virtual path.
+ An object that contains the parameters for a route.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) that contains the virtual path of the specified action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ An object that contains the parameters for a route.
+ The parameter is null or empty.
+
+
+ Returns an anchor element (a element) that contains the virtual path of the specified action.
+ An anchor element (a element).
+ The HTML helper instance that this method extends.
+ The inner text of the anchor element.
+ An object that contains the parameters for a route.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Represents an HTML form element in an MVC view.
+
+
+ Initializes a new instance of the class using the specified HTTP response object.
+ The HTTP response object.
+ The parameter is null.
+
+
+ Initializes a new instance of the class using the specified view context.
+ An object that encapsulates the information that is required in order to render a view.
+ The parameter is null.
+
+
+ Releases all resources that are used by the current instance of the class.
+
+
+ Releases unmanaged and, optionally, managed resources used by the current instance of the class.
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ Ends the form and disposes of all form resources.
+
+
+ Gets the HTML ID and name attributes of the string.
+
+
+ Gets the ID of the string.
+ The HTML ID attribute value for the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the ID.
+
+
+ Gets the ID of the string
+ The HTML ID attribute value for the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the ID.
+ The type of the model.
+ The type of the property.
+
+
+ Gets the ID of the string.
+ The HTML ID attribute value for the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+
+
+ Gets the full HTML field name for the object that is represented by the expression.
+ The full HTML field name for the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the name.
+
+
+ Gets the full HTML field name for the object that is represented by the expression.
+ The full HTML field name for the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the name.
+ The type of the model.
+ The type of the property.
+
+
+ Gets the full HTML field name for the object that is represented by the expression.
+ The full HTML field name for the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+
+
+ Represents the functionality to render a partial view as an HTML-encoded string.
+
+
+ Renders the specified partial view as an HTML-encoded string.
+ The partial view that is rendered as an HTML-encoded string.
+ The HTML helper instance that this method extends.
+ The name of the partial view to render.
+
+
+ Renders the specified partial view as an HTML-encoded string.
+ The partial view that is rendered as an HTML-encoded string.
+ The HTML helper instance that this method extends.
+ The name of the partial view to render.
+ The model for the partial view.
+
+
+ Renders the specified partial view as an HTML-encoded string.
+ The partial view that is rendered as an HTML-encoded string.
+ The HTML helper instance that this method extends.
+ The name of the partial view.
+ The model for the partial view.
+ The view data dictionary for the partial view.
+
+
+ Renders the specified partial view as an HTML-encoded string.
+ The partial view that is rendered as an HTML-encoded string.
+ The HTML helper instance that this method extends.
+ The name of the partial view to render.
+ The view data dictionary for the partial view.
+
+
+ Provides support for rendering a partial view.
+
+
+ Renders the specified partial view by using the specified HTML helper.
+ The HTML helper.
+ The name of the partial view
+
+
+ Renders the specified partial view, passing it a copy of the current object, but with the Model property set to the specified model.
+ The HTML helper.
+ The name of the partial view.
+ The model.
+
+
+ Renders the specified partial view, replacing the partial view's ViewData property with the specified object and setting the Model property of the view data to the specified model.
+ The HTML helper.
+ The name of the partial view.
+ The model for the partial view.
+ The view data for the partial view.
+
+
+ Renders the specified partial view, replacing its ViewData property with the specified object.
+ The HTML helper.
+ The name of the partial view.
+ The view data.
+
+
+ Represents support for making selections in a list.
+
+
+ Returns a single-selection select element using the specified HTML helper and the name of the form field.
+ An HTML select element.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ The parameter is null or empty.
+
+
+ Returns a single-selection select element using the specified HTML helper, the name of the form field, and the specified list items.
+ An HTML select element with an option subelement for each item in the list.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ A collection of objects that are used to populate the drop-down list.
+ The parameter is null or empty.
+
+
+ Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, and the specified HTML attributes.
+ An HTML select element with an option subelement for each item in the list.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ A collection of objects that are used to populate the drop-down list.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, and the specified HTML attributes.
+ An HTML select element with an option subelement for each item in the list.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ A collection of objects that are used to populate the drop-down list.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, and an option label.
+ An HTML select element with an option subelement for each item in the list.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ A collection of objects that are used to populate the drop-down list.
+ The text for a default empty item. This parameter can be null.
+ The parameter is null or empty.
+
+
+ Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, an option label, and the specified HTML attributes.
+ An HTML select element with an option subelement for each item in the list.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ A collection of objects that are used to populate the drop-down list.
+ The text for a default empty item. This parameter can be null.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns a single-selection select element using the specified HTML helper, the name of the form field, the specified list items, an option label, and the specified HTML attributes.
+ An HTML select element with an option subelement for each item in the list.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ A collection of objects that are used to populate the drop-down list.
+ The text for a default empty item. This parameter can be null.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns a single-selection select element using the specified HTML helper, the name of the form field, and an option label.
+ An HTML select element with an option subelement for each item in the list.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ The text for a default empty item. This parameter can be null.
+ The parameter is null or empty.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and option label.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The text for a default empty item. This parameter can be null.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items, option label, and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The text for a default empty item. This parameter can be null.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items, option label, and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The text for a default empty item. This parameter can be null.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+ The parameter is null.
+
+
+ Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
+ An HTML select element for each value in the enumeration that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the values to display.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
+ An HTML select element for each value in the enumeration that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the values to display.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
+ An HTML select element for each value in the enumeration that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the values to display.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
+ An HTML select element for each value in the enumeration that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the values to display.
+ The text for a default empty item. This parameter can be null.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
+ An HTML select element for each value in the enumeration that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the values to display.
+ The text for a default empty item. This parameter can be null.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+
+
+ Returns an HTML select element for each value in the enumeration that is represented by the specified expression.
+ An HTML select element for each value in the enumeration that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the values to display.
+ The text for a default empty item. This parameter can be null.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the value.
+
+
+ Returns a multi-select select element using the specified HTML helper and the name of the form field.
+ An HTML select element.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ The parameter is null or empty.
+
+
+ Returns a multi-select select element using the specified HTML helper, the name of the form field, and the specified list items.
+ An HTML select element with an option subelement for each item in the list.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ A collection of objects that are used to populate the drop-down list.
+ The parameter is null or empty.
+
+
+ Returns a multi-select select element using the specified HTML helper, the name of the form field, the specified list items, and the specified HMTL attributes.
+ An HTML select element with an option subelement for each item in the list..
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ A collection of objects that are used to populate the drop-down list.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns a multi-select select element using the specified HTML helper, the name of the form field, and the specified list items.
+ An HTML select element with an option subelement for each item in the list..
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ A collection of objects that are used to populate the drop-down list.
+ An object that contains the HTML attributes to set for the element.
+ The parameter is null or empty.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression and using the specified list items.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
+
+
+ Returns an HTML select element for each property in the object that is represented by the specified expression using the specified list items and HTML attributes.
+ An HTML select element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to display.
+ A collection of objects that are used to populate the drop-down list.
+ An object that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
+
+
+ Represents support for HTML textarea controls.
+
+
+ Returns the specified textarea element by using the specified HTML helper and the name of the form field.
+ The textarea element.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+
+
+ Returns the specified textarea element by using the specified HTML helper, the name of the form field, and the specified HTML attributes.
+ The textarea element.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns the specified textarea element by using the specified HTML helper and HTML attributes.
+ The textarea element.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns the specified textarea element by using the specified HTML helper, the name of the form field, and the text content.
+ The textarea element.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ The text content.
+
+
+ Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, and the specified HTML attributes.
+ The textarea element.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ The text content.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, the number of rows and columns, and the specified HTML attributes.
+ The textarea element.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ The text content.
+ The number of rows.
+ The number of columns.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, the number of rows and columns, and the specified HTML attributes.
+ The textarea element.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ The text content.
+ The number of rows.
+ The number of columns.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns the specified textarea element by using the specified HTML helper, the name of the form field, the text content, and the specified HTML attributes.
+ The textarea element.
+ The HTML helper instance that this method extends.
+ The name of the form field to return.
+ The text content.
+ An object that contains the HTML attributes to set for the element.
+
+
+ Returns an HTML textarea element for each property in the object that is represented by the specified expression.
+ An HTML textarea element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
+
+
+ Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes.
+ An HTML textarea element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
+
+
+ Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes and the number of rows and columns.
+ An HTML textarea element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The number of rows.
+ The number of columns.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
+
+
+ Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes and the number of rows and columns.
+ An HTML textarea element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The number of rows.
+ The number of columns.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
+
+
+ Returns an HTML textarea element for each property in the object that is represented by the specified expression using the specified HTML attributes.
+ An HTML textarea element for each property in the object that is represented by the expression.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ A dictionary that contains the HTML attributes to set for the element.
+ The type of the model.
+ The type of the property.
+ The parameter is null.
+
+
+ Provides support for validating the input from an HTML form.
+
+
+ Gets or sets the name of the resource file (class key) that contains localized string values.
+ The name of the resource file (class key).
+
+
+ Retrieves the validation metadata for the specified model and applies each rule to the data field.
+ The HTML helper instance that this method extends.
+ The name of the property or model object that is being validated.
+ The parameter is null.
+
+
+ Retrieves the validation metadata for the specified model and applies each rule to the data field.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the property.
+
+
+ Displays a validation message if an error exists for the specified field in the object.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ The name of the property or model object that is being validated.
+
+
+ Displays a validation message if an error exists for the specified field in the object.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ The name of the property or model object that is being validated.
+ An object that contains the HTML attributes for the element.
+
+
+ Displays a validation message if an error exists for the specified entry in the object.
+ null if the entry is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
+ The HTML helper instance that this method operates on.
+ The name of the entry being validated.
+ An that contains the HTML attributes for the element.
+ The tag to be set for the wrapping HTML element of the validation message.
+
+
+ Displays a validation message if an error exists for the specified field in the object.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ The name of the property or model object that is being validated.
+ An object that contains the HTML attributes for the element.
+
+
+ Displays a validation message if an error exists for the specified entry in the object.
+ null if the entry is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
+ The HTML helper instance that this method operates on.
+ The name of the entry being validated.
+ An object that contains the HTML attributes for the element.
+ The tag to be set for the wrapping HTML element of the validation message.
+
+
+ Displays a validation message if an error exists for the specified field in the object.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ The name of the property or model object that is being validated.
+ The message to display if the specified field contains an error.
+
+
+ Displays a validation message if an error exists for the specified field in the object.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ The name of the property or model object that is being validated.
+ The message to display if the specified field contains an error.
+ An object that contains the HTML attributes for the element.
+
+
+ Displays a validation message if an error exists for the specified entry in the object.
+ null if the model object is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
+ The HTML helper instance that this method operates on.
+ The name of the model object being validated.
+ The message to display if the specified entry contains an error.
+ An that contains the HTML attributes for the element.
+ The tag to be set for the wrapping HTML element of the validation message.
+
+
+ Displays a validation message if an error exists for the specified field in the object.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ The name of the property or model object that is being validated.
+ The message to display if the specified field contains an error.
+ An object that contains the HTML attributes for the element.
+
+
+ Displays a validation message if an error exists for the specified entry in the object.
+ null if the entry is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
+ The HTML helper instance that this method operates on.
+ The name of the entry being validated.
+ The message to display if the specified entry contains an error.
+ An object that contains the HTML attributes for the element.
+ The tag to be set for the wrapping HTML element of the validation message.
+
+
+ Displays a validation message if an error exists for the specified entry in the object.
+ null if the entry is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
+ The HTML helper instance that this method operates on.
+ The name of the entry being validated.
+ The message to display if the specified entry contains an error.
+ The tag to be set for the wrapping HTML element of the validation message.
+
+
+ Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The type of the model.
+ The type of the property.
+
+
+ Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The message to display if the specified field contains an error.
+ The type of the model.
+ The type of the property.
+
+
+ Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message and HTML attributes.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The message to display if the specified field contains an error.
+ An object that contains the HTML attributes for the element.
+ The type of the model.
+ The type of the property.
+
+
+ Returns the HTML markup for a validation-error message for the specified expression.
+ null if the model object is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
+ The HTML helper instance that this method operates on.
+ An expression that identifies the object that contains the properties to render.
+ The message to display if a validation error occurs.
+ An that contains the HTML attributes for the element.
+ The tag to be set for the wrapping HTML element of the validation message.
+ The type of the model.
+ The type of the property.
+
+
+ Returns the HTML markup for a validation-error message for each data field that is represented by the specified expression, using the specified message and HTML attributes.
+ If the property or object is valid, an empty string; otherwise, a span element that contains an error message.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to render.
+ The message to display if the specified field contains an error.
+ An object that contains the HTML attributes for the element.
+ The type of the model.
+ The type of the property.
+
+
+ Returns the HTML markup for a validation-error message for the specified expression.
+ null if the model object is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
+ The HTML helper instance that this method operates on.
+ An expression that identifies the object that contains the properties to render.
+ The message to display if a validation error occurs.
+ An object that contains the HTML attributes for the element.
+ The tag to be set for the wrapping HTML element of the validation message.
+ The type of the model.
+ The type of the property.
+
+
+ Returns the HTML markup for a validation-error message for the specified expression.
+ null if the model object is valid and client-side validation is disabled. Otherwise, a element that contains an error message.
+ The HTML helper instance that this method operates on.
+ An expression that identifies the object that contains the properties to render.
+ The message to display if a validation error occurs.
+ The tag to be set for the wrapping HTML element of the validation message.
+ The type of the model.
+ The type of the property.
+
+
+ Returns an unordered list (ul element) of validation messages that are in the object.
+ A string that contains an unordered list (ul element) of validation messages.
+ The HTML helper instance that this method extends.
+
+
+ Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors.
+ A string that contains an unordered list (ul element) of validation messages.
+ The HTML helper instance that this method extends.
+ true to have the summary display model-level errors only, or false to have the summary display all errors.
+
+
+ Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors.
+ A string that contains an unordered list (ul element) of validation messages.
+ The HTML helper instance that this method extends.
+ true to have the summary display model-level errors only, or false to have the summary display all errors.
+ The message to display with the validation summary.
+
+
+ Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors.
+ A string that contains an unordered list (ul element) of validation messages.
+ The HTML helper instance that this method extends.
+ true to have the summary display model-level errors only, or false to have the summary display all errors.
+ The message to display with the validation summary.
+ A dictionary that contains the HTML attributes for the element.
+
+
+
+ Returns an unordered list (ul element) of validation messages that are in the object and optionally displays only model-level errors.
+ A string that contains an unordered list (ul element) of validation messages.
+ The HTML helper instance that this method extends.
+ true to have the summary display model-level errors only, or false to have the summary display all errors.
+ The message to display with the validation summary.
+ An object that contains the HTML attributes for the element.
+
+
+
+
+ Returns an unordered list (ul element) of validation messages that are in the object.
+ A string that contains an unordered list (ul element) of validation messages.
+ The HMTL helper instance that this method extends.
+ The message to display if the specified field contains an error.
+
+
+ Returns an unordered list (ul element) of validation messages that are in the object.
+ A string that contains an unordered list (ul element) of validation messages.
+ The HTML helper instance that this method extends.
+ The message to display if the specified field contains an error.
+ A dictionary that contains the HTML attributes for the element.
+
+
+
+ Returns an unordered list (ul element) of validation messages in the object.
+ A string that contains an unordered list (ul element) of validation messages.
+ The HTML helper instance that this method extends.
+ The message to display if the specified field contains an error.
+ An object that contains the HTML attributes for the element.
+
+
+
+
+ Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
+
+
+ Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
+ The HTML markup for the value.
+ The HTML helper instance that this method extends.
+ The name of the model.
+
+
+ Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
+ The HTML markup for the value.
+ The HTML helper instance that this method extends.
+ The name of the model.
+ The format string.
+
+
+ Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
+ The HTML markup for the value.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to expose.
+ The model.
+ The property.
+
+
+ Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
+ The HTML markup for the value.
+ The HTML helper instance that this method extends.
+ An expression that identifies the object that contains the properties to expose.
+ The format string.
+ The model.
+ The property.
+
+
+ Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
+ The HTML markup for the value.
+ The HTML helper instance that this method extends.
+
+
+ Provides a mechanism to create custom HTML markup compatible with the ASP.NET MVC model binders and templates.
+ The HTML markup for the value.
+ The HTML helper instance that this method extends.
+ The format string.
+
+
+ Compiles ASP.NET Razor views into classes.
+
+
+ Initializes a new instance of the class.
+
+
+ The inherits directive.
+
+
+ The model directive.
+
+
+ Extends the VBCodeParser class by adding support for the @model keyword.
+
+
+ Initializes a new instance of the class.
+
+
+ Sets a value that indicates whether the current code block and model should be inherited.
+ true if the code block and model is inherited; otherwise, false.
+
+
+ The Model Type Directive.
+ Returns void.
+
+
+ Configures the ASP.NET Razor parser and code generator for a specified file.
+
+
+ Initializes a new instance of the class.
+ The virtual path of the ASP.NET Razor file.
+ The physical path of the ASP.NET Razor file.
+
+
+ Returns the ASP.NET MVC language-specific Razor code generator.
+ The ASP.NET MVC language-specific Razor code generator.
+ The C# or Visual Basic code generator.
+
+
+ Returns the ASP.NET MVC language-specific Razor code parser using the specified language parser.
+ The ASP.NET MVC language-specific Razor code parser.
+ The C# or Visual Basic code parser.
+
+
+
+
+ Creates instances based on the provided factories and action. The route entries provide direct routing to the provided action.
+ A set of route entries.
+ The action descriptor.
+ The direct route factories.
+ The constraint resolver.
+
+
+ Gets a set of route factories for the given action descriptor.
+ A set of route factories.
+ The action descriptor.
+
+
+ Gets the area prefix from the provided controller.
+ The area prefix or null.
+ The controller descriptor.
+
+
+ Creates instances based on the provided factories, controller and actions. The route entries provided direct routing to the provided controller and can reach the set of provided actions.
+ A set of route entries.
+ The controller descriptor.
+ The action descriptors.
+ The direct route factories.
+ The constraint resolver.
+
+
+ Gets route factories for the given controller descriptor.
+ A set of route factories.
+ The controller descriptor.
+
+
+ Gets direct routes for the given controller descriptor and action descriptors based on attributes.
+ A set of route entries.
+ The controller descriptor.
+ The action descriptors for all actions.
+ The constraint resolver.
+
+
+ Gets the route prefix from the provided controller.
+ The route prefix or null.
+ The controller descriptor.
+
+
+ The default implementation of . Resolves constraints by parsing a constraint key and constraint arguments, using a map to resolve the constraint type, and calling an appropriate constructor for the constraint type.
+
+
+
+ Gets the mutable dictionary that maps constraint keys to a particular constraint type.
+
+
+
+ Represents a context that supports creating a direct route.
+
+
+ Initializes a new instance of the class.
+ The route prefix, if any, defined by the area.
+ The route prefix, if any, defined by the controller.
+ The action descriptors to which to create a route.
+ The inline constraint resolver.
+ A value indicating whether the route is configured at the action or controller level.
+
+
+ Gets the action descriptors to which to create a route.
+ The action descriptors to which to create a route.
+
+
+ Gets the route prefix, if any, defined by the area.
+ The route prefix, if any, defined by the area.
+
+
+ Gets the route prefix, if any, defined by the controller.
+ The route prefix, if any, defined by the controller.
+
+
+ Creates a route builder that can build a route matching this context.
+ A route builder that can build a route matching this context.
+ The route template.
+
+
+ Creates a route builder that can build a route matching this context.
+ A route builder that can build a route matching this context.
+ The route template.
+ The inline constraint resolver to use, if any; otherwise, null.
+
+
+ Gets the inline constraint resolver.
+ The inline constraint resolver.
+
+
+ Gets a value indicating whether the route is configured at the action or controller level.
+ true when the route is configured at the action level; otherwise false if the route is configured at the controller level.
+
+
+ Defines a builder that creates direct routes to actions (attribute routes).
+
+
+ Gets the action descriptors to which to create a route.
+ The action descriptors to which to create a route.
+
+
+ Creates a route entry based on the current property values.
+ The route entry created.
+
+
+ Gets or sets the route constraints.
+ The route constraints.
+
+
+ Gets or sets the route data tokens.
+ The route data tokens.
+
+
+ Gets or sets the route defaults.
+ The route defaults.
+
+
+ Gets or sets the route name.
+ The route name, or null if no name supplied.
+
+
+ Gets or sets the route order.
+ The route order.
+
+
+ Gets or sets the route precedence.
+ The route precedence.
+
+
+ Gets a value indicating whether the route is configured at the action or controller level.
+ true when the route is configured at the action level; otherwise, false if the route is configured at the controller level.
+
+
+ Gets or sets the route template.
+ The route template.
+
+
+ Defines a factory that creates a route directly to a set of action descriptors (an attribute route).
+
+
+ Creates a direct route entry.
+ The direct route entry.
+ The context to use to create the route.
+
+
+ Defines a provider for routes that directly target action descriptors (attribute routes).
+
+
+ Gets the direct routes for a controller.
+ A set of route entries for the controller.
+ The controller descriptor.
+ The action descriptors.
+ The inline constraint resolver.
+
+
+ Defines an abstraction for resolving inline constraints as instances of .
+
+
+ Resolves the inline constraint.
+ The the inline constraint was resolved to.
+ The inline constraint to resolve.
+
+
+ Provides information for building a System.Web.Routing.Route.
+
+
+ Gets the route template describing the URI pattern to match against.
+ The route template describing the URI pattern to match against.
+
+
+ Gets the name of the route to generate.
+ The name of the route to generate.
+
+
+ Defines a route prefix.
+
+
+ Gets the route prefix.
+ The route prefix.
+
+
+ Builds instances based on route information.
+
+
+ Initializes a new instance of the class using the default inline constraint resolver.
+
+
+ Initializes a new instance of the class.
+ The to use for resolving inline constraints.
+
+
+ Builds an for a particular action.
+ The generated .
+ The tokenized route template for the route.
+ The HTTP methods supported by the route. A null value specify that all possible methods are supported.
+ The name of the associated controller.
+ The name of the associated action.
+ The method that the route attribute has been applied on.
+
+
+ Builds an for a particular action.
+ The generated route.
+ The tokenized route template for the route.
+ The controller the route attribute has been applied on.
+
+
+ Builds an .
+ The generated .
+ The route defaults.
+ The route constraints.
+ The detokenized route template.
+ The method that the route attribute has been applied on.
+
+
+ Gets the resolver for resolving inline constraints.
+ The resolver for resolving inline constraints.
+
+
+ Represents a named route.
+
+
+ Initializes a new instance of the class.
+ The route name.
+ The route.
+
+
+ Gets the route name.
+ The route name, if any; otherwise, null.
+
+
+ Gets the route.
+ The route.
+
+
+ Represents an attribute route that may contain custom constraints.
+
+
+ Initializes a new instance of the class.
+ The route template.
+
+
+ Gets the route constraints.
+ The route constraints, if any; otherwise null.
+
+
+ Creates a direct route entry.
+ The direct route entry.
+ The context to use to create the route.
+
+
+ Gets the route data tokens.
+ The route data tokens, if any; otherwise null.
+
+
+ Gets the route defaults.
+ The route defaults, if any; otherwise null.
+
+
+ Gets or sets the route name.
+ The route name, if any; otherwise null.
+
+
+ Gets or sets the route order.
+ The route order.
+
+
+ Gets the route template.
+ The route template.
+
+
+ Constrains a route parameter to contain only lowercase or uppercase letters A through Z in the English alphabet.
+
+
+ Initializes a new instance of the class.
+
+
+ Constrains a route parameter to represent only Boolean values.
+
+
+
+
+ Constrains a route by several child constraints.
+
+
+ Initializes a new instance of the class.
+ The child constraints that must match for this constraint to match.
+
+
+ Gets the child constraints that must match for this constraint to match.
+ The child constraints that must match for this constraint to match.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP context.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constrains a route parameter to represent only values.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP context.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constrains a route parameter to represent only decimal values.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP context.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constrains a route parameter to represent only 64-bit floating-point values.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP context.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constrains a route parameter to represent only 32-bit floating-point values.
+
+
+
+
+ Constrains a route parameter to represent only values.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP context.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constrains a route parameter to represent only 32-bit integer values.
+
+
+
+
+ Constrains a route parameter to be a string of a given length or within a given range of lengths.
+
+
+
+ Initializes a new instance of the class that constrains a route parameter to be a string of a given length.
+ The minimum length of the route parameter.
+ The maximum length of the route parameter.
+
+
+ Gets the length of the route parameter, if one is set.
+
+
+
+ Gets the maximum length of the route parameter, if one is set.
+
+
+ Gets the minimum length of the route parameter, if one is set.
+
+
+ Constrains a route parameter to represent only 64-bit integer values.
+
+
+ Initializes a new instance of the class.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP context.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Constrains a route parameter to be a string with a maximum length.
+
+
+
+
+ Gets the maximum length of the route parameter.
+
+
+ Constrains a route parameter to be an integer with a maximum value.
+
+
+ Initializes a new instance of the class.
+ The maximum value.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP context.
+ The route to compare.
+ The name of parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Gets the maximum value of the route parameter.
+ The maximum value of the route parameter.
+
+
+ Constrains a route parameter to be a string with a maximum length.
+
+
+ Initializes a new instance of the class.
+ The minimum length.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP context.
+ The route to compare.
+ The name of the compare.
+ A list of parameter values.
+ The route direction.
+
+
+ Gets the minimum length of the route parameter.
+ The minimum length of the route parameter.
+
+
+ Constrains a route parameter to be a long with a minimum value.
+
+
+ Initializes a new instance of the class.
+ The minimum value.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP context.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Gets the minimum value of the route parameter.
+ The minimum value of the route parameter.
+
+
+ Constrains a route by an inner constraint that doesn't fail when an optional parameter is set to its default value.
+
+
+ Initializes a new instance of the class.
+ The inner constraint to match if the parameter is not an optional parameter without a value
+
+
+ Gets the inner constraint to match if the parameter is not an optional parameter without a value.
+
+
+
+ Constraints a route parameter to be an integer within a given range of values.
+
+
+ Initializes a new instance of the class.
+ The minimum value.
+ The maximum value.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP context.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Gets the maximum value of the route parameter.
+ The maximum value of the route parameter.
+
+
+ Gets the minimum value of the route parameter.
+ The minimum value of the route parameter.
+
+
+ Constrains a route parameter to match a regular expression.
+
+
+ Initializes a new instance of the class with the specified pattern.
+ The pattern to match.
+
+
+ Determines whether this instance equals a specified route.
+ true if this instance equals a specified route; otherwise, false.
+ The HTTP context.
+ The route to compare.
+ The name of the parameter.
+ A list of parameter values.
+ The route direction.
+
+
+ Gets the regular expression pattern to match.
+ The regular expression pattern to match.
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/System.Web.Razor.dll b/Blog/bin/System.Web.Razor.dll
new file mode 100644
index 0000000..6089cb3
Binary files /dev/null and b/Blog/bin/System.Web.Razor.dll differ
diff --git a/Blog/bin/System.Web.Razor.xml b/Blog/bin/System.Web.Razor.xml
new file mode 100644
index 0000000..c88ee13
--- /dev/null
+++ b/Blog/bin/System.Web.Razor.xml
@@ -0,0 +1,5742 @@
+
+
+
+ System.Web.Razor
+
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a Razor code language that is based on C# syntax.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the type of the code provider.
+ The type of the code provider.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new Razor code generator based on C# code language.
+ The newly created Razor code generator based on C# code language.
+ The class name for the generated code.
+ The name of the root namespace for the generated code.
+ The name of the source code file.
+ The Razor engine host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new code parser for C# code language.
+ The newly created code parser for C# code language.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the name of the C# code language.
+ The name of the C# code language. Value is ‘csharp’.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents results from code generation.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ true if the code generation is a success; otherwise, false.
+ The document.
+ The parser errors.
+ The generated code.
+ The dictionary of design-time generated code mappings.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The document.
+ The parser errors.
+ The generated code.
+ The dictionary of design-time generated code mappings.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The parser results.
+ The generated code.
+ The dictionary of design-time generated code mappings.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the dictionary of design-time generated code mappings.
+ The dictionary of design-time generated code mappings.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the generated code.
+ The generated code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the results of parsing a Razor document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ true if parsing was successful; otherwise, false.
+ The root node in the document’s syntax tree.
+ The list of errors which occurred during parsing.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The root node in the document’s syntax tree.
+ The list of errors which occurred during parsing.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the root node in the document’s syntax tree.
+ The root node in the document’s syntax tree.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the list of errors which occurred during parsing.
+ The list of errors which occurred during parsing.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether parsing was successful.
+ true if parsing was successful; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ Represents the base for all Razor code language.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ Initializes a new instance of the class.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ Gets the type of the CodeDOM provider.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The type of the CodeDOM provider.
+
+
+ Creates the code generator for the Razor code language.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The code generator for the Razor code language.
+ The class name.
+ The name of the root namespace.
+ The source file name.
+ The Razor engine host.
+
+
+ Creates the code parser for the Razor code language.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The code parser for the Razor code language.
+
+
+ Gets the language of the Razor code using the specified file extension.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The language of the Razor code.
+ The file extension.
+
+
+ Gets the language name of the current Razor code, that is “csharp” or “vb”.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The language name of the current Razor code.
+
+
+ Gets the list of language supported by the Razor code.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The list of language supported by the Razor code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents an attribute for the Razor directive.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The name of the attribute.
+ The value of the attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether this instance is equal to a specified object.
+ true if the object is equal to the this instance; otherwise, false.
+ The object to compare with this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this instance.
+ The hash code for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the name of the attribute.
+ The name of the attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the unique type ID of the attribute.
+ The unique type ID of the attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the value of the attribute.
+ The value of the attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parser used by editors to avoid reparsing the entire document on each text change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Constructs the editor parser.
+ The which defines the environment in which the generated code will live.
+ The physical path to use in line pragmas.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines if a change will cause a structural change to the document and if not, applies it to the existing tree. If a structural change would occur, automatically starts a reparse.
+ A value indicating the result of the incremental parse.
+ The change to apply to the parse tree.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current parse tree.
+ The current parse tree.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Releases all resources used by the current instance of the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Releases the unmanaged resources used by the class and optionally releases the managed resources.
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Event fired when a full reparse of the document completes.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the filename of the document to parse.
+ The filename of the document to parse.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the auto complete string.
+ The auto complete string.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the host for the parse.
+ The host for the parse.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the last result of the parse was provisionally accepted for next partial parse.
+ true if the last result of the parse was provisionally accepted for next partial parse; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the generated code for the razor engine host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The specified code language.
+
+
+ Initializes a new instance of the class.
+ The specified code language.
+ The markup parser factory.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the languages supported by the code generator.
+ The languages supported that by the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a markup parser using the specified language parser for the .
+ A markup parser to create using the specified language parser for the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the methods as language-specific Razor code generator.
+ The methods as language-specific Razor code generator.
+ The C# or Visual Basic code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the methods as language-specific Razor code parser using the specified language parser.
+ The methods as language-specific Razor code parser using the specified language parser.
+ The C# or Visual Basic code parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the method to decorate markup parser using the specified language parser.
+ The method to decorate markup parser using the specified language parser.
+ The C# or Visual Basic code parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the default base class for the host.
+ The default base class for the host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the default class name for the host.
+ The default class name for the host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the default namespace for the host.
+ The default namespace for the host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the mode designs a time for the host.
+ true if the mode designs a time for the host; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the host that enables the instrumentation.
+ The host that enables the instrumentation.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the generated class context for the host.
+ The generated class context for the host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the instrumented source file path for the host.
+ The instrumented source file path for the host.
+
+
+ Gets or sets whether the design time editor is using tabs or spaces for indentation.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the namespace imports for the host.
+ The namespace imports for the host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns this method to post all the processed generated code for the host.
+ The code compile unit.
+ The generated namespace.
+ The generated class.
+ The execute method.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns this method to post all the processed generated code for the host.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the static helpers for the host.
+ The static helpers for the host.
+
+
+ Tab size used by the hosting editor, when indenting with tabs.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents an entry-point to the Razor Template Engine.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a code generator.
+ The created .
+ The name of the generated class.
+ The namespace in which the generated class will reside.
+ The file name to use in line pragmas.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a .
+ The created .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the default class name of the template.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the default namespace for the template.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
+ The resulting parse tree AND generated Code DOM tree.
+ The input text to parse.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
+ The resulting parse tree AND generated Code DOM tree.
+ The input text to parse.
+ A token used to cancel the parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
+ The resulting parse tree AND generated Code DOM tree.
+ The input text to parse.
+ The name of the generated class, overriding whatever is specified in the host.
+ The namespace in which the generated class will reside.
+ The file name to use in line pragmas.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
+ The resulting parse tree AND generated Code DOM tree.
+ The input text to parse.
+ The name of the generated class, overriding whatever is specified in the host.
+ The namespace in which the generated class will reside.
+ The file name to use in line pragmas.
+ A token used to cancel the parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
+ The resulting parse tree AND generated Code DOM tree.
+ The input text to parse.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
+ The resulting parse tree AND generated Code DOM tree.
+ The input text to parse.
+ A token used to cancel the parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
+ The resulting parse tree AND generated Code DOM tree.
+ The input text to parse.
+ The name of the generated class, overriding whatever is specified in the host.
+ The namespace in which the generated class will reside.
+ The file name to use in line pragmas.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer, generates code for it, and returns the constructed CodeDOM tree.
+ The resulting parse tree AND generated Code DOM tree.
+ The input text to parse.
+ The name of the generated class, overriding whatever is specified in the host.
+ The namespace in which the generated class will reside.
+ The file name to use in line pragmas.
+ A token used to cancel the parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a code core.
+ The results of the generated core.
+ The input text to parse.
+ The name of the generated class, overriding whatever is specified in the host.
+ The namespace in which the generated class will reside.
+ The file name to use in line pragmas.
+ A token used to cancel the parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the which defines the environment in which the generated template code will live.
+ The which defines the environment in which the generated template code will live.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer and returns its result.
+ The resulting parse tree.
+ The input text to parse.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer and returns its result.
+ The resulting parse tree.
+ The input text to parse.
+ A token used to cancel the parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer and returns its result.
+ The resulting parse tree.
+ The input text to parse.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template specified by the TextBuffer and returns its result.
+ The resulting parse tree.
+ The input text to parse.
+ A token used to cancel the parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the template core.
+ The resulting parse tree.
+ The input text to parse.
+ A token used to cancel the parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the state of the machine.
+ The generic type Return.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the current state of the machine.
+ The current state of the machine.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the starting state of the machine.
+ The starting state of the machine.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Stays into the machine during the transition.
+ Transition of the state machine.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Stays into the machine during the transition with the specified output.
+ The output of the transition.
+ The output.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Disables the machine upon transition.
+ The machine to stop.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the new transition of the state.
+ The new transition of the state.
+ The new state.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the new transition of the state with the specified output.
+ The new transition of the state with the specified output.
+ The output.
+ The new state.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Describes the turning process of the state.
+ The turning process of the state.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the state result.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The next output.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The output.
+ The next state.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the state has output.
+ true if the state has output; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the next state in the machine.
+ The next state in the machine.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the output.
+ The representing the output.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a language generator and provider of the VB razor code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the type of CodeDomProvider.
+ The type of CodeDomProvider.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates the code language generator.
+ The code language generator.
+ The name of the class.
+ The root namespace name.
+ The source File name.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a code parser in a .
+ A code parser in a .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the language name.
+ The language name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the editing result of the Editor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The partial parse result.
+ The edited span builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the edited span of the .
+ The edited span of the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the partial parse result.
+ The partial parse result.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides edit handler for implicit expression.
+
+
+ Initializes a new instance of the class.
+ The tokenizer.
+ The keywords.
+ true to accept trailing dot; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the expression accepts trailing dot.
+ true if the expression accepts trailing dot; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the parse that can accept change.
+ The partial parse result.
+ The target.
+ The normalized change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the specified object is equal to the current object.
+ true if the specified object is equal to the current objet; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the hash code for this current instance.
+ The hash code for this current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the keywords associated with the expression.
+ The keywords associated with the expression.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of this current instance.
+ A string representation of this current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the handler editor for this webpages.
+
+
+ Initializes a new instance of the class.
+ The tokenizer symbols.
+
+
+ Initializes a new instance of the class.
+ The tokenizer symbols.
+ The accepted characters.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Provides methods for handling the span edits.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The method used to parse string into tokens.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The method used to parse string into tokens.
+ One of the values of the enumeration.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets a value that specifies the accepted characters.
+ One of the values of the enumeration.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Applies the text change to the span.
+ The result of the apply operation.
+ The span to apply changes to.
+ The change to apply.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Applies the text change to the span.
+ The result of the apply operation.
+ The span to apply changes to.
+ The change to apply.
+ true to accept partial result; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the span can accept the specified change.
+ true if the span can accept the specified change; otherwise, false.
+ The span to check.
+ The change to apply.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new default span edit handler.
+ A newly created default span edit handler.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new default span edit handler.
+ A newly created default span edit handler.
+ The method used to parse string into tokens.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the editor hints.
+ The editor hints.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether this instance is equal to a specified object.
+ true if the object is equal to the this instance; otherwise, false.
+ The object to compare with this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this instance.
+ The hash code for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the old text from the span content.
+ The old text from the span content.
+ The span to get old text from.
+ The text change which contains the location of the old text.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified change is at the end of first line of the span content.
+ true if the specified change is at the end of first line of the span content; otherwise, false.
+ The span to check.
+ The change to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified change is at the end of the span.
+ true if the specified change is at the end of the span; otherwise, false.
+ The span to check.
+ The change to chek.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified change is at the end the span content and for deletion.
+ true if the specified change is at the end the span content and for deletion; otherwise, false.
+ The span to check.
+ The change to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified change is at the end the span content and for insertion.
+ true if the specified change is at the end the span content and for insertion; otherwise, false.
+ The span to check.
+ The change to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified change is at the end the span content and for replacement.
+ true if the specified change is at the end the span content and for replacement; otherwise, false.
+ The span to check.
+ The change to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the span owns the specified change.
+ true if the span owns the specified change; otherwise, false.
+ The span to check.
+ The change to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the method used to parse string into tokens.
+ The method used to parse string into tokens.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation of the span edit handler.
+ The string representation of the span edit handler.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Updates the span using the normalized change.
+ The new span builder for the specified target.
+ The span to update.
+ The normalized change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the added import code generator for the razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The string namespace.
+ The length of the keyword namespace.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether two object instances are equal.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare with the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code with the specified parameters using the added import code generator.
+ The target span.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
+ The hash code for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the string namespace of the generator to add import code generator.
+ The string namespace of the generator to add import code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the length of keyword namespace for the code generator.
+ The length of keyword namespace for the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string that represents the current object.
+ A string that represents the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the attributes of the block code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The name.
+ The prefix string.
+ The suffix string.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare with the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to end the block using the specified parameters.
+ The target block.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to start the block using the specified parameters.
+ The target block.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this code generator.
+ The hash code for this code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the string name of the .
+ The string name of the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the prefix of the code generator.
+ The prefix of the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the suffix for the code generator.
+ The suffix for the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string that represents the current object.
+ A string that represents the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represent the block code generator for this razor syntax.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare with the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the end of the block code generator for this razor syntax.
+ The target block.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the start of the block code generator for this razor syntax.
+ The target block.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a hash code for the block code generator.
+ A hash code for the block code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a null value for the block code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the completion of event arguments for the code generation.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The virtual path string.
+ The physical path string.
+ The generated code compile unit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the generated code to complete the event argument.
+ The generated code to complete the event argument.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the physical path for the code generation.
+ The physical path for the code generation.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual path of the code generation.
+ The virtual path of the code generation.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents the context of the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds a new generated code mapping to the collection.
+ The collection index of the newly added code mapping.
+ The source location of the generated code mapping.
+ The code start of the generated code mapping.
+ The length of the generated code mapping.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds a code statement for a context call on the specified method.
+ The content span.
+ The name of the method to invoke a context call.
+ true to specify that the method parameter is literal; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds a code statement that inserts the Razor design time helpers method in the specified code statement.
+ The code statement that receives the code insertion.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds the specified code statement to the body of the target method.
+ The code statement to add the target method.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds the specified code statement to the body of the target method.
+ The code statement to add the target method.
+ The line pragma.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Appends the specified fragment to the current buffered statement.
+ The fragment to add.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Appends the specified fragment to the current buffered statement.
+ The fragment to add.
+ The source span for the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Appends the content of the span to the current buffered statement.
+ The source span whose content is to be added.
+
+
+ Assigns a new statement collector and returns a disposable action that restores the old statement collector.
+ A disposable action that restores the old statement collector.
+ The new statement collector.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the dictionary collection of generated code mapping.
+ The dictionary collection of generated code mapping.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the code compile unit that will hold the program graph.
+ The code compile unit that will hold the program graph.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a new instance of the class.
+ The newly created instance of the code generator context.
+ The Razor engine host.
+ The class name for the generated class type declaration.
+ The name for the generated namespace declaration.
+ The source file.
+ true to enable the generation of line pragmas; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the current buffered statement.
+ The current buffered statement.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds the expression helper variable to the generated class if not yet added,
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Flushes the current buffered statement.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the generated class type declaration.
+ The generated class type declaration.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the line pragma for the specified source.
+ The line pragma for the specified source.
+ The source span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the line pragma for the source.
+ The line pragma for the specified source.
+ The source span.
+ The start index of code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the line pragma for the source.
+ The line pragma for the specified source.
+ The source span.
+ The start index of code.
+ The length of code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the line pragma for the source.
+ The line pragma for the specified source.
+ The source location.
+ The start index of code.
+ The length of code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the Razor engine host.
+ The Razor engine host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Marks the end of generated code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Marks the start of generated code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the generated namespace declaration.
+ The generated namespace declaration.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the source file.
+ The source file.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the generated member method.
+ The generated member method.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the name of text writer.
+ The name of text writer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a Razor code generator for C# language.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The class name for the generated class type declaration.
+ The name for the generated namespace declaration.
+ The source file.
+ The Razor engine host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes the context for this code generator.
+ The context for this code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the dynamic attributes of the block code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instances of the class.
+ The prefix.
+ The offset values.
+ The line values.
+ The col.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instances of the class.
+ The string prefix.
+ The value start.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare with the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to end the block using the specified parameters.
+ The target block.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to start the block using the specified parameters.
+ The target block.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
+ The hash code for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the namespace prefix of the code generator.
+ The namespace prefix of the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string that represents the current object.
+ A string that represents the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the value start for the dynamic attribute block code generator.
+ The value start for the dynamic attribute block code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a code generator for expression.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether this instance and a specified object are equal.
+ true if and this instance are the same type and represent the same value; otherwise, false.
+ The object to compare with the current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code for the expression.
+ The source span whose content represents an expression.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the end code for the block.
+ The target block for the end code generation.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the start code for the block.
+ The target block the start code generation.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
+ The hash code for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the string representation of this instance.
+ The string representation of this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a generated class context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The execute method name.
+ The write method name.
+ Write literal method name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ Execute method name.
+ Write method name.
+ Write literal method name.
+ Write to method name.
+ Write literal to method name.
+ Template type name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ Execute method name.
+ Write method name.
+ Write literal method name.
+ Write to method name.
+ Write literal to method name.
+ Template type name.
+ Define section method name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ Execute method name.
+ Write method name.
+ Write literal method name.
+ Write to method name.
+ Write literal to method name.
+ Template type name.
+ Define section method name.
+ Begin context method name.
+ End context method name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value indicating whether the context allows sections.
+ true if the context allows sections; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value indicating whether the context allows templates.
+ true if the context allows templates; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method before the generated context.
+ The name of the method before the generated context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default generated context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default name of the execute method.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default name of the layout property.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default name of the write attribute method.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default name of the write to attribute to method.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Specifies the default name of the write literal method.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Specifies the default name of the write method.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that defines the section of the context.
+ The name of the method that defines the section of the context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method after the generated context.
+ The name of the method after the generated context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that will be invoked on the context.
+ The name of the method that will be invoked on the context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this current instance.
+ The hash code for this current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the property name for the layout.
+ The property name for the layout.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two object are equal.
+ true if the two object are equal; otherwise, false.
+ The first object to compare.
+ The second object to compare.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two object are not equal.
+ true if the two object are not equal; otherwise, false.
+ The first object to compare.
+ The second object to compare.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that resolves a Url for the context.
+ The name of the method that resolves a Url for the context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value indicating whether the generated class supports instrumentation.
+ true if the generated class supports instrumentation; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the type name for the template.
+ The type name for the template.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that writes an attribute.
+ The name of the method that writes an attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method where to write an attribute.
+ The name of the method where to write an attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method where to write literal for the context.
+ The name of the method where to write literal for the context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method where to write literal for the context.
+ The name of the method where to write literal for the context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that will write on the context.
+ The name of the method that will write on the context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the method that will write on the context.
+ The name of the method that will write on the context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the generated code mapping objects.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The starting line.
+ The starting column.
+ The start generated column.
+ The code length.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The start offset.
+ The starting line.
+ The starting column.
+ The start generated column.
+ The code length.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the length of the generated map codes.
+ The length of the generated map codes.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current generated code mapping object.
+ true if the specified object is equal to the current generated code mapping object; otherwise, false.
+ The object to compare with the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for the generated code mapping object.
+ The hash code for the generated code mapping object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two specified generated code mapping objects have the same value.
+ true if the two specified generated code mapping objects have the same value; otherwise, false.
+ The left generated code mapping objects.
+ The right generated code mapping objects.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two specified generated code mapping objects have different values.
+ true the two specified generated code mapping objects have different values; otherwise, false.
+ The right generated code mapping objects.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the starting column of the generated code maps.
+ The starting column of the generated code maps.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the starting column of a generated code maps in the generated source file.
+ The starting column of a generated code maps in the generated source file.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the starting line of the generated code maps.
+ The starting line of the generated code maps.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the starting offset of the generated code maps.
+ The starting offset of the generated code maps.
+
+
+ Returns a string that represents the current object.
+ A string that represents the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a helper code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The signature.
+ true to complete the header; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the footer for this code.
+ The footer for this code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a block after the code.
+ The block to generate.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a block before the code.
+ The block to generate.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the hash code for the current instance.
+ The hash code for the current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the header for this code is complete.
+ true if the header for this code is complete; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the signature for this code.
+ The signature for this code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the current instance.
+ A string representation of the current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a hybrid code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code for the data model from switches identified by parameters.
+ The target object.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates an end block code.
+ The target object.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the start block code.
+ The target object.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the for the webpages.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the end block code for the razor.
+ The target block.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the start block code for the razor.
+ The target block.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a phase of the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code for the data model with the specified target and context.
+ The target object.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a code generator for literal attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. . Initializes a new instance of the class.
+ The prefix of the literal attribute.
+ The value of the literal attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. . Initializes a new instance of the class.
+ The prefix of the literal attribute.
+ The value generator for the literal attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
+ true if the specified object is equal to this instance; otherwise, false.
+ The object to compare to this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the code for the literal attribute.
+ The source span whose content represents the literal attribute.
+ The context of the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the hash code for the current instance.
+ The hash code for the current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the prefix of the literal attribute.
+ The prefix of the literal attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation of this instance.
+ The string representation of this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the value of the literal attribute.
+ The value of the literal attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the value generator for the literal attribute.
+ The value generator for the literal attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a code generator for markup.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
+ true if the specified object is equal to this instance; otherwise, false.
+ The object to compare to this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the code for the markup.
+ The source span whose content represents the markup.
+ The context of the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this instance.
+ The hash code for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation for this instance.
+ The string representation for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a Razor code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The class name.
+ The root namespace name.
+ The source file name.
+ The host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the class name for this code.
+ The class name for this code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the context of this code generator.
+ The context of this code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the code generator is in design-time mode.
+ true if the code generator is in design-time mode; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value indicating whether the generator should generate line pragmas in the Razor code.
+ true if the generator should generate line pragmas in the Razor code; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the razor engine host.
+ The razor engine host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes the current instance.
+ The context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Raises the Complete event.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the root namespace.
+ The name of the root namespace.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the source file.
+ The name of the source file.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the end block.
+ The block to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the span.
+ The span to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the start block.
+ The block to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the razor comment code generator for the webpages.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the start block code with the specified parameters.
+ The target block.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a code generator for Razor directive attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The name of the directive attribute.
+ The value of the directive attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
+ true if the specified object is equal to this instance; otherwise, false.
+ The object to compare to this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the code for the directive attribute.
+ The source span whose content represents the directive attribute to generate.
+ The context of the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this instance.
+ The hash code for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the name of the directive attribute.
+ The name of the directive attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation for this instance.
+ The string representation for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the value of the directive attribute.
+ The value of the directive attribute.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the resolve Url code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether this instance and a specified object are equal.
+ true if and this instance are the same type and represent the same value; otherwise, false.
+ The object to compare with the current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code for the Url.
+ The target object.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
+ The hash code for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the fully qualified type name of this instance.
+ The fully qualified type name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a section code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The name of the section code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a block after the section code.
+ The target to generate.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a block before the section code.
+ The target to generate.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the hash code for this current instance.
+ The hash code for this current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the section.
+ The name of the section.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of this current instance.
+ A string representation of this current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a code generator for set base type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The set base type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the set base type.
+ The set base type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
+ true if the specified object is equal to this instance; otherwise, false.
+ The object to compare to this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the code for this set base type.
+ The source span that contains the set base type to generate code.
+ The context of the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the hash code for this current instance.
+ The hash code for this current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Resolves the given set base type.
+ The resolved set base type.
+ The context of the code generator.
+ The set base type to resolve.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation for this instance.
+ The string representation for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a code generator that sets layout for the web Razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The layout path.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a layout code.
+ The target where to generate the code.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves a hash code for this current instance.
+ A hash code for this current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the path of the layout code.
+ The path of the layout code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of this current instance.
+ A string representation of this current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the conversion of the SetVBOptionCodeGenerator of the value.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The option name.
+ true if the object has a value; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Converts the explicitly to the on and off value.
+ The explicitly converts to the on and off value.
+ true if the converts to on and off value; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the explicit code Dom option name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code for the specified parameters.
+ The target.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the option name for the code generator.
+ The option name for the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Strictly converts the to the on and off value.
+ The strictly converts to the on and off value.
+ true if the strictly converts to the on and off value; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the strict code Dom option name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a String that represents the current Object.
+ A String that represents the current Object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the has a value.
+ true if the has a value; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the span code generator for the razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare with the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a code for the specified target and context parameters.
+ The target span.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a hash code for the span code generator.
+ A hash code for the span code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a null value for the span code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a code generator for the statement.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
+ true if the specified object is equal to this instance; otherwise, false.
+ The object to compare to this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Generates the code for the statement.
+ The span source whose content contains the statement to generate.
+ The context of the code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this current instance.
+ The hash code for this current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation for this instance.
+ The string representation for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the template block code generator of the razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to end the block of the template block code generator.
+ The target block.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code to start the block for the template block code generator.
+ The target block.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a type member code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates code with a given target and context.
+ The target where to generate the code.
+ The code generator context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the hash code for this current instance.
+ The hash code for this current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of this code.
+ A string representation of this code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the razor code generator for VB.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The name of the class.
+ The root namespace.
+ The file name of the asset source.
+ The host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a visitor that executes a callback upon the completion of a visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The delegate for the span visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The delegate for the span visit.
+ The delegate for the error visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The delegate for the span visit.
+ The delegate for the error visit.
+ The delegate for the start block visit.
+ The delegate for the end block visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The delegate for the span visit.
+ The delegate for the error visit.
+ The delegate for the start block visit.
+ The delegate for the end block visit.
+ The delegate to execute for the complete event.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the synchronization context for this callback visitor.
+ The synchronization context for this callback visitor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Executes the visitor callback to visit the end block.
+ The end block to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Executes the visitor callback to visit the error.
+ The Razor error to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Executes the visitor callback to visit the span.
+ The span to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Executes the visitor callback to visit the start block.
+ The start block to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a C sharp code parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser accepts the ‘IF’ keyword.
+ true if the parser accepts the ‘IF’ keyword; otherwise, false.
+ The keyword to accept.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Asserts a directive code.
+ The directive code to assert.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code contains ‘AT’ keyword.
+ true if the code contains ‘AT’ keyword; otherwise, false.
+ The keyword.
+
+
+ Indicates the base type directive.
+ The no type name error.
+ The create code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the functions directive.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the code that handles embedded transition.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a helper directive.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates which class the application will derive the view from, and can therefore ensure proper type checking.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Inherits a directive core.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is at embedded transition.
+ true if the code is at embedded transition; otherwise, false.
+ true to allow templates and comments; otherwise, false.
+ true to allow transitions; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the code is nested.
+ true if the code is nested; otherwise, false.
+
+
+ Indicates whether the lines and comments is spacing token.
+ The function that indicates the spacing token.
+ true to include new lines; otherwise, false.
+ true to include comments; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the C sharp language keywords.
+ The C sharp language keywords.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the specific language for parsing.
+ The specific language for parsing.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the layout directive.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Maps the given directives.
+ The handler.
+ The directives.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the other parser used for the code.
+ The other parser used for the code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Spans the output of the parsing before the comment.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Blocks the parsing.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the reserved directive.
+ Determines whether the directive is a top level.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a section directive.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a session state directive.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the session state directive core.
+
+
+ Indicates the directive for session state type.
+ The no value error.
+ The create code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a directive handler.
+ true if successful; otherwise, false.
+ The directive.
+ The handler.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the value of the session state is valid.
+ true if the value of the session state is valid; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the block for this CSharpCode parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The string name.
+ The start of the source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The CSharp symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the string name for the block.
+ The string name for the block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the source location to start the block.
+ The source location to start the block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the different language characteristics in a CSharp language.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a marker symbol in the code.
+ A marker symbol in the code.
+ The source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a symbol in the code.
+ A symbol in the code.
+ The source location.
+ The content value.
+ The html symbol type.
+ List of errors.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a language tokenizer.
+ A language tokenizer.
+ The source of the text document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Flips the bracket symbol in the code.
+ The bracket symbol in the code.
+ The symbol bracket.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the keyword in the code.
+ The keyword in the code.
+ The keyword.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the in the code.
+ The in the code.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a sample symbol in the code.
+ A sample symbol in the code.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a sample symbol in the code.
+ A sample symbol in the code.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the instance for the class.
+ The instance for the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the different language characteristics in an html.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a marker symbol in the Html.
+ A marker symbol in the Html.
+ The source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a symbol in the Html.
+ A symbol in the Html.
+ The source location.
+ The content value.
+ The html symbol type.
+ List of errors.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates an html tokenizer.
+ An html tokenizer.
+ The source of the text document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Flips the bracket symbol in the html.
+ The bracket symbol in the html.
+ The symbol bracket.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the in the html.
+ The in the html.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a sample symbol in the html.
+ A sample symbol in the html.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the instance for the class.
+ The instance for the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a parser specifically for parsing HTML markup.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Builds the span for the given content using the specified span builder.
+ The span builder used to build the span.
+ The start location.
+ The span content.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the function delegate used to determine the token used for HTML spacing.
+ The function delegate used to determine the token used for HTML spacing.
+ true to indicate that new lines are considered as spacing token; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the instance that defines the characteristics of HTML language.
+ The instance that defines the characteristics of HTML language.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the other parser for parsing HTML markup.
+ The other parser for parsing HTML markup.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Builds the span before the Razor comment.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Parses the next HTML block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Parses the HTML document.
+
+
+ Parses a section with markups given by the nesting sequences.
+ A tuple that specifies the markup nesting sequences.
+ true to indicate case-sensitive parsing; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Skips the parse until the specified condition is meet.
+ A function delegate that defines the condition.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Skips the parse until the specified HTML symbol type is encountered.
+ The HTML symbol type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the HTML tags that are considered as void.
+ The HTML tags that are considered as void.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Provides methods that define the behavior of a Razor code language.
+ The type of the code tokenizer for the Razor language.
+ The type for the language symbol.
+ The enumeration type for the language symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a code language symbol with the specified source location as the start marker.
+ The symbol for the code language.
+ The source location as the start marker.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a code language symbol with the specified source location with the specified source location as the start marker.
+ The symbol for the code language.
+ The source location as the start marker.
+ The content.
+ The enumeration type for the language symbol.
+ The collection of error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates a Razor code language tokenizer for the specified source document.
+ A Razor code language tokenizer for the specified source document.
+ The source document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the opposite bracket symbol for the specified bracket symbol.
+ The opposite bracket symbol for the specified bracket symbol.
+ The bracket symbol to flip.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the specific language symbol type for the given symbol type.
+ The specific language symbol type for the given symbol type.
+ The symbol type to get.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the actual symbol for the given language symbol type.
+ The actual symbol for the given language symbol type.
+ The language symbol type to get.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a comment body type.
+ true if the symbol is a comment body type; otherwise, false.
+ The symbol to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a comment star type.
+ true if the symbol is a comment star type; otherwise, false.
+ The symbol to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a comment start type.
+ true if the symbol is a comment start type; otherwise, false.
+ The symbol to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is an identifier type.
+ true if the symbol is an identifier type; otherwise, false.
+ The symbol to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a keyword type.
+ true if the symbol is a keyword type; otherwise, false.
+ The symbol to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol type is a known symbol type.
+ true if the symbol type is a known symbol type; otherwise, false.
+ The symbol whose type is to be checked.
+ The known type of the symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a new line type.
+ true if the symbol is a new line type; otherwise, false.
+ The symbol to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a transition type.
+ true if the symbol is a transition type; otherwise, false.
+ The symbol to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is an unknown type.
+ true if the symbol is an unknown type; otherwise, false.
+ The symbol to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is a whitespace type.
+ true if the symbol is a whitespace type; otherwise, false.
+ The symbol to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the symbol is an unknown type.
+ true if the symbol is an unknown type; otherwise, false.
+ The known type of the symbol.
+
+
+ Splits the content of the code language symbol at the specified index.
+ A tuple of code language symbol.
+ The symbol whose content is to be splitted.
+ The index where the split occurs.
+ The enumeration type for the language symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Splits the specified string into tokens.
+ The collection of token.
+ The string to tokenize.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Splits the specified string into tokens.
+ The collection of token.
+ The source location as the start marker for the tokenizer.
+ The string to tokenize.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the parser base class for the razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Builds a span for the parser base.
+ The span builder.
+ The beginning of the source location.
+ The content.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the .
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the parser is a markup parser.
+ true if the parser is a markup parser; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the other parser .
+ The other parser .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Blocks the parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates documentation for the parse.
+
+
+ Parses the section in ordered list of the elements.
+ The pair of nesting sequences.
+ true if the case is sensitive; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a parser whose context can be switched to either a code or a markup.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The source document.
+ The code parser for the context.
+ The markup parser for the context.
+ The active parser for the context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the active parser for the context.
+ The active parser for the context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds the specified span at the end of the block builder stack.
+ The span to add.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the code parser for the context.
+ The code parser for the context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Parses the last span and returns the parse results that contain the newly built block.
+ The parse results that contain the newly built block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the current block builder.
+ The current block builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the current character available from the source.
+ The current character available from the source.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets a value that indicates whether the parser is in design mode.
+ true if the parser is in design mode; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Creates an end block from the last item of the block builder stack.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets a value that indicates whether the source status is end of file.
+ true if the source status is end of file; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the list of errors during parsing.
+ The list of errors.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified block type exists in the block builder list.
+ true if the specified block type exists in the block builder list; otherwise, false.
+ The block type to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the last accepted characters.
+ One of the values of the enumeration.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the last span.
+ The last span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the markup parser for the context.
+ The markup parser for the context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Occurs when parse encountered error.
+ The source location.
+ The error message.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Occurs when parse encountered an error.
+ The source location.
+ The error message.
+ The other information about the source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the text reader for the source document.
+ The text reader for the source document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds a new block builder at the end of the block builder stack and returns a disposable action that returns an end block.
+ A disposable action that returns an end block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Adds a new block builder at the end of the block builder stack and returns a disposable action that returns an end block.
+ A disposable action that returns an end block.
+ The type for the new block builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Alternately switches the code parser or markup parser as the active parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets a value that indicates whether white space is significant to ancestor block.
+ true is white space is significant to ancestor block; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Provides helper methods for the parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a spacing combining mark or a non-spacing mark.
+ true if the specified character value is a spacing combining mark or a non-spacing mark; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a connector punctuation.
+ true if the specified character value is a connector punctuation; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a decimal digit number.
+ true if the specified character value is a decimal digit number; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is valid for use in email address.
+ true if the specified character value is valid for use in email address; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is used for formatting text layout or formatting text operation.
+ true if the specified character value is used for formatting text layout or formatting text operation.; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a hexadecimal digit number.
+ true if the specified character is a hexadecimal digit number; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified string value is an identifier.
+ true if the specified string value is an identifier; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified string value is an identifier.
+ true if the specified string value is an identifier; otherwise, false.
+ The value to check.
+ true to require that the identifier starts with a letter or underscore (_); otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is valid for use in identifier.
+ true if the specified character is valid for use in identifier; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is valid for use as start character of an identifier.
+ true if the specified character value is valid for use as start character of an identifier; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a letter.
+ true if the specified character is a letter; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a letter or a decimal digit number.
+ true if the specified character is a letter or a decimal digit number; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified value is a newline.
+ true if the specified character is a newline; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified value is a newline.
+ true if the specified character is a newline; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a terminating character token.
+ true if the specified character value is a terminating character token; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a terminating quoted string.
+ true if the specified character value is a terminating quoted string; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a whitespace.
+ true if the specified character value is a whitespace; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified character value is a whitespace or newline.
+ true if the specified character value is a whitespace or newline; otherwise, false.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Sanitizes the specified input name to conform as a valid value for class name.
+ The sanitized class name.
+ The value to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a parser visitor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the cancellation token.
+ The cancellation token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates that a visitor method has completed execution.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the specified block.
+ The block to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the specified black after parsing.
+ The block to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the given razor error.
+ The error to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the specified span.
+ The span to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Visits the specified block before parsing.
+ The block to visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides extension methods for parser visitor.
+
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a Razor parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The code parser.
+ The markup parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a task that parses a specified object.
+ The created .
+ The object to parse.
+ The span callback.
+ The error callback.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a task that parses a specified object.
+ The created .
+ The object to parse.
+ The span callback.
+ The error callback.
+ The cancellation token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a task that parses a specified object.
+ The created .
+ The object to parse.
+ The span callback.
+ The error callback.
+ The context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a task that parses a specified object.
+ The created .
+ The object to parse.
+ The span callback.
+ The error callback.
+ The context.
+ The cancellation token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a task that parses a specified object.
+ The created .
+ The object to parse.
+ The consumer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the design time mode.
+ The design time mode.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the specified object.
+ The parser result.
+ The object to parse.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the specified object.
+ The object to parse.
+ The visitor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the specified object.
+ The parser result.
+ The object to parse.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the specified object.
+ The parser result.
+ The object to parse.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the specified object.
+ The object to parse.
+ The visitor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a tokenizer backed parser.
+ The type of tokenizer.
+ The type of symbol.
+ The type of SymbolType.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the list of symbols
+ The list of symbols.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the specified symbol.
+ The symbol to accept.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser accepts all types of tokenizer.
+ true of the parser accepts all types of tokenizer; otherwise, false.
+ The types.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser accepts and moves to the next tokenizer.
+ true if the parser accepts and moves to the next tokenizer; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser accepts single whitespace character.
+ true if the parser accepts single whitespace character; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token until a token of the given type is found.
+ The type of the token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token until a token of the given type is found and it will backup so that the next token is of the given type.
+ The type of the first token.
+ The type of the second token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the given tokens until a token of the given type is found.
+ The type of the first token.
+ The type of the second token.
+ The type of the third token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token until a token of the given types is found.
+ The types of the token.
+
+
+ Accepts token while the condition has been reached.
+ The condition.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the token while a token of the given type is not found.
+ The type of the token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token while the token of the given type has been reached.
+ The type of the first token.
+ The type of the second token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token while the token of the given type has been reached.
+ The type of the first token.
+ The type of the second token.
+ The type of the third token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts token while the token of the given types has been reached.
+ The types.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser accepts whitespace in lines.
+ true if the parser accepts whitespace in lines; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a marker symbol if necessary.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a marker symbol if necessary.
+ The location where to add the symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the token is at the specified type.
+ true if the token is at the specified type; otherwise, false.
+ The type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the token is at the specified identifier.
+ true if the token is at the specified identifier; otherwise, false.
+ true to allow keywords; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parsing is balance.
+ true if the parsing is balance; otherwise, false.
+ The balancing mode.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parsing is balance.
+ true if the parsing is balance; otherwise, false.
+ The balancing mode.
+ The left parse.
+ The right parse.
+ The start of the mode.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Builds a specified span.
+ The span to build.
+ The start location to build the span.
+ The content of the span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Configures the span.
+ The configuration.
+
+
+ Configures the span.
+ The configuration.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current location of the current instance.
+ The current location of the current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current symbol of this instance.
+ The current symbol of this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value indicating whether the tokenizer is in the end of file.
+ true if the tokenizer is in the end of file; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether to ensure the current parser.
+ true if to ensure the current parser; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the expected token with the given type.
+ The type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the expected token with the given types.
+ The types.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Handles the embedded transition.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a specified span.
+ The span to initialize.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether this instance is at embedded transition.
+ true if this instance is at embedded transition; otherwise, false.
+ true to allow templates and comments; otherwise, false.
+ true to allow transitions; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the language used for parsing.
+ The language used for parsing.
+
+
+ Determines whether the token with the given condition would pass.
+ true if the token with the given condition would pass; otherwise, false.
+ The condition.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the token with the given type would pass.
+ true if the token with the give type would pass; otherwise, false.
+ The type of the token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the token with the given types would pass.
+ true if the token with the given types would pass; otherwise, false.
+ The types.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the parser advances to the next token.
+ true if the parser advances to the next token; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether parsing a token with the given type is optional.
+ true if parsing a token with the given type is optional; otherwise, false.
+ The type of the token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether parsing a token with the given type is optional.
+ true if parsing a token with the given type is optional; otherwise, false.
+ The type of the token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Outputs a token with accepted characters.
+ The accepted characters.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Outputs a token with span kind.
+ The span kind.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Outputs a token with a given span kind and accepted characters.
+ The span kind.
+ The accepted characters.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Outputs a span before the razor comment.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code..Gets the previous symbol of this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Pushes the span configuration.
+ An that shuts down the configuration.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Pushes the span configuration.
+ An that shuts down the configuration.
+ The new configuration.
+
+
+ Pushes the span configuration.
+ An that shuts down the configuration.
+ The new configuration.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts the transition back.
+ The symbols.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts the transition back.
+ The symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts the current transition back.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Displays the razor comment.
+
+
+ Reads a token while the condition is not reached.
+ The token to read.
+ The condition.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the expected token is required.
+ true if the expected token is required; otherwise, false.
+ The expected token.
+ true to display an error if not found; otherwise, false.
+ The error base.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the associated with this instance.
+ The associated with this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the span configuration.
+ The span configuration.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the tokenizer.
+ The tokenizer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the token with the given type was parsed.
+ true if the token with the given type was parsed; otherwise, false.
+ The type of the token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a Visual Basic code parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts spaces in the VB code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Checks for a condition and displays a keyword in the code.
+ The keyword.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Asserts the given directive.
+ The directive to assert.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the directive is ‘AT’ directive.
+ true if the directive is an ‘AT’ directive; otherwise, false.
+ The directive.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the given keyword is ‘AT’.
+ true if the given keyword is ‘AT’; otherwise, false.
+ The keyword.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Ends a terminated directive.
+ The function that ends the terminated directive.
+ The directive.
+ The block type.
+ The code generator.
+ true to allow markup; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the termination of directive body is ended.
+ true if the termination of directive body is ended; otherwise, false.
+ The directive.
+ The block start.
+ true to allow all transitions; otherwise, false.
+
+
+ Ends a termination of statement.
+ The function that ends the termination.
+ The keyword.
+ true if the termination supports exit; otherwise, false.
+ true if the termination supports continue; otherwise, false.
+
+
+ Ends a termination of statement.
+ The function that ends the termination.
+ The keyword.
+ true if the termination supports exit; otherwise, false.
+ true if the termination supports continue; otherwise, false.
+ The block name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Handles the embedded transition.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Handles the embedded transition.
+ The last white space.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the code that handles the Exit or Continue keyword.
+ The keyword.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a code that handles a transition.
+ The last white space.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the code is a helper directive.
+ true if the code is a helper directive; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code imports a statement.
+ true if the code imports a statement; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code inherits a statement.
+ true if the code inherits a statement; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is at embedded transition.
+ true if the code is at embedded transition; otherwise, false.
+ true to allow templates and comments; otherwise, false.
+ true to allow transitions; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is directive defined.
+ true if the code is directive defined; otherwise, false.
+ The directive.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the keywords associated with the code.
+ The keywords associated with the code.
+
+
+ Indicates a keyword that terminates a statement.
+ The function that terminates the statement.
+ The start.
+ The terminator.
+ true if the termination supports exit; otherwise, false.
+ true if the termination supports continue; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the language for the parser.
+ The language for the parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is a layout directive.
+ true if the code is a layout directive; otherwise, false.
+
+
+ Maps a given directive.
+ The directive.
+ The action whether to map a given directive.
+
+
+ Maps a given keyword.
+ The keyword.
+ The action whether to map a given keyword.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a nested block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the keyword from the code is optional.
+ true if the keyword from the code is optional; otherwise, false.
+ The keyword.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is an option statement.
+ true if the code is an option statement; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the other parser.
+ The other parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the parser block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the parser block.
+ The start sequence.
+ The end sequence.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Spans the output before Razor comment.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Blocks the parsing.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads a list of Visual Basic spaces.
+ A list of Visual Basic spaces.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the expected symbol is required.
+ true if the expected symbol is required; otherwise, false.
+ The expected symbol.
+ The error base.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is a reserved word.
+ true if the code is a reserved word; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code is a section directive.
+ true if the code is a section directive; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the code has a session state directive.
+ true if the code has a session state directive; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the characteristics of the Visual Basic language.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Visual Basic marker symbol.
+ The created Visual Basic marker symbol.
+ The location to create the symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Visual Basic symbol.
+ The created .
+ The location to create the symbol.
+ The content.
+ The type of the symbol.
+ The errors.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Visual Basic tokenizer.
+ The created .
+ The source where to create the tokenizer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Flips the given bracket.
+ The type of the Visual Basic symbol.
+ The bracket to flip.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the type of the known symbol.
+ The type of the known symbol.
+ The type to retrieve.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a sample symbol with the given type.
+ A sample symbol with the given type.
+ The type of the symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets an instance of this .
+ An instance of .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the auto-complete editing handler class.
+
+
+ Initializes a new instance of the class.
+ The tokenizer.
+
+
+ Initializes a new instance of the class.
+ The tokenizer.
+ The accepted characters.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the auto-complete function is at the end of this span.
+ true if the auto-complete function is at the end of this span; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a string value to auto-complete.
+ A string value to auto-complete.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a parse result that can accept changes.
+ The phase of the target.
+ The normalized .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether this instance and a specified object are equal.
+ true if and this instance are the same type and represent the same value; otherwise, false.
+ The object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
+ A 32-bit signed integer that is the hash code for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the fully qualified type name of this instance.
+ A String containing a fully qualified type name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the block for creating webpages.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The source for the block builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the parser visitor of the block.
+ The parser visitor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a collection of SyntaxTreeNode to view the children of the block.
+ A collection of SyntaxTreeNode to view the children of the block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the IBlockCodeGenerator to generate codes for the elements.
+ The IBlockCodeGenerator to generate codes for the elements.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current block.
+ true if the specified object is equal to the current block; otherwise, false.
+ The object to compare with the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a value indicating whether the block is equivalent to the same element.
+ true if the block is equivalent to the same element; otherwise, false.
+ The syntax tree node.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Finds the first descendent span of the block.
+ The first descendent span of the block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Finds the last descendent span of the block.
+ The last descendent span of the block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Flattens a collection of a specified type for the block.
+ A collection of a specified type for the block to flatten.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
+ The hash code for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the object is a block-level object.
+ true if the object is a block-level object; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the length value of the block.
+ The length value of the block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Locates the owner of the block.
+ The owner of the block to locate.
+ The text change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the string name of the block.
+ The string name of the block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the start to identify the specific location of the block.
+ The start to identify the specific location of the block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string that represents the current object.
+ A string that represents the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the type of code block.
+ The type of code block.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the block builder for the webpages.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The original block builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Builds a block for this instance.
+ A block builds for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the collection of child elements of the block builder.
+ The collection of child elements of the block builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the code generator for the block builder.
+ The code generator for the block builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the string name for the block builder.
+ The string name for the block builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Resets the block builder to its original position.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a block type that can be assigned null.
+ A block type that can be assigned null.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a parsing error in Razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The error message.
+ The absolute index of the source location.
+ The line index of the source location.
+ The column index of the source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The error message.
+ The absolute index of the source location.
+ The line index of the source location.
+ The column index of the source location.
+ The length for the error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The error message.
+ The source location of the error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The error message.
+ The source location of the error.
+ The length for the error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
+ true if the specified object is equal to this instance; otherwise, false.
+ The object to compare to this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this instance.
+ true if the specified object is equal to this instance; otherwise, false.
+ The object to compare to this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for the current instance.
+ The hash code for the current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the length for the error.
+ The length for the error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the source location of the error.
+ The source location of the error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the error message.
+ The error message.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation of this error instance.
+ The string representation of this error instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Represents a Razor parse tree node that contains the all the content of a block node.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The builder to use for this span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Accepts visit from the specified visitor.
+ The object that performs the visit.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Changes the span builder for this span.
+ A delegate that will be executed along with this change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Sets the start character location of this span.
+ The new start location to set for this span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the code generator for the span.
+ The code generator for the span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the content of the span.
+ The content of the span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the handler for span edits.
+ The handler for span edits.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified object is equal to this span.
+ true if the specified object is equal to this span; otherwise, false.
+ The object to compare to this span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Determines whether the specified node is equivalent to this span.
+ true if the specified node is equal to this span; otherwise, false.
+ The node to compare with this span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the hash code for this current span.
+ The hash code for this current span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets a value that indicates whether this node is a block node.
+ false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the kind for this span.
+ One of the values of the enumeration.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the length of the span content.
+ The length of the span content.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the next span in the tree node.
+ The next span in the tree node.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the previous span in the tree node.
+ The previous span in the tree node.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Replaces the span builder for this span with the specified span builder.
+ The new builder to use for this span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the start character location of the span.
+ The start character location of the span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the symbols used to generate the code for the span.
+ The symbols used to generate the code for the span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the string representation of this current span.
+ The string representation of this current span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the span builder for the syntax tree.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The original span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the given symbol for the span builder.
+ The symbol builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Builds a span builder for this instance.
+ A span builder for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Clears the symbols of the span builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the span code generator.
+ The span code generator.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the span edit handler of the builder.
+ The span edit handler of the builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the span kind of the span builder.
+ The span kind of the span builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Resets the span builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the source location of the span builder.
+ The source location of the span builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the symbols for a generic read-only collection.
+ The symbols for a generic read-only collection.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the node for the syntax tree.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the visitor of the tree node.
+ The parser visitor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the syntax tree node is equivalent to given node.
+ true the syntax tree node is equivalent to given node; false.
+ The given node.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the syntax tree node is a block-level object.
+ true if the syntax tree node is a block-level object; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the length of the syntax tree node.
+ The length of the syntax tree node.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the parent tree node of the current tree node.
+ The parent tree node of the current tree node.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the specific source location for the syntax tree node.
+ The specific source location for the syntax tree node.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Provides a lookahead buffer for the text reader.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The text reader for the buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Begins the lookahead buffering operation for this .
+ A disposable action that ends the lookahead buffering.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Discards the backtrack context associated the lookahead buffering operation.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets the current character in the buffer.
+ The current character in the buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Gets or sets the current location of the character in the buffer.
+ The current location of the character in the buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Releases the unmanaged resources used by the current instance of this class, and optionally releases the managed resources.
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Reads the next character from the text reader and appends it to the lookahead buffer.
+ true if a character was read from the text reader; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Advances the buffer position to the next character.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the current character in the buffer.
+ The current character in the buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Returns the current character from the buffer and advances the buffer position to the next character.
+ The current character from the buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a location tagged.
+ The type of the location tagged.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The value of the source.
+ The offset.
+ The line.
+ The column location of the source.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The value of the source.
+ The location of the source.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for the current instance.
+ The hash code for the current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the location of the source.
+ The location of the source.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two object are equal.
+ true if the two object are equal; otherwise, false.
+ The first object to compare.
+ The second object to compare.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Converts the specified value to a object.
+ true if successfully converted; otherwise, false.
+ The value to convert.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two object are not equal.
+ true if the two object are not equal; otherwise, false.
+ The first object to compare.
+ The second objet to compare.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the current instance.
+ The string that represents the current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the current instance.
+ A string that represents the current instance.
+ The format.
+ The format provider.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the value of the source.
+ The value of the source.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the token to look for the razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The action to cancel.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the token.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Releases the resources used by the current instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Releases the unmanaged resources used by the and optionally releases the managed resources.
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a reader
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The source reader.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The string content.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The text buffering.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the length of the text to read.
+ The length of the text to read.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the source of location for the text reader.
+ The source of location for the text reader.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads the next character without changing the state of the reader or the character source.
+ An integer representing the next character to be read.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the position to seek the text reader.
+ The position to seek the text reader.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads the next character from the text reader and advances the character position by one character.
+ The next character from the text reader, or -1 if no more characters are available.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The absolute index.
+ The line index.
+ The character index.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the absolute index for the source location.
+ The absolute index for the source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds the two object.
+ The sum of the two object.
+ The first object to add.
+ The second object to add.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Advances the specified object to the given location.
+ The source location.
+ The location where to advance the object.
+ The text that advances to the given location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the character index for the source location.
+ The character index for the source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Compares current object to the other object.
+ The value of the objects compared.
+ The object to compare.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the current object is equal to the other object.
+ true if the current object is equal to the other object; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
+ The hash code for this instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the line index for the source location.
+ The line index for the source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds the two object.
+ The that is the sum of the two object.
+ The object to add.
+ The object to add.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two objects are equal.
+ true if the two objects are equal; otherwise, false.
+ The first object to compare.
+ The second object to compare.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the first object is greater than the second object.
+ true if the first object is greater than the second object; otherwise, false.
+ The first object.
+ The second object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two object are not equal.
+ true if the two objects are not equal; otherwise, false.
+ The object to compare.
+ The object to compare.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the first object is less than the second object.
+ true if the first object is greater than the second object; otherwise, false.
+ The first object.
+ The second object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ Returns .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Subtracts the first object to the second object.
+ The difference of the two objects.
+ The first object.
+ The second object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the source location.
+ A string representation of the source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides a source location tracker.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The current location of the source.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Calculates the new location of the source.
+ The new source location.
+ The last position.
+ The new content.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the current location of the source.
+ The current location of the source.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Updates the source location.
+ The character to read.
+ The character to update.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Updates the location of the source.
+ The object.
+ The content of the source.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides a reader for text buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The text buffer to read.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Begins reading the current text buffer.
+ An instance that stops the text buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Cancels backtrack.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current location of the text buffer.
+ The current location of the text buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Releases the unmanaged resources used by the class and optionally releases the managed resources.
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the next text buffer to read.
+ The next text buffer to read.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads the current text buffer.
+ The current text buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Describes a text change operation.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The position of the text change in the snapshot immediately before the change.
+ The length of the old text.
+ An old text buffer.
+ The position of the text change in the snapshot immediately after the change.
+ The length of the new text.
+ A new text buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Applies the specified text change.
+ A string that contains the value of the text.
+ The content of the text.
+ The change offset.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Applies the specified text change.
+ A string that contains the value of the text.
+ The span of the text change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the hash code for this text change.
+ The hash code for this text change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether this text change is a delete.
+ true if this text change is a delete; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether this text change is an insert.
+ true if this text change is an insert; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether this text change is a replace.
+ true if this text change is a replace; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a new text buffer.
+ A new text buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the length of the new text.
+ The length of the new text.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the position of the text change in the snapshot immediately after the change.
+ The position of the text change in the snapshot immediately after the change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the text that replaced the old text.
+ The text that replaced the old text.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a normalized value of this text change.
+ A normalized value of this text change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets an old text buffer.
+ An old text buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the length of the old text.
+ The length of the old text.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the position of the text change in the snapshot immediately before the change.
+ The position of the text change in the snapshot immediately before the change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the text that was replaced.
+ The text that was replaced.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two text change are equal.
+ true if the two text change are equal; otherwise, false.
+ The left text change.
+ The right text change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two text change are not equal.
+ true if the two text change are not equal; otherwise, false.
+ The left text change.
+ The right text change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the text change.
+ A string representation of the text change.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides reader for text document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The source to read.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the length of the document.
+ The length of the document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the location of the document.
+ The location of the document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the next text document to read.
+ The next text document to read.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the position of the text document.
+ The position of the text document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads a specified text document.
+ The text document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides helper functions for the CSharp tokenizer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified character can be used for identifier.
+ true if the specified character can be used for identifier; otherwise, false.
+ The character to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified character can be used as an identifier start character.
+ true if the specified character can be used as an identifier start character; otherwise, false.
+ The character to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified character is a literal suffix for real numbers.
+ true if the specified character is a literal suffix for real numbers; otherwise, false.
+ The character to check.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a CSharp tokenizer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The source.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a CSharp tokenizer symbol.
+ A CSharp tokenizer symbol.
+ The beginning of the source location.
+ The contents.
+ The CSharp symbol type.
+ A collection of razor errors.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the star type of the .
+ The star type of the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the razor comment transition type for the .
+ The razor comment transition type for the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the razor comment type for the .
+ The razor comment type for the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the state of the machine.
+ The state of the machine.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the html tokenizer of the razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The source for the text document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a symbol for the specified parameters of the html tokenizer.
+ A symbol to create for the specified parameters of the html tokenizer.
+ The source location.
+ The content string.
+ The type of html symbol.
+ The razor errors.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the html symbols for the razor comment star type.
+ The html symbols for the razor comment star type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the html symbols for the razor comment transition type.
+ The html symbols for the razor comment transition type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the html symbols for the razor comment type.
+ The html symbols for the razor comment type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the start of the state machine for the html.
+ The start of the state machine for the html.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The type for the language symbol.
+ The enumeration type for the language symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The source.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a result after the razor comment transition.
+ The result.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the lookahead buffer contains the expected string.
+ true if the lookahead buffer contains the expected string; otherwise, false.
+ The string to check.
+ true to indicate comparison is case sensitive; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the buffer for the tokenizer.
+ The buffer for the tokenizer.
+
+
+ Returns a function delegate, that accepts a character parameter and returns a value that indicates whether the character parameter is equal to specified character or white space.
+ A function delegate.
+ The character used to compare.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a language symbol type for the tokenizer with the specified content.
+ A language symbol type for the tokenizer.
+ The start of the source location.
+ The content value.
+ The symbol type.
+ The razor error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current character in the tokenizer.
+ The current character.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a list of the current razor errors.
+ A list of the current errors.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current source location.
+ The current source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current start of the source location.
+ The current start of the source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value whether the tokenizer current location is at the end of the file.
+ true if the tokenizer current location is at the end of the file; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the language end symbol type used by the tokenizer.
+ The language end symbol type.
+ The start of the source location.
+ The enumeration type for the language symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the language end symbol type used by the tokenizer.
+ The language end symbol type.
+ The enumeration type for the language symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value whether the tokenizer have content.
+ true if the tokenizer have content; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads to the next character from the code reader.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Shows the next symbol to be used.
+ The next symbol to be used.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Reads the next symbol in the code.
+ The next symbol to read.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Parses the Razor comment body.
+ The object that represent the state of the result.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the star type for the razor comment.
+ The star type for the razor comment.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the transition type for the razor comment.
+ The transition type for the razor comment.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the type of razor comment.
+ The type of razor comment.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Sets the tokenizer status to its initial state.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Resumes using the previous language symbol type.
+ The previous language symbol type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Uses a single type of symbol.
+ A single type of symbol.
+ The type of symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the source of the text document.
+ The source of the source document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the start symbol used in this class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the next language symbol type.
+ The next language symbol type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Takes the string if found in the lookahead buffer into the tokenizer buffer.
+ true if the lookahead buffer contains the expected string; otherwise, false.
+ The string to match.
+ true to indicate comparison is case sensitive; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the current character into the buffer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the given input string into the buffer.
+ true if the whole input string was accepted; false, if only a substring was accepted.
+ The input string.
+ true to indicate comparison is case sensitive; otherwise, false.
+
+
+ Parses the source document until the condition specified by predicate is met or end file is reached.
+ true if the predicate condition is met; false if end of file is reached.
+ The predicate that specifies the processing condition.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the specified parameters for the tokenizer view.
+ The type tokenizer.
+ The type symbol.
+ The token symbol type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The tokenizer view.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the current view of the TSymbol.
+ The current view of the TSymbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the view can reach the end of a file.
+ true if the view can reach the end of a file; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the tokenizer moves to the next view.
+ true if the tokenizer moves to the next view; false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts a specified symbol into the tokenizer view.
+ The symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the source of the text document for the tokenizer view.
+ The source of the text document for the tokenizer view.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the tokenizer to view the symbols for the razor.
+ The tokenizer to view the symbols for the razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a set of characters as helpers in VB.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether a specified character is enclosed in double quotation marks (").
+ true if the character is enclosed in double quotation marks ("); otherwise, false.
+ The character.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether a character is in octal digit.
+ true if a character is in octal digit; otherwise, false.
+ The character.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether a specified character is enclosed in a single quotation mark (').
+ true if the character is enclosed in a single quotation mark ('); otherwise, false.
+ The character.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Allows an application to break a VB symbol into tokens.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The source of text.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a domain of symbols.
+ A domain of symbols.
+ The source location.
+ The content value.
+ The .
+ The razor error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the VB symbol type.
+ The VB symbol type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the transition style of the VB symbol.
+ The transition style of the VB symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the razor type comment of the .
+ The razor type comment of the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the start state of the machine.
+ The start state of the machine.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a C sharp symbol for the razor tokenizer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The symbol’s offset.
+ The line.
+ The column
+ The content of the symbol.
+ The type of the symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The symbol’s offset.
+ The line.
+ The column
+ The content of the symbol.
+ The type of the symbol.
+ A list of errors.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The location to start the symbol.
+ The content of the symbol.
+ The type of the symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The location to start the symbol.
+ The content of the symbol.
+ The type of the symbol.
+ A list of errors.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the symbol has an escaped identifier.
+ true if the symbol has an escaped identifier; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this current instance.
+ The hash code for this current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the language keyword.
+ The language keyword.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the Html symbols.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The location of the symbol.
+ The exact line the symbol is found.
+ The column number the symbol is found.
+ The content value.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The location of the symbol.
+ The exact line the symbol is found.
+ The column number the symbol is found.
+ The content value.
+ The .
+ The razor error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The start of the source location.
+ The content value.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The start of the source location.
+ The content value.
+ The .
+ The razor error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents an interface for the web razor symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Changes the location of the symbol.
+ The new location of the symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the content of the symbol.
+ The content of the symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the starting offset of the symbol.
+ The location where to start the document.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the location of the symbol.
+ The location of the symbol.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a new instance of symbols.
+ The generic type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The source location.
+ The content value.
+ The type.
+ The razor error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Changes the start of the machine.
+ The new start.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the content of a .
+ The content of a .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified Object is equal to the current Object.
+ true if the specified Object is equal to the current Object; otherwise, false.
+ The object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the razor error.
+ The razor error.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves a hash code based on the current object.
+ A hash of the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Starts the time’s offset for the source location.
+ The document start.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the starting point of the source location.
+ The starting point of the source location.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates a string representation of the current object.
+ A string representation of the current object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a Type that inherits from the base Type.
+ A Type that inherits from the base Type.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the symbol extensions for the web tokenizer.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the content of this class.
+ The content of this class.
+ The symbols to provide.
+ The starting index of the span.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the content of this class.
+ The content of this class.
+ The intersection with the given span.
+
+
+ Gets the content of this class.
+ The content of this class.
+ The intersection with the given span.
+ A list of chosen symbols.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the content of this class.
+ The content of this class.
+ The provided symbols.
+
+
+ Enumerates the list of Visual Basic keywords.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the VB symbol components.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The offset value.
+ The line value.
+ The column value.
+ The content String value.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The offset value.
+ The line value.
+ The column value.
+ The content String value.
+ The .
+ List of razor errors.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The start of the source location.
+ The content String value.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The start of the source location.
+ The content String value.
+ The .
+ List of razor errors.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether the current object is equal to the new object.
+ true if the current object is equal to the new object; otherwise, false.
+ The object to compare.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the hash code for this instance.
+ The hash code to return.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the specified data sample from the object.
+ The specified data sample from the object.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the keyword used in the VB.
+ The keyword used.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/System.Web.WebPages.Deployment.dll b/Blog/bin/System.Web.WebPages.Deployment.dll
new file mode 100644
index 0000000..d904d0f
Binary files /dev/null and b/Blog/bin/System.Web.WebPages.Deployment.dll differ
diff --git a/Blog/bin/System.Web.WebPages.Deployment.xml b/Blog/bin/System.Web.WebPages.Deployment.xml
new file mode 100644
index 0000000..7dc960b
--- /dev/null
+++ b/Blog/bin/System.Web.WebPages.Deployment.xml
@@ -0,0 +1,60 @@
+
+
+
+ System.Web.WebPages.Deployment
+
+
+
+ Provides a registration point for pre-application start code for Web Pages deployment.
+
+
+ Registers pre-application start code for Web Pages deployment.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides methods that are used to get deployment information about the Web application.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the assembly path for the Web Pages deployment.
+ The assembly path for the Web Pages deployment.
+ The Web Pages version.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the Web Pages version from the given binary path.
+ The Web Pages version.
+ The binary path for the Web Pages.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the assembly references from the given path regardless of the Web Pages version.
+ The dictionary containing the assembly references of the Web Pages and its version.
+ The path to the Web Pages application.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the maximum version of the Web Pages loaded assemblies.
+ The maximum version of the Web Pages loaded assemblies.
+
+
+ Gets the Web Pages version from the given path.
+ The Web Pages version.
+ The path of the root directory for the application.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the Web Pages version using the configuration settings with the specified path.
+ The Web Pages version.
+ The path to the application settings.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the assemblies for this Web Pages deployment.
+ A list containing the assemblies for this Web Pages deployment.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the Web Pages deployment is enabled.
+ true if the Web Pages deployment is enabled; otherwise, false.
+ The path to the Web Pages deployment.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the Web Pages deployment is explicitly disabled.
+ true if the Web Pages deployment is explicitly disabled; otherwise, false.
+ The path to the Web Pages deployment.
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/System.Web.WebPages.Razor.dll b/Blog/bin/System.Web.WebPages.Razor.dll
new file mode 100644
index 0000000..711c6ff
Binary files /dev/null and b/Blog/bin/System.Web.WebPages.Razor.dll differ
diff --git a/Blog/bin/System.Web.WebPages.Razor.xml b/Blog/bin/System.Web.WebPages.Razor.xml
new file mode 100644
index 0000000..bf64555
--- /dev/null
+++ b/Blog/bin/System.Web.WebPages.Razor.xml
@@ -0,0 +1,292 @@
+
+
+
+ System.Web.WebPages.Razor
+
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the base class for the compiling path that contains event data.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The string of virtual path.
+ The host for the webpage razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the host for the webpage razor.
+ The host for the webpage razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual path for the webpage.
+ The virtual path for the webpage.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a build provider for Razor.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a virtual path dependency to the collection.
+ A virtual path dependency to add.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the assembly builder for Razor environment.
+ The assembly builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the compiler settings for Razor environment.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Occurs when code generation is completed.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Occurs when code generation is started.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Occurs when compiling with a new virtual path.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Razor engine host instance base on web configuration.
+ A Razor engine host instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Generates the code using the provided assembly builder.
+ The assembly builder.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the type of the generated code.
+ The type of the generated code.
+ The results of the code compilation.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates the Razor engine host instance based on the web configuration.
+ The Razor engine host instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Opens an internal text reader.
+ An internal text reader.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Raises the CompilingPath event.
+ The data provided for the CompilingPath event.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual path of the source code.
+ The virtual path of the source code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the collection of virtual path for the dependencies.
+ The collection of virtual path for the dependencies.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a web code razor host for the web pages.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The virtual path.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The virtual path.
+ The physical path.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the class name of this instance.
+ The class name of this instance.
+ The virtual path.
+
+
+ Generates a post process code for the web code razor host.
+ The generator code context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the razor hosts in a webpage.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class with the specified virtual file path.
+ The virtual file path.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class with the specified virtual and physical file path.
+ The virtual file path.
+ The physical file path.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a global import on the webpage.
+ The notification service name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the .
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a markup parser.
+ A markup parser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value for the DefaultBaseClass.
+ A value for the DefaultBaseClass.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the name of the default class.
+ The name of the default class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the debug compilation is set to default.
+ true if the debug compilation is set to default; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the base class of the default page.
+ The base class of the default page.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Retrieves the name of the class to which the specified webpage belongs.
+ The name of the class to which the specified webpage belongs.
+ The virtual file path.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the code language specified in the webpage.
+ The code language specified in the webpage.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the global imports for the webpage.
+ The global imports for the webpage.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the file path of the instrumental source.
+ The file path of the instrumental source.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the webpage is a special page.
+ true if the webpage is a special page; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the physical file system path of the razor host.
+ They physical file system path of the razor host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the generated code after the process.
+ The .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Registers the special file with the specified file name and base type name.
+ The file name.
+ The base type name.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Registers the special file with the specified file name and base type.
+ The file name.
+ The type of base file.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual file path.
+ The virtual file path.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates instances of the host files.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Loads the service description information from the configuration file and applies it to the host.
+ The configuration.
+ The webpage razor host.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a default host with the specified virtual path.
+ A default host.
+ The virtual path of the file.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a default host with the specified virtual and physical path.
+ A default host.
+ The virtual path of the file.
+ The physical file system path.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a Razor host.
+ A razor host.
+ The virtual path to the target file.
+ The physical path to the target file.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration.
+ A host from the configuration.
+ The virtual path to the target file.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration.
+ A host from the configuration.
+ The virtual path of the file.
+ The physical file system path.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration.
+ A host from the configuration.
+ The configuration.
+ The virtual path of the file.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Creates a host from the configuration.
+ A host from the configuration.
+ The configuration.
+ The virtual path of the file.
+ The physical file system path.
+
+
+ Provides configuration system support for the host configuration section.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the host factory.
+ The host factory.
+
+
+ Represents the name of the configuration section for a Razor host environment.
+
+
+ Provides configuration system support for the pages configuration section.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the collection of namespaces to add to Web Pages pages in the current application.
+ The collection of namespaces.
+
+
+ Gets or sets the name of the page base type class.
+ The name of the page base type class.
+
+
+ Represents the name of the configuration section for Razor pages.
+
+
+ Provides configuration system support for the system.web.webPages.razor configuration section.
+
+
+ Initializes a new instance of the class.
+
+
+ Represents the name of the configuration section for Razor Web section. Contains the static, read-only string "system.web.webPages.razor".
+
+
+ Gets or sets the host value for system.web.webPages.razor section group.
+ The host value.
+
+
+ Gets or sets the value of the pages element for the system.web.webPages.razor section.
+ The pages element value.
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/System.Web.WebPages.dll b/Blog/bin/System.Web.WebPages.dll
new file mode 100644
index 0000000..cdb61e3
Binary files /dev/null and b/Blog/bin/System.Web.WebPages.dll differ
diff --git a/Blog/bin/System.Web.WebPages.xml b/Blog/bin/System.Web.WebPages.xml
new file mode 100644
index 0000000..84699ef
--- /dev/null
+++ b/Blog/bin/System.Web.WebPages.xml
@@ -0,0 +1,2706 @@
+
+
+
+ System.Web.WebPages
+
+
+
+ Helps prevent malicious scripts from submitting forged page requests.
+
+
+ Adds an authenticating token to a form to help protect against request forgery.
+ Returns a string that contains the encrypted token value in a hidden HTML field.
+ The current object is null.
+
+
+ Adds an authenticating token to a form to help protect against request forgery and lets callers specify authentication details.
+ Returns the encrypted token value in a hidden HTML field.
+ The HTTP context data for a request.
+ An optional string of random characters (such as Z*7g1&p4) that is used to add complexity to the encryption for extra safety. The default is null.
+ The domain of a web application that a request is submitted from.
+ The virtual root path of a web application that a request is submitted from.
+
+ is null.
+
+
+ Gets the search tokens.
+ The previous cookie token.
+ The new cookie token.
+ The form of the token.
+
+
+ Validates that input data from an HTML form field comes from the user who submitted the data.
+ The current value is null.
+ The HTTP cookie token that accompanies a valid request is missing-or-The form token is missing.-or-The form token value does not match the cookie token value.-or-The form token value does not match the cookie token value.
+
+
+ Validates that input data from an HTML form field comes from the user who submitted the data.
+ The cookie token value.
+ The token form.
+
+
+ Validates that input data from an HTML form field comes from the user who submitted the data and lets callers specify additional validation details.
+ The HTTP context data for a request.
+ An optional string of random characters (such as Z*7g1&p4) that is used to decrypt an authentication token created by the class. The default is null.
+ The current value is null.
+ The HTTP cookie token that accompanies a valid request is missing.-or-The form token is missing.-or-The form token value does not match the cookie token value.-or-The form token value does not match the cookie token value.-or-The value supplied does not match the value that was used to create the form token.
+
+
+ Provides programmatic configuration for the anti-forgery token system.
+
+
+ Gets a data provider that can provide additional data to put into all generated tokens and that can validate additional data in incoming tokens.
+ The data provider.
+
+
+ Gets or sets the name of the cookie that is used by the anti-forgery system.
+ The cookie name.
+
+
+ Gets or sets a value that indicates whether the anti-forgery cookie requires SSL in order to be returned to the server.
+ true if SSL is required to return the anti-forgery cookie to the server; otherwise, false.
+
+
+ Gets or sets a value that indicates whether the anti-forgery system should skip checking for conditions that might indicate misuse of the system.
+ true if the anti-forgery system should not check for possible misuse; otherwise, false.
+
+
+ Specifies whether to suppress the generation of X-Frame-Options header which is used to prevent ClickJacking. By default, the X-Frame-Options header is generated with the value SAMEORIGIN. If this setting is 'true', the X-Frame-Options header will not be generated for the response.
+
+
+ If claims-based authorization is in use, gets or sets the claim type from the identity that is used to uniquely identify the user.
+ The claim type.
+
+
+ Provides a way to include or validate custom data for anti-forgery tokens.
+
+
+ Provides additional data to store for the anti-forgery tokens that are generated during this request.
+ The supplemental data to embed in the anti-forgery token.
+ Information about the current request.
+
+
+ Validates additional data that was embedded inside an incoming anti-forgery token.
+ true if the data is valid, or false if the data is invalid.
+ Information about the current request.
+ The supplemental data that was embedded in the token.
+
+
+ Provides access to unvalidated form values in the object.
+
+
+ Gets a collection of unvalidated form values that were posted from the browser.
+ An unvalidated collection of form values.
+
+
+ Gets the specified unvalidated object from the collection of posted values in the object.
+ The specified member, or null if the specified item is not found.
+
+
+ Gets a collection of unvalidated query-string values.
+ A collection of unvalidated query-string values.
+
+
+ Excludes fields of the Request object from being checked for potentially unsafe HTML markup and client script.
+
+
+ Returns a version of form values, cookies, and query-string variables without checking them first for HTML markup and client script.
+ An object that contains unvalidated versions of the form and query-string values.
+ The object that contains values to exclude from request validation.
+
+
+ Returns a value from the specified form field, cookie, or query-string variable without checking it first for HTML markup and client script.
+ A string that contains unvalidated text from the specified field, cookie, or query-string value.
+ The object that contains values to exclude from validation.
+ The name of the field to exclude from validation. can refer to a form field, to a cookie, or to the query-string variable.
+
+
+ Returns all values from the Request object (including form fields, cookies, and the query string) without checking them first for HTML markup and client script.
+ An object that contains unvalidated versions of the form, cookie, and query-string values.
+ The object that contains values to exclude from validation.
+
+
+ Returns the specified value from the Request object without checking it first for HTML markup and client script.
+ A string that contains unvalidated text from the specified field, cookie, or query-string value.
+ The object that contains values to exclude from validation.
+ The name of the field to exclude from validation. can refer to a form field, to a cookie, or to the query-string variable.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The containing message.
+
+
+ This member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The message.
+ The inner exception.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The error message.
+ The other.
+
+
+
+
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The error message.
+ The minimum value.
+ The maximum value.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code. Initializes a new instance of the class.
+ The exception message.
+ The pattern.
+
+
+ Represents the remote rule for the validation of the model client.
+
+
+ Initializes a new instance of the class.
+ The error message.
+ The URL of the rule.
+ The HTTP method.
+ The additional fields used.
+
+
+ Represents the required rule for the validation of the model client.
+
+
+ Initializes a new instance of the class.
+ The error message
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a length of the validation rule of the model client.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The error message.
+ The minimum length of the validation rule.
+ The maximum length of the validation rule.
+
+
+ Contains classes and properties that are used to create HTML elements. This class is used to write helpers, such as those found in the namespace.
+
+
+ Creates a new tag that has the specified tag name.
+ The tag name without the "<", "/", or ">" delimiters.
+
+ is null or empty.
+
+
+ Adds a CSS class to the list of CSS classes in the tag.
+ The CSS class to add.
+
+
+ Gets the collection of attributes.
+ The collection of attributes.
+
+
+ Replaces each invalid character in the tag ID with a valid HTML character.
+ The sanitized tag ID, or null if is null or empty, or if does not begin with a letter.
+ The ID that might contain characters to replace.
+
+
+ Replaces each invalid character in the tag ID with the specified replacement string.
+ The sanitized tag ID, or null if is null or empty, or if does not begin with a letter.
+ The ID that might contain characters to replace.
+ The replacement string.
+
+ is null.
+
+
+ Generates a sanitized ID attribute for the tag by using the specified name.
+ The name to use to generate an ID attribute.
+
+
+ Gets or sets a string that can be used to replace invalid HTML characters.
+ The string to use to replace invalid HTML characters.
+
+
+ Gets or sets the inner HTML value for the element.
+ The inner HTML value for the element.
+
+
+ Adds a new attribute to the tag.
+ The key for the attribute.
+ The value of the attribute.
+
+
+ Adds a new attribute or optionally replaces an existing attribute in the opening tag.
+ The key for the attribute.
+ The value of the attribute.
+ true to replace an existing attribute if an attribute exists that has the specified value, or false to leave the original attribute unchanged.
+
+
+ Adds new attributes to the tag.
+ The collection of attributes to add.
+ The type of the key object.
+ The type of the value object.
+
+
+ Adds new attributes or optionally replaces existing attributes in the tag.
+ The collection of attributes to add or replace.
+ For each attribute in , true to replace the attribute if an attribute already exists that has the same key, or false to leave the original attribute unchanged.
+ The type of the key object.
+ The type of the value object.
+
+
+ Sets the property of the element to an HTML-encoded version of the specified string.
+ The string to HTML-encode.
+
+
+ Gets the tag name for this tag.
+ The name.
+
+
+ Renders the element as a element.
+
+
+ Renders the HTML tag by using the specified render mode.
+ The rendered HTML tag.
+ The render mode.
+
+
+ Enumerates the modes that are available for rendering HTML tags.
+
+
+ Represents the mode for rendering a closing tag (for example, </tag>).
+
+
+ Represents the mode for rendering normal text.
+
+
+ Represents the mode for rendering a self-closing tag (for example, <tag />).
+
+
+ Represents the mode for rendering an opening tag (for example, <tag>).
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the validation attributes from the structure or content of .
+ The to be implemented.
+ The result of the validation.
+
+
+ Contains methods to register assemblies as application parts.
+
+
+ Initializes a new instance of the class by using the specified assembly and root virtual path.
+ The assembly.
+ The root virtual path.
+
+ is null or empty.
+
+
+ Resolves a path to the specified assembly or resource within an assembly by using the specified base virtual path and specified virtual path.
+ The path of the assembly or resource.
+ The assembly.
+ The base virtual path.
+ The virtual path.
+
+ is not registered.
+
+
+ Adds an assembly and all web pages within the assembly to the list of available application parts.
+ The application part.
+
+ is already registered.
+
+
+ Provides objects and methods that are used to execute and render ASP.NET Web Pages application start pages (_AppStart.cshtml or _AppStart.vbhtml files).
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the HTTP application object that references this application startup page.
+ The HTTP application object that references this application startup page.
+
+
+ The prefix that is applied to all keys that are added to the cache by the application start page.
+
+
+ Gets the object that represents context data that is associated with this page.
+ The current context data.
+
+
+ Returns the text writer instance that is used to render the page.
+ The text writer.
+
+
+ Gets the output from the application start page as an HTML-encoded string.
+ The output from the application start page as an HTML-encoded string.
+
+
+ Gets the text writer for the page.
+ The text writer for the page.
+
+
+ The path to the application start page.
+
+
+ Gets or sets the virtual path of the page.
+ The virtual path.
+
+
+ Writes the string representation of the specified object as an HTML-encoded string.
+ The object to encode and write.
+
+
+ Writes the specified object as an HTML-encoded string.
+ The helper result to encode and write.
+
+
+ Writes the specified object without HTML encoding.
+ The object to write.
+
+
+ Stores the value for an attribute.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ Initializes a new instance of the class.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The namespace prefix for the attribute.
+ The value for the attribute.
+ true to indicate that the value is a literal value; otherwise, false.
+
+
+ Creates an attribute value from the specified tuple object.
+ The created attribute value.
+ The tuple object from which to create from.
+
+
+ Creates an attribute value from the specified tuple object.
+ The created attribute value.
+ The tuple object from which to create from.
+
+
+ Gets or sets a value that indicates whether the value is a literal value.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ true if the value is a literal value; otherwise, false.
+
+
+ Creates an attribute value from the specified tuple object.
+ The created attribute value.
+ The tuple object from which to create from.
+
+
+ Creates an attribute value from the specified tuple object.
+ The created attribute value.
+ The tuple object from which to create from.
+
+
+ Gets or sets the namespace prefix for the attribute.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The namespace prefix for the attribute.
+
+
+ Gets or set the value for the attribute.This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The value for the attribute.
+
+
+ Provides a way to specify custom browser (user agent) information.
+
+
+ Removes any overridden user agent for the current request.
+ The current context.
+
+
+ Returns the browser capabilities object for the overridden browser capabilities or for the actual browser if no override has been specified.
+ The browser capabilities.
+ The current context.
+
+
+ Returns the overridden user agent value or the actual user agent string if no override has been specified.
+ The user agent string
+ The current context.
+
+
+ Gets a string that varies based on the type of the browser.
+ A string that identifies the browser.
+ The current context.
+
+
+ Gets a string that varies based on the type of the browser.
+ A string that identifies the browser.
+ The current context base.
+
+
+ Overrides the request's actual user agent value using the specified user agent.
+ The current context.
+ The user agent to use.
+
+
+ Overrides the request's actual user agent value using the specified browser override information.
+ The current context.
+ One of the enumeration values that represents the browser override information to use.
+
+
+ Specifies browser types that can be defined for the method.
+
+
+ Specifies a desktop browser.
+
+
+ Specifies a mobile browser.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.The current BrowserOverrideStore is used to get and set the user agent of a request.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Looks for a user agent by searching for the browser override cookie.
+ The user agent.
+ The HTTP context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a browser override cookie with the set user agent to the response of the current request.
+ The HTTP context.
+ The user agent.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets overridden user agent for a request from a cookie. Creates a cookie to set the overridden user agent.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The days to expire.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Looks for a user agent by searching for the browser override cookie.
+ The user agent.
+ The HTTP context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Adds a browser override cookie with the set user agent to the response of the current request.
+ The HTTP context.
+ The user agent.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the default display mode of the web pages.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The suffix.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether the can handle context.
+ true if the can handle context; otherwise, false.
+ The specified http context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the context condition displays a default mode.
+ true if the context condition displays a default mode; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the display mode identifier of the web pages.
+ The display mode identifier of the web pages.
+
+
+ Retrieves the display information about an item in the result pane.
+ The display information about an item in the result pane.
+ The http context.
+ The virtual path.
+ true if the virtual path exists; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Transforms the path of the display mode.
+ The path of the display mode to transform.
+ The virtual path.
+ The suffix.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a property’s display information.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The virtual path.
+ The active display mode.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the active display mode for a Web page.
+ The active display mode for a Web page.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the virtual path of the current Web page.
+ The virtual path of the current Web page.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the modes of display for the provider.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the default display mode identifier.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a list of the available display modes for the context base.
+ A list of the available display modes for the context base.
+ The http context base.
+ The current display mode.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the for the virtual path.
+ The for the virtual path.
+ The virtual path.
+ The http context base.
+ true if the virtual path exists; otherwise, false.
+ The current display mode.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the instance of the .
+ The instance of the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the mobile display mode identifier.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a list of modes of the .
+ A list of modes of the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets a value that indicates whether the Web page requires consistent display mode.
+ true if the Web page requires consistent display mode; otherwise, false.
+
+
+ Represents a base class for pages that is used when ASP.NET compiles a .cshtml or .vbhtml file and that exposes page-level and application-level properties and methods.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ Gets the application-state data as a object that callers can use to create and access custom application-scoped properties.
+ The application-state data.
+
+
+ Gets a reference to global application-state data that can be shared across sessions and requests in an ASP.NET application.
+ The application-state data.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts all the helper statements into the context of the helper page.
+ The text writer.
+ The helper virtual path.
+ The starting position.
+ The length of the context.
+ true of the context has a literal attribute; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Puts all the helper statements into the context of the helper page.
+ The helper virtual path.
+ The starting position.
+ The length of the context.
+ true of the context has a literal attribute; otherwise, false.
+
+
+ Gets the cache object for the current application domain.
+ The cache object.
+
+
+ Gets the object that is associated with a page.
+ The current context data.
+
+
+ Gets the current page for this helper page.
+ The current page.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the end of context block.
+ The text writer.
+ The helper virtual path.
+ The starting position.
+ The length of the context.
+ true of the context has a literal attribute; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates the end of context block.
+ The helper virtual path.
+ The starting position.
+ The length of the context.
+ true of the context has a literal attribute; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the path of the helper page.
+ The path of the helper page.
+
+
+ Builds an absolute URL from an application-relative URL by using the specified parameters.
+ The absolute URL.
+ The initial path to use in the URL.
+ Additional path information, such as folders and subfolders.
+
+
+ Gets the object that is associated with a page.
+ An object that supports rendering HTML form controls in a page.
+
+
+ Gets a value that indicates whether Ajax is being used during the request of the web page.
+ true if Ajax is being used during the request; otherwise, false.
+
+
+ Gets a value that indicates whether the current request is a post (submitted using the HTTP POST verb).
+ true if the HTTP verb is POST; otherwise, false.
+
+
+ Gets the model that is associated with a page.
+ An object that represents a model that is associated with the view data for a page.
+
+
+ Gets the state data for the model that is associated with a page.
+ The state of the model.
+
+
+ Gets property-like access to page data that is shared between pages, layout pages, and partial pages.
+ An object that contains page data.
+
+
+ Gets and sets the HTTP context for the web page.
+ The HTTP context for the web page.
+
+
+ Gets array-like access to page data that is shared between pages, layout pages, and partial pages.
+ An object that provides array-like access to page data.
+
+
+ Gets the object for the current HTTP request.
+ An object that contains the HTTP values that were sent by a client during a web request.
+
+
+ Gets the object for the current HTTP response.
+ An object that contains the HTTP-response information from an ASP.NET operation.
+
+
+ Gets the object that provides methods that can be used as part of web-page processing.
+ The object.
+
+
+ Gets the object for the current HTTP request.
+ The object for the current HTTP request.
+
+
+ Gets data related to the URL path.
+ Data related to the URL path.
+
+
+ Gets a user value based on the HTTP context.
+ A user value based on the HTTP context.
+
+
+ Gets the virtual path of the page.
+ The virtual path.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Writes an attribute associated with the helper.
+ The text writer.
+ The name of the attribute.
+ The prefix.
+ The suffix.
+ The attribute value.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Writes a literal object to the helper.
+ The text writer.
+ The value of the object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Writes a helper result object to the helper.
+ The text writer
+ The helper result.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Writes an object to the helper.
+ The text writer.
+ The object value.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Writes a helper result object to the helper.
+ The text writer.
+ The helper result value.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code..
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the display mode interface for the web pages.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates a value whether the web pages can handle HTTP context.
+ true if the web pages can handle HTTP context; otherwise, false.
+ The HTTP context.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the display mode id for the web pages.
+ The display mode id for the web pages.
+
+
+ Returns this method to display all the information for the web pages.
+ The method to display all the information for the web pages.
+ The HTTP context.
+ The virtual path.
+ true if the virtual path exists; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Defines the properties and methods that objects that participate in webpages.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a container for client validation for the required field.
+ A container for client validation for the required field.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Evaluates the condition it checks and updates the validation context.
+ The condition it checks and updates the validation context.
+ The validation context.
+
+
+ Defines methods that are implemented by virtual path handler factories.
+
+
+ Creates a handler factory for the specified virtual path.
+ A handler factory for the specified virtual path.
+ The virtual path.
+
+
+ Determines whether the specified virtual path is associated with a handler factory.
+ true if a handler factory exists for the specified virtual path; otherwise, false.
+ The virtual path.
+
+
+ Defines methods to implement an executor class that can execute the code on a web page.
+
+
+ Executes the code on the specified web page.
+ true if the executor took over execution of the web page; otherwise, false.
+ The web page.
+
+
+ Represents a path attribute for a web page class.
+
+
+ Initializes a new instance of the class by using the specified virtual path.
+ The virtual path.
+
+
+ Gets the virtual path of the current web page.
+ The virtual path.
+
+
+ Provides a registration point for pre-application start code for web pages.
+
+
+ Registers pre-application start code for web pages.
+
+
+ Defines extension methods for the class.
+
+
+ Determines whether the specified URL references the local computer.
+ true if the specified URL references the local computer; otherwise, false.
+ The HTTP request object.
+ The URL to test.
+
+
+ Serves as the abstract base class for the validation helper classes.
+
+
+ Initializes a new instance of the derived class and specifies the name of the HTML element that is being validated.
+ The name (value of the name attribute) of the user input element to validate.
+
+
+ Initializes a new instance of the derived class, registers the specified string as the error message to display if no value is supplied, and specifies whether the method can use unvalidated data.
+ The error message.
+ true to use unvalidated user input; false to reject unvalidated data. This parameter is set to true by calling methods in circumstances when the actual value of the user input is not important, such as for required fields.
+
+
+ When implemented in a derived class, gets a container for client validation for the required field.
+ The container.
+
+
+ Returns the HTTP context of the current request.
+ The context.
+ The validation context.
+
+
+ Returns the value to validate.
+ The value to validate.
+ The current request.
+ The name of the field from the current request to validate.
+
+
+ Returns a value that indicates whether the specified value is valid.
+ true if the value is valid; otherwise, false.
+ The current context.
+ The value to validate.
+
+
+ Performs the validation test.
+ The result of the validation test.
+ The context.
+
+
+ Defines extension methods for the base class.
+
+
+ Configures the cache policy of an HTTP response instance.
+ The HTTP response instance.
+ The length of time, in seconds, before items expire from the cache.
+ true to indicate that items expire from the cache on a sliding basis; false to indicate that items expire when they reach the predefined expiration time.
+ The list of all parameters that can be received by a GET or POST operation that affect caching.
+ The list of all HTTP headers that affect caching.
+ The list of all Content-Encoding headers that affect caching.
+ One of the enumeration values that specifies how items are cached.
+
+
+ Sets the HTTP status code of an HTTP response using the specified integer value.
+ The HTTP response instance.
+ The HTTP status code.
+
+
+ Sets the HTTP status code of an HTTP response using the specified HTTP status code enumeration value.
+ The HTTP response instance.
+ The HTTP status code
+
+
+ Writes a sequence of bytes that represent binary content of an unspecified type to the output stream of an HTTP response.
+ The HTTP response instance.
+ An array that contains the bytes to write.
+
+
+ Writes a sequence of bytes that represent binary content of the specified MIME type to the output stream of an HTTP response.
+ The receiving HTTP response instance.
+ An array that contains the bytes to write.
+ The MIME type of the binary content.
+
+
+ Provides a delegate that represents one or more methods that are called when a content section is written.
+
+
+ Provides methods and properties that are used to render start pages that use the Razor view engine.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the child page of the current start page.
+ The child page of the current start page.
+
+
+ Gets or sets the context of the page.
+ The context of the page.
+
+
+ Calls the methods that are used to execute the developer-written code in the _PageStart start page and in the page.
+
+
+ Returns the text writer instance that is used to render the page.
+ The text writer.
+
+
+ Returns the initialization page for the specified page.
+ The _AppStart page if the _AppStart page exists. If the _AppStart page cannot be found, returns the _PageStart page if a _PageStart page exists. If the _AppStart and _PageStart pages cannot be found, returns .
+ The page.
+ The file name of the page.
+ The collection of file-name extensions that can contain ASP.NET Razor syntax, such as "cshtml" and "vbhtml".
+ Either or are null.
+
+ is null or empty.
+
+
+ Gets or sets the path of the layout page for the page.
+ The path of the layout page for the page.
+
+
+ Gets property-like access to page data that is shared between pages, layout pages, and partial pages.
+ An object that contains page data.
+
+
+ Gets array-like access to page data that is shared between pages, layout pages, and partial pages.
+ An object that provides array-like access to page data.
+
+
+ Renders the page.
+ The HTML markup that represents the web page.
+ The path of the page to render.
+ Additional data that is used to render the page.
+
+
+ Executes the developer-written code in the page.
+
+
+ Writes the string representation of the specified object as an HTML-encoded string.
+ The object to encode and write.
+
+
+ Writes the string representation of the specified object as an HTML-encoded string.
+ The helper result to encode and write.
+
+
+ Writes the string representation of the specified object without HTML encoding.
+ The object to write.
+
+
+ Provides utility methods for converting string values to other data types.
+
+
+ Converts a string to a strongly typed value of the specified data type.
+ The converted value.
+ The value to convert.
+ The data type to convert to.
+
+
+ Converts a string to the specified data type and specifies a default value.
+ The converted value.
+ The value to convert.
+ The value to return if is null.
+ The data type to convert to.
+
+
+ Converts a string to a Boolean (true/false) value.
+ The converted value.
+ The value to convert.
+
+
+ Converts a string to a Boolean (true/false) value and specifies a default value.
+ The converted value.
+ The value to convert.
+ The value to return if is null or is an invalid value.
+
+
+ Converts a string to a value.
+ The converted value.
+ The value to convert.
+
+
+ Converts a string to a value and specifies a default value.
+ The converted value.
+ The value to convert.
+ The value to return if is null or is an invalid value. The default is the minimum time value on the system.
+
+
+ Converts a string to a number.
+ The converted value.
+ The value to convert.
+
+
+ Converts a string to a number and specifies a default value.
+ The converted value.
+ The value to convert.
+ The value to return if is null or invalid.
+
+
+ Converts a string to a number.
+ The converted value.
+ The value to convert.
+
+
+ Converts a string to a number and specifies a default value.
+ The converted value.
+ The value to convert.
+ The value to return if is null.
+
+
+ Converts a string to an integer.
+ The converted value.
+ The value to convert.
+
+
+ Converts a string to an integer and specifies a default value.
+ The converted value.
+ The value to convert.
+ The value to return if is null or is an invalid value.
+
+
+ Checks whether a string can be converted to the specified data type.
+ true if can be converted to the specified type; otherwise, false.
+ The value to test.
+ The data type to convert to.
+
+
+ Checks whether a string can be converted to the Boolean (true/false) type.
+ true if can be converted to the specified type; otherwise, false.
+ The string value to test.
+
+
+ Checks whether a string can be converted to the type.
+ true if can be converted to the specified type; otherwise, false.
+ The string value to test.
+
+
+ Checks whether a string can be converted to the type.
+ true if can be converted to the specified type; otherwise, false.
+ The string value to test.
+
+
+ Checks whether a string value is null or empty.
+ true if is null or is a zero-length string (""); otherwise, false.
+ The string value to test.
+
+
+ Checks whether a string can be converted to the type.
+ true if can be converted to the specified type; otherwise, false.
+ The string value to test.
+
+
+ Checks whether a string can be converted to an integer.
+ true if can be converted to the specified type; otherwise, false.
+ The string value to test.
+
+
+ Contains methods and properties that describe a file information template.
+
+
+ Initializes a new instance of the class by using the specified virtual path.
+ The virtual path.
+
+
+ Gets the virtual path of the web page.
+ The virtual path.
+
+
+ Represents a last-in-first-out (LIFO) collection of template files.
+
+
+ Returns the current template file from the specified HTTP context.
+ The template file, removed from the top of the stack.
+ The HTTP context that contains the stack that stores the template files.
+
+
+ Removes and returns the template file that is at the top of the stack in the specified HTTP context.
+ The template file, removed from the top of the stack.
+ The HTTP context that contains the stack that stores the template files.
+
+ is null.
+
+
+ Inserts a template file at the top of the stack in the specified HTTP context.
+ The HTTP context that contains the stack that stores the template files.
+ The template file to push onto the specified stack.
+
+ or are null.
+
+
+ Implements validation for user input.
+
+
+ Registers a list of user input elements for validation.
+ The names (value of the name attribute) of the user input elements to validate.
+ The type of validation to register for each user input element specified in .
+
+
+ Registers a user input element for validation.
+ The name (value of the name attribute) of the user input element to validate.
+ A list of one or more types of validation to register.
+
+
+ Adds an error message.
+ The error message.
+
+
+ Renders an attribute that references the CSS style definition to use when validation messages for the user input element are rendered.
+ The attribute.
+ The name (value of the name attribute) of the user input element to validate.
+
+
+ Renders attributes that enable client-side validation for an individual user input element.
+ The attributes to render.
+ The name (value of the name attribute) of the user input element to validate.
+
+
+ Gets the name of the current form. This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The name.
+
+
+ Returns a list of current validation errors, and optionally lets you specify a list of fields to check.
+ The list of errors.
+ Optional. The names (value of the name attribute) of the user input elements to get error information for. You can specify any number of element names, separated by commas. If you do not specify a list of fields, the method returns errors for all fields.
+
+
+ Gets the name of the class that is used to specify the appearance of error-message display when errors have occurred. This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The name.
+
+
+ Determines whether the contents of the user input fields pass validation checks, and optionally lets you specify a list of fields to check.
+ true if all specified field or fields pass validation checks; false if any field contains a validation error.
+ Optional. The names (value of the name attribute) of the user input elements to check for validation errors. You can specify any number of element names, separated by commas. If you do not specify a list of fields, the method checks all elements that are registered for validation.
+
+
+ Registers the specified field as one that requires user entry.
+ The name (value of the name attribute) of the user input element to validate.
+
+
+ Registers the specified field as one that requires user entry and registers the specified string as the error message to display if no value is supplied.
+ The name (value of the name attribute) of the user input element to validate.
+ The error message.
+
+
+ Registers the specified fields as ones that require user entry.
+ The names (value of the name attribute) of the user input elements to validate. You can specify any number of element names, separated by commas.
+
+
+ Performs validation on elements registered for validation, and optionally lets you specify a list of fields to check.
+ The list of errors for the specified fields, if any validation errors occurred.
+ Optional. The names (value of the name attribute) of the user input elements to validate. You can specify any number of element names, separated by commas. If you do not specify a list, the method validates all registered elements.
+
+
+ Gets the name of the class that is used to specify the appearance of error-message display when errors have occurred. This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+ The name.
+
+
+ Defines validation tests that can be registered using the method.
+
+
+ Initializes a new instance of the class.
+
+
+ Defines a validation test that tests whether a value can be treated as a date/time value.
+ The validation test.
+ The error message to display if validation fails.
+
+
+ Defines a validation test that tests whether a value can be treated as a decimal number.
+ The validation test.
+ The error message to display if validation fails.
+
+
+ Defines a validation test that test user input against the value of another field.
+ The validation test.
+ The other field to compare.
+ The error message to display if validation fails.
+
+
+ Defines a validation test that tests whether a value can be treated as a floating-point number.
+ The validation test.
+ The error message to display if validation fails.
+
+
+ Defines a validation test that tests whether a value can be treated as an integer.
+ The validation test.
+ The error message to display if validation fails.
+
+
+ Defines a validation test that tests whether a decimal number falls within a specific range.
+ The validation test.
+ The minimum value. The default is 0.
+ The maximum value.
+ The error message to display if validation fails.
+
+
+ Defines a validation test that tests whether an integer value falls within a specific range.
+ The validation test.
+ The minimum value. The default is 0.
+ The maximum value.
+ The error message to display if validation fails.
+
+
+ Defines a validation test that tests a value against a pattern specified as a regular expression.
+ The validation test.
+ The regular expression to use to test the user input.
+ The error message to display if validation fails.
+
+
+ Defines a validation test that tests whether a value has been provided.
+ The validation test.
+ The error message to display if validation fails.
+
+
+ Defines a validation test that tests the length of a string.
+ The validation test.
+ The maximum length of the string.
+ The minimum length of the string. The default is 0.
+ The error message to display if validation fails.
+
+
+ Defines a validation test that tests whether a value is a well-formed URL.
+ The validation test.
+ The error message to display if validation fails.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
+
+
+ Represents an ASP.NET Razor page.
+
+
+ Called from a derived class to create a new instance that is based on the class.
+
+
+ Gets or sets the object that is associated with a page.
+ The current context data.
+
+
+ Executes the code in a set of dependent pages.
+
+
+ Gets the object that is associated with a page.
+ An object that can render HTML form controls in a page.
+
+
+ Initializes an object that inherits from the class.
+
+
+ Gets the model that is associated with a page.
+ An object that represents a model that is associated with the view data for a page.
+
+
+ Gets the state of the model that is associated with a page.
+ The state of the model.
+
+
+ Adds a class to a list of classes that handle page execution and that implement custom features for pages.
+ The class to add.
+
+
+ Renders a content page.
+ An object that can write the output of the page.
+ The path of the page to render.
+ Data to pass to the page.
+
+
+ Gets the validation helper for the current page context.
+ The validation helper.
+
+
+ Serves as the base class for classes that represent an ASP.NET Razor page.
+
+
+ Initializes the class for use by an inherited class instance. This constructor can only be called by an inherited class.
+
+
+ When overridden in a derived class, configures the current web page based on the configuration of the parent web page.
+ The parent page from which to read configuration information.
+
+
+ Creates a new instance of the class by using the specified virtual path.
+ The new object.
+ The virtual path to use to create the instance.
+
+
+ Attempts to create a WebPageBase instance from a virtualPath and wraps complex compiler exceptions with simpler messages
+
+
+ Called by content pages to create named content sections.
+ The name of the section to create.
+ The type of action to take with the new section.
+
+
+ Executes the code in a set of dependent web pages.
+
+
+ Executes the code in a set of dependent web pages by using the specified parameters.
+ The context data for the page.
+ The writer to use to write the executed HTML.
+
+
+ Executes the code in a set of dependent web pages by using the specified context, writer, and start page.
+ The context data for the page.
+ The writer to use to write the executed HTML.
+ The page to start execution in the page hierarchy.
+
+
+ Returns the text writer instance that is used to render the page.
+ The text writer.
+
+
+ Initializes the current page.
+
+
+ Returns a value that indicates whether the specified section is defined in the page.
+ true if the specified section is defined in the page; otherwise, false.
+ The name of the section to search for.
+
+
+ Gets or sets the path of a layout page.
+ The path of the layout page.
+
+
+ Gets the current object for the page.
+ The object.
+
+
+ Gets the stack of objects for the current page context.
+ The objects.
+
+
+ Provides property-like access to page data that is shared between pages, layout pages, and partial pages.
+ An object that contains page data.
+
+
+ Provides array-like access to page data that is shared between pages, layout pages, and partial pages.
+ A dictionary that contains page data.
+
+
+ Returns and removes the context from the top of the instance.
+
+
+ Inserts the specified context at the top of the instance.
+ The page context to push onto the instance.
+ The writer for the page context.
+
+
+ In layout pages, renders the portion of a content page that is not within a named section.
+ The HTML content to render.
+
+
+ Renders the content of one page within another page.
+ The HTML content to render.
+ The path of the page to render.
+ (Optional) An array of data to pass to the page being rendered. In the rendered page, these parameters can be accessed by using the property.
+
+
+ In layout pages, renders the content of a named section.
+ The HTML content to render.
+ The section to render.
+ The section was already rendered.-or-The section was marked as required but was not found.
+
+
+ In layout pages, renders the content of a named section and specifies whether the section is required.
+ The HTML content to render.
+ The section to render.
+ true to specify that the section is required; otherwise, false.
+
+
+ Writes the specified object as an HTML-encoded string.
+ The object to encode and write.
+
+
+ Writes the specified object as an HTML-encoded string.
+ The helper result to encode and write.
+
+
+ Writes the specified object without HTML-encoding it first.
+ The object to write.
+
+
+ Contains data that is used by a object to reference details about the web application, the current HTTP request, the current execution context, and page-rendering data.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using the specified context, page, and model.
+ The HTTP request context data to associate with the page context.
+ The page data to share between pages, layout pages, and partial pages.
+ The model to associate with the view data.
+
+
+ Gets a reference to the current object that is associated with a page.
+ The current page context object.
+
+
+ Gets the model that is associated with a page.
+ An object that represents a model that is associated with the view data for a page.
+
+
+ Gets the object that is associated with a page.
+ The object that renders the page.
+
+
+ Gets the page data that is shared between pages, layout pages, and partial pages.
+ A dictionary that contains page data.
+
+
+ Provides objects and methods that are used to execute and render ASP.NET pages that include Razor syntax.
+
+
+ Initializes a new instance of the class. This constructor can only be called by an inherited class.
+
+
+
+
+
+
+
+
+ When overridden in a derived class, gets or sets the object that is associated with a page.
+ The current context data.
+
+
+
+
+
+
+
+ Returns the text writer instance that is used to render the page.
+ The text writer.
+
+
+
+
+
+
+
+ Writes the string representation of the specified object as an HTML-encoded string.
+ The object to encode and write.
+
+
+ Writes the specified object as an HTML-encoded string.
+ The helper result to encode and write.
+
+
+
+
+
+ Writes the specified object without HTML encoding.
+ The object to write.
+
+
+ Writes the specified object to the specified instance without HTML encoding.
+ The text writer.
+ The object to write.
+
+
+ Writes the specified object as an HTML-encoded string to the specified text writer.
+ The text writer.
+ The object to encode and write.
+
+
+ Writes the specified object as an HTML-encoded string to the specified text writer.
+ The text writer.
+ The helper result to encode and write.
+
+
+ Provides methods and properties that are used to process specific URL extensions.
+
+
+ Initializes a new instance of the class by using the specified web page.
+ The web page to process.
+
+ is null.
+
+
+ Creates a new handler object from the specified virtual path.
+ A object for the specified virtual path.
+ The virtual path to use to create the handler.
+
+
+ Gets or sets a value that indicates whether web page response headers are disabled.
+ true if web page response headers are disabled; otherwise, false.
+
+
+ Returns a list of file name extensions that the current instance can process.
+ A read-only list of file name extensions that are processed by the current instance.
+
+
+ Gets a value that indicates whether another request can use the instance.
+ true if the instance is reusable; otherwise, false.
+
+
+ Processes the web page by using the specified context.
+ The context to use when processing the web page.
+
+
+ Adds a file name extension to the list of extensions that are processed by the current instance.
+ The extension to add, without a leading period.
+
+
+ The HTML tag name (X-AspNetWebPages-Version) for the version of the ASP.NET Web Pages specification that is used by this web page.
+
+
+ Provides methods and properties that are used to render pages that use the Razor view engine.
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+ When overridden in a derived class, calls the methods that are used to initialize the page.
+
+
+
+
+ When overridden in a derived class, gets or sets the path of a layout page.
+ The path of a layout page.
+
+
+ When overridden in a derived class, provides property-like access to page data that is shared between pages, layout pages, and partial pages.
+ An object that contains page data.
+
+
+
+ When overridden in a derived class, provides array-like access to page data that is shared between pages, layout pages, and partial pages.
+ An object that provides array-like access to page data.
+
+
+
+ When overridden in a derived class, renders a web page.
+ The markup that represents the web page.
+ The path of the page to render.
+ Additional data that is used to render the page.
+
+
+
+
+
+
+
+
+
+
+ Provides support for rendering HTML form controls and performing form validation in a web page.
+
+
+ Creates a dictionary of HTML attributes from the input object, translating underscores to dashes.
+ A dictionary that represents HTML attributes.
+ Anonymous object describing HTML attributes.
+
+
+ Returns an HTML-encoded string that represents the specified object by using a minimal encoding that is suitable only for HTML attributes that are enclosed in quotation marks.
+ An HTML-encoded string that represents the object.
+ The object to encode.
+
+
+ Returns an HTML-encoded string that represents the specified string by using a minimal encoding that is suitable only for HTML attributes that are enclosed in quotation marks.
+ An HTML-encoded string that represents the original string.
+ The string to encode.
+
+
+ Returns an HTML check box control that has the specified name.
+ The HTML markup that represents the check box control.
+ The value to assign to the name attribute of the HTML control element.
+
+ is null or empty.
+
+
+ Returns an HTML check box control that has the specified name and default checked status.
+ The HTML markup that represents the check box control.
+ The value to assign to the name attribute of the HTML control element.
+ true to indicate that the checked attribute is set to checked; otherwise, false.
+
+ is null or empty.
+
+
+ Returns an HTML check box control that has the specified name, default checked status, and custom attributes defined by an attribute dictionary.
+ The HTML markup that represents the check box control.
+ The value to assign to the name attribute of the HTML control element.
+ true to indicate that the checked attribute is set to checked; otherwise, false.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML check box control that has the specified name, default checked status, and custom attributes defined by an attribute object.
+ The HTML markup that represents the check box control.
+ The value to assign to the name attribute of the HTML control element.
+ true to indicate that the checked attribute is set to checked; otherwise, false.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML check box control that has the specified name and custom attributes defined by an attribute dictionary.
+ The HTML markup that represents the check box control.
+ The value to assign to the name attribute of the HTML control element.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML check box control that has the specified name and custom attributes defined by an attribute object.
+ The HTML markup that represents the check box control.
+ The value to assign to the name attribute of the HTML control element.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML drop-down list control that has the specified name and that contains the specified list items.
+ The HTML markup that represents the drop-down list control.
+ The value to assign to the name attribute of the HTML select element.
+ A list of instances that are used to populate the list.
+
+ is null or empty.
+
+
+ Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items.
+ The HTML markup that represents the drop-down list control.
+ The value to assign to the name attribute of the HTML select element.
+ A list of instances that are used to populate the list.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items.
+ The HTML markup that represents the drop-down list control.
+ The value to assign to the name attribute of the HTML select element.
+ A list of instances that are used to populate the list.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML drop-down list control that has the specified name, and that contains the specified list items and default item.
+ The HTML markup that represents the drop-down list control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list.
+
+ is null or empty.
+
+
+ Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items and default item.
+ The HTML markup that represents the drop-down list control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML drop-down list control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items and default item.
+ The HTML markup that represents the drop-down list control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML drop-down list control that has the specified name, custom attributes defined by an attribute dictionary, and default selection, and that contains the specified list items and default item.
+ The HTML markup that represents the drop-down list control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list.
+ The value that specifies the item in the list that is selected by default. The selected item is the first item in the list whose value matches the parameter (or whose text matches, if there is no value.)
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML drop-down list control that has the specified name, custom attributes defined by an attribute object, and default selection, and that contains the specified list items and default item.
+ The HTML markup that represents the drop-down list control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list.
+ The value that specifies the item in the list that is selected by default. The item that is selected is the first item in the list that has a matching value, or that matches the items displayed text if the item has no value.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML-encoded string that represents the specified object by using a full encoding that is suitable for arbitrary HTML.
+ An HTML-encoded string that represents the object.
+ The object to encode.
+
+
+ Returns an HTML-encoded string that represents the specified string by using a full encoding that is suitable for arbitrary HTML.
+ An HTML-encoded string that represents the original string.
+ The string to encode.
+
+
+ Returns an HTML hidden control that has the specified name.
+ The HTML markup that represents the hidden control.
+ The value to assign to the name attribute of the HTML control element.
+
+ is null or empty.
+
+
+ Returns an HTML hidden control that has the specified name and value.
+ The HTML markup that represents the hidden control.
+ The value to assign to the name attribute of the HTML control element.
+ The value to assign to the value attribute of the element.
+
+ is null or empty.
+
+
+ Returns an HTML hidden control that has the specified name, value, and custom attributes defined by an attribute dictionary.
+ The HTML markup that represents the hidden control.
+ The value to assign to the name attribute of the HTML control element.
+ The value to assign to the value attribute of the element.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML hidden control that has the specified name, value, and custom attributes defined by an attribute object.
+ The HTML markup that represents the hidden control.
+ The value to assign to the name attribute of the HTML control element.
+ The value to assign to the value attribute of the element.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Gets or sets the character that is used to replace the dot (.) in the id attribute of rendered form controls.
+ The character that is used to replace the dot in the id attribute of rendered form controls. The default is an underscore (_).
+
+
+ Returns an HTML label that displays the specified text.
+ The HTML markup that represents the label.
+ The text to display.
+
+ is null or empty.
+
+
+ Returns an HTML label that displays the specified text and that has the specified custom attributes.
+ The HTML markup that represents the label.
+ The text to display.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML label that displays the specified text and that has the specified for attribute.
+ The HTML markup that represents the label.
+ The text to display.
+ The value to assign to the for attribute of the HTML control element.
+
+ is null or empty.
+
+
+ Returns an HTML label that displays the specified text, and that has the specified for attribute and custom attributes defined by an attribute dictionary.
+ The HTML markup that represents the label.
+ The text to display.
+ The value to assign to the for attribute of the HTML control element.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML label that displays the specified text, and that has the specified for attribute and custom attributes defined by an attribute object.
+ The HTML markup that represents the label.
+ The text to display.
+ The value to assign to the for attribute of the HTML control element.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name and that contains the specified list items.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ A list of instances that are used to populate the list.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ A list of instances that are used to populate the list.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ A list of instances that are used to populate the list.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name, size, list items, and default selections, and that specifies whether multiple selections are enabled.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ A list of instances that are used to populate the list.
+ An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
+ The value to assign to the size attribute of the element.
+ true to indicate that the multiple selections are enabled; otherwise, false.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name, and that contains the specified list items and default item.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list box.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items and default item.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name and custom attributes defined by an attribute object, and that contains the specified list items and default item.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list box.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name and custom attributes defined by an attribute dictionary, and that contains the specified list items, default item, and selections.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list.
+ An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name, size, items, default item, and selections, and that specifies whether multiple selections are enabled.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list.
+ An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
+ The value to assign to the size attribute of the element.
+ true to indicate that multiple selections are enabled; otherwise, false.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name, size, custom attributes defined by an attribute dictionary, items, default item, and selections, and that specifies whether multiple selections are enabled.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list.
+ An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
+ The value to assign to the size attribute of the element.
+ true to indicate that multiple selections are enabled; otherwise, false.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name, size, custom attributes defined by an attribute object, items, default item, and selections, and that specifies whether multiple selections are enabled.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list.
+ An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
+ The value to assign to the size attribute of the element.
+ true to indicate that multiple selections are enabled; otherwise, false.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML list box control that has the specified name, items, default item, and custom attributes defined by an attribute object, and selections.
+ The HTML markup that represents the list box control.
+ The value to assign to the name attribute of the HTML select element.
+ The text to display for the default option in the list.
+ A list of instances that are used to populate the list.
+ An object that specifies the items in the list that are selected by default. The selections are retrieved through reflection by examining the properties of the object.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Creates a dictionary from an object, by adding each public instance property as a key with its associated value to the dictionary. It will expose public properties from derived types as well. This is typically used with objects of an anonymous type.
+ The created dictionary of property names and property values.
+ The object to be converted.
+
+
+ Returns an HTML password control that has the specified name.
+ The HTML markup that represents the password control.
+ The value to assign to the name attribute of the HTML control element.
+
+ is null or empty.
+
+
+ Returns an HTML password control that has the specified name and value.
+ The HTML markup that represents the password control.
+ The value to assign to the name attribute of the HTML control element.
+ The value to assign to the value attribute of the element.
+
+ is null or empty.
+
+
+ Returns an HTML password control that has the specified name, value, and custom attributes defined by an attribute dictionary.
+ The HTML markup that represents the password control.
+ The value to assign to the name attribute of the HTML control element.
+ The value to assign to the value attribute of the element.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML password control that has the specified name, value, and custom attributes defined by an attribute object.
+ The HTML markup that represents the password control.
+ The value to assign to the name attribute of the HTML control element.
+ The value to assign to the value attribute of the element.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML radio button control that has the specified name and value.
+ The HTML markup that represents the radio button control.
+ The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
+ The value to assign to the value attribute of the element.
+
+ is null or empty.
+
+
+ Returns an HTML radio button control that has the specified name, value, and default selected status.
+ The HTML markup that represents the radio button control.
+ The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
+ The value to assign to the value attribute of the element.
+ true to indicate that the control is selected; otherwise, false.
+
+ is null or empty.
+
+
+ Returns an HTML radio button control that has the specified name, value, default selected status, and custom attributes defined by an attribute dictionary.
+ The HTML markup that represents the radio button control.
+ The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
+ The value to assign to the value attribute of the element.
+ true to indicate that the control is selected; otherwise, false.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML radio button control that has the specified name, value, default selected status, and custom attributes defined by an attribute object.
+ The HTML markup that represents the radio button control.
+ The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
+ The value to assign to the value attribute of the element.
+ true to indicate that the control is selected; otherwise, false.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML radio button control that has the specified name, value, and custom attributes defined by an attribute dictionary.
+ The HTML markup that represents the radio button control.
+ The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
+ The value to assign to the value attribute of the element.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML radio button control that has the specified name, value, and custom attributes defined by an attribute object.
+ The HTML markup that represents the radio button control.
+ The value to assign to the name attribute of the HTML control element. The name attribute defines the group that the radio button belongs to.
+ The value to assign to the value attribute of the element.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Wraps HTML markup in an instance so that it is interpreted as HTML markup.
+ The unencoded HTML.
+ The object to render HTML for.
+
+
+ Wraps HTML markup in an instance so that it is interpreted as HTML markup.
+ The unencoded HTML.
+ The string to interpret as HTML markup instead of being HTML-encoded.
+
+
+ Returns an HTML multi-line text input (text area) control that has the specified name.
+ The HTML markup that represents the text area control.
+ The value to assign to the name attribute of the HTML textarea element.
+
+ is null or empty.
+
+
+ Returns an HTML multi-line text input (text area) control that has the specified name and custom attributes defined by an attribute dictionary.
+ The HTML markup that represents the text area control.
+ The value to assign to the name attribute of the HTML textarea element.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML multi-line text input (text area) control that has the specified name and custom attributes defined by an attribute object.
+ The HTML markup that represents the text area control.
+ The value to assign to the name attribute of the HTML textarea element.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML multi-line text input (text area) control that has the specified name and value.
+ The HTML markup that represents the text area control.
+ The value to assign to the name attribute of the HTML textrarea element.
+ The text to display.
+
+ is null or empty.
+
+
+ Returns an HTML multi-line text input (text area) control that has the specified name, value, and custom attributes defined by an attribute dictionary.
+ The HTML markup that represents the text area control.
+ The value to assign to the name attribute of the HTML textarea element.
+ The text to display.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML multi-line text input (text area) control that has the specified name, value, row attribute, col attribute, and custom attributes defined by an attribute dictionary.
+ The HTML markup that represents the text area control.
+ The value to assign to the name attribute of the HTML textarea element.
+ The text to display.
+ The value to assign to the rows attribute of the element.
+ The value to assign to the cols attribute of the element.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML multi-line text input (text area) control that has the specified name, value, row attribute, col attribute, and custom attributes defined by an attribute object.
+ The HTML markup that represents the text area control.
+ The value to assign to the name attribute of the HTML textarea element.
+ The text to display.
+ The value to assign to the rows attribute of the element.
+ The value to assign to the cols attribute of the element.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML multi-line text input (text area) control that has the specified name, value, and custom attributes defined by an attribute object.
+ The HTML markup that represents the text area control.
+ The value to assign to the name attribute of the HTML textarea element.
+ The text to display.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML text control that has the specified name.
+ The HTML markup that represents the text control.
+ The value to assign to the name attribute of the HTML control element.
+
+ is null or empty.
+
+
+ Returns an HTML text control that has the specified name and value.
+ The HTML markup that represents the text control.
+ The value to assign to the name attribute of the HTML control element.
+ The value to assign to the value attribute of the element.
+
+ is null or empty.
+
+
+ Returns an HTML text control that has the specified name, value, and custom attributes defined by an attribute dictionary.
+ The HTML markup that represents the text control.
+ The value to assign to the name attribute of the HTML control element.
+ The value to assign to the value attribute of the element.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML text control that has the specified name, value, and custom attributes defined by an attribute object.
+ The HTML markup that represents the text control.
+ The value to assign to the name attribute of the HTML control element.
+ The value to assign to the value attribute of the element.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Gets or sets a value that indicates whether the page uses unobtrusive JavaScript for Ajax functionality.
+ true if the page uses unobtrusive JavaScript; otherwise, false.
+
+
+ Gets or sets the name of the CSS class that defines the appearance of input elements when validation fails.
+ The name of the CSS class. The default is field-validation-error.
+
+
+ Gets or sets the name of the CSS class that defines the appearance of input elements when validation passes.
+ The name of the CSS class. The default is input-validation-valid.
+
+
+ Returns an HTML span element that contains the first validation error message for the specified form field.
+ If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field.
+ The name of the form field that was validated.
+
+ is null or empty.
+
+
+ Returns an HTML span element that has the specified custom attributes defined by an attribute dictionary, and that contains the first validation error message for the specified form field.
+ If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field.
+ The name of the form field that was validated.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML span element that has the specified custom attributes defined by an attribute object, and that contains the first validation error message for the specified form field.
+ If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field.
+ The name of the form field that was validated.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Returns an HTML span element that contains a validation error message for the specified form field.
+ If the value in the specified field is valid, null; otherwise, the HTML markup that represents the validation error message that is associated with the specified field.
+ The name of the form field that was validated.
+ The validation error message to display. If null, the first validation error message that is associated with the specified form field is displayed.
+
+ is null or empty.
+
+
+ Returns an HTML span element that has the specified custom attributes defined by an attribute dictionary, and that contains a validation error message for the specified form field.
+ If the specified field is valid, null; otherwise, the HTML markup that represents a validation error message that is associated with the specified field.
+ The name of the form field that was validated.
+ The validation error message to display. If null, the first validation error message that is associated with the specified form field is displayed.
+ The names and values of custom attributes for the element.
+
+ is null or empty.
+
+
+ Returns an HTML span element that has the specified custom attributes defined by an attribute object, and that contains a validation error message for the specified form field.
+ If the specified field is valid, null; otherwise, the HTML markup that represents a validation error message that is associated with the specified field.
+ The name of the form field that was validated.
+ The validation error message to display. If null, the first validation error message that is associated with the specified form field is displayed.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+ is null or empty.
+
+
+ Gets or sets the name of the CSS class that defines the appearance of validation error messages when validation fails.
+ The name of the CSS class. The default is field-validation-error.
+
+
+ Gets or sets the name of the CSS class that defines the appearance of validation error messages when validation passes.
+ The name of the CSS class. The default is field-validation-valid.
+
+
+ Returns an HTML div element that contains an unordered list of all validation error messages from the model-state dictionary.
+ The HTML markup that represents the validation error messages.
+
+
+ Returns an HTML div element that contains an unordered list of validation error message from the model-state dictionary, optionally excluding field-level errors.
+ The HTML markup that represents the validation error messages.
+ true to exclude field-level validation error messages from the list; false to include both model-level and field-level validation error messages.
+
+
+ Returns an HTML div element that has the specified custom attributes defined by an attribute dictionary, and that contains an unordered list of all validation error messages that are in the model-state dictionary.
+ The HTML markup that represents the validation error messages.
+ The names and values of custom attributes for the element.
+
+
+ Returns an HTML div element that has the specified custom attributes defined by an attribute object, and that contains an unordered list of all validation error messages that are in the model-state dictionary.
+ The HTML markup that represents the validation error messages.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+
+ Returns an HTML div element that contains a summary message and an unordered list of all validation error messages that are in the model-state dictionary.
+ The HTML markup that represents the validation error messages.
+ The message that comes before the list of validation error messages.
+
+
+ Returns an HTML div element that has the specified custom attributes defined by an attribute dictionary, and that contains a summary message and an unordered list of validation error message from the model-state dictionary, optionally excluding field-level errors.
+ The HTML markup that represents the validation error messages.
+ The summary message that comes before the list of validation error messages.
+ true to exclude field-level validation error messages from the results; false to include both model-level and field-level validation error messages.
+ The names and values of custom attributes for the element.
+
+
+ Returns an HTML div element that has the specified custom attributes defined by an attribute object, and that contains a summary message and an unordered list of validation error message from the model-state dictionary, optionally excluding field-level errors.
+ The HTML markup that represents the validation error messages.
+ The summary message that comes before the list of validation error messages.
+ true to exclude field-level validation error messages from the results; false to include and field-level validation error messages.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+
+ Returns an HTML div element that has the specified custom attributes defined by an attribute dictionary, and that contains a summary message and an unordered list of all validation error message from the model-state dictionary.
+ The HTML markup that represents the validation error messages.
+ The message that comes before the list of validation error messages.
+ The names and values of custom attributes for the element.
+
+
+ Returns an HTML div element that has the specified custom attributes defined by an attribute object, and that contains a summary message and an unordered list of all validation error message from the model-state dictionary.
+ The HTML markup that represents the validation error messages.
+ The summary message that comes before the list of validation error messages.
+ An object that contains custom attributes for the element. The attribute names and values are retrieved through reflection by examining the properties of the object.
+
+
+ Gets or sets the name of the CSS class that defines the appearance of a validation summary when validation fails.
+ The name of the CSS class. The default is validation-summary-errors.
+
+
+ Gets or sets the name of the CSS class that defines the appearance of a validation summary when validation passes.
+ The name of the CSS class. The default is validation-summary-valid.
+
+
+ Encapsulates the state of model binding to a property of an action-method argument, or to the argument itself.
+
+
+ Initializes a new instance of the class.
+
+
+ Returns a list of strings that contains any errors that occurred during model binding.
+ The errors that occurred during model binding.
+
+
+ Returns an object that encapsulates the value that was bound during model binding.
+ The value that was bound.
+
+
+ Represents the result of binding a posted form to an action method, which includes information such as validation status and validation error messages.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using values that are copied from the specified model-state dictionary.
+ The model-state dictionary that values are copied from.
+
+
+ Adds the specified item to the model-state dictionary.
+ The item to add to the model-state dictionary.
+
+
+ Adds an item that has the specified key and value to the model-state dictionary.
+ The key.
+ The value.
+
+
+ Adds an error message to the model state that is associated with the specified key.
+ The key that is associated with the model state that the error message is added to.
+ The error message.
+
+
+ Adds an error message to the model state that is associated with the entire form.
+ The error message.
+
+
+ Removes all items from the model-state dictionary.
+
+
+ Determines whether the model-state dictionary contains the specified item.
+ true if the model-state dictionary contains the specified item; otherwise, false.
+ The item to look for.
+
+
+ Determines whether the model-state dictionary contains the specified key.
+ true if the model-state dictionary contains the specified key; otherwise, false.
+ The key to look for.
+
+
+ Copies the elements of the model-state dictionary to an array, starting at the specified index.
+ The one-dimensional instance where the elements will be copied to.
+ The index in at which copying begins.
+
+
+ Gets the number of model states that the model-state dictionary contains.
+ The number of model states in the model-state dictionary.
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+ An enumerator that can be used to iterate through the collection.
+
+
+ Gets a value that indicates whether the model-state dictionary is read-only.
+ true if the model-state dictionary is read-only; otherwise, false.
+
+
+ Gets a value that indicates whether any error messages are associated with any model state in the model-state dictionary.
+ true if any error messages are associated with any model state in the dictionary; otherwise, false.
+
+
+ Determines whether any error messages are associated with the specified key.
+ true if no error messages are associated with the specified key, or the specified key does not exist; otherwise, false.
+ The key.
+
+ is null.
+
+
+ Gets or sets the model state that is associated with the specified key in the model-state dictionary.
+ The model state that is associated with the specified key in the dictionary.
+
+
+ Gets a list that contains the keys in the model-state dictionary.
+ The list of keys in the dictionary.
+
+
+ Copies the values from the specified model-state dictionary into this instance, overwriting existing values when the keys are the same.
+ The model-state dictionary that values are copied from.
+
+
+ Removes the first occurrence of the specified item from the model-state dictionary.
+ true if the item was successfully removed from the model-state dictionary; false if the item was not removed or if the item does not exist in the model-state dictionary.
+ The item to remove.
+
+
+ Removes the item that has the specified key from the model-state dictionary.
+ true if the item was successfully removed from the model-state dictionary; false if the item was not removed or does not exist in the model-state dictionary.
+ The key of the element to remove.
+
+
+ Sets the value of the model state that is associated with the specified key.
+ The key to set the value of.
+ The value to set the key to.
+
+
+ Returns an enumerator that can be used to iterate through the model-state dictionary.
+ An enumerator that can be used to iterate through the model-state dictionary.
+
+
+ Gets the model-state value that is associated with the specified key.
+ true if the model-state dictionary contains an element that has the specified key; otherwise, false.
+ The key to get the value of.
+ When this method returns, if the key is found, contains the model-state value that is associated with the specified key; otherwise, contains the default value for the type. This parameter is passed uninitialized.
+
+
+ Gets a list that contains the values in the model-state dictionary.
+ The list of values in the dictionary.
+
+
+ Represents an item in an HTML select list.
+
+
+ Initializes a new instance of the class using the default settings.
+
+
+ Initializes a new instance of the class by copying the specified select list item.
+ The select list item to copy.
+
+
+ Gets or sets a value that indicates whether the instance is selected.
+ true if the select list item is selected; otherwise, false.
+
+
+ Gets or sets the text that is used to display the instance on a web page.
+ The text that is used to display the select list item.
+
+
+ Gets or sets the value of the HTML value attribute of the HTML option element that is associated with the instance.
+ The value of the HTML value attribute that is associated with the select list item.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a web pages instrumentation service.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Called before it renders the output for the specified context.
+ The context.
+ The virtual path.
+ The writer.
+ The start position.
+ The length of the context.
+ Determines whether the context is literal.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Called after it renders the output for the specified context.
+ The context.
+ The virtual path.
+ The writer.
+ The start position.
+ The length of the context.
+ Determines whether the context is literal.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value indicating whether the service is available.
+ true if the service is available; otherwise, false.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents a position tagged.
+ The type of the position..
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Initializes a new instance of the class.
+ The value of this current instance.
+ The offset.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the specified object is equal to the current object.
+ true if the specified object is equal to the current object; otherwise, false.
+ The object to compare to.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the hash code of the current instance.
+ The hash code of the current instance.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two objects are equal.
+ true if the two objects are equal; otherwise, false.
+ The first object.
+ The second object.
+
+
+ Converts the specified object to a object.
+ The that represents the converted .
+ The object to convert.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Converts the to a object.
+ The that represents the converted .
+ The object to convert.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Determines whether the two objects are not equal.
+ true if the two objects are not equal; otherwise, false.
+ The first object.
+ The second object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the position associated with the .
+ The position associated with the .
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns a string representation of the object.
+ A string that represents the object.
+
+
+ This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets or sets the value of the current instance.
+ The value of the current instance.
+
+
+ Defines an ASP.NET request scope storage provider.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets the dictionary to store data in the application scope.
+ The dictionary that stores application scope data.
+
+
+ Gets or sets the dictionary to store data in the current scope.
+ The dictionary that stores current scope data.
+
+
+ Gets the dictionary to store data in the global scope.
+ The dictionary that stores global scope data.
+
+
+ Gets the dictionary to store data in the request scope.
+ The dictionary that stores request scope data.
+
+
+ Defines a dictionary that provides scoped access to data.
+
+
+ Gets and sets the dictionary that is used to store data in the current scope.
+ The dictionary that stores current scope data.
+
+
+ Gets the dictionary that is used to store data in the global scope.
+ The dictionary that stores global scope data.
+
+
+ Defines a class that is used to contain storage for a transient scope.
+
+
+ Returns a dictionary that is used to store data in a transient scope, based on the scope in the property.
+ The dictionary that stores transient scope data.
+
+
+ Returns a dictionary that is used to store data in a transient scope.
+ The dictionary that stores transient scope data.
+ The context.
+
+
+ Gets or sets the current scope provider.
+ The current scope provider.
+
+
+ Gets the dictionary that is used to store data in the current scope.
+ The dictionary that stores current scope data.
+
+
+ Gets the dictionary that is used to store data in the global scope.
+ The dictionary that stores global scope data.
+
+
+ Represents a collection of keys and values that are used to store data at different scope levels (local, global, and so on).
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class using the specified base scope.
+ The base scope.
+
+
+ Adds a key/value pair to the object using the specified generic collection.
+ The key/value pair.
+
+
+ Adds the specified key and specified value to the object.
+ The key.
+ The value.
+
+
+ Gets the dictionary that stores the object data.
+
+
+ Gets the base scope for the object.
+ The base scope for the object.
+
+
+ Removes all keys and values from the concatenated and objects.
+
+
+ Returns a value that indicates whether the specified key/value pair exists in either the object or in the object.
+ true if the object or the object contains an element that has the specified key/value pair; otherwise, false.
+ The key/value pair.
+
+
+ Returns a value that indicates whether the specified key exists in the object or in the object.
+ true if the object or the object contains an element that has the specified key; otherwise, false.
+ The key.
+
+
+ Copies all of the elements in the object and the object to an object, starting at the specified index.
+ The array.
+ The zero-based index in .
+
+
+ Gets the number of key/value pairs that are in the concatenated and objects.
+ The number of key/value pairs.
+
+
+ Returns an enumerator that can be used to iterate through concatenated and objects.
+ An object.
+
+
+ Returns an enumerator that can be used to iterate through the distinct elements of concatenated and objects.
+ An enumerator that contains distinct elements from the concatenated dictionary objects.
+
+
+ Gets a value that indicates whether the object is read-only.
+ true if the object is read-only; otherwise, false.
+
+
+ Gets or sets the element that is associated with the specified key.
+ The element that has the specified key.
+
+
+ Gets a object that contains the keys from the concatenated and objects.
+ An object that contains that contains the keys.
+
+
+ Removes the specified key/value pair from the concatenated and objects.
+ true if the key/value pair is removed, or false if is not found in the concatenated and objects.
+ The key/value pair.
+
+
+ Removes the value that has the specified key from the concatenated and objects.
+ true if the key/value pair is removed, or false if is not found in the concatenated and objects.
+ The key.
+
+
+ Sets a value using the specified key in the concatenated and objects.
+ The key.
+ The value.
+
+
+ Returns an enumerator for the concatenated and objects.
+ The enumerator.
+
+
+ Gets the value that is associated with the specified key from the concatenated and objects.
+ true if the concatenated and objects contain an element that has the specified key; otherwise, false.
+ The key.
+ When this method returns, if the key is found, contains the value that is associated with the specified key; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
+
+
+ Gets a object that contains the values from the concatenated and objects.
+ The object that contains the values.
+
+
+ Provides scoped access to static data.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets a dictionary that stores current data under a static context.
+ The dictionary that provides current scoped data.
+
+
+ Gets a dictionary that stores global data under a static context.
+ The dictionary that provides global scoped data.
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/TidyNet.dll b/Blog/bin/TidyNet.dll
new file mode 100644
index 0000000..d31dcc3
Binary files /dev/null and b/Blog/bin/TidyNet.dll differ
diff --git a/Blog/bin/Umbraco.Core.dll b/Blog/bin/Umbraco.Core.dll
new file mode 100644
index 0000000..4eda009
Binary files /dev/null and b/Blog/bin/Umbraco.Core.dll differ
diff --git a/Blog/bin/Umbraco.Core.xml b/Blog/bin/Umbraco.Core.xml
new file mode 100644
index 0000000..a4152d6
--- /dev/null
+++ b/Blog/bin/Umbraco.Core.xml
@@ -0,0 +1,31961 @@
+
+
+
+ Umbraco.Core
+
+
+
+
+ Helper methods for Activation
+
+
+
+
+ Creates an instance of a type using that type's default constructor.
+
+
+
+
+
+
+ the Umbraco Application context
+
+
+ one per AppDomain, represents the global Umbraco application
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Creates a basic app context
+
+
+
+
+
+ Creates a basic app context
+
+
+
+
+
+
+ A method used to set and/or ensure that a global ApplicationContext singleton is created.
+
+
+ The instance to set on the global application singleton
+
+ If set to true and the singleton is already set, it will be replaced
+
+
+ This is NOT thread safe
+
+
+
+
+ A method used to create and ensure that a global ApplicationContext singleton is created.
+
+
+
+ If set to true will replace the current singleton instance - This should only be used for unit tests or on app
+ startup if for some reason the boot manager is not the umbraco boot manager.
+
+
+
+
+
+ This is NOT thread safe
+
+
+
+
+ A method used to create and ensure that a global ApplicationContext singleton is created.
+
+
+
+
+ If set to true will replace the current singleton instance - This should only be used for unit tests or on app
+ startup if for some reason the boot manager is not the umbraco boot manager.
+
+
+
+
+
+ This is NOT thread safe
+
+
+
+
+ This will dispose and reset all resources used to run the application
+
+
+ IMPORTANT: Never dispose this object if you require the Umbraco application to run, disposing this object
+ is generally used for unit testing and when your application is shutting down after you have booted Umbraco.
+
+
+
+
+ Singleton accessor
+
+
+
+
+ Returns the application wide cache accessor
+
+
+ Any caching that is done in the application (app wide) should be done through this property
+
+
+
+
+ Exposes the global ProfilingLogger - this should generally not be accessed via the UmbracoContext and should normally just be exposed
+ on most base classes or injected with IoC
+
+
+
+
+ If the db is configured, there is a database context and there is an umbraco schema, but we are not 'configured' , then it means we are upgrading
+
+
+
+
+ The application url.
+
+
+ The application url is the url that should be used by services to talk to the application,
+ eg keep alive or scheduled publishing services. It must exist on a global context because
+ some of these services may not run within a web context.
+ The format of the application url is:
+ - has a scheme (http or https)
+ - has the SystemDirectories.Umbraco path
+ - does not end with a slash
+ It is initialized on the first request made to the server, by UmbracoModule.EnsureApplicationUrl:
+ - if umbracoSettings:settings/web.routing/@umbracoApplicationUrl is set, use the value (new setting)
+ - if umbracoSettings:settings/scheduledTasks/@baseUrl is set, use the value (backward compatibility)
+ - otherwise, use the url of the (first) request.
+ Not locking, does not matter if several threads write to this.
+ See also issues:
+ - http://issues.umbraco.org/issue/U4-2059
+ - http://issues.umbraco.org/issue/U4-6788
+ - http://issues.umbraco.org/issue/U4-5728
+ - http://issues.umbraco.org/issue/U4-5391
+
+
+
+
+ Gets the current DatabaseContext
+
+
+ Internal set is generally only used for unit tests
+
+
+
+
+ Gets the current ServiceContext
+
+
+ Internal set is generally only used for unit tests
+
+
+
+
+ A plugin type that allows developers to execute code during the Umbraco bootup process
+
+
+ Allows you to override the methods that you would like to execute code for: ApplicationInitialized, ApplicationStarting, ApplicationStarted.
+
+ By default none of these methods will execute if the Umbraco application is not configured or if the Umbraco database is not configured, however
+ if you need these methods to execute even if either of these are not configured you can override the properties:
+ ExecuteWhenApplicationNotConfigured and ExecuteWhenDatabaseNotConfigured
+
+
+
+
+ Custom IApplicationStartupHandler that auto subscribes to the applications events
+
+
+
+
+ ApplicationContext is created and other static objects that require initialization have been setup
+
+
+
+
+
+
+ All resolvers have been initialized but resolution is not frozen so they can be modified in this method
+
+
+
+
+
+
+ Bootup is completed, this allows you to perform any other bootup logic required for the application.
+ Resolution is frozen so now they can be used to resolve instances.
+
+
+
+
+
+
+ Overridable method to execute when the ApplicationContext is created and other static objects that require initialization have been setup
+
+
+
+
+
+
+ Overridable method to execute when All resolvers have been initialized but resolution is not frozen so they can be modified in this method
+
+
+
+
+
+
+ Overridable method to execute when Bootup is completed, this allows you to perform any other bootup logic required for the application.
+ Resolution is frozen so now they can be used to resolve instances.
+
+
+
+
+
+
+ Determine if the methods should execute based on the configuration status of the application.
+
+
+
+
+
+
+ A flag to determine if the overridable methods for this class will execute even if the
+ Umbraco application is not configured
+
+
+ An Umbraco Application is not configured when it requires a new install or upgrade. When the latest version in the
+ assembly does not match the version in the config.
+
+
+
+
+ A flag to determine if the overridable methods for this class will execute even if the
+ Umbraco database is not configured
+
+
+ The Umbraco database is not configured when we cannot connect to the database or when the database tables are not installed.
+
+
+
+
+ Returns the file used to load the assembly
+
+
+
+
+
+
+ Returns true if the assembly is the App_Code assembly
+
+
+
+
+
+
+ Returns true if the assembly is the compiled global asax.
+
+
+
+
+
+
+ Returns the file used to load the assembly
+
+
+
+
+
+
+ Represents the result of an operation attempt.
+
+ The type of the attempted operation result.
+
+
+
+ Represents an unsuccessful attempt.
+
+ Keep it for backward compatibility sake.
+
+
+
+ Initialize a new instance of the struct with a result.
+
+ A value indicating whether the attempt is successful.
+ The result of the attempt.
+ Keep it for backward compatibility sake.
+
+
+
+ Initialize a new instance of the struct representing a failed attempt, with an exception.
+
+ The exception causing the failure of the attempt.
+ Keep it for backward compatibility sake.
+
+
+
+ Creates a successful attempt.
+
+ The successful attempt.
+
+
+
+ Creates a successful attempt with a result.
+
+ The result of the attempt.
+ The successful attempt.
+
+
+
+ Creates a failed attempt.
+
+ The failed attempt.
+
+
+
+ Creates a failed attempt with an exception.
+
+ The exception causing the failure of the attempt.
+ The failed attempt.
+
+
+
+ Creates a failed attempt with a result.
+
+ The result of the attempt.
+ The failed attempt.
+
+
+
+ Creates a failed attempt with a result and an exception.
+
+ The result of the attempt.
+ The exception causing the failure of the attempt.
+ The failed attempt.
+
+
+
+ Creates a successful or a failed attempt.
+
+ A value indicating whether the attempt is successful.
+ The attempt.
+
+
+
+ Creates a successful or a failed attempt, with a result.
+
+ A value indicating whether the attempt is successful.
+ The result of the attempt.
+ The attempt.
+
+
+
+ Implicity operator to check if the attempt was successful without having to access the 'success' property
+
+
+
+
+
+
+ Gets a value indicating whether this was successful.
+
+
+
+
+ Gets the exception associated with an unsuccessful attempt.
+
+
+
+
+ Gets the exception associated with an unsuccessful attempt.
+
+ Keep it for backward compatibility sake.
+
+
+
+ Gets the attempt result.
+
+
+
+
+ Used when new nodes are added
+
+
+
+
+ Used when nodes are saved
+
+
+
+
+ Used when nodes are opened
+
+
+
+
+ Used when nodes are deleted
+
+
+
+
+ Used when nodes are published
+
+
+
+
+ Used when nodes are send to publishing
+
+
+
+
+ Used when nodes are unpublished
+
+
+
+
+ Used when nodes are moved
+
+
+
+
+ Used when nodes are copied
+
+
+
+
+ Used when nodes are assígned a domain
+
+
+
+
+ Used when public access are changed for a node
+
+
+
+
+ Used when nodes are sorted
+
+
+
+
+ Used when a notification are send to a user
+
+
+
+
+ General system notification
+
+
+
+
+ Used when a node's content is rolled back to a previous version
+
+
+
+
+ Used when a package is installed
+
+
+
+
+ Used when a package is uninstalled
+
+
+
+
+ Used when a node is send to translation
+
+
+
+
+ Use this log action for custom log messages that should be shown in the audit trail
+
+
+
+
+ Class that is exposed by the ApplicationContext for application wide caching purposes
+
+
+
+
+ Creates a cache helper with disabled caches
+
+
+
+ Good for unit testing
+
+
+
+
+ Initializes a new instance for use in the web
+
+
+
+
+ Initializes a new instance for use in the web
+
+
+
+
+
+ Initializes a new instance based on the provided providers
+
+
+
+
+
+
+
+ Private ctor used for creating a disabled cache helper
+
+
+
+
+
+
+
+
+ Clears the item in umbraco's runtime cache
+
+
+
+
+ Clears the item in umbraco's runtime cache with the given key
+
+ Key
+
+
+
+ Clears all objects in the System.Web.Cache with the System.Type name as the
+ input parameter. (using [object].GetType())
+
+ The name of the System.Type which should be cleared from cache ex "System.Xml.XmlDocument"
+
+
+
+ Clears all objects in the System.Web.Cache with the System.Type specified
+
+
+
+
+ Clears all cache items that starts with the key passed.
+
+ The start of the key
+
+
+
+ Clears all cache items that have a key that matches the regular expression
+
+
+
+
+
+ Returns a cache item by key, does not update the cache if it isn't there.
+
+
+
+
+
+
+
+ Gets (and adds if necessary) an item from the cache with all of the default parameters
+
+
+
+
+
+
+
+
+ Gets (and adds if necessary) an item from the cache with the specified absolute expiration date (from NOW)
+
+
+
+ This will set an absolute expiration from now until the timeout
+
+
+
+
+
+ Gets (and adds if necessary) an item from the cache with the specified absolute expiration date (from NOW)
+
+
+
+
+ This will set an absolute expiration from now until the timeout
+
+
+
+
+
+ Gets (and adds if necessary) an item from the cache with the specified absolute expiration date (from NOW)
+
+
+
+
+
+ This will set an absolute expiration from now until the timeout
+
+
+
+
+
+ Gets (and adds if necessary) an item from the cache with the specified absolute expiration date (from NOW)
+
+
+
+
+
+
+ This will set an absolute expiration from now until the timeout
+
+
+
+
+
+ Gets (and adds if necessary) an item from the cache
+
+
+
+
+
+
+
+
+
+
+ Inserts an item into the cache, if it already exists in the cache it will be replaced
+
+
+
+
+
+
+
+
+ Inserts an item into the cache, if it already exists in the cache it will be replaced
+
+
+
+
+ This will set an absolute expiration from now until the timeout
+
+
+
+
+ Inserts an item into the cache, if it already exists in the cache it will be replaced
+
+
+
+
+
+ This will set an absolute expiration from now until the timeout
+
+
+
+
+ Inserts an item into the cache, if it already exists in the cache it will be replaced
+
+
+
+
+
+
+ This will set an absolute expiration from now until the timeout
+
+
+
+
+ Returns the current Request cache
+
+
+
+
+ Returns the current Runtime cache
+
+
+
+
+ Returns the current Runtime cache
+
+
+
+
+ Constants storing cache keys used in caching
+
+
+
+
+ Extensions for strongly typed access
+
+
+
+
+ An abstract class for implementing a basic cache provider
+
+
+
+
+ Removes all items from the cache.
+
+
+
+
+ Removes an item from the cache, identified by its key.
+
+ The key of the item.
+
+
+
+ Removes items from the cache, of a specified type.
+
+ The name of the type to remove.
+
+ If the type is an interface, then all items of a type implementing that interface are
+ removed. Otherwise, only items of that exact type are removed (items of type inheriting from
+ the specified type are not removed).
+ Performs a case-sensitive search.
+
+
+
+
+ Removes items from the cache, of a specified type.
+
+ The type of the items to remove.
+ If the type is an interface, then all items of a type implementing that interface are
+ removed. Otherwise, only items of that exact type are removed (items of type inheriting from
+ the specified type are not removed).
+
+
+
+ Removes items from the cache, of a specified type, satisfying a predicate.
+
+ The type of the items to remove.
+ The predicate to satisfy.
+ If the type is an interface, then all items of a type implementing that interface are
+ removed. Otherwise, only items of that exact type are removed (items of type inheriting from
+ the specified type are not removed).
+
+
+
+ Returns an item with a given key
+
+
+
+
+
+
+ A base class for cache refreshers to inherit from that ensures the correct events are raised
+ when cache refreshing occurs.
+
+ The real cache refresher type, this is used for raising strongly typed events
+
+
+
+ Raises the event
+
+
+
+
+
+
+ An event that is raised when cache is updated on an individual server
+
+
+ This event will fire on each server configured for an Umbraco project whenever a cache refresher
+ is updated.
+
+
+
+
+ Returns the real instance of the object ('this') for use in strongly typed events
+
+
+
+
+ Event args for cache refresher updates
+
+
+
+
+ A cache provider that caches items in the HttpContext.Items
+
+
+
+
+ A cache refresher that supports refreshing cache based on a custom payload
+
+
+
+
+ A cache refresher that supports refreshing or removing cache based on a custom Json payload
+
+
+
+
+ Refreshes, clears, etc... any cache based on the information provided in the json
+
+
+
+
+
+ Refreshes, clears, etc... any cache based on the information provided in the payload
+
+
+
+
+
+ A cache provider that wraps the logic of a System.Runtime.Caching.ObjectCache
+
+
+
+
+ An abstract class for implementing a runtime cache provider
+
+
+
+
+
+
+ Used for debugging
+
+
+
+
+ A CacheProvider that wraps the logic of the HttpRuntime.Cache
+
+
+
+
+ Gets (and adds if necessary) an item from the cache with all of the default parameters
+
+
+
+
+
+
+
+ This overload is here for legacy purposes
+
+
+
+
+
+
+
+
+
+
+
+
+ This overload is here for legacy purposes
+
+
+
+
+
+
+
+
+
+
+
+ Used for debugging
+
+
+
+
+ Provides a base class for "json" cache refreshers.
+
+ The actual cache refresher type.
+ Ensures that the correct events are raised when cache refreshing occurs.
+
+
+
+ Provides a base class for "payload" cache refreshers.
+
+ The actual cache refresher type.
+ Ensures that the correct events are raised when cache refreshing occurs.
+
+
+
+ A cache provider that statically caches everything in an in memory dictionary
+
+
+
+
+ A base class for cache refreshers to inherit from that ensures the correct events are raised
+ when cache refreshing occurs.
+
+ The real cache refresher type, this is used for raising strongly typed events
+ The entity type that this refresher can update cache for
+
+
+
+ Strongly type cache refresher that is able to refresh cache of real instances of objects as well as IDs
+
+
+
+ This is much better for performance when we're not running in a load balanced environment so we can refresh the cache
+ against a already resolved object instead of looking the object back up by id.
+
+
+
+
+ Attribute to add a Friendly Name string with an UmbracoObjectType enum value
+
+
+
+
+ friendly name value
+
+
+
+
+ Initializes a new instance of the FriendlyNameAttribute class
+ Sets the friendly name value
+
+ attribute value
+
+
+
+ Gets the friendly name
+
+ string of friendly name
+
+
+
+ Attribute to associate a GUID string and Type with an UmbracoObjectType Enum value
+
+
+
+
+ Marks the program elements that Umbraco will obsolete.
+
+
+ Indicates that Umbraco will obsolete the program element at some point in the future, but we do not want to
+ explicitely mark it [Obsolete] yet to avoid warning messages showing when developers compile Umbraco.
+
+
+
+
+ Initializes a new instance of the class with a description.
+
+ The text string that describes what is intended.
+
+
+
+ Initializes a new instance of the class with a tracker url and a description.
+
+ The url of a tracker issue containing more details, discussion, and planning.
+ The text string that describes what is intended.
+
+
+
+ Marks the program elements that Umbraco is experimenting with and could become public.
+
+
+ Indicates that Umbraco is experimenting with code that potentially could become
+ public, but we're not sure, and the code is not stable and can be refactored at any time.
+ The issue tracker should contain more details, discussion, and planning.
+
+
+
+
+ Initializes a new instance of the class with a description.
+
+ The text string that describes what is intended.
+
+
+
+ Initializes a new instance of the class with a tracker url and a description.
+
+ The url of a tracker issue containing more details, discussion, and planning.
+ The text string that describes what is intended.
+
+
+
+ Marks the program elements that Umbraco is considering making public.
+
+
+ Indicates that Umbraco considers making the (currently internal) program element public
+ at some point in the future, but the decision is not fully made yet and is still pending reviews.
+ Note that it is not a commitment to make the program element public. It may not ever become public.
+ The issue tracker should contain more details, discussion, and planning.
+
+
+
+
+ Initializes a new instance of the class with a description.
+
+ The text string that describes what is intended.
+
+
+
+ Initializes a new instance of the class with a tracker url and a description.
+
+ The url of a tracker issue containing more details, discussion, and planning.
+ The text string that describes what is intended.
+
+
+
+ A thread-safe representation of a .
+ Enumerating this collection is thread-safe and will only operate on a clone that is generated before returning the enumerator.
+
+
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+ 1
+
+
+
+ Returns an enumerator that iterates through a collection.
+
+
+ An object that can be used to iterate through the collection.
+
+ 2
+
+
+
+ Removes the first occurrence of a specific object from the .
+
+
+ true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original .
+
+ The object to remove from the .The is read-only.
+
+
+
+ Adds an item to the .
+
+ The object to add to the .The is read-only.
+
+
+
+ Attempts to add an item to the collection
+
+
+
+
+
+
+ Removes all items from the .
+
+ The is read-only.
+
+
+
+ Determines whether the contains a specific value.
+
+
+ true if is found in the ; otherwise, false.
+
+ The object to locate in the .
+
+
+
+ Copies the elements of the to an , starting at a specified index.
+
+ The one-dimensional that is the destination of the elements copied from the . The array must have zero-based indexing.The zero-based index in at which copying begins. is a null reference (Nothing in Visual Basic). is less than zero. is equal to or greater than the length of the -or- The number of elements in the source is greater than the available space from to the end of the destination .
+
+
+
+ Copies the elements of the to an , starting at a particular index.
+
+ The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. The zero-based index in at which copying begins. is null. is less than zero. is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . The type of the source cannot be cast automatically to the type of the destination . 2
+
+
+
+ Gets the number of elements contained in the .
+
+
+ The number of elements contained in the .
+
+ 2
+
+
+
+ Gets a value indicating whether the is read-only.
+
+
+ true if the is read-only; otherwise, false.
+
+
+
+
+ Gets a value indicating whether base rest extensions are enabled.
+
+
+
+
+ A case-insensitive configuration converter for enumerations.
+
+ The type of the enumeration.
+
+
+
+ Changes the version number in ClientDependency.config to a random value to avoid stale caches
+
+
+
+
+ Represents an Umbraco section within the configuration file.
+
+
+ The requirement for these sections is to be read-only.
+ However for unit tests purposes it is internally possible to override some values, and
+ then calling >ResetSection should cancel these changes and bring the section back to
+ what it was originally.
+ The UmbracoSettings.For{T} method will return a section, either one that
+ is in the configuration file, or a section that was created with default values.
+
+
+
+
+ Represents an Umbraco configuration section which can be used to pass to UmbracoConfiguration.For{T}
+
+
+
+
+ Gets a value indicating whether the section actually is in the configuration file.
+
+
+
+
+ Gets or sets a value indicating whether base rest extensions are enabled.
+
+
+
+
+ A configuration section that simply exposes the entire raw xml of the section itself which inheritors can use
+ to do with as they please.
+
+
+
+
+ This can be grant, deny or grantBySection
+
+
+
+
+ The value of the action
+
+
+
+
+ This can be grant, deny or grantBySection
+
+
+
+
+ The value of the action
+
+
+
+
+ A full config section is required for any full element and we have some elements that are defined like this:
+ {element}MyValue{/element} instead of as attribute values.
+
+
+
+
+
+ Implicit operator so we don't need to use the 'Value' property explicitly
+
+
+
+
+
+
+ Return the string value of Value
+
+
+
+
+
+ Exposes the raw string value
+
+
+
+
+ The gateway to all umbraco configuration
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor - can be used for testing
+
+
+
+
+
+
+
+ Gets the IDashboardSection
+
+
+
+
+ Only for testing
+
+
+
+
+
+ Only for testing
+
+
+
+
+
+ Gets the IUmbracoSettings
+
+
+
+
+ Only for testing
+
+
+
+
+
+ Gets the IBaseRestSection
+
+
+
+
+ Only for testing
+
+
+
+
+
+ Gets the IGridConfig
+
+
+
+
+ Defines a configuration section that contains inner text that is comma delimited
+
+
+
+
+ A wrapper for StringEnumerator since it doesn't explicitly implement IEnumerable
+
+
+
+
+ Allow setting internally so we can create a default
+
+
+
+
+ Allow setting internally so we can create a default
+
+
+
+
+ Allows for converting string representations of 0 and 1 to boolean
+
+
+
+
+ Used for specifying default values for comma delimited config
+
+
+
+
+ This is used to supply optional/default values when using InnerTextConfigurationElement
+
+
+
+
+
+ Gets the current version of Umbraco.
+ Version class with the specified major, minor, build (Patch), and revision numbers.
+
+
+ CURRENT UMBRACO VERSION ID.
+
+
+
+
+ Gets the version comment (like beta or RC).
+
+ The version comment.
+
+
+
+ Provides ways to create attempts.
+
+
+
+
+ Creates a successful attempt with a result.
+
+ The type of the attempted operation result.
+ The result of the attempt.
+ The successful attempt.
+
+
+
+ Creates a failed attempt with a result.
+
+ The type of the attempted operation result.
+ The result of the attempt.
+ The failed attempt.
+
+
+
+ Creates a failed attempt with a result and an exception.
+
+ The type of the attempted operation result.
+ The result of the attempt.
+ The exception causing the failure of the attempt.
+ The failed attempt.
+
+
+
+ Creates a successful or a failed attempt, with a result.
+
+ The type of the attempted operation result.
+ A value indicating whether the attempt is successful.
+ The result of the attempt.
+ The attempt.
+
+
+
+ Executes an attempt function, with callbacks.
+
+ The type of the attempted operation result.
+ The attempt returned by the attempt function.
+ An action to execute in case the attempt succeeds.
+ An action to execute in case the attempt fails.
+ The outcome of the attempt.
+ Runs or depending on the
+ whether the attempt function reports a success or a failure.
+
+
+
+ Represents the outcome of an attempt.
+
+ Can be a success or a failure, and allows for attempts chaining.
+
+
+
+ Gets an outcome representing a success.
+
+
+
+
+ Gets an outcome representing a failure.
+
+
+
+
+ Executes another attempt function, if the previous one failed, with callbacks.
+
+ The type of the attempted operation result.
+ The attempt function to execute, returning an attempt.
+ An action to execute in case the attempt succeeds.
+ An action to execute in case the attempt fails.
+ If it executes, returns the outcome of the attempt, else returns a success outcome.
+
+ Executes only if the previous attempt failed, else does not execute and return a success outcome.
+ If it executes, then runs or depending on the
+ whether the attempt function reports a success or a failure.
+
+
+
+
+ Executes another attempt function, if the previous one succeeded, with callbacks.
+
+ The type of the attempted operation result.
+ The attempt function to execute, returning an attempt.
+ An action to execute in case the attempt succeeds.
+ An action to execute in case the attempt fails.
+ If it executes, returns the outcome of the attempt, else returns a failed outcome.
+
+ Executes only if the previous attempt succeeded, else does not execute and return a success outcome.
+ If it executes, then runs or depending on the
+ whether the attempt function reports a success or a failure.
+
+
+
+
+ Constants all the identifiers within the Umbraco core.
+
+
+
+
+ The alias of the internal member searcher
+
+
+
+
+ The alias of the internal content searcher
+
+
+
+
+ Defines the alias identifiers for Umbraco's core application sections.
+
+
+
+
+ Application alias for the content section.
+
+
+
+
+ Application alias for the developer section.
+
+
+
+
+ Application alias for the media section.
+
+
+
+
+ Application alias for the members section.
+
+
+
+
+ Application alias for the settings section.
+
+
+
+
+ Application alias for the translation section.
+
+
+
+
+ Application alias for the users section.
+
+
+
+
+ Application alias for the forms section.
+
+
+
+
+ Defines the alias identifiers for Umbraco's core trees.
+
+
+
+
+ alias for the content tree.
+
+
+
+
+ alias for the media tree.
+
+
+
+
+ alias for the media tree.
+
+
+
+
+ alias for the datatype tree.
+
+
+
+
+ alias for the dictionary tree.
+
+
+
+
+ alias for the template tree.
+
+
+
+
+ Defines the identifiers for property-type alias conventions that are used within the Umbraco core.
+
+
+
+
+ The root id for all top level dictionary items
+
+
+
+
+ Constants for Umbraco Content property aliases.
+
+
+
+
+ Property alias for the Content's Url (internal) redirect.
+
+
+
+
+ Property alias for the Content's navigational hide, (not actually used in core code).
+
+
+
+
+ Property alias for the Content's Url redirect.
+
+
+
+
+ Property alias for the Content's Url alias.
+
+
+
+
+ Property alias for the Content's Url name.
+
+
+
+
+ Constants for Umbraco Media property aliases.
+
+
+
+
+ Property alias for the Media's file name.
+
+
+
+
+ Property alias for the Media's width.
+
+
+
+
+ Property alias for the Media's height.
+
+
+
+
+ Property alias for the Media's file size (in bytes).
+
+
+
+
+ Property alias for the Media's file extension.
+
+
+
+
+ Defines the alias identifiers for Umbraco media types.
+
+
+
+
+ MediaType alias for a file.
+
+
+
+
+ MediaType alias for a folder.
+
+
+
+
+ MediaType alias for an image.
+
+
+
+
+ Constants for Umbraco Member property aliases.
+
+
+
+
+ Property alias for a Members Password Question
+
+
+
+
+ Property alias for Members Password Answer
+
+
+
+
+ Property alias for the Comments on a Member
+
+
+
+
+ Property alias for the Approved boolean of a Member
+
+
+
+
+ Property alias for the Locked out boolean of a Member
+
+
+
+
+ Property alias for the last date the Member logged in
+
+
+
+
+ Property alias for the last date a Member changed its password
+
+
+
+
+ Property alias for the last date a Member was locked out
+
+
+
+
+ Property alias for the number of failed login attemps
+
+
+
+
+ Group name to put the membership properties on
+
+
+
+
+ if a role starts with __umbracoRole we won't show it as it's an internal role used for public access
+
+
+
+
+ Defines the alias identifiers for Umbraco member types.
+
+
+
+
+ MemberType alias for default member type.
+
+
+
+
+ Constants for Umbraco URLs/Querystrings.
+
+
+
+
+ Querystring parameter name used for Umbraco's alternative template functionality.
+
+
+
+
+ Defines the alias identifiers for built-in Umbraco relation types.
+
+
+
+
+ ContentType name for default relation type "Relate Document On Copy".
+
+
+
+
+ ContentType alias for default relation type "Relate Document On Copy".
+
+
+
+
+ ContentType name for default relation type "Relate Parent Document On Delete".
+
+
+
+
+ ContentType alias for default relation type "Relate Parent Document On Delete".
+
+
+
+
+ Defines the identifiers for Umbraco Property Editors as constants for easy centralized access/management.
+
+
+
+
+ Used to prefix generic properties that are internal content properties
+
+
+
+
+ Guid for the Checkbox list datatype.
+
+
+
+
+ Alias for Checkbox list datatype.
+
+
+
+
+ Guid for the Color Picker datatype.
+
+
+
+
+ Alias for the Color Picker datatype.
+
+
+
+
+ Guid for the Content Picker datatype.
+
+
+
+
+ Alias for the Content Picker datatype.
+
+
+
+
+ Guid for the Date datatype.
+
+
+
+
+ Alias for the Date datatype.
+
+
+
+
+ Guid for the Date/Time datatype.
+
+
+
+
+ Alias for the Date/Time datatype.
+
+
+
+
+ Guid for the Dictionary Picker datatype.
+
+
+
+
+ Guid for the Dropdown list datatype.
+
+
+
+
+ Alias for the Dropdown list datatype.
+
+
+
+
+ Guid for the Dropdown list multiple datatype.
+
+
+
+
+ Alias for the Dropdown list multiple datatype.
+
+
+
+
+ Guid for the Dropdown list multiple, publish keys datatype.
+
+
+
+
+ Alias for the Dropdown list multiple, publish keys datatype.
+
+
+
+
+ Guid for the Dropdown list, publishing keys datatype.
+
+
+
+
+ Alias for the Dropdown list, publishing keys datatype.
+
+
+
+
+ Guid for the Folder browser datatype.
+
+
+
+
+ Alias for the Folder browser datatype.
+
+
+
+
+ Alias for the grid datatype.
+
+
+
+
+ Guid for the Image Cropper datatype.
+
+
+
+
+ Guid for the Integer datatype.
+
+
+
+
+ Alias for the Integer datatype.
+
+
+
+
+ Alias for the listview datatype.
+
+
+
+
+ Guid for the list view datatype.
+
+
+
+
+ Guid for the Macro Container datatype.
+
+
+
+
+ Alias for the Macro Container datatype.
+
+
+
+
+ Guid for the Media Picker datatype.
+
+
+
+
+ Alias for the Media Picker datatype.
+
+
+
+
+ Guid for the Member Picker datatype.
+
+
+
+
+ Alias for the Member Picker datatype.
+
+
+
+
+ Alias for the Member Group Picker datatype.
+
+
+
+
+ Guid for the Multi-Node Tree Picker datatype
+
+
+
+
+ Alias for the Multi-Node Tree Picker datatype
+
+
+
+
+ Guid for the Multiple Textstring datatype.
+
+
+
+
+ Alias for the Multiple Textstring datatype.
+
+
+
+
+ Guid for the No edit datatype.
+
+
+
+
+ Alias for the No edit datatype.
+
+
+
+
+ Guid for the Picker Relations datatype.
+
+
+
+
+ Alias for the Picker Relations datatype.
+
+
+
+
+ Guid for the Radiobutton list datatype.
+
+
+
+
+ Alias for the Radiobutton list datatype.
+
+
+
+
+ Guid for the Related Links datatype.
+
+
+
+
+ Alias for the Related Links datatype.
+
+
+
+
+ Guid for the Slider datatype.
+
+
+
+
+ Alias for the Slider datatype.
+
+
+
+
+ Guid for the Tags datatype.
+
+
+
+
+ Alias for the Tags datatype.
+
+
+
+
+ Guid for the Textbox datatype.
+
+
+
+
+ Alias for the Textbox datatype.
+
+
+
+
+ Guid for the Textarea datatype.
+
+
+
+
+ Alias for the Textarea datatype.
+
+
+
+
+ Guid for the TinyMCE v3 wysiwyg datatype.
+
+
+
+
+ Alias for the TinyMCE wysiwyg datatype.
+
+
+
+
+ Guid for the True/False (Ja/Nej) datatype.
+
+
+
+
+ Alias for the True/False (Ja/Nej) datatype.
+
+
+
+
+ Guid for the Ultimate Picker datatype.
+
+
+
+
+ Guid for the UltraSimpleEditor datatype.
+
+
+
+
+ Alias for the MarkdownEditor datatype.
+
+
+
+
+ Guid for the Umbraco Usercontrol Wrapper datatype.
+
+
+
+
+ Guid for the Upload field datatype.
+
+
+
+
+ Alias for the User picker datatype.
+
+
+
+
+ Guid for the User picker datatype.
+
+
+
+
+ Alias for the Upload field datatype.
+
+
+
+
+ Guid for the XPath CheckBoxList datatype.
+
+
+
+
+ Alias for the XPath CheckBoxList datatype.
+
+
+
+
+ Guid for the XPath DropDownList datatype.
+
+
+
+
+ Alias for the XPath DropDownList datatype.
+
+
+
+
+ Alias for the email address property editor
+
+
+
+
+ Defines the constants used for Umbraco packages in the package.config xml
+
+
+
+
+ Defines the identifiers for Umbraco object types as constants for easy centralized access/management.
+
+
+
+
+ Guid for a Content Item object.
+
+
+
+
+ Guid for a Content Item Type object.
+
+
+
+
+ Guid for the Content Recycle Bin.
+
+
+
+
+ Guid for a DataType object.
+
+
+
+
+ Guid for a Document object.
+
+
+
+
+ Guid for a Document Type object.
+
+
+
+
+ Guid for a Media object.
+
+
+
+
+ Guid for the Media Recycle Bin.
+
+
+
+
+ Guid for a Media Type object.
+
+
+
+
+ Guid for a Member object.
+
+
+
+
+ Guid for a Member Group object.
+
+
+
+
+ Guid for a Member Type object.
+
+
+
+
+ Guid for a Stylesheet object.
+
+
+
+
+ Guid for the System Root.
+
+
+
+
+ Guid for a Template object.
+
+
+
+
+ Guid for a Lock object.
+
+
+
+
+ Defines the identifiers for Umbraco system nodes.
+
+
+
+
+ The integer identifier for global system root node.
+
+
+
+
+ The integer identifier for content's recycle bin.
+
+
+
+
+ The integer identifier for media's recycle bin.
+
+
+
+
+ Defines the identifiers for Umbraco system nodes.
+
+
+
+
+ The preview cookie name
+
+
+
+
+ The auth cookie name
+
+
+
+
+ The prefix used for external identity providers for their authentication type
+
+
+ By default we don't want to interfere with front-end external providers and their default setup, for back office the
+ providers need to be setup differently and each auth type for the back office will be prefixed with this value
+
+
+
+
+ Recursively finds a control with the specified identifier.
+
+
+ The type of control to be found.
+
+
+ The parent control from which the search will start.
+
+
+ The identifier of the control to be found.
+
+
+ The control with the specified identifier, otherwise if the control
+ is not found.
+
+
+
+
+ A bootstrapper for the Umbraco application which initializes all objects for the Core of the application
+
+
+ This does not provide any startup functionality relating to web objects
+
+
+
+
+ A bootstrapper interface for the Umbraco application
+
+
+
+
+ Fires first in the application startup process before any customizations can occur
+
+
+
+
+
+ Fires after initialization and calls the callback to allow for customizations to occur
+
+
+
+
+
+
+ Fires after startup and calls the callback once customizations are locked
+
+
+
+
+
+
+ Creates and returns the service context for the app
+
+
+
+
+
+
+
+ Creates and returns the application context for the app
+
+
+
+
+
+
+ Creates and returns the CacheHelper for the app
+
+
+
+
+ This method allows for configuration of model mappers
+
+
+ Model mappers MUST be defined on ApplicationEventHandler instances with the interface IMapperConfiguration.
+ This allows us to search for less types on startup.
+
+
+
+
+ Special method to initialize the LoggerResolver
+
+
+
+
+ Special method to initialize the ProfilerResolver
+
+
+
+
+ Special method to initialize the ApplicationEventsResolver and any modifications required for it such
+ as adding custom types to the resolver.
+
+
+
+
+ Special method to extend the use of Umbraco by enabling the consumer to overwrite
+ the absolute path to the root of an Umbraco site/solution, which is used for stuff
+ like Umbraco.Core.IO.IOHelper.MapPath etc.
+
+ Absolute
+
+
+
+
+ Fires after startup and calls the callback once customizations are locked
+
+
+
+
+
+
+ We cannot continue if the db cannot be connected to
+
+
+
+
+ Freeze resolution to not allow Resolvers to be modified
+
+
+
+
+ Create the resolvers
+
+
+
+
+ The Umbraco Database context
+
+
+ One per AppDomain, represents the Umbraco database
+
+
+
+
+ Default constructor
+
+
+
+
+
+
+
+ Create a configured DatabaseContext
+
+
+
+
+
+
+
+
+ Configure a ConnectionString for the embedded database.
+
+
+
+
+ Configure a ConnectionString that has been entered manually.
+
+
+ Please note that we currently assume that the 'System.Data.SqlClient' provider can be used.
+
+
+
+
+
+ Configures a ConnectionString for the Umbraco database based on the passed in properties from the installer.
+
+ Name or address of the database server
+ Name of the database
+ Database Username
+ Database Password
+ Type of the provider to be used (Sql, Sql Azure, Sql Ce, MySql)
+
+
+
+ Configures a ConnectionString for the Umbraco database that uses Microsoft SQL Server integrated security.
+
+ Name or address of the database server
+ Name of the database
+
+
+
+ Saves the connection string as a proper .net ConnectionString and the legacy AppSettings key/value.
+
+
+ Saves the ConnectionString in the very nasty 'medium trust'-supportive way.
+
+
+
+
+
+
+ Internal method to initialize the database configuration.
+
+
+ If an Umbraco connectionstring exists the database can be configured on app startup,
+ but if its a new install the entry doesn't exist and the db cannot be configured.
+ So for new installs the Initialize() method should be called after the connectionstring
+ has been added to the web.config.
+
+
+
+
+ Set the lazy resolution of determining the SQL server version if that is the db type we're using
+
+
+
+
+ This assumes all of the previous checks are done!
+
+
+
+
+
+ Gets the object for doing CRUD operations
+ against custom tables that resides in the Umbraco database.
+
+
+ This should not be used for CRUD operations or queries against the
+ standard Umbraco tables! Use the Public services for that.
+
+
+
+
+ Boolean indicating whether the database has been configured
+
+
+
+
+ Determines if the db can be connected to
+
+
+
+
+ Gets the configured umbraco db connection string.
+
+
+
+
+ Returns the name of the dataprovider from the connectionstring setting in config
+
+
+
+
+ Returns the Type of DatabaseProvider used
+
+
+
+
+ Static and extension methods for the DataTable object
+
+
+
+
+ Creates a DataTable with the specified alias and columns and uses a callback to populate the headers.
+
+
+
+
+
+
+ This has been migrated from the Node class and uses proper locking now. It is now used by the Node class and the
+ DynamicPublishedContent extensions for legacy reasons.
+
+
+
+
+ Helper method to return this ugly object
+
+
+
+ This is for legacy code, I didn't want to go creating custom classes for these
+
+
+
+
+ Helper method to deal with these ugly objects
+
+
+
+
+
+ This is for legacy code, I didn't want to go creating custom classes for these
+
+
+
+
+ Returns the DateTime as an ISO formatted string that is globally expectable
+
+
+
+
+
+
+
+ Method to Get a value by the key. If the key doesn't exist it will create a new TVal object for the key and return it.
+
+
+
+
+
+
+
+
+
+ Updates an item with the specified key with the specified value
+
+
+
+
+
+
+
+
+ Taken from: http://stackoverflow.com/questions/12240219/is-there-a-way-to-use-concurrentdictionary-tryupdate-with-a-lambda-expression
+
+ If there is an item in the dictionary with the key, it will keep trying to update it until it can
+
+
+
+
+ Updates an item with the specified key with the specified value
+
+
+
+
+
+
+
+
+ Taken from: http://stackoverflow.com/questions/12240219/is-there-a-way-to-use-concurrentdictionary-tryupdate-with-a-lambda-expression
+
+ WARNING: If the value changes after we've retreived it, then the item will not be updated
+
+
+
+
+ Converts a dictionary to another type by only using direct casting
+
+
+
+
+
+
+
+
+ Converts a dictionary to another type using the specified converters
+
+
+
+
+
+
+
+
+
+
+ Converts a dictionary to a NameValueCollection
+
+
+
+
+
+
+ Merges all key/values from the sources dictionaries into the destination dictionary
+
+
+
+
+ The source dictionary to merge other dictionaries into
+
+ By default all values will be retained in the destination if the same keys exist in the sources but
+ this can changed if overwrite = true, then any key/value found in any of the sources will overwritten in the destination. Note that
+ it will just use the last found key/value if this is true.
+
+ The other dictionaries to merge values from
+
+
+
+ Merges all key/values from the sources dictionaries into the destination dictionary
+
+
+
+
+ The source dictionary to merge other dictionaries into
+
+ By default all values will be retained in the destination if the same keys exist in the sources but
+ this can changed if overwrite = true, then any key/value found in any of the sources will overwritten in the destination. Note that
+ it will just use the last found key/value if this is true.
+
+ The other dictionary to merge values from
+
+
+
+ Returns the value of the key value based on the key, if the key is not found, a null value is returned
+
+ The type of the key.
+ The type of the val.
+ The d.
+ The key.
+ The default value.
+
+
+
+
+ Returns the value of the key value based on the key as it's string value, if the key is not found, then an empty string is returned
+
+
+
+
+
+
+
+ Returns the value of the key value based on the key as it's string value, if the key is not found or is an empty string, then the provided default value is returned
+
+
+
+
+
+
+
+ contains key ignore case.
+ The dictionary.
+ The key.
+ Value Type
+ The contains key ignore case.
+
+
+
+ The get entry ignore case.
+ The dictionary.
+ The key.
+ The type
+ The entry
+
+
+ The get entry ignore case.
+ The dictionary.
+ The key.
+ The default value.
+ The type
+ The entry
+
+
+
+ Resolves the current CultureDictionaryFactory
+
+
+
+
+ The base class for all single-object resolvers.
+
+ The type of the concrete resolver class.
+ The type of the resolved object.
+
+ Resolves "single" objects ie objects for which there is only one application-wide instance, such as the MVC Controller factory.
+
+
+
+
+ The base class for all resolvers.
+
+ The type of the concrete resolver class.
+ Provides singleton management to all resolvers.
+
+
+
+ Base non-generic class for resolvers
+
+
+
+
+ The underlying singleton object instance
+
+
+
+
+ The lock for the singleton.
+
+
+ Though resharper says this is in error, it is actually correct. We want a different lock object for each generic type.
+ See this for details: http://confluence.jetbrains.net/display/ReSharper/Static+field+in+generic+type
+
+
+
+
+ Constructor set the reset action for the underlying object
+
+
+
+
+ Resets the resolver singleton instance to null.
+
+
+ To be used in unit tests. DO NOT USE THIS DURING PRODUCTION.
+
+
+ By default this is true because we always need to reset resolution before we reset a resolver, however in some insanely rare cases like unit testing you might not want to do this.
+
+
+
+
+ Gets or sets the resolver singleton instance.
+
+ The value can be set only once, and cannot be read before it has been set.
+ value is read before it has been set, or value is set again once it has already been set.
+ value is null.
+
+
+
+ Gets a value indicating whether a the singleton instance has been set.
+
+
+
+
+ Initialize a new instance of the class.
+
+ By default CanBeNull is false, so Value has to be initialized before being read,
+ otherwise an exception will be thrown when reading it.
+
+
+
+ Initialize a new instance of the class with an instance of the resolved object.
+
+ An instance of the resolved object.
+ By default CanBeNull is false, so value has to be non-null, or Value has to be
+ initialized before being accessed, otherwise an exception will be thrown when reading it.
+
+
+
+ Initialize a new instance of the class with a value indicating whether the resolved object instance can be null.
+
+ A value indicating whether the resolved object instance can be null.
+ If CanBeNull is false, Value has to be initialized before being read,
+ otherwise an exception will be thrown when reading it.
+
+
+
+ Initialize a new instance of the class with an instance of the resolved object,
+ and a value indicating whether that instance can be null.
+
+ An instance of the resolved object.
+ A value indicating whether the resolved object instance can be null.
+ If CanBeNull is false, value has to be non-null, or Value has to be initialized before being read,
+ otherwise an exception will be thrown when reading it.
+
+
+
+ Gets or sets a value indicating whether the resolver can resolve objects before resolution is frozen.
+
+ This is false by default and is used for some special internal resolvers.
+
+
+
+ Gets a value indicating whether the resolved object instance can be null.
+
+
+
+
+ Gets a value indicating whether the resolved object instance is null.
+
+
+
+
+ Gets or sets the resolved object instance.
+
+
+ value is set to null, but cannot be null (CanBeNull is false).
+ value is read and is null, but cannot be null (CanBeNull is false),
+ or value is set (read) and resolution is (not) frozen.
+
+
+
+ Can be used by developers at runtime to set their ICultureDictionaryFactory at app startup
+
+
+
+
+
+ Returns the ICultureDictionaryFactory
+
+
+
+
+ A helper class to try invoke members, find properties, etc...
+
+
+
+
+ Attempts to invoke a member based on the dynamic instance
+
+
+
+ The object instance to invoke the extension method for
+
+
+
+
+ First tries to find a property with the binder name, if that fails it will try to find a static or instance method
+ on the object that matches the binder name
+
+
+
+
+ Attempts to invoke a member based on the dynamic instance
+
+
+
+ The object instance to invoke the extension method for
+
+
+ The types to scan for extension methods
+
+
+ First tries to find a property with the binder name, if that fails it will try to find a static or instance method
+ on the object that matches the binder name, if that fails it will then attempt to invoke an extension method
+ based on the binder name and the extension method types to scan.
+
+
+
+
+ Attempts to find an extension method that matches the name and arguments based on scanning the Type's passed in
+ to the findMethodsOnTypes parameter
+
+
+ The instance object to execute the extension method for
+
+
+
+
+
+
+
+ Used to return the raw xml string value from DynamicXml when using type converters
+
+
+
+
+ Used to return the raw xml XElement value from DynamicXml when using type converters
+
+
+
+
+ Used to return the raw xml XElement value from DynamicXml when using type converters
+
+
+
+
+ Used to return the raw xml XmlDocument value from DynamicXml when using type converters
+
+
+
+
+ A custom type converter for DynamicXml
+
+
+
+
+ Event args for that can support cancellation
+
+
+
+
+ if this instance supports cancellation, this will set Cancel to true with an affiliated cancellation message
+
+
+
+
+
+ Flag to determine if this instance will support being cancellable
+
+
+
+
+ If this instance supports cancellation, this gets/sets the cancel value
+
+
+
+
+ Returns the EventMessages object which is used to add messages to the message collection for this event
+
+
+
+
+ Event args for a strongly typed object that can support cancellation
+
+
+
+
+
+ Returns the object relating to the event
+
+
+ This is protected so that inheritors can expose it with their own name
+
+
+
+
+ The copied entity
+
+
+
+
+ The original entity
+
+
+
+
+ Gets or Sets the Id of the objects new parent.
+
+
+
+
+ Constructor accepting multiple entities that are used in the delete operation
+
+
+
+
+
+
+
+ Constructor accepting multiple entities that are used in the delete operation
+
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+
+
+ Constructor accepting multiple entities that are used in the delete operation
+
+
+
+
+
+
+ Constructor accepting multiple entities that are used in the delete operation
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+
+ Returns all entities that were deleted during the operation
+
+
+
+
+ A list of media files that can be added to during a deleted operation for which Umbraco will ensure are removed
+
+
+
+
+ Gets the Id of the object being deleted.
+
+
+
+
+ Returns true if we are deleting a specific revision
+
+
+
+
+ Extension methods for cancellable event operations
+
+
+
+
+ Raises the event and returns a boolean value indicating if the event was cancelled
+
+
+
+
+
+
+
+
+
+
+ Raises the event
+
+
+
+
+
+
+
+
+
+ An event message
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ This is used to track if this message should be used as a default message so that Umbraco doesn't also append it's own default messages
+
+
+
+
+ Event messages collection
+
+
+
+
+ Abstract implementation of IDisposable.
+
+
+ Can also be used as a pattern for when inheriting is not possible.
+
+ See also: https://msdn.microsoft.com/en-us/library/b1yfkh5e%28v=vs.110%29.aspx
+ See also: https://lostechies.com/chrispatterson/2012/11/29/idisposable-done-right/
+
+ Note: if an object's ctor throws, it will never be disposed, and so if that ctor
+ has allocated disposable objects, it should take care of disposing them.
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+
+
+ Constructor accepting a single entity instance
+ and cancellable by default
+
+
+
+
+
+
+ Returns all entities that were exported during the operation
+
+
+
+
+ Returns the xml relating to the export event
+
+
+
+
+ Event messages factory
+
+
+
+
+ Constructor accepting an XElement with the xml being imported
+
+
+
+
+
+ Constructor accepting a list of entities and an XElement with the imported xml
+
+
+
+
+
+
+
+ Returns all entities that were imported during the operation
+
+
+
+
+ Returns the xml relating to the import event
+
+
+
+
+ The type of event message
+
+
+
+
+ Constructor accepting multiple migrations that are used in the migration runner
+
+
+
+
+
+
+
+
+ Constructor accepting multiple migrations that are used in the migration runner
+
+
+
+
+
+
+
+
+
+ Constructor accepting multiple migrations that are used in the migration runner
+
+
+
+
+
+
+
+ Returns all migrations that were used in the migration runner
+
+
+
+
+ Constructor accepting multiple entities that are used in the publish operation
+
+
+
+
+
+
+
+
+ Constructor accepting multiple entities that are used in the publish operation
+
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+
+
+
+ Constructor accepting multiple entities that are used in the publish operation
+
+
+
+
+
+
+
+ Constructor accepting multiple entities that are used in the publish operation
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+
+
+ Returns all entities that were published during the operation
+
+
+
+
+ Backwards compatibility constructor
+
+
+
+
+
+
+
+
+ Backwards compatibility constructor
+
+
+
+
+
+
+
+ Gets the Id of the node object type of the items
+ being deleted from the Recycle Bin.
+
+
+
+
+ Gets the list of Ids for each of the items being deleted from the Recycle Bin.
+
+
+
+
+ Gets the list of Files that should be deleted as part
+ of emptying the Recycle Bin.
+
+
+ This list can be appended to during an event handling operation, generally this is done based on the property data contained in these event args
+
+
+
+
+ Gets the list of all property data associated with a content id
+
+
+
+
+ Boolean indicating whether the Recycle Bin was emptied successfully
+
+
+
+
+ Boolean indicating whether this event was fired for the Content's Recycle Bin.
+
+
+
+
+ Boolean indicating whether this event was fired for the Media's Recycle Bin.
+
+
+
+
+ A simple/default transient messages factory
+
+
+
+
+ Constructor accepting a collection of MoveEventInfo objects
+
+
+
+
+ A colleciton of MoveEventInfo objects that exposes all entities that have been moved during a single move operation
+
+
+
+
+ Constructor accepting a collection of MoveEventInfo objects
+
+
+
+ A colleciton of MoveEventInfo objects that exposes all entities that have been moved during a single move operation
+
+
+
+
+ Constructor accepting a collection of MoveEventInfo objects
+
+
+
+ A colleciton of MoveEventInfo objects that exposes all entities that have been moved during a single move operation
+
+
+
+
+ Constructor accepting a collection of MoveEventInfo objects
+
+
+ A colleciton of MoveEventInfo objects that exposes all entities that have been moved during a single move operation
+
+
+
+
+ Gets all MoveEventInfo objects used to create the object
+
+
+
+
+ The entity being moved
+
+
+
+
+ Gets the Id of the object's new parent
+
+
+
+
+ The entity being created
+
+
+
+
+ Gets or Sets the Alias.
+
+
+
+
+ Gets or Sets the Id of the parent.
+
+
+
+
+ Gets or Sets the parent IContent object.
+
+
+
+
+ The entity being rolledback
+
+
+
+
+ Constructor accepting multiple entities that are used in the saving operation
+
+
+
+
+
+
+
+ Constructor accepting multiple entities that are used in the saving operation
+
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+
+
+ Constructor accepting multiple entities that are used in the saving operation
+
+
+
+
+
+
+ Constructor accepting multiple entities that are used in the saving operation
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+ Constructor accepting a single entity instance
+
+
+
+
+
+
+ Returns all entities that were saved during the operation
+
+
+
+
+ The entity being sent to publish
+
+
+
+
+ An exception that is thrown if the umbraco application cannnot boot
+
+
+
+
+ Initializes a new instance of the class with a specified error message.
+
+ The message that describes the error.
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to <?xml version="1.0"?>
+
+ <!-- Blocks public downloading of anything in this folder and sub folders -->
+
+ <configuration>
+ <system.web>
+ <httpHandlers>
+ <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
+ </httpHandlers>
+ </system.web>
+ <system.webServer>
+ <validation validateIntegratedModeConfiguration="false" />
+ <handlers>
+ <remove name="BlockViewHandler"/>
+ <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.H [rest of string was truncated]";.
+
+
+
+
+ Used to notify the TypeFinder to ignore any class attributed with this during it's discovery
+
+
+
+
+ Any class implementing this interface that is added to the httpcontext.items keys or values will be disposed of at the end of the request.
+
+
+
+
+ Based on https://github.com/cjbhaines/Log4Net.Async
+
+
+
+
+ The logger name that will be used for logging internal errors.
+
+
+
+
+ Based on https://github.com/cjbhaines/Log4Net.Async
+
+
+
+
+ Based on https://github.com/cjbhaines/Log4Net.Async
+
+
+
+
+ Aggregates most logging patterns to a single method. This must be compatible with the Func representation in the OWIN environment.
+ To check IsEnabled call WriteCore with only TraceEventType and check the return value, no event will be written.
+
+
+
+
+
+
+ Creates a new ILogger instance of the given name.
+
+
+
+
+
+
+ An asynchronous appender based on
+
+
+ Based on https://github.com/cjbhaines/Log4Net.Async
+
+
+
+
+ Iterates over a BlockingCollection containing LoggingEvents.
+
+
+
+
+ Gets or sets the number of LoggingEvents that will be buffered. Set to null for unlimited.
+
+
+
+
+ Gets or sets the time period in which the system will wait for appenders to flush before canceling the background task.
+
+
+
+
+ Ensures that virtual paths are taken care of
+
+
+
+
+ Create an instance of objectType, based properties in the JSON object
+
+ type of object expected
+ contents of JSON object that will be deserialized
+
+
+
+
+ Base Abstract Entity
+
+
+
+
+ A base class for use to implement IRememberBeingDirty/ICanBeDirty
+
+
+
+
+ An interface that defines if the object is tracking property changes and that is is also
+ remembering what property changes had been made after the changes were committed.
+
+
+
+
+ An interface that defines the object is tracking property changes and if it is Dirty
+
+
+
+
+ Tracks the properties that have changed
+
+
+
+
+ Tracks the properties that we're changed before the last commit (or last call to ResetDirtyProperties)
+
+
+
+
+ Method to call on a property setter.
+
+ The property info.
+
+
+
+ Indicates whether a specific property on the current entity is dirty.
+
+ Name of the property to check
+ True if Property is dirty, otherwise False
+
+
+
+ Indicates whether the current entity is dirty.
+
+ True if entity is dirty, otherwise False
+
+
+
+ Indicates that the entity had been changed and the changes were committed
+
+
+
+
+
+ Indicates whether a specific property on the current entity was changed and the changes were committed
+
+ Name of the property to check
+ True if Property was changed, otherwise False. Returns false if the entity had not been previously changed.
+
+
+
+ Resets the remembered dirty properties from before the last commit
+
+
+
+
+ Resets dirty properties by clearing the dictionary used to track changes.
+
+
+ Please note that resetting the dirty properties could potentially
+ obstruct the saving of a new or updated entity.
+
+
+
+
+ Resets dirty properties by clearing the dictionary used to track changes.
+
+
+ true if we are to remember the last changes made after resetting
+
+
+ Please note that resetting the dirty properties could potentially
+ obstruct the saving of a new or updated entity.
+
+
+
+
+ Used by inheritors to set the value of properties, this will detect if the property value actually changed and if it did
+ it will ensure that the property has a dirty flag set.
+
+
+
+
+ returns true if the value changed
+
+ This is required because we don't want a property to show up as "dirty" if the value is the same. For example, when we
+ save a document type, nearly all properties are flagged as dirty just because we've 'reset' them, but they are all set
+ to the same value, so it's really not dirty.
+
+
+
+
+ Used by inheritors to set the value of properties, this will detect if the property value actually changed and if it did
+ it will ensure that the property has a dirty flag set.
+
+
+
+
+ The equality comparer to use
+ returns true if the value changed
+
+ This is required because we don't want a property to show up as "dirty" if the value is the same. For example, when we
+ save a document type, nearly all properties are flagged as dirty just because we've 'reset' them, but they are all set
+ to the same value, so it's really not dirty.
+
+
+
+
+ Property changed event
+
+
+
+
+ Defines an Entity.
+ Entities should always have an Id, Created and Modified date
+
+ The current database schema doesn't provide a modified date
+ for all entities, so this will have to be changed at a later stage.
+
+
+
+ The Id of the entity
+
+
+
+
+ Guid based Id
+
+ The key is currectly used to store the Unique Id from the
+ umbracoNode table, which many of the entities are based on.
+
+
+
+ Gets or sets the Created Date
+
+
+
+
+ Gets or sets the Modified Date
+
+
+
+
+ Indicates whether the current entity has an identity, eg. Id.
+
+
+
+
+ Method to call on entity saved when first added
+
+
+
+
+ Method to call on entity saved/updated
+
+
+
+
+ Integer Id
+
+
+
+
+ Guid based Id
+
+ The key is currectly used to store the Unique Id from the
+ umbracoNode table, which many of the entities are based on.
+
+
+
+ Gets or sets the Created Date
+
+
+
+
+ Gets or sets the WasCancelled flag, which is used to track
+ whether some action against an entity was cancelled through some event.
+ This only exists so we have a way to check if an event was cancelled through
+ the new api, which also needs to take effect in the legacy api.
+
+
+
+
+ Gets or sets the Modified Date
+
+
+
+
+ Indicates whether the current entity has an identity, eg. Id.
+
+
+
+
+ Marker interface for aggregate roots
+
+
+
+
+ Enums for vailable types of auditing
+
+
+
+
+ Used when new nodes are added
+
+
+
+
+ Used when nodes are saved
+
+
+
+
+ Used when nodes are opened
+
+
+
+
+ Used when nodes are deleted
+
+
+
+
+ Used when nodes are published
+
+
+
+
+ Used when nodes are send to publishing
+
+
+
+
+ Used when nodes are unpublished
+
+
+
+
+ Used when nodes are moved
+
+
+
+
+ Used when nodes are copied
+
+
+
+
+ Used when nodes are assígned a domain
+
+
+
+
+ Used when public access are changed for a node
+
+
+
+
+ Used when nodes are sorted
+
+
+
+
+ Used when a notification are send to a user
+
+
+
+
+ General system notification
+
+
+
+
+ Used when a node's content is rolled back to a previous version
+
+
+
+
+ Used when a package is installed
+
+
+
+
+ Used when a package is uninstalled
+
+
+
+
+ Used when a node is send to translation
+
+
+
+
+ Use this log action for custom log messages that should be shown in the audit trail
+
+
+
+
+ Used to declare a mapper configuration
+
+
+ Use this class if your mapper configuration isn't also explicitly an ApplicationEventHandler.
+
+
+
+
+ This is used to explicitly decorate any ApplicationEventHandler class if there are
+ AutoMapper configurations defined.
+
+
+ All automapper configurations are done during startup
+ inside an Automapper Initialize call which is better for performance
+
+
+
+
+ Default IUser implementation
+
+
+
+ This class normally exists inside of the EntityFramework library, not sure why MS chose to explicitly put it there but we don't want
+ references to that so we will create our own here
+
+
+
+
+ Constructor
+
+
+
+
+
+ Email
+
+
+
+
+
+ True if the email is confirmed, default is false
+
+
+
+
+
+ The salted/hashed form of the user password
+
+
+
+
+
+ A random value that should change whenever a users credentials have changed (password changed, login removed)
+
+
+
+
+
+ PhoneNumber for the user
+
+
+
+
+
+ True if the phone number is confirmed, default is false
+
+
+
+
+
+ Is two factor enabled for the user
+
+
+
+
+
+ DateTime in UTC when lockout ends, any time in the past is considered not locked out.
+
+
+
+
+
+ Is lockout enabled for this user
+
+
+
+
+
+ Used to record failures for the purposes of lockout
+
+
+
+
+
+ Navigation property for user roles
+
+
+
+
+
+ Navigation property for user claims
+
+
+
+
+
+ Navigation property for user logins
+
+
+
+
+
+ User ID (Primary Key)
+
+
+
+
+
+ User name
+
+
+
+
+
+ EntityType that represents one specific user claim
+
+
+
+
+ This class normally exists inside of the EntityFramework library, not sure why MS chose to explicitly put it there but we don't want
+ references to that so we will create our own here
+
+
+
+
+ Primary key
+
+
+
+
+
+ User Id for the user who owns this login
+
+
+
+
+
+ Claim type
+
+
+
+
+
+ Claim value
+
+
+
+
+
+ Entity type for a user's login (i.e. facebook, google)
+
+
+
+
+
+ The login provider for the login (i.e. facebook, google)
+
+
+
+
+
+ Key representing the login for the provider
+
+
+
+
+
+ User Id for the user who owns this login
+
+
+
+
+
+ The login provider for the login (i.e. facebook, google)
+
+
+
+
+
+ Key representing the login for the provider
+
+
+
+
+
+ User Id for the user who owns this login
+
+
+
+
+
+ EntityType that represents a user belonging to a role
+
+
+
+
+ This class normally exists inside of the EntityFramework library, not sure why MS chose to explicitly put it there but we don't want
+ references to that so we will create our own here
+
+
+
+
+ UserId for the user that is in the role
+
+
+
+
+
+ RoleId for the role
+
+
+
+
+
+ Used to set a lazy call back to populate the user's Login list
+
+
+
+
+
+ Gets/sets the user's real name
+
+
+
+
+ Lockout is always enabled
+
+
+
+
+ Based on the user's lockout end date, this will determine if they are locked out
+
+
+
+
+ Overridden to make the retrieval lazy
+
+
+
+
+ Represents a cached content with a GUID key.
+
+ This is temporary, because we cannot add the Key property to IPublishedContent without
+ breaking backward compatibility. With v8, it will be merged into IPublishedContent.
+
+
+
+ Represents a cached content.
+
+
+ SD: A replacement for INode which needs to occur since INode doesn't contain the document type alias
+ and INode is poorly formatted with mutable properties (i.e. Lists instead of IEnumerable).
+ Stephan: initially, that was for cached published content only. Now, we're using it also for
+ cached preview (so, maybe unpublished) content. A better name would therefore be ICachedContent, as
+ has been suggested. However, can't change now. Maybe in v7?
+
+
+
+
+ Gets the index of the published content within its current owning content set.
+
+ The index of the published content within its current owning content set.
+
+
+
+ Gets a property identified by its alias.
+
+ The property alias.
+ The property identified by the alias.
+
+ If the content type has no property with that alias, including inherited properties, returns null,
+ otherwise return a property -- that may have no value (ie HasValue is false).
+ The alias is case-insensitive.
+
+
+
+
+ Gets a property identified by its alias.
+
+ The property alias.
+ A value indicating whether to navigate the tree upwards until a property with a value is found.
+ The property identified by the alias.
+
+ Navigate the tree upwards and look for a property with that alias and with a value (ie HasValue is true).
+ If found, return the property. If no property with that alias is found, having a value or not, return null. Otherwise
+ return the first property that was found with the alias but had no value (ie HasValue is false).
+ The alias is case-insensitive.
+
+
+
+
+ Gets the content set to which the content belongs.
+
+ The default set consists in the siblings of the content (including the content
+ itself) ordered by sortOrder.
+
+
+
+ Gets the content type.
+
+
+
+
+ Gets a value indicating whether the content is a content (aka a document) or a media.
+
+
+
+
+ Gets a value indicating whether the content is draft.
+
+ A content is draft when it is the unpublished version of a content, which may
+ have a published version, or not.
+
+
+
+ Gets the parent of the content.
+
+ The parent of root content is null.
+
+
+
+ Gets the children of the content.
+
+ Children are sorted by their sortOrder.
+
+
+
+ Gets the properties of the content.
+
+
+ Contains one IPublishedProperty for each property defined for the content type, including
+ inherited properties. Some properties may have no value.
+ The properties collection of an IPublishedContent instance should be read-only ie it is illegal
+ to add properties to the collection.
+
+
+
+
+ Gets the value of a property identified by its alias.
+
+ The property alias.
+ The value of the property identified by the alias.
+
+ If GetProperty(alias) is null then returns null else return GetProperty(alias).Value.
+ So if the property has no value, returns the default value for that property type.
+ This one is defined here really because we cannot define index extension methods, but all it should do is:
+ var p = GetProperty(alias); return p == null ? null : p.Value; and nothing else.
+ The recursive syntax (eg "_title") is _not_ supported here.
+ The alias is case-insensitive.
+
+
+
+
+ Provides the address of a server.
+
+
+
+
+ Gets the server address.
+
+
+
+
+ Gets or sets the server unique identity.
+
+
+
+
+ Gets or sets a value indicating whether the server is active.
+
+
+
+
+ Gets or sets a value indicating whether the server is master.
+
+
+
+
+ Gets the date and time the registration was created.
+
+
+
+
+ Gets the date and time the registration was last accessed.
+
+
+
+
+ Method to call on entity saved when first added
+
+
+
+
+ Method to call on entity saved when first added
+
+
+
+
+ Provides an abstract base class for IPublishedContent implementations that
+ wrap and extend another IPublishedContent.
+
+
+
+
+ Initialize a new instance of the class
+ with an IPublishedContent instance to wrap and extend.
+
+ The content to wrap and extend.
+
+
+
+ Gets the wrapped content.
+
+ The wrapped content, that was passed as an argument to the constructor.
+
+
+
+ Provides methods to handle extended content.
+
+
+
+
+ Adds a property to the extended content.
+
+ The property to add.
+
+
+
+ Sets the content set of the extended content.
+
+
+
+
+
+ Resets the content set of the extended content.
+
+
+
+
+ Sets the index of the extended content.
+
+ The index value.
+
+
+
+ Resets the index of the extended content.
+
+
+
+
+ Gets a value indicating whether properties were added to the extended content.
+
+
+
+
+ Represents a strongly-typed published content.
+
+ Every strongly-typed published content class should inherit from PublishedContentModel
+ (or inherit from a class that inherits from... etc.) so they are picked by the factory.
+
+
+
+ Initializes a new instance of the class with
+ an original instance.
+
+ The original content.
+
+
+
+ Provides an abstract base class for IPublishedContentWithKey implementations that
+ wrap and extend another IPublishedContentWithKey.
+
+
+
+
+ An endian-aware converter for converting between base data types
+ and an array of bytes.
+
+
+
+
+ Converts the given array of bytes to a Unicode character.
+
+
+
+
+ Converts the given array of bytes to a 16-bit unsigned integer.
+
+
+
+
+ Converts the given array of bytes to a 32-bit unsigned integer.
+
+
+
+
+ Converts the given array of bytes to a 64-bit unsigned integer.
+
+
+
+
+ Converts the given array of bytes to a 16-bit signed integer.
+
+
+
+
+ Converts the given array of bytes to a 32-bit signed integer.
+
+
+
+
+ Converts the given array of bytes to a 64-bit signed integer.
+
+
+
+
+ Converts the given array of bytes to a single precision floating number.
+
+
+
+
+ Converts the given array of bytes to a double precision floating number.
+
+
+
+
+ Converts the given 16-bit unsigned integer to an array of bytes.
+
+
+
+
+ Converts the given 32-bit unsigned integer to an array of bytes.
+
+
+
+
+ Converts the given 64-bit unsigned integer to an array of bytes.
+
+
+
+
+ Converts the given 16-bit signed integer to an array of bytes.
+
+
+
+
+ Converts the given 32-bit signed integer to an array of bytes.
+
+
+
+
+ Converts the given 64-bit signed integer to an array of bytes.
+
+
+
+
+ Converts the given single precision floating-point number to an array of bytes.
+
+
+
+
+ Converts the given double precision floating-point number to an array of bytes.
+
+
+
+
+ Converts the given array of bytes to a 16-bit unsigned integer.
+
+
+
+
+ Converts the given array of bytes to a 16-bit unsigned integer.
+
+
+
+
+ Converts the given array of bytes to a 32-bit unsigned integer.
+
+
+
+
+ Converts the given array of bytes to a 64-bit unsigned integer.
+
+
+
+
+ Converts the given array of bytes to a 16-bit signed integer.
+
+
+
+
+ Converts the given array of bytes to a 32-bit signed integer.
+
+
+
+
+ Converts the given array of bytes to a 64-bit signed integer.
+
+
+
+
+ Converts the given array of bytes to a single precision floating number.
+
+
+
+
+ Converts the given array of bytes to a double precision floating number.
+
+
+
+
+ Converts the given 16-bit unsigned integer to an array of bytes.
+
+
+
+
+ Converts the given 32-bit unsigned integer to an array of bytes.
+
+
+
+
+ Converts the given 64-bit unsigned integer to an array of bytes.
+
+
+
+
+ Converts the given 16-bit signed integer to an array of bytes.
+
+
+
+
+ Converts the given 32-bit signed integer to an array of bytes.
+
+
+
+
+ Converts the given 64-bit signed integer to an array of bytes.
+
+
+
+
+ Converts the given single precision floating-point number to an array of bytes.
+
+
+
+
+ Converts the given double precision floating-point number to an array of bytes.
+
+
+
+
+ Reverse the array of bytes as needed.
+
+
+
+
+ Reverse the array of bytes as needed.
+
+
+
+
+ Indicates the byte order in which data is stored in this platform.
+
+
+
+
+ Returns a bit converter that converts between little-endian and system byte-order.
+
+
+
+
+ Returns a bit converter that converts between big-endian and system byte-order.
+
+
+
+
+ Returns a bit converter that does not do any byte-order conversion.
+
+
+
+
+ Represents the byte order.
+
+
+
+
+ Converts between exif data types and array of bytes.
+
+
+
+
+ Returns an ASCII string converted from the given byte array.
+
+
+
+
+ Returns an ASCII string converted from the given byte array.
+
+
+
+
+ Returns a string converted from the given byte array.
+ from the numeric value of each byte.
+
+
+
+
+ Returns a DateTime object converted from the given byte array.
+
+
+
+
+ Returns a DateTime object converted from the given byte array.
+
+
+
+
+ Returns an unsigned rational number converted from the first
+ eight bytes of the given byte array. The first four bytes are
+ assumed to be the numerator and the next four bytes are the
+ denumerator.
+ Numbers are converted from the given byte-order to platform byte-order.
+
+
+
+
+ Returns a signed rational number converted from the first
+ eight bytes of the given byte array. The first four bytes are
+ assumed to be the numerator and the next four bytes are the
+ denumerator.
+ Numbers are converted from the given byte-order to platform byte-order.
+
+
+
+
+ Returns an array of 16-bit unsigned integers converted from
+ the given byte array.
+ Numbers are converted from the given byte-order to platform byte-order.
+
+
+
+
+ Returns an array of 32-bit unsigned integers converted from
+ the given byte array.
+ Numbers are converted from the given byte-order to platform byte-order.
+
+
+
+
+ Returns an array of 32-bit signed integers converted from
+ the given byte array.
+ Numbers are converted from the given byte-order to platform byte-order.
+
+
+
+
+ Returns an array of unsigned rational numbers converted from
+ the given byte array.
+ Numbers are converted from the given byte-order to platform byte-order.
+
+
+
+
+ Returns an array of signed rational numbers converted from
+ the given byte array.
+ Numbers are converted from the given byte-order to platform byte-order.
+
+
+
+
+ Converts the given ascii string to an array of bytes optionally adding a null terminator.
+
+
+
+
+ Converts the given ascii string to an array of bytes without adding a null terminator.
+
+
+
+
+ Converts the given datetime to an array of bytes with a null terminator.
+
+
+
+
+ Converts the given unsigned rational number to an array of bytes.
+ Numbers are converted from the platform byte-order to the given byte-order.
+
+
+
+
+ Converts the given signed rational number to an array of bytes.
+ Numbers are converted from the platform byte-order to the given byte-order.
+
+
+
+
+ Converts the given array of 16-bit unsigned integers to an array of bytes.
+ Numbers are converted from the platform byte-order to the given byte-order.
+
+
+
+
+ Converts the given array of 32-bit unsigned integers to an array of bytes.
+ Numbers are converted from the platform byte-order to the given byte-order.
+
+
+
+
+ Converts the given array of 32-bit signed integers to an array of bytes.
+ Numbers are converted from the platform byte-order to the given byte-order.
+
+
+
+
+ Converts the given array of unsigned rationals to an array of bytes.
+ Numbers are converted from the platform byte-order to the given byte-order.
+
+
+
+
+ Converts the given array of signed rationals to an array of bytes.
+ Numbers are converted from the platform byte-order to the given byte-order.
+
+
+
+
+ Biased toward depth of field.
+
+
+
+
+ Biased toward fast shutter speed.
+
+
+
+
+ For closeup photos with the background out of focus.
+
+
+
+
+ For landscape photos with the background in focus.
+
+
+
+
+ D 5700 – 7100K
+
+
+
+
+ N 4600 – 5400K
+
+
+
+
+ W 3900 – 4500K
+
+
+
+
+ WW 3200 – 3700K
+
+
+
+
+ The exception that is thrown when the format of the JPEG/Exif file
+ could not be understood.
+
+
+
+
+ The exception that is thrown when the IFD section ID could not be understood.
+
+
+
+
+ The exception that is thrown when an invalid enum type is given to an
+ ExifEnumProperty.
+
+
+
+
+ The exception that is thrown when the 0th IFD section does not contain any fields.
+
+
+
+
+ Represents an enumerated value.
+
+
+
+
+ Represents the abstract base class for an Exif property.
+
+
+
+
+ Gets the Exif tag associated with this property.
+
+
+
+
+ Gets the IFD section contaning this property.
+
+
+
+
+ Gets or sets the name of this property.
+
+
+
+
+ Gets or sets the value of this property.
+
+
+
+
+ Gets interoperability data for this property.
+
+
+
+
+ Represents an ASCII string. (EXIF Specification: UNDEFINED) Used for the UserComment field.
+
+
+
+
+ Represents an ASCII string formatted as DateTime. (EXIF Specification: ASCII) Used for the date time fields.
+
+
+
+
+ Represents the exif version as a 4 byte ASCII string. (EXIF Specification: UNDEFINED)
+ Used for the ExifVersion, FlashpixVersion, InteroperabilityVersion and GPSVersionID fields.
+
+
+
+
+ Represents the location and area of the subject (EXIF Specification: 2xSHORT)
+ The coordinate values, width, and height are expressed in relation to the
+ upper left as origin, prior to rotation processing as per the Rotation tag.
+
+
+
+
+ Represents an array of 16-bit unsigned integers.
+ (EXIF Specification: SHORT with count > 1)
+
+
+
+
+ Represents the location and area of the subject (EXIF Specification: 3xSHORT)
+ The coordinate values, width, and height are expressed in relation to the
+ upper left as origin, prior to rotation processing as per the Rotation tag.
+
+
+
+
+ Represents the location and area of the subject (EXIF Specification: 4xSHORT)
+ The coordinate values, width, and height are expressed in relation to the
+ upper left as origin, prior to rotation processing as per the Rotation tag.
+
+
+
+
+ Represents GPS latitudes and longitudes (EXIF Specification: 3xRATIONAL)
+
+
+
+
+ Represents an array of unsigned rational numbers.
+ (EXIF Specification: RATIONAL with count > 1)
+
+
+
+
+ Represents a GPS time stamp as UTC (EXIF Specification: 3xRATIONAL)
+
+
+
+
+ Represents an ASCII string. (EXIF Specification: BYTE)
+ Used by Windows XP.
+
+
+
+
+ Provides a custom type descriptor for an ExifFile instance.
+
+
+
+
+ Gets a custom type descriptor for the given type and object.
+
+ The type of object for which to retrieve the type descriptor.
+ An instance of the type. Can be null if no instance was passed to the .
+
+ An that can provide metadata for the type.
+
+
+
+
+ Expands ExifProperty objects contained in an ExifFile as separate properties.
+
+
+
+
+ Returns a collection of property descriptors for the object represented by this type descriptor.
+
+
+ A containing the property descriptions for the object represented by this type descriptor. The default is .
+
+
+
+
+ Represents interoperability data for an exif tag in the platform byte order.
+
+
+
+
+ Returns the string representation of this instance.
+
+
+
+
+
+ Gets the tag ID defined in the Exif standard.
+
+
+
+
+ Gets the type code defined in the Exif standard.
+
+ 1 = BYTE (byte)
+ 2 = ASCII (byte array)
+ 3 = SHORT (ushort)
+ 4 = LONG (uint)
+ 5 = RATIONAL (2 x uint: numerator, denominator)
+ 6 = BYTE (sbyte)
+ 7 = UNDEFINED (byte array)
+ 8 = SSHORT (short)
+ 9 = SLONG (int)
+ 10 = SRATIONAL (2 x int: numerator, denominator)
+ 11 = FLOAT (float)
+ 12 = DOUBLE (double)
+
+
+
+
+
+ Gets the byte count or number of components.
+
+
+
+
+ Gets the field value as an array of bytes.
+
+
+
+
+ Represents an 8-bit unsigned integer. (EXIF Specification: BYTE)
+
+
+
+
+ Represents an array of 8-bit unsigned integers. (EXIF Specification: BYTE with count > 1)
+
+
+
+
+ Represents an ASCII string. (EXIF Specification: ASCII)
+
+
+
+
+ Represents a 16-bit unsigned integer. (EXIF Specification: SHORT)
+
+
+
+
+ Represents a 32-bit unsigned integer. (EXIF Specification: LONG)
+
+
+
+
+ Represents an array of 16-bit unsigned integers.
+ (EXIF Specification: LONG with count > 1)
+
+
+
+
+ Represents a rational number defined with a 32-bit unsigned numerator
+ and denominator. (EXIF Specification: RATIONAL)
+
+
+
+
+ Represents a byte array that can take any value. (EXIF Specification: UNDEFINED)
+
+
+
+
+ Represents a 32-bit signed integer. (EXIF Specification: SLONG)
+
+
+
+
+ Represents an array of 32-bit signed integers.
+ (EXIF Specification: SLONG with count > 1)
+
+
+
+
+ Represents a rational number defined with a 32-bit signed numerator
+ and denominator. (EXIF Specification: SRATIONAL)
+
+
+
+
+ Represents an array of signed rational numbers.
+ (EXIF Specification: SRATIONAL with count > 1)
+
+
+
+
+ Represents a collection of objects.
+
+
+
+
+ Sets the with the specified key.
+
+ The tag to set.
+ The value of tag.
+
+
+
+ Sets the with the specified key.
+
+ The tag to set.
+ The value of tag.
+
+
+
+ Sets the with the specified key.
+
+ The tag to set.
+ The value of tag.
+
+
+
+ Sets the with the specified key.
+
+ The tag to set.
+ The value of tag.
+
+
+
+ Sets the with the specified key.
+
+ The tag to set.
+ The value of tag.
+
+
+
+ Sets the with the specified key.
+
+ The tag to set.
+ The value of tag.
+
+
+
+ Sets the with the specified key.
+
+ The tag to set.
+ The value of tag.
+
+
+
+ Sets the with the specified key.
+
+ The tag to set.
+ The value of tag.
+
+
+
+ Sets the with the specified key.
+
+ The tag to set.
+ The value of tag.
+ String encoding.
+
+
+
+ Sets the with the specified key.
+
+ The tag to set.
+ The value of tag.
+
+
+
+ Sets the with the specified key.
+
+ The tag to set.
+ Angular degrees (or clock hours for a timestamp).
+ Angular minutes (or clock minutes for a timestamp).
+ Angular seconds (or clock seconds for a timestamp).
+
+
+
+ Adds the specified item to the collection.
+
+ The to add to the collection.
+
+
+
+ Removes all items from the collection.
+
+
+
+
+ Determines whether the collection contains an element with the specified key.
+
+ The key to locate in the collection.
+
+ true if the collection contains an element with the key; otherwise, false.
+
+
+ is null.
+
+
+
+ Removes the element with the specified key from the collection.
+
+ The key of the element to remove.
+
+ true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original collection.
+
+
+ is null.
+
+
+
+ Removes all items with the given IFD from the collection.
+
+ The IFD section to remove.
+
+
+
+ Gets the value associated with the specified key.
+
+ The key whose value to get.
+ When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized.
+
+ true if the collection contains an element with the specified key; otherwise, false.
+
+
+ is null.
+
+
+
+ Returns an enumerator that iterates through a collection.
+
+
+ An object that can be used to iterate through the collection.
+
+
+
+
+ Adds an element with the provided key and value to the .
+
+ The object to use as the key of the element to add.
+ The object to use as the value of the element to add.
+
+ is null.
+ An element with the same key already exists in the .
+ The is read-only.
+
+
+
+ Adds an item to the .
+
+ The object to add to the .
+ The is read-only.
+
+
+
+ Copies the elements of the to an , starting at a particular index.
+
+ The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing.
+ The zero-based index in at which copying begins.
+
+ is null.
+
+ is less than 0.
+
+ is multidimensional.-or- is equal to or greater than the length of .-or-The number of elements in the source is greater than the available space from to the end of the destination .-or-Type cannot be cast automatically to the type of the destination .
+
+
+
+ Removes the first occurrence of a specific object from the .
+
+ The object to remove from the .
+
+ true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original .
+
+ The is read-only.
+
+
+
+ Returns an enumerator that iterates through a collection.
+
+
+ An object that can be used to iterate through the collection.
+
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Gets the number of elements contained in the collection.
+
+
+
+
+ Gets a collection containing the keys in this collection.
+
+
+
+
+ Gets a collection containing the values in this collection.
+
+
+
+
+ Gets or sets the with the specified key.
+
+
+
+
+ Gets a value indicating whether the is read-only.
+
+ true if the is read-only; otherwise, false.
+
+
+
+ Creates exif properties from interoperability parameters.
+
+
+
+
+ Creates an ExifProperty from the given interoperability parameters.
+
+ The tag id of the exif property.
+ The type id of the exif property.
+ Byte or component count.
+ Field data as an array of bytes.
+ Byte order of value.
+ IFD section containing this propery.
+ The encoding to be used for text metadata when the source encoding is unknown.
+ an ExifProperty initialized from the interoperability parameters.
+
+
+
+ Represents the tags associated with exif fields.
+
+
+
+
+ Represents the JFIF version.
+
+
+
+
+ Represents units for X and Y densities.
+
+
+
+
+ Horizontal pixel density.
+
+
+
+
+ Vertical pixel density
+
+
+
+
+ Thumbnail horizontal pixel count.
+
+
+
+
+ Thumbnail vertical pixel count.
+
+
+
+
+ JFIF JPEG thumbnail.
+
+
+
+
+ Code which identifies the JFIF extension.
+
+
+
+
+ Thumbnail horizontal pixel count.
+
+
+
+
+ Thumbnail vertical pixel count.
+
+
+
+
+ The 256-Color RGB palette.
+
+
+
+
+ JFIF thumbnail. The thumbnail will be either a JPEG,
+ a 256 color palette bitmap, or a 24-bit RGB bitmap.
+
+
+
+
+ Returns the ExifTag corresponding to the given tag id.
+
+
+
+
+ Returns the tag id corresponding to the given ExifTag.
+
+
+
+
+ Returns the IFD section containing the given tag.
+
+
+
+
+ Returns the string representation for the given exif tag.
+
+
+
+
+ Returns the string representation for the given tag id.
+
+
+
+
+ Returns the string representation for the given exif tag including
+ IFD section and tag id.
+
+
+
+
+ Readonly value of the language ISO code for the domain
+
+
+
+
+ Readonly value of the language ISO code for the domain
+
+
+
+
+ Used to attribute properties that have a setter and are a reference type
+ that should be ignored for cloning when using the DeepCloneHelper
+
+
+
+ This attribute must be used:
+ * when the property is backed by a field but the result of the property is the un-natural data stored in the field
+
+ This attribute should not be used:
+ * when the property is virtual
+ * when the setter performs additional required logic other than just setting the underlying field
+
+
+
+
+
+ Creates the model mappings for Tasks
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ This reinserts all migrations in the migrations table to account for initial rows inserted
+ on creation without identity enabled.
+
+
+
+
+ Marker interface for database migrations
+
+
+
+
+ Older corrupted dbs might have multiple published flags for a content item, this shouldn't be possible
+ so we need to clear the content flag on the older version
+
+
+
+
+ Represents the IFD section containing tags.
+
+
+
+
+ Represents the base class for image files.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Converts the to a .
+
+ Returns a containing image data.
+
+
+
+ Saves the to the specified file.
+
+ A string that contains the name of the file.
+
+
+
+ Saves the to the specified stream.
+
+ A to save image data to.
+
+
+
+ Creates an from the specified file.
+
+ A string that contains the name of the file.
+ The created from the file.
+
+
+
+ Creates an from the specified file.
+
+ A string that contains the name of the file.
+ The encoding to be used for text metadata when the source encoding is unknown.
+ The created from the file.
+
+
+
+ Creates an from the specified data stream.
+
+ A that contains image data.
+ The created from the file.
+
+
+
+ Creates an from the specified data stream.
+
+ A that contains image data.
+ The encoding to be used for text metadata when the source encoding is unknown.
+ The created from the file.
+
+
+
+ Returns the format of the .
+
+
+
+
+ Gets the collection of Exif properties contained in the .
+
+
+
+
+ Gets or sets the embedded thumbnail image.
+
+
+
+
+ Gets or sets the Exif property with the given key.
+
+ The Exif tag associated with the Exif property.
+
+
+
+ Gets the encoding used for text metadata when the source encoding is unknown.
+
+
+
+
+ Represents an image file directory.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Returns a initialized from the given byte data.
+
+ The data.
+ The offset into .
+ The byte order of .
+ A initialized from the given byte data.
+
+
+
+ The fields contained in this IFD.
+
+
+
+
+ Offset to the next IFD.
+
+
+
+
+ Compressed image data.
+
+
+
+
+ Represents an entry in the image file directory.
+
+
+
+
+ The tag that identifies the field.
+
+
+
+
+ Field type identifier.
+
+
+
+
+ Count of Type.
+
+
+
+
+ Field data.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The tag that identifies the field.
+ Field type identifier.
+ Count of Type.
+ Field data.
+
+
+
+ Returns a initialized from the given byte data.
+
+ The data.
+ The offset into .
+ The byte order of .
+ A initialized from the given byte data.
+
+
+
+ Gets the base byte length for the given type.
+
+ Type identifier.
+
+
+
+ Represents the format of the .
+
+
+
+
+ The file is not recognized.
+
+
+
+
+ The file is a JPEG/Exif or JPEG/JFIF file.
+
+
+
+
+ The file is a TIFF File.
+
+
+
+
+ Represents the units for the X and Y densities
+ for a JFIF file.
+
+
+
+
+ No units, XDensity and YDensity specify the pixel aspect ratio.
+
+
+
+
+ XDensity and YDensity are dots per inch.
+
+
+
+
+ XDensity and YDensity are dots per cm.
+
+
+
+
+ Represents the JFIF extension.
+
+
+
+
+ Thumbnail coded using JPEG.
+
+
+
+
+ Thumbnail stored using a 256-Color RGB palette.
+
+
+
+
+ Thumbnail stored using 3 bytes/pixel (24-bit) RGB values.
+
+
+
+
+ Represents the JFIF version as a 16 bit unsigned integer. (EXIF Specification: SHORT)
+
+
+
+
+ Gets the major version.
+
+
+
+
+ Gets the minor version.
+
+
+
+
+ Represents a JFIF thumbnail. (EXIF Specification: BYTE)
+
+
+
+
+ Represents a JFIF thumbnail.
+
+
+
+
+ Gets the 256 color RGB palette.
+
+
+
+
+ Gets raw image data.
+
+
+
+
+ Gets the image format.
+
+
+
+
+ The exception that is thrown when the format of the image file
+ could not be understood.
+
+
+
+
+ The exception that is thrown when the format of the image file
+ could not be understood.
+
+
+
+
+ The exception that is thrown when the format of the JPEG file
+ could not be understood.
+
+
+
+
+ The exception that is thrown when the format of the TIFF file
+ could not be understood.
+
+
+
+
+ The exception that is thrown when the format of the TIFF header
+ could not be understood.
+
+
+
+
+ The exception that is thrown when the length of a section exceeds 64 kB.
+
+
+
+
+ Represents the binary view of a JPEG compressed file.
+
+
+
+
+ Initializes a new instance of the class.
+
+ A that contains image data.
+ The encoding to be used for text metadata when the source encoding is unknown.
+
+
+
+ Saves the JPEG/Exif image to the given stream.
+
+ The path to the JPEG/Exif file.
+ Determines whether the maker note offset of
+ the original file will be preserved.
+
+
+
+ Saves the JPEG/Exif image with the given filename.
+
+ The path to the JPEG/Exif file.
+ Determines whether the maker note offset of
+ the original file will be preserved.
+
+
+
+ Saves the JPEG/Exif image with the given filename.
+
+ The path to the JPEG/Exif file.
+
+
+
+ Saves the JPEG/Exif image to the given stream.
+
+ The path to the JPEG/Exif file.
+
+
+
+ Returns a System.Drawing.Image created with image data.
+
+
+
+
+ Reads the APP0 section containing JFIF metadata.
+
+
+
+
+ Replaces the contents of the APP0 section with the JFIF properties.
+
+
+
+
+ Reads the APP0 section containing JFIF extension metadata.
+
+
+
+
+ Replaces the contents of the APP0 section with the JFIF extension properties.
+
+
+
+
+ Reads the APP1 section containing Exif metadata.
+
+
+
+
+ Replaces the contents of the APP1 section with the Exif properties.
+
+
+
+
+ Gets or sets the byte-order of the Exif properties.
+
+
+
+
+ Gets or sets the sections contained in the .
+
+
+
+
+ Gets or sets non-standard trailing data following the End of Image (EOI) marker.
+
+
+
+
+ Represents a JPEG marker byte.
+
+
+
+
+ Represents the memory view of a JPEG section.
+ A JPEG section is the data between markers of the JPEG file.
+
+
+
+
+ Constructs a JPEGSection represented by the marker byte and containing
+ the given data.
+
+ The marker byte representing the section.
+ Section data.
+ Entropy coded data.
+
+
+
+ Constructs a JPEGSection represented by the marker byte.
+
+ The marker byte representing the section.
+
+
+
+ Returns a string representation of the current section.
+
+ A System.String that represents the current section.
+
+
+
+ The marker byte representing the section.
+
+
+
+
+ Section header as a byte array. This is different from the header
+ definition in JPEG specification in that it does not include the
+ two byte section length.
+
+
+
+
+ For the SOS and RST markers, this contains the entropy coded data.
+
+
+
+
+ Contains extended Math functions.
+
+
+
+
+ Returns the greatest common divisor of two numbers.
+
+ First number.
+ Second number.
+
+
+
+ Returns the greatest common divisor of two numbers.
+
+ First number.
+ Second number.
+
+
+
+ Represents a generic rational number represented by 32-bit signed numerator and denominator.
+
+
+
+
+ Returns a value indicating whether the specified number evaluates to a value
+ that is not a number.
+
+ A fraction.
+ true if f evaluates to Fraction.NaN; otherwise, false.
+
+
+
+ Returns a value indicating whether the specified number evaluates to negative
+ infinity.
+
+ A fraction.
+ true if f evaluates to Fraction.NegativeInfinity; otherwise, false.
+
+
+
+ Returns a value indicating whether the specified number evaluates to positive
+ infinity.
+
+ A fraction.
+ true if f evaluates to Fraction.PositiveInfinity; otherwise, false.
+
+
+
+ Returns a value indicating whether the specified number evaluates to negative
+ or positive infinity.
+
+ A fraction.
+ true if f evaluates to Fraction.NegativeInfinity or Fraction.PositiveInfinity; otherwise, false.
+
+
+
+ Returns the multiplicative inverse of a given value.
+
+ A fraction.
+ Multiplicative inverse of f.
+
+
+
+ Converts the string representation of a fraction to a fraction object.
+
+ A string formatted as numerator/denominator
+ A fraction object converted from s.
+ s is null
+ s is not in the correct format
+
+ s represents a number less than System.UInt32.MinValue or greater than
+ System.UInt32.MaxValue.
+
+
+
+
+ Converts the string representation of a fraction to a fraction object.
+ A return value indicates whether the conversion succeeded.
+
+ A string formatted as numerator/denominator
+ true if s was converted successfully; otherwise, false.
+
+
+
+ Sets the value of this instance to the fraction represented
+ by the given numerator and denominator.
+
+ The new numerator.
+ The new denominator.
+
+
+
+ Indicates whether this instance and a specified object are equal value-wise.
+
+ Another object to compare to.
+ true if obj and this instance are the same type and represent
+ the same value; otherwise, false.
+
+
+
+ Indicates whether this instance and a specified object are equal value-wise.
+
+ Another fraction object to compare to.
+ true if obj and this instance represent the same value;
+ otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer that is the hash code for this instance.
+
+
+
+ Returns a string representation of the fraction.
+
+ A numeric format string.
+
+ An System.IFormatProvider that supplies culture-specific
+ formatting information.
+
+
+ The string representation of the value of this instance as
+ specified by format and provider.
+
+
+ format is invalid or not supported.
+
+
+
+
+ Returns a string representation of the fraction.
+
+ A numeric format string.
+
+ The string representation of the value of this instance as
+ specified by format.
+
+
+ format is invalid or not supported.
+
+
+
+
+ Returns a string representation of the fraction.
+
+
+ An System.IFormatProvider that supplies culture-specific
+ formatting information.
+
+
+ The string representation of the value of this instance as
+ specified by provider.
+
+
+
+
+ Returns a string representation of the fraction.
+
+ A string formatted as numerator/denominator.
+
+
+
+ Compares this instance to a specified object and returns an indication of
+ their relative values.
+
+ An object to compare, or null.
+
+ A signed number indicating the relative values of this instance and value.
+ Less than zero: This instance is less than obj.
+ Zero: This instance is equal to obj.
+ Greater than zero: This instance is greater than obj or obj is null.
+
+ obj is not a Fraction.
+
+
+
+ Compares this instance to a specified object and returns an indication of
+ their relative values.
+
+ An fraction to compare with this instance.
+
+ A signed number indicating the relative values of this instance and value.
+ Less than zero: This instance is less than obj.
+ Zero: This instance is equal to obj.
+ Greater than zero: This instance is greater than obj or obj is null.
+
+
+
+
+ Converts the given floating-point number to its rational representation.
+
+ The floating-point number to be converted.
+ The rational representation of value.
+
+
+ Converts the string representation of a fraction to a Fraction type.
+ The input string formatted as numerator/denominator.
+ s is null.
+ s is not formatted as numerator/denominator.
+
+ s represents numbers less than System.Int32.MinValue or greater than
+ System.Int32.MaxValue.
+
+
+
+
+ Reduces the given numerator and denominator by dividing with their
+ greatest common divisor.
+
+ numerator to be reduced.
+ denominator to be reduced.
+
+
+
+ Gets or sets the numerator.
+
+
+
+
+ Gets or sets the denominator.
+
+
+
+
+ Gets the error term.
+
+
+
+
+ Gets or sets a value determining id the fraction is a negative value.
+
+
+
+
+ Represents a generic rational number represented by 32-bit unsigned numerator and denominator.
+
+
+
+
+ Returns a value indicating whether the specified number evaluates to a value
+ that is not a number.
+
+ A fraction.
+ true if f evaluates to Fraction.NaN; otherwise, false.
+
+
+
+ Returns a value indicating whether the specified number evaluates to infinity.
+
+ A fraction.
+ true if f evaluates to Fraction.Infinity; otherwise, false.
+
+
+
+ Converts the string representation of a fraction to a fraction object.
+
+ A string formatted as numerator/denominator
+ A fraction object converted from s.
+ s is null
+ s is not in the correct format
+
+ s represents a number less than System.UInt32.MinValue or greater than
+ System.UInt32.MaxValue.
+
+
+
+
+ Converts the string representation of a fraction to a fraction object.
+ A return value indicates whether the conversion succeeded.
+
+ A string formatted as numerator/denominator
+ true if s was converted successfully; otherwise, false.
+
+
+
+ Sets the value of this instance to the fraction represented
+ by the given numerator and denominator.
+
+ The new numerator.
+ The new denominator.
+
+
+
+ Returns the multiplicative inverse of a given value.
+
+ A fraction.
+ Multiplicative inverse of f.
+
+
+
+ Indicates whether this instance and a specified object are equal value-wise.
+
+ Another object to compare to.
+ true if obj and this instance are the same type and represent
+ the same value; otherwise, false.
+
+
+
+ Indicates whether this instance and a specified object are equal value-wise.
+
+ Another fraction object to compare to.
+ true if obj and this instance represent the same value;
+ otherwise, false.
+
+
+
+ Returns the hash code for this instance.
+
+ A 32-bit signed integer that is the hash code for this instance.
+
+
+
+ Returns a string representation of the fraction.
+
+ A numeric format string.
+
+ An System.IFormatProvider that supplies culture-specific
+ formatting information.
+
+
+ The string representation of the value of this instance as
+ specified by format and provider.
+
+
+ format is invalid or not supported.
+
+
+
+
+ Returns a string representation of the fraction.
+
+ A numeric format string.
+
+ The string representation of the value of this instance as
+ specified by format.
+
+
+ format is invalid or not supported.
+
+
+
+
+ Returns a string representation of the fraction.
+
+
+ An System.IFormatProvider that supplies culture-specific
+ formatting information.
+
+
+ The string representation of the value of this instance as
+ specified by provider.
+
+
+
+
+ Returns a string representation of the fraction.
+
+ A string formatted as numerator/denominator.
+
+
+
+ Compares this instance to a specified object and returns an indication of
+ their relative values.
+
+ An object to compare, or null.
+
+ A signed number indicating the relative values of this instance and value.
+ Less than zero: This instance is less than obj.
+ Zero: This instance is equal to obj.
+ Greater than zero: This instance is greater than obj or obj is null.
+
+ obj is not a Fraction.
+
+
+
+ Compares this instance to a specified object and returns an indication of
+ their relative values.
+
+ An fraction to compare with this instance.
+
+ A signed number indicating the relative values of this instance and value.
+ Less than zero: This instance is less than obj.
+ Zero: This instance is equal to obj.
+ Greater than zero: This instance is greater than obj or obj is null.
+
+
+
+
+ Converts the given floating-point number to its rational representation.
+
+ The floating-point number to be converted.
+ The rational representation of value.
+
+
+ Converts the string representation of a fraction to a Fraction type.
+ The input string formatted as numerator/denominator.
+ s is null.
+ s is not formatted as numerator/denominator.
+
+ s represents numbers less than System.UInt32.MinValue or greater than
+ System.UInt32.MaxValue.
+
+
+
+
+ Reduces the given numerator and denominator by dividing with their
+ greatest common divisor.
+
+ numerator to be reduced.
+ denominator to be reduced.
+
+
+
+ Gets or sets the numerator.
+
+
+
+
+ Gets or sets the denominator.
+
+
+
+
+ Gets the error term.
+
+
+
+
+ Represents the binary view of a TIFF file.
+
+
+
+
+ Initializes a new instance of the class from the
+ specified data stream.
+
+ A that contains image data.
+ The encoding to be used for text metadata when the source encoding is unknown.
+
+
+
+ Saves the to the given stream.
+
+ The data stream used to save the image.
+
+
+
+ Converts the to a .
+
+ Returns a containing image data.
+
+
+
+ Gets the TIFF header.
+
+
+
+
+ Gets the image file directories.
+
+
+
+
+ Represents a TIFF Header.
+
+
+
+
+ The byte order of the image file.
+
+
+
+
+ TIFF ID. This value should always be 42.
+
+
+
+
+ The offset to the first IFD section from the
+ start of the TIFF header.
+
+
+
+
+ The byte order of the TIFF header itself.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The byte order.
+ The TIFF ID. This value should always be 42.
+ The offset to the first IFD section from the
+ start of the TIFF header.
+ The byte order of the TIFF header itself.
+
+
+
+ Returns a initialized from the given byte data.
+
+ The data.
+ The offset into .
+ A initialized from the given byte data.
+
+
+
+ Represents a strip of compressed image data in a TIFF file.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The byte array to copy strip from.
+ The offset to the beginning of strip.
+ The length of strip.
+
+
+
+ Compressed image data contained in this strip.
+
+
+
+
+ Contains utility functions.
+
+
+
+
+ Reads the entire stream and returns its contents as a byte array.
+
+ The to read.
+ Contents of the as a byte array.
+
+
+
+ This fixes the storage of user languages from the old format like en_us to en-US
+
+
+
+
+ Represent an abstract Repository for PetaPoco based repositories
+
+
+
+
+
+
+ Represent an abstract Repository, which is the base of the Repository implementations
+
+ Type of entity for which the repository is used
+ Type of the Id used for this entity
+
+
+
+ Returns the Unit of Work added to the repository
+
+
+
+
+ Internal for testing purposes
+
+
+
+
+ The runtime cache used for this repo - by standard this is the runtime cache exposed by the CacheHelper but can be overridden
+
+
+
+
+ Defines the implementation of a Repository, which allows queries against the
+
+ Type of entity for which the repository is used
+ Type of the Id used for this entity
+
+
+
+ Defines the implementation of a Repository
+
+
+
+
+ Defines the base implementation of a Repository
+
+
+ Currently this interface is empty but it is useful for flagging a repository without having generic parameters, it also might
+ come in handy if we need to add anything to the base/non-generic repository interface.
+
+
+
+
+ Gets an Entity by Id
+
+
+
+
+
+
+ Gets all entities of the spefified type
+
+
+
+
+
+
+ Boolean indicating whether an Entity with the specified Id exists
+
+
+
+
+
+
+ Adds or Updates an Entity
+
+
+
+
+
+ Deletes an Entity
+
+
+
+
+
+ Gets all entities of the specified type and query
+
+
+
+
+
+
+ Returns the count for the specified query
+
+
+
+
+
+
+ Defines the Unit Of Work-part of a repository
+
+
+
+
+ Adds or Updates an entity of type TEntity
+
+ This method is backed by an cache
+
+
+
+
+ Deletes the passed in entity
+
+
+
+
+
+ Gets an entity by the passed in Id utilizing the repository's runtime cache
+
+
+
+
+
+
+ Gets all entities of type TEntity or a list according to the passed in Ids
+
+
+
+
+
+
+ Gets a list of entities by the passed in query
+
+
+
+
+
+
+ Returns a boolean indicating whether an entity with the passed Id exists
+
+
+
+
+
+
+ Returns an integer with the count of entities found with the passed in query
+
+
+
+
+
+
+ Unit of work method that tells the repository to persist the new entity
+
+
+
+
+
+ Unit of work method that tells the repository to persist the updated entity
+
+
+
+
+
+ Unit of work method that tells the repository to persist the deletion of the entity
+
+
+
+
+
+ Dispose disposable properties
+
+
+ Ensure the unit of work is disposed
+
+
+
+
+ Returns the repository cache options
+
+
+
+
+ Returns the database Unit of Work added to the repository
+
+
+
+
+ A wrapper for any IRuntimeCacheProvider that ensures that all inserts and returns
+ are a deep cloned copy of the item when the item is IDeepCloneable and that tracks changes are
+ reset if the object is TracksChangesEntityBase
+
+
+
+
+ Returns the repository cache options
+
+
+
+
+ Called to remove all files associated with entities when an entity is permanently deleted
+
+
+
+
+
+
+ Returns the repository cache options
+
+
+
+
+ Constructor sets defaults
+
+
+
+
+ True/false as to validate the total item count when all items are returned from cache, the default is true but this
+ means that a db lookup will occur - though that lookup will probably be significantly less expensive than the normal
+ GetAll method.
+
+
+ setting this to return false will improve performance of GetAll cache with no params but should only be used
+ for specific circumstances
+
+
+
+
+ True if the GetAll method will cache that there are zero results so that the db is not hit when there are no results found
+
+
+
+
+ The threshold entity count for which the GetAll method will cache entities
+
+
+
+
+ The default converter for all property editors that expose a JSON value type
+
+
+ Since this is a default (umbraco) converter it will be ignored if another converter found conflicts with this one.
+
+
+
+
+ Provides a default overridable implementation for that does nothing.
+
+
+
+
+ Provides published content properties conversion service.
+
+
+
+
+ Gets a value indicating whether the converter supports a property type.
+
+ The property type.
+ A value indicating whether the converter supports a property type.
+
+
+
+ Converts a property Data value to a Source value.
+
+ The property type.
+ The data value.
+ A value indicating whether conversion should take place in preview mode.
+ The result of the conversion.
+
+ The converter should know how to convert a null raw value, meaning that no
+ value has been assigned to the property. The source value can be null.
+ With the XML cache, raw values come from the XML cache and therefore are strings.
+ With objects caches, raw values would come from the database and therefore be either
+ ints, DateTimes, or strings.
+ The converter should be prepared to handle both situations.
+ When raw values are strings, the converter must handle empty strings, whitespace
+ strings, and xml-whitespace strings appropriately, ie it should know whether to preserve
+ whitespaces.
+
+
+
+
+ Converts a property Source value to an Object value.
+
+ The property type.
+ The source value.
+ A value indicating whether conversion should take place in preview mode.
+ The result of the conversion.
+ The converter should know how to convert a null source value, or any source value
+ indicating that no value has been assigned to the property. It is up to the converter to determine
+ what to return in that case: either null, or the default value...
+
+
+
+ Converts a property Source value to an XPath value.
+
+ The property type.
+ The source value.
+ A value indicating whether conversion should take place in preview mode.
+ The result of the conversion.
+
+ The converter should know how to convert a null source value, or any source value
+ indicating that no value has been assigned to the property. It is up to the converter to determine
+ what to return in that case: either null, or the default value...
+ If successful, the result should be either null, a string, or an XPathNavigator
+ instance. Whether an xml-whitespace string should be returned as null or litterally, is
+ up to the converter.
+ The converter may want to return an XML fragment that represent a part of the content tree,
+ but should pay attention not to create infinite loops that would kill XPath and XSLT.
+
+
+
+
+ It is a converter for any value type that is "JSON"
+
+
+
+
+
+
+ A status type of the result of unpublishing a content item
+
+
+ Anything less than 10 = Success!
+
+
+
+
+ The unpublishing was successful.
+
+
+
+
+ The item was already unpublished
+
+
+
+
+ The publish action has been cancelled by an event handler
+
+
+
+
+ The result of unpublishing a content item
+
+
+
+
+ The status returned by many of the service methods
+
+
+
+
+ Creates a successful unpublish status
+
+
+
+
+ Create a ClaimsIdentity from a user
+
+
+
+
+
+
+ Ensures that the culture is set correctly for the current back office user
+
+
+
+
+
+
+ Sign in the user in using the user name and password
+
+
+
+
+
+
+ Creates a user identity and then signs the identity using the AuthenticationManager
+
+
+
+
+
+
+
+
+ Default back office user manager
+
+
+
+
+ Generic Back office user manager
+
+
+
+
+ Logic used to validate a username and password
+
+
+
+
+
+ By default this uses the standard ASP.Net Identity approach which is:
+ * Get password store
+ * Call VerifyPasswordAsync with the password store + user + password
+ * Uses the PasswordHasher.VerifyHashedPassword to compare the stored password
+
+ In some cases people want simple custom control over the username/password check, for simplicity
+ sake, developers would like the users to simply validate against an LDAP directory but the user
+ data remains stored inside of Umbraco.
+ See: http://issues.umbraco.org/issue/U4-7032 for the use cases.
+
+ We've allowed this check to be overridden with a simple callback so that developers don't actually
+ have to implement/override this class.
+
+
+
+
+ Developers will need to override this to support custom 2 factor auth
+
+
+
+
+ Gets/sets the default back office user password checker
+
+
+
+
+ Creates a BackOfficeUserManager instance with all default options and the default BackOfficeUserManager
+
+
+
+
+
+
+
+
+
+ Creates a BackOfficeUserManager instance with all default options and a custom BackOfficeUserManager instance
+
+
+
+
+
+
+
+
+ Initializes the user manager with the correct options
+
+
+
+
+
+
+
+
+ The result returned from the IBackOfficeUserPasswordChecker
+
+
+
+
+ Handles the disposal of resources. Derived from abstract class which handles common required locking logic.
+
+
+
+
+ Insert a new user
+
+
+
+
+
+
+ Update a user
+
+
+
+
+
+
+ Delete a user
+
+
+
+
+
+
+ Finds a user
+
+
+
+
+
+
+ Find a user by name
+
+
+
+
+
+
+ Set the user password hash
+
+
+
+
+
+
+ Get the user password hash
+
+
+
+
+
+
+ Returns true if a user has a password set
+
+
+
+
+
+
+ Set the user email
+
+
+
+
+
+
+ Get the user email
+
+
+
+
+
+
+ Returns true if the user email is confirmed
+
+
+
+
+
+
+ Sets whether the user email is confirmed
+
+
+
+
+
+
+ Returns the user associated with this email
+
+
+
+
+
+
+ Adds a user login with the specified provider and key
+
+
+
+
+
+
+ Removes the user login with the specified combination if it exists
+
+
+
+
+
+
+ Returns the linked accounts for this user
+
+
+
+
+
+
+ Returns the user associated with this login
+
+
+
+
+
+ Adds a user to a role (section)
+
+
+
+
+
+
+ Removes the role (allowed section) for the user
+
+
+
+
+
+
+ Returns the roles for this user
+
+
+
+
+
+
+ Returns true if a user is in the role
+
+
+
+
+
+
+ Set the security stamp for the user
+
+
+
+
+
+
+ Get the user security stamp
+
+
+
+
+
+
+ Sets whether two factor authentication is enabled for the user
+
+
+
+
+
+
+ Returns whether two factor authentication is enabled for the user
+
+
+
+
+
+
+ Returns the DateTimeOffset that represents the end of a user's lockout, any time in the past should be considered not locked out.
+
+
+
+
+ Currently we do not suport a timed lock out, when they are locked out, an admin will have to reset the status
+
+
+
+
+ Locks a user out until the specified end date (set to a past date, to unlock a user)
+
+
+
+
+
+
+ Used to record when an attempt to access the user has failed
+
+
+
+
+
+
+ Used to reset the access failed count, typically after the account is successfully accessed
+
+
+
+
+
+
+ Returns the current number of failed access attempts. This number usually will be reset whenever the password is
+ verified or the account is locked out.
+
+
+
+
+
+
+ Returns true
+
+
+
+
+
+
+ Doesn't actually perform any function, users can always be locked out
+
+
+
+
+
+
+ Used by the BackOfficeUserManager to check the username/password which allows for developers to more easily
+ set the logic for this procedure.
+
+
+
+
+ A custom password hasher that conforms to the current password hashing done in Umbraco
+
+
+
+
+ Used to create instances of the specified type based on the resolved/cached plugin types
+
+
+
+
+
+ set to true if an exception is to be thrown if there is an error during instantiation
+
+
+
+
+ Initialized values that don't require opening the file.
+
+
+
+
+ Get the length of the file in bytes
+
+
+ We are lazy loading this, don't go opening the file on ctor like we were doing.
+
+
+
+
+ Interface for logging service.
+
+
+
+
+ Allows for outputting a normalized appdomainappid token in a log format
+
+
+
+
+ Allows for strongly typed log sources
+
+
+
+
+ Adds an error log
+
+
+
+
+
+
+
+
+ Adds a warn log
+
+
+
+
+
+
+
+
+ Traces a message, only generating the message if tracing is actually enabled. Use this method to avoid calling any long-running methods such as "ToDebugString" if logging is disabled.
+
+
+
+ The generate message format.
+ The format items.
+
+
+
+
+ Traces a message, only generating the message if tracing is actually enabled. Use this method to avoid calling any long-running methods such as "ToDebugString" if logging is disabled.
+
+
+
+ The delegate to generate a message.
+
+
+
+
+ Debugs a message, only generating the message if tracing is actually enabled. Use this method to avoid calling any long-running methods such as "ToDebugString" if logging is disabled.
+
+
+
+ The delegate to generate a message.
+
+
+
+
+ Debugs a message, only generating the message if debug is actually enabled. Use this method to avoid calling any long-running methods such as "ToDebugString" if logging is disabled.
+
+
+
+ The generate message format.
+ The format items.
+
+
+
+
+ Method allowing to change the logger during startup
+
+
+
+
+
+ Gets the current logger
+
+
+
+
+ Used to create DisposableTimer instances for debugging or tracing durations
+
+
+
+
+ Ensures that any stylesheets that have properties defined at the db level have the correct new syntax
+ in their files before we remove the stylesheet db tables
+
+
+ Instead of modifying the files directly (since we cannot roll them back) we will create temporary migrated files.
+ These files will then be copied over once the entire migration is complete so that if any migration fails and the db changes are
+ rolled back, the original files won't be affected.
+
+
+
+
+ Base service class
+
+
+
+
+ Marker interface for services, which is used to store difference services in a list or dictionary
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Used to store the external login info, this can be replaced with your own implementation
+
+
+
+
+ Returns all user logins assigned
+
+
+
+
+
+
+ Returns all logins matching the login info - generally there should only be one but in some cases
+ there might be more than one depending on if an adminstrator has been editing/removing members
+
+
+
+
+
+
+ Save user logins
+
+
+
+
+
+
+ Deletes all user logins - normally used when a member is deleted
+
+
+
+
+
+ Returns all user logins assigned
+
+
+
+
+
+
+ Returns all logins matching the login info - generally there should only be one but in some cases
+ there might be more than one depending on if an adminstrator has been editing/removing members
+
+
+
+
+
+
+ Save user logins
+
+
+
+
+
+
+ Deletes all user logins - normally used when a member is deleted
+
+
+
+
+
+ Creates a migration entry, will throw an exception if it already exists
+
+
+
+
+
+
+
+ Finds a migration by name and version, returns null if not found
+
+
+
+
+
+
+
+ Gets all entries for a given migration name
+
+
+
+
+
+
+ Gets all defined entries and associated rules
+
+
+
+
+
+ Gets the entry defined for the content item's path
+
+
+ Returns null if no entry is found
+
+
+
+ Gets the entry defined for the content item based on a content path
+
+
+ Returns null if no entry is found
+
+
+
+ Returns true if the content has an entry for it's path
+
+
+
+
+
+
+ Returns true if the content has an entry based on a content path
+
+
+
+
+
+
+ Adds a rule if the entry doesn't already exist
+
+
+
+
+
+
+
+
+ Removes a rule
+
+
+
+
+
+
+
+ Saves the entry
+
+
+
+
+
+ Deletes the entry and all associated rules
+
+
+
+
+
+ Touches a server to mark it as active; deactivate stale servers.
+
+ The server url.
+ The server unique identity.
+ The time after which a server is considered stale.
+
+
+
+ Deactivates a server.
+
+ The server unique identity.
+
+
+
+ Deactivates stale servers.
+
+ The time after which a server is considered stale.
+
+
+
+ Return all active servers.
+
+ All active servers.
+
+
+
+ Gets the role of the current server.
+
+ The role of the current server.
+
+
+
+ Gets the current server identity.
+
+
+
+
+ Saves a task
+
+
+
+
+
+ Manages migration entries in the database
+
+
+
+
+ Creates a migration entry, will throw an exception if it already exists
+
+
+
+
+
+
+
+ Finds a migration by name and version, returns null if not found
+
+
+
+
+
+
+
+ Gets all entries for a given migration name
+
+
+
+
+
+
+ Gets all defined entries and associated rules
+
+
+
+
+
+ Gets the entry defined for the content item's path
+
+
+ Returns null if no entry is found
+
+
+
+ Gets the entry defined for the content item based on a content path
+
+
+ Returns null if no entry is found
+
+ NOTE: This method get's called *very* often! This will return the results from cache
+
+
+
+
+ Returns true if the content has an entry for it's path
+
+
+
+
+
+
+ Returns true if the content has an entry based on a content path
+
+
+
+
+
+
+ Adds a rule
+
+
+
+
+
+
+
+
+ Removes a rule
+
+
+
+
+
+
+
+ Saves the entry
+
+
+
+
+
+ Deletes the entry and all associated rules
+
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Extension methods for the IPublicAccessService
+
+
+
+
+ The default operation status
+
+
+
+
+ A status type of the result of saving an item
+
+
+ Anything less than 10 = Success!
+
+
+
+
+ The saving was successful.
+
+
+
+
+ The saving has been cancelled by a 3rd party add-in
+
+
+
+
+ Saves a task
+
+
+
+
+
+ Defines a File
+
+ Used for Scripts, Stylesheets and Templates
+
+
+
+ Called to re-set the OriginalPath to the Path
+
+
+
+
+ Gets the Name of the File including extension
+
+
+
+
+ Gets the Alias of the File, which is the name without the extension
+
+
+
+
+ Gets or sets the Path to the File from the root of the file's associated IFileSystem
+
+
+
+
+ Gets the original path of the file
+
+
+
+
+ Gets or sets the Content of a File
+
+
+
+
+ Gets or sets the file's virtual path (i.e. the file path relative to the root of the website)
+
+
+
+
+ Creates the Umbraco db schema in the Database of the current Database.
+ Safe method that is only able to create the schema in non-configured
+ umbraco instances.
+
+
+
+
+ Creates the Umbraco db schema in the Database of the current Database
+ with the option to guard the db from having the schema created
+ multiple times.
+
+
+
+
+
+
+ Determines whether the specified is equal to the current .
+
+
+ true if the specified object is equal to the current object; otherwise, false.
+
+ The object to compare with the current object.
+
+
+
+ Serves as a hash function for a particular type.
+
+
+ A hash code for the current .
+
+
+
+
+ Simple abstract ReadOnly repository used to simply have PerformGet and PeformGetAll with an underlying cache
+
+
+
+
+ The entry point to localize any key in the text storage source for a given culture
+
+
+ This class is created to be as simple as possible so that it can be replaced very easily,
+ all other methods are extension methods that simply call the one underlying method in this class
+
+
+
+
+ Localize a key with variables
+
+
+
+ This can be null
+
+
+
+
+ Returns all key/values in storage for the given culture
+
+
+
+
+
+ Returns a list of all currently supported cultures
+
+
+
+
+
+ Tries to resolve a full 4 letter culture from a 2 letter culture name
+
+
+ The culture to determine if it is only a 2 letter culture, if so we'll try to convert it, otherwise it will just be returned
+
+
+
+ TODO: This is just a hack due to the way we store the language files, they should be stored with 4 letters since that
+ is what they reference but they are stored with 2, further more our user's languages are stored with 2. So this attempts
+ to resolve the full culture if possible.
+
+
+
+
+ HAAAAAAAAAAACK! Used for backwards compat to convert a user's real culture code to a region code - normally this would be two letters
+ TODO: REmove in v8
+
+
+
+
+
+
+ Initializes with a file sources instance
+
+
+
+
+
+
+ Initializes with an XML source
+
+
+
+
+
+
+ Initializes with a source of a dictionary of culture -> areas -> sub dictionary of keys/values
+
+
+
+
+
+
+ Returns all key/values in storage for the given culture
+
+
+
+
+
+ Returns a list of all currently supported cultures
+
+
+
+
+
+ Tries to resolve a full 4 letter culture from a 2 letter culture name
+
+
+ The culture to determine if it is only a 2 letter culture, if so we'll try to convert it, otherwise it will just be returned
+
+
+
+ TODO: This is just a hack due to the way we store the language files, they should be stored with 4 letters since that
+ is what they reference but they are stored with 2, further more our user's languages are stored with 2. So this attempts
+ to resolve the full culture if possible.
+
+ This only works when this service is constructed with the LocalizedTextServiceFileSources
+
+
+
+
+ HAAAAAAAAAAACK! Used for backwards compat to convert a user's real culture code to a region code - normally this would be two letters
+
+
+
+
+
+
+ Parses the tokens in the value
+
+
+
+
+
+ This is based on how the legacy ui localized text worked, each token was just a sequential value delimited with a % symbol.
+ For example: hello %0%, you are %1% !
+
+ Since we're going to continue using the same language files for now, the token system needs to remain the same. With our new service
+ we support a dictionary which means in the future we can really have any sort of token system.
+ Currently though, the token key's will need to be an integer and sequential - though we aren't going to throw exceptions if that is not the case.
+
+
+
+
+ Used for logging
+
+
+
+
+ Creates a logger with the default log4net configuration discovered (i.e. from the web.config)
+
+
+
+
+
+ Returns a logger for the type specified
+
+
+
+
+
+
+ Returns a logger for the object's type
+
+
+
+
+
+
+ Traces if tracing is enabled.
+
+
+
+
+
+
+ Traces if tracing is enabled.
+
+ The type for the logging namespace.
+ The message format.
+ The format items.
+
+
+
+ Debugs if tracing is enabled.
+
+
+
+
+
+
+ Debugs if tracing is enabled.
+
+ The type for the logging namespace.
+ The message format.
+ The format items.
+
+
+
+ Encapsulates what an xslt extension object is when used for macros
+
+
+
+
+ Allows App_Code XSLT extensions to be declared using the [XsltExtension] class attribute.
+
+
+ An optional XML namespace can be specified using [XsltExtension("MyNamespace")].
+
+
+
+
+ Used to resolve all xslt extension plugins
+
+
+
+
+ The base class for all lazy many-objects resolvers.
+
+ The type of the concrete resolver class.
+ The type of the resolved objects.
+
+ This is a special case resolver for when types get lazily resolved in order to resolve the actual types. This is useful
+ for when there is some processing overhead (i.e. Type finding in assemblies) to return the Types used to instantiate the instances.
+ In some these cases we don't want to have to type-find during application startup, only when we need to resolve the instances.
+ Important notes about this resolver: it does not support Insert or Remove and therefore does not support any ordering unless
+ the types are marked with the WeightedPluginAttribute.
+
+
+
+
+ The base class for all many-objects resolvers.
+
+ The type of the concrete resolver class.
+ The type of the resolved objects.
+
+
+
+ Initializes a new instance of the class with an empty list of objects,
+ and an optional lifetime scope.
+
+
+
+ The lifetime scope of instantiated objects, default is per Application.
+ If is per HttpRequest then there must be a current HttpContext.
+ is per HttpRequest but the current HttpContext is null.
+
+
+
+ Initializes a new instance of the class with an empty list of objects,
+ with creation of objects based on an HttpRequest lifetime scope.
+
+
+
+ The HttpContextBase corresponding to the HttpRequest.
+ is null.
+
+
+
+ Initializes a new instance of the class with an initial list of object types,
+ and an optional lifetime scope.
+
+
+
+ The list of object types.
+ The lifetime scope of instantiated objects, default is per Application.
+ If is per HttpRequest then there must be a current HttpContext.
+ is per HttpRequest but the current HttpContext is null.
+
+
+
+ Initializes a new instance of the class with an initial list of objects,
+ with creation of objects based on an HttpRequest lifetime scope.
+
+ The HttpContextBase corresponding to the HttpRequest.
+ The list of object types.
+ is null.
+
+
+
+ Gets the resolved object instances, sorted by weight.
+
+ The sorted resolved object instances.
+
+ The order is based upon the WeightedPluginAttribute and DefaultPluginWeight.
+ Weights are sorted ascendingly (lowest weights come first).
+
+
+
+
+ Returns the weight of an object for user with GetSortedValues
+
+
+
+
+
+
+ Creates the object instances for the types contained in the types collection.
+
+ A list of objects of type .
+
+
+
+ Removes a type.
+
+ The type to remove.
+ the resolver does not support removing types, or
+ the type is not a valid type for the resolver.
+
+
+
+ Removes a type.
+
+ The type to remove.
+ the resolver does not support removing types, or
+ the type is not a valid type for the resolver.
+
+
+
+ Adds types.
+
+ The types to add.
+ The types are appended at the end of the list.
+ the resolver does not support adding types, or
+ a type is not a valid type for the resolver, or a type is already in the collection of types.
+
+
+
+ Adds a type.
+
+ The type to add.
+ The type is appended at the end of the list.
+ the resolver does not support adding types, or
+ the type is not a valid type for the resolver, or the type is already in the collection of types.
+
+
+
+ Adds a type.
+
+ The type to add.
+ The type is appended at the end of the list.
+ the resolver does not support adding types, or
+ the type is not a valid type for the resolver, or the type is already in the collection of types.
+
+
+
+ Clears the list of types
+
+ the resolver does not support clearing types.
+
+
+
+ WARNING! Do not use this unless you know what you are doing, clear all types registered and instances
+ created. Typically only used if a resolver is no longer used in an application and memory is to be GC'd
+
+
+
+
+ Inserts a type at the specified index.
+
+ The zero-based index at which the type should be inserted.
+ The type to insert.
+ the resolver does not support inserting types, or
+ the type is not a valid type for the resolver, or the type is already in the collection of types.
+ is out of range.
+
+
+
+ Inserts a type at the beginning of the list.
+
+ The type to insert.
+ the resolver does not support inserting types, or
+ the type is not a valid type for the resolver, or the type is already in the collection of types.
+
+
+
+ Inserts a type at the specified index.
+
+ The type to insert.
+ The zero-based index at which the type should be inserted.
+ is out of range.
+
+
+
+ Inserts a type at the beginning of the list.
+
+ The type to insert.
+
+
+
+ Inserts a type before a specified, already existing type.
+
+ The existing type before which to insert.
+ The type to insert.
+ the resolver does not support inserting types, or
+ one of the types is not a valid type for the resolver, or the existing type is not in the collection,
+ or the new type is already in the collection of types.
+
+
+
+ Inserts a type before a specified, already existing type.
+
+ The existing type before which to insert.
+ The type to insert.
+ the resolver does not support inserting types, or
+ one of the types is not a valid type for the resolver, or the existing type is not in the collection,
+ or the new type is already in the collection of types.
+
+
+
+ Returns a value indicating whether the specified type is already in the collection of types.
+
+ The type to look for.
+ A value indicating whether the type is already in the collection of types.
+
+
+
+ Gets the types in the collection of types.
+
+ The types in the collection of types.
+ Returns an enumeration, the list cannot be modified.
+
+
+
+ Returns a value indicating whether the specified type is already in the collection of types.
+
+ The type to look for.
+ A value indicating whether the type is already in the collection of types.
+
+
+
+ Returns a WriteLock to use when modifying collections
+
+
+
+
+
+ Ensures that a type is a valid type for the resolver.
+
+ The type to test.
+ the type is not a valid type for the resolver.
+
+
+
+ Ensures that the resolver supports removing types.
+
+ The resolver does not support removing types.
+
+
+
+ Ensures that the resolver supports clearing types.
+
+ The resolver does not support clearing types.
+
+
+
+ Ensures that the resolver supports adding types.
+
+ The resolver does not support adding types.
+
+
+
+ Ensures that the resolver supports inserting types.
+
+ The resolver does not support inserting types.
+
+
+
+ Gets or sets a value indicating whether the resolver can resolve objects before resolution is frozen.
+
+ This is false by default and is used for some special internal resolvers.
+
+
+
+ Gets the list of types to create instances from.
+
+
+
+
+ Gets or sets the used to initialize this object, if any.
+
+ If not null, then LifetimeScope will be ObjectLifetimeScope.HttpRequest.
+
+
+
+ Returns the service provider used to instantiate objects
+
+
+
+
+ Gets or sets the lifetime scope of resolved objects.
+
+
+
+
+ Gets or sets the default type weight.
+
+ Determines the weight of types that do not have a WeightedPluginAttribute set on
+ them, when calling GetSortedValues.
+
+
+
+ Gets the resolved object instances.
+
+ CanResolveBeforeFrozen is false, and resolution is not frozen.
+
+
+
+ Gets a value indicating whether the resolver supports adding types.
+
+
+
+
+ Gets a value indicating whether the resolver supports inserting types.
+
+
+
+
+ Gets a value indicating whether the resolver supports clearing types.
+
+
+
+
+ Gets a value indicating whether the resolver supports removing types.
+
+
+
+
+ Initializes a new instance of the class with an empty list of objects,
+ and an optional lifetime scope.
+
+
+
+ The lifetime scope of instantiated objects, default is per Application.
+ If is per HttpRequest then there must be a current HttpContext.
+ is per HttpRequest but the current HttpContext is null.
+
+
+
+ Initializes a new instance of the class with an empty list of objects,
+ with creation of objects based on an HttpRequest lifetime scope.
+
+
+
+ The HttpContextBase corresponding to the HttpRequest.
+ is null.
+
+
+
+ Initializes a new instance of the class with an initial list of object types,
+ and an optional lifetime scope.
+
+
+
+ The list of object types.
+ The lifetime scope of instantiated objects, default is per Application.
+ If is per HttpRequest then there must be a current HttpContext.
+ is per HttpRequest but the current HttpContext is null.
+
+
+
+ Ensures that type is valid and not a duplicate
+ then appends the type to the end of the list
+
+
+
+
+
+
+ Removes types from the list of types, once it has been lazily evaluated, and before actual objects are instanciated.
+
+ The type to remove.
+
+
+
+ Lazily adds types from lazy types.
+
+ The lazy types, to add.
+
+
+
+ Lazily adds types from a function producing types.
+
+ The functions producing types, to add.
+
+
+
+ Lazily adds a type from a lazy type.
+
+ The lazy type, to add.
+
+
+
+ Lazily adds a type from an actual type.
+
+ The actual type, to add.
+ The type is converted to a lazy type.
+
+
+
+ Clears all lazy types
+
+
+
+
+ Gets a value indicating whether the resolver has resolved types to create instances from.
+
+ To be used in unit tests.
+
+
+
+ Gets the list of types to create instances from.
+
+ When called, will get the types from the lazy list.
+
+
+
+ Gets a false value indicating that the resolver does NOT support inserting types.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ We override this because really there's no limit to the type that can be used here
+
+
+
+
+
+ Returns the list of all xslt extensions
+
+
+
+
+ This reads in the manifests and stores some definitions in memory so we can look them on the server side
+
+
+
+
+ Returns all grid editors found in the manfifests
+
+
+
+
+ Returns all property editors found in the manfifests
+
+
+
+
+ Returns all parameter editors found in the manfifests and all property editors that are flagged to be parameter editors
+
+
+
+
+ Parses the Main.js file and replaces all tokens accordingly.
+
+
+
+
+ Parse the grid editors from the json array
+
+
+
+
+
+
+ Parse the property editors from the json array
+
+
+
+
+
+
+ Parse the property editors from the json array
+
+
+
+
+
+
+ Get all registered manifests
+
+
+
+ This ensures that we only build and look for all manifests once per Web app (based on the IRuntimeCache)
+
+
+
+
+ Get the file contents from all declared manifest files
+
+
+
+
+
+
+ Get the folder depth compared to the base folder
+
+
+
+
+
+
+
+ Creates a list of PropertyEditorManifest from the file contents of each manifest file
+
+
+
+
+ This ensures that comments are removed (but they have to be /* */ style comments
+ and ensures that virtual paths are replaced with real ones
+
+
+
+
+ Replaces any virtual paths found in properties
+
+
+
+
+
+ Replaces any virtual paths found in properties
+
+
+
+
+
+ Replaces any virtual paths found in properties
+
+
+
+
+
+ Merges two json objects together
+
+
+
+ set to true if we will keep the receiver value if the proeprty already exists
+
+ taken from
+ http://stackoverflow.com/questions/4002508/does-c-sharp-have-a-library-for-parsing-multi-level-cascading-json/4002550#4002550
+
+
+
+
+ Merges the donor array values into the receiver array
+
+
+
+
+
+
+ Used when deserialing the validation collection, any serialized property editors are from a manifest and thus the
+ validators are manifest validators.
+
+
+
+
+ Represents a manifest file for packages
+
+
+
+
+ The json array used to initialize the application with the JS dependencies required
+
+
+
+
+ The json array used to initialize the application with the CSS dependencies required
+
+
+
+
+ The json array of property editors
+
+
+
+
+ The json array of parameter editors
+
+
+
+
+ The json array of grid editors
+
+
+
+
+ Used to convert a parameter editor manifest to a property editor object
+
+
+
+
+ Used to convert a pre-value field manifest to a real pre value field
+
+
+
+
+ Used to convert a property editor manifest to a property editor object
+
+
+
+
+ A helper class used for imaging
+
+
+
+
+ Gets the dimensions of an image based on a stream
+
+
+
+
+ First try with EXIF, this is because it is insanely faster and doesn't use any memory to read exif data than to load in the entire
+ image via GDI. Otherwise loading an image into GDI consumes a crazy amount of memory on large images.
+
+ Of course EXIF data might not exist in every file and can only exist in JPGs
+
+
+
+
+ Creates the thumbnails if the image is larger than all of the specified ones.
+
+
+
+
+
+
+
+
+
+
+ Performs an image resize
+
+
+
+
+
+
+
+
+
+
+
+ Internal singleton to handle the numbering of subfolders within the Media-folder.
+ When this class is initiated it will look for numbered subfolders and select the highest number,
+ which will be the start point for the naming of the next subfolders. If no subfolders exists
+ then the starting point will be 1000, ie. /media/1000/koala.jpg
+
+
+
+
+ Returns an increment of the numbered media subfolders.
+
+ A value
+
+
+
+ Helper class for static model mapping with automapper
+
+
+
+
+ Represents an abstract class for base Content properties and methods
+
+
+
+
+ Defines the base for a Content object with properties that
+ are shared between Content and Media.
+
+
+
+
+ Profile of the user who created this Entity
+
+
+
+
+ Gets or sets the level of the Entity
+
+
+
+
+ Gets or Sets the Name of the Entity
+
+
+
+
+ Gets or sets the Id of the Parent Entity
+
+
+
+
+ Gets or sets the path to the Entity
+
+
+
+
+ Gets or sets the sort order of the Entity
+
+
+
+
+ Boolean indicating whether this Entity is Trashed or not.
+ If an Entity is Trashed it will be located in the Recyclebin.
+
+
+ When content is trashed it should be unpublished.
+ Not all entities support being trashed, they'll always return false.
+
+
+
+
+ Some entities may expose additional data that other's might not, this custom data will be available in this collection
+
+
+
+
+ Indicates whether the content object has a property with the supplied alias
+
+ Alias of the PropertyType
+ True if Property with given alias exists, otherwise False
+
+
+
+ Gets the value of a Property
+
+ Alias of the PropertyType
+ Value as an
+
+
+
+ Gets the value of a Property
+
+ Type of the value to return
+ Alias of the PropertyType
+ Value as a
+
+
+
+ Sets the value of a Property
+
+ Alias of the PropertyType
+ Value to set for the Property
+
+
+
+ Boolean indicating whether the content and its properties are valid
+
+ True if content is valid otherwise false
+
+
+
+ Changes the Trashed state of the content object
+
+ Boolean indicating whether content is trashed (true) or not trashed (false)
+
+
+
+
+ Integer Id of the default ContentType
+
+
+
+
+ Gets the Guid Id of the Content's Version
+
+
+
+
+ List of properties, which make up all the data available for this Content object
+
+ Properties are loaded as part of the Content object graph
+
+
+
+ List of PropertyGroups available on this Content object
+
+ PropertyGroups are kind of lazy loaded as part of the object graph
+
+
+
+ List of PropertyTypes available on this Content object
+
+ PropertyTypes are kind of lazy loaded as part of the object graph
+
+
+
+ Protected constructor for ContentBase (Base for Content and Media)
+
+ Localized Name of the entity
+
+
+
+
+
+
+ Protected constructor for ContentBase (Base for Content and Media)
+
+ Localized Name of the entity
+
+
+
+
+
+
+ Indicates whether the content object has a property with the supplied alias
+
+ Alias of the PropertyType
+ True if Property with given alias exists, otherwise False
+
+
+
+ Gets the value of a Property
+
+ Alias of the PropertyType
+ Value as an
+
+
+
+ Gets the value of a Property
+
+ Type of the value to return
+ Alias of the PropertyType
+ Value as a
+
+
+
+ Sets the value of a Property
+
+ Alias of the PropertyType
+ Value to set for the Property
+
+
+
+ Sets the value of a Property
+
+ Alias of the PropertyType
+ Value to set for the Property
+
+
+
+ Sets the value of a Property
+
+ Alias of the PropertyType
+ Value to set for the Property
+
+
+
+ Sets the value of a Property
+
+ Alias of the PropertyType
+ Value to set for the Property
+
+
+
+ Sets the value of a Property
+
+ Alias of the PropertyType
+ Value to set for the Property
+
+
+
+ Sets the value of a Property
+
+ Alias of the PropertyType
+ Value to set for the Property
+
+
+
+ Sets the value of a Property
+
+ Alias of the PropertyType
+ Value to set for the Property
+
+
+
+ Sets the value of a Property
+
+ Alias of the PropertyType
+ Value to set for the Property
+
+
+
+ Sets the value of a Property
+
+ Alias of the PropertyType
+ Value to set for the Property
+
+
+
+ Private method to set the value of a property
+
+
+
+
+
+
+ Boolean indicating whether the content and its properties are valid
+
+ True if content is valid otherwise false
+
+
+
+ We will override this method to ensure that when we reset the dirty properties that we
+ also reset the dirty changes made to the content's Properties (user defined)
+
+
+
+
+
+ Indicates whether the current entity is dirty.
+
+ True if entity is dirty, otherwise False
+
+
+
+ Indicates whether the current entity was dirty.
+
+ True if entity was dirty, otherwise False
+
+
+
+ Returns true if only the entity properties are dirty
+
+
+
+
+
+ Returns true if only the entity properties were dirty
+
+
+
+
+
+ Indicates whether a specific property on the current entity is dirty.
+
+ Name of the property to check
+
+ True if any of the class properties are dirty or
+ True if any of the user defined PropertyType properties are dirty based on their alias,
+ otherwise False
+
+
+
+
+ Indicates whether a specific property on the current entity was changed and the changes were committed
+
+ Name of the property to check
+
+ True if any of the class properties are dirty or
+ True if any of the user defined PropertyType properties are dirty based on their alias,
+ otherwise False
+
+
+
+
+ Gets or sets the Id of the Parent entity
+
+
+
+
+ Gets or sets the name of the entity
+
+
+
+
+ Gets or sets the sort order of the content entity
+
+
+
+
+ Gets or sets the level of the content entity
+
+
+
+
+ Gets or sets the path
+
+
+
+
+ Profile of the user who created this Content
+
+
+
+
+ Boolean indicating whether this Content is Trashed or not.
+ If Content is Trashed it will be located in the Recyclebin.
+
+ When content is trashed it should be unpublished
+
+
+
+ Guid Id of the curent Version
+
+
+
+
+ Integer Id of the default ContentType
+
+
+
+
+ Collection of properties, which make up all the data available for this Content object
+
+
+
+
+ Some entities may expose additional data that other's might not, this custom data will be available in this collection
+
+
+
+
+ List of PropertyGroups available on this Content object
+
+
+
+
+ List of PropertyTypes available on this Content object
+
+
+
+
+ Returns a collection of the result of the last validation process, this collection contains all invalid properties.
+
+
+
+
+ Returns true if this entity was just published as part of a recent save operation (i.e. it wasn't previously published)
+
+
+
+
+ This is helpful for determining if the published event will execute during the saved event for a content item.
+
+
+
+
+ Determines if the item should be persisted at all
+
+
+
+
+ In one particular case, a content item shouldn't be persisted:
+ * The item exists and is published
+ * A call to ContentService.Save is made
+ * The item has not been modified whatsoever apart from changing it's published status from published to saved
+
+ In this case, there is no reason to make any database changes at all
+
+
+
+
+ Determines if the item should be persisted at all
+
+
+
+
+
+ In one particular case, a content item shouldn't be persisted:
+ * The item exists and is published
+ * A call to ContentService.Save is made
+ * The item has not been modified whatsoever apart from changing it's published status from published to saved
+
+ In this case, there is no reason to make any database changes at all
+
+
+
+
+ Determines if a new version should be created
+
+
+
+
+ A new version needs to be created when:
+ * The publish status is changed
+ * The language is changed
+ * The item is already published and is being published again and any property value is changed (to enable a rollback)
+
+
+
+
+ Returns a list of all dirty user defined properties
+
+
+
+
+
+ Determines if a new version should be created
+
+
+
+
+
+ A new version needs to be created when:
+ * The publish status is changed
+ * The language is changed
+ * The item is already published and is being published again and any property value is changed (to enable a rollback)
+
+
+
+
+ Determines if the published db flag should be set to true for the current entity version and all other db
+ versions should have their flag set to false.
+
+
+
+
+ This is determined by:
+ * If a new version is being created and the entity is published
+ * If the published state has changed and the entity is published OR the entity has been un-published.
+
+
+
+
+ Determines if the published db flag should be set to true for the current entity version and all other db
+ versions should have their flag set to false.
+
+
+
+
+
+
+ This is determined by:
+ * If a new version is being created and the entity is published
+ * If the published state has changed and the entity is published OR the entity has been un-published.
+
+
+
+
+ Returns a list of the current contents ancestors, not including the content itself.
+
+ Current content
+ An enumerable list of objects
+
+
+
+ Returns a list of the current contents children.
+
+ Current content
+ An enumerable list of objects
+
+
+
+ Returns a list of the current contents descendants, not including the content itself.
+
+ Current content
+ An enumerable list of objects
+
+
+
+ Returns the parent of the current content.
+
+ Current content
+ An object
+
+
+
+ Returns a list of the current medias ancestors, not including the media itself.
+
+ Current media
+ An enumerable list of objects
+
+
+
+ Returns a list of the current medias children.
+
+ Current media
+ An enumerable list of objects
+
+
+
+ Returns a list of the current medias descendants, not including the media itself.
+
+ Current media
+ An enumerable list of objects
+
+
+
+ Returns the parent of the current media.
+
+ Current media
+ An object
+
+
+
+ Removes characters that are not valide XML characters from all entity properties
+ of type string. See: http://stackoverflow.com/a/961504/5018
+
+
+
+ If this is not done then the xml cache can get corrupt and it will throw YSODs upon reading it.
+
+
+
+
+
+ Checks if the IContentBase has children
+
+
+
+
+
+ This is a bit of a hack because we need to type check!
+
+
+
+
+ Returns the children for the content base item
+
+
+
+
+
+ This is a bit of a hack because we need to type check!
+
+
+
+
+ Returns properties that do not belong to a group
+
+
+
+
+
+
+ Returns the Property object for the given property group
+
+
+
+
+
+
+
+ Set property values by alias with an annonymous object
+
+
+
+
+ Sets and uploads the file from a HttpPostedFileBase object as the property value
+
+ to add property value to
+ Alias of the property to save the value on
+ The containing the file that will be uploaded
+
+
+
+ Sets and uploads the file from a HttpPostedFile object as the property value
+
+ to add property value to
+ Alias of the property to save the value on
+ The containing the file that will be uploaded
+
+
+
+ Sets and uploads the file from a HttpPostedFileWrapper object as the property value
+
+ to add property value to
+ Alias of the property to save the value on
+ The containing the file that will be uploaded
+
+
+
+ Sets and uploads the file from a as the property value
+
+ to add property value to
+ Alias of the property to save the value on
+ Name of the file
+ to save to disk
+
+
+
+ Gets the for the Creator of this media item.
+
+
+
+
+ Gets the for the Creator of this media item.
+
+
+
+
+ Gets the for the Creator of this content item.
+
+
+
+
+ Gets the for the Creator of this content item.
+
+
+
+
+ Gets the for the Writer of this content.
+
+
+
+
+ Gets the for the Writer of this content.
+
+
+
+
+ Checks whether an item has any published versions
+
+
+ True if the content has any published versiom otherwise False
+
+
+
+ Sets tags for the property - will add tags to the tags table and set the property value to be the comma delimited value of the tags.
+
+ The content item to assign the tags to
+ The property alias to assign the tags to
+ The tags to assign
+ True to replace the tags on the current property with the tags specified or false to merge them with the currently assigned ones
+ The group/category to assign the tags, the default value is "default"
+
+
+
+
+ Sets tags for the property - will add tags to the tags table and set the property value to be the comma delimited value of the tags.
+
+ The content item to assign the tags to
+ The tag storage type in cache (default is csv)
+ The property alias to assign the tags to
+ The tags to assign
+ True to replace the tags on the current property with the tags specified or false to merge them with the currently assigned ones
+ The group/category to assign the tags, the default value is "default"
+
+
+
+
+ Remove any of the tags specified in the collection from the property if they are currently assigned.
+
+
+
+
+ The group/category that the tags are currently assigned to, the default value is "default"
+
+
+
+ Creates the full xml representation for the object and all of it's descendants
+
+ to generate xml for
+
+ Xml representation of the passed in
+
+
+
+ Creates the xml representation for the object
+
+ to generate xml for
+ Xml representation of the passed in
+
+
+
+ Creates the xml representation for the object
+
+ to generate xml for
+
+ Xml representation of the passed in
+
+
+
+ Creates the xml representation for the object
+
+ to generate xml for
+ Xml representation of the passed in
+
+
+
+ Creates the xml representation for the object
+
+ to generate xml for
+
+ Xml representation of the passed in
+
+
+
+ Creates the full xml representation for the object and all of it's descendants
+
+ to generate xml for
+
+ Xml representation of the passed in
+
+
+
+ Creates the xml representation for the object
+
+ to generate xml for
+ Boolean indicating whether the xml should be generated for preview
+ Xml representation of the passed in
+
+
+
+ Creates the xml representation for the object
+
+ to generate xml for
+
+ Boolean indicating whether the xml should be generated for preview
+ Xml representation of the passed in
+
+
+
+ Creates the xml representation for the object
+
+ to generate xml for
+ Xml representation of the passed in
+
+
+
+ Creates the xml representation for the object
+
+ to generate xml for
+
+ Xml representation of the passed in
+
+
+
+ A very useful class for parsing, enumerating and querying Enum objects
+
+
+
+ Taken from http://damieng.com/blog/2010/10/17/enums-better-syntax-improved-performance-and-tryparse-in-net-3-5
+
+
+
+
+ Name of the faulting macro.
+
+
+
+
+ Alias of the faulting macro.
+
+
+
+
+ Filename, file path, fully qualified class name, or other key used by the macro engine to do it's processing of the faulting macro.
+
+
+
+
+ Exception raised.
+
+
+
+
+ Gets or sets the desired behaviour when a matching macro causes an error. See
+ for definitions. By setting this in your event
+ you can override the default behaviour defined in UmbracoSettings.config.
+
+ Macro error behaviour enum.
+
+
+
+ Used to create a hash code from multiple objects.
+
+
+ .Net has a class the same as this: System.Web.Util.HashCodeCombiner and of course it works for all sorts of things
+ which we've not included here as we just need a quick easy class for this in order to create a unique
+ hash of directories/files to see if they have changed.
+
+
+
+
+ Returns the hex code of the combined hash code
+
+
+
+
+
+ Default umbraco behavior - show duplicates in files and sprites
+
+
+
+
+ If a file exists on disk with the same name as one in the sprite
+ then the file on disk overrules the one in the sprite, the
+ sprite icon will not be shown
+
+
+
+
+ If a file exists on disk with the same name as one in the sprite
+ then the file in the sprite overrules the one on disk, the file
+ on disk will be shown
+
+
+
+
+ All custom file systems that are based upon another IFileSystem should inherit from FileSystemWrapper
+
+
+ An IFileSystem is generally used as a base file system, for example like a PhysicalFileSystem or an S3FileSystem.
+ Then, other custom file systems are wrapped upon these files systems like MediaFileSystem, etc... All of the custom
+ file systems must inherit from FileSystemWrapper.
+
+ This abstract class just wraps the 'real' IFileSystem object passed in to its constructor.
+
+
+
+
+ Default umbraco behavior - show an inline error within the
+ macro but allow the page to continue rendering.
+
+
+
+
+ Silently eat the error and do not display the offending macro.
+
+
+
+
+ Throw an exception which can be caught by the global error handler
+ defined in Application_OnError. If no such error handler is defined
+ then you'll see the Yellow Screen Of Death (YSOD) error page.
+
+
+
+
+ Used content repository in order to add an entity to the persisted collection to be saved
+ in a single transaction during saving an entity
+
+
+
+
+ Used in content/media/member repositories in order to add this type of entity to the persisted collection to be saved
+ in a single transaction during saving an entity
+
+
+
+
+ Special case, always return false, this will cause the repositories managing
+ this object to always do an 'insert' but these are special repositories that
+ do an InsertOrUpdate on insert since the data for this needs to be managed this way
+
+
+
+
+ Represents an abstract class for base ContentType properties and methods
+
+
+
+
+ Defines the base for a ContentType with properties that
+ are shared between ContentTypes and MediaTypes.
+
+
+
+
+ Removes a PropertyType from the current ContentType
+
+ Alias of the to remove
+
+
+
+ Removes a PropertyGroup from the current ContentType
+
+ Name of the to remove
+
+
+
+ Sets the ParentId from the lazy integer id
+
+ Id of the Parent
+
+
+
+ Checks whether a PropertyType with a given alias already exists
+
+ Alias of the PropertyType
+ Returns True if a PropertyType with the passed in alias exists, otherwise False
+
+
+
+ Adds a PropertyType to a specific PropertyGroup
+
+ to add
+ Name of the PropertyGroup to add the PropertyType to
+ Returns True if PropertyType was added, otherwise False
+
+
+
+ Adds a PropertyType, which does not belong to a PropertyGroup.
+
+ to add
+ Returns True if PropertyType was added, otherwise False
+
+
+
+ Adds a PropertyGroup.
+ This method will also check if a group already exists with the same name and link it to the parent.
+
+ Name of the PropertyGroup to add
+ Returns True if a PropertyGroup with the passed in name was added, otherwise False
+
+
+
+ Moves a PropertyType to a specified PropertyGroup
+
+ Alias of the PropertyType to move
+ Name of the PropertyGroup to move the PropertyType to
+
+
+
+
+ Gets or Sets the Alias of the ContentType
+
+
+
+
+ Gets or Sets the Description for the ContentType
+
+
+
+
+ Gets or Sets the Icon for the ContentType
+
+
+
+
+ Gets or Sets the Thumbnail for the ContentType
+
+
+
+
+ Gets or Sets a boolean indicating whether this ContentType is allowed at the root
+
+
+
+
+ Gets or Sets a boolean indicating whether this ContentType is a Container
+
+
+ ContentType Containers doesn't show children in the tree, but rather in grid-type view.
+
+
+
+
+ Gets or Sets a list of integer Ids of the ContentTypes allowed under the ContentType
+
+
+
+
+ Gets or Sets a collection of Property Groups
+
+
+
+
+ Gets an enumerable list of Property Types aggregated for all groups
+
+
+
+
+ Checks whether a PropertyType with a given alias already exists
+
+ Alias of the PropertyType
+ Returns True if a PropertyType with the passed in alias exists, otherwise False
+
+
+
+ Adds a PropertyGroup.
+ This method will also check if a group already exists with the same name and link it to the parent.
+
+ Name of the PropertyGroup to add
+ Returns True if a PropertyGroup with the passed in name was added, otherwise False
+
+
+
+ Adds a PropertyType to a specific PropertyGroup
+
+ to add
+ Name of the PropertyGroup to add the PropertyType to
+ Returns True if PropertyType was added, otherwise False
+
+
+
+ Adds a PropertyType, which does not belong to a PropertyGroup.
+
+ to add
+ Returns True if PropertyType was added, otherwise False
+
+
+
+ Moves a PropertyType to a specified PropertyGroup
+
+ Alias of the PropertyType to move
+ Name of the PropertyGroup to move the PropertyType to
+
+
+
+
+ Removes a PropertyType from the current ContentType
+
+ Alias of the to remove
+
+
+
+ Removes a PropertyGroup from the current ContentType
+
+ Name of the to remove
+
+
+
+ Sets the ParentId from the lazy integer id
+
+ Id of the Parent
+
+
+
+ Indicates whether a specific property on the current entity is dirty.
+
+ Name of the property to check
+ True if Property is dirty, otherwise False
+
+
+
+ Indicates whether the current entity is dirty.
+
+ True if entity is dirty, otherwise False
+
+
+
+ Resets dirty properties by clearing the dictionary used to track changes.
+
+
+ Please note that resetting the dirty properties could potentially
+ obstruct the saving of a new or updated entity.
+
+
+
+
+ Gets or sets the Id of the Parent entity
+
+ Might not be necessary if handled as a relation?
+
+
+
+ Gets or sets the name of the current entity
+
+
+
+
+ Gets or sets the level of the content entity
+
+
+
+
+ Gets of sets the path
+
+
+
+
+ The Alias of the ContentType
+
+
+
+
+ Description for the ContentType
+
+
+
+
+ Gets or sets the sort order of the content entity
+
+
+
+
+ Name of the icon (sprite class) used to identify the ContentType
+
+
+
+
+ Name of the thumbnail used to identify the ContentType
+
+
+
+
+ Gets or sets the Id of the user who created this ContentType
+
+
+
+
+ Gets or Sets a boolean indicating whether this ContentType is allowed at the root
+
+
+
+
+ Gets or Sets a boolean indicating whether this ContentType is a Container
+
+
+ ContentType Containers doesn't show children in the tree, but rather in grid-type view.
+
+
+
+
+ Boolean indicating whether this ContentType is Trashed or not.
+ If ContentType is Trashed it will be located in the Recyclebin.
+
+
+
+
+ Some entities may expose additional data that other's might not, this custom data will be available in this collection
+
+
+
+
+ Gets or sets a list of integer Ids for allowed ContentTypes
+
+
+
+
+ List of PropertyGroups available on this ContentType
+
+
+ A PropertyGroup corresponds to a Tab in the UI
+
+
+
+
+ List of PropertyTypes available on this ContentType.
+ This list aggregates PropertyTypes across the PropertyGroups.
+
+
+
+ The setter is used purely to set the property types that DO NOT belong to a group!
+
+ Marked as DoNotClone because the result of this property is not the natural result of the data, it is
+ a union of data so when auto-cloning if the setter is used it will be setting the unnatural result of the
+ data. We manually clone this instead.
+
+
+
+
+ Returns the property type collection containing types that are non-groups - used for tests
+
+
+
+
+ A boolean flag indicating if a property type has been removed from this instance.
+
+
+ This is currently (specifically) used in order to know that we need to refresh the content cache which
+ needs to occur when a property has been removed from a content type
+
+
+
+
+ PropertyTypes that are not part of a PropertyGroup
+
+
+
+
+ Represents an abstract class for composition specific ContentType properties and methods
+
+
+
+
+ Defines the Composition of a ContentType
+
+
+
+
+ Adds a new ContentType to the list of composite ContentTypes
+
+ to add
+ True if ContentType was added, otherwise returns False
+
+
+
+ Removes a ContentType with the supplied alias from the the list of composite ContentTypes
+
+ Alias of a
+ True if ContentType was removed, otherwise returns False
+
+
+
+ Checks if a ContentType with the supplied alias exists in the list of composite ContentTypes
+
+ Alias of a
+ True if ContentType with alias exists, otherwise returns False
+
+
+
+ Gets a list of ContentType aliases from the current composition
+
+ An enumerable list of string aliases
+
+
+
+ Gets a list of ContentType Ids from the current composition
+
+ An enumerable list of integer ids
+
+
+
+ Gets a list of ContentTypes that make up a composition of PropertyGroups and PropertyTypes for the current ContentType
+
+
+
+
+ Gets a list of objects from the composition
+
+
+
+
+ Gets a list of objects from the composition
+
+
+
+
+ Adds a new ContentType to the list of composite ContentTypes
+
+ to add
+ True if ContentType was added, otherwise returns False
+
+
+
+ Removes a ContentType with the supplied alias from the the list of composite ContentTypes
+
+ Alias of a
+ True if ContentType was removed, otherwise returns False
+
+
+
+ Checks if a ContentType with the supplied alias exists in the list of composite ContentTypes
+
+ Alias of a
+ True if ContentType with alias exists, otherwise returns False
+
+
+
+ Checks whether a PropertyType with a given alias already exists
+
+ Alias of the PropertyType
+ Returns True if a PropertyType with the passed in alias exists, otherwise False
+
+
+
+ Adds a PropertyGroup.
+ This method will also check if a group already exists with the same name and link it to the parent.
+
+ Name of the PropertyGroup to add
+ Returns True if a PropertyGroup with the passed in name was added, otherwise False
+
+
+
+ Adds a PropertyType to a specific PropertyGroup
+
+ to add
+ Name of the PropertyGroup to add the PropertyType to
+ Returns True if PropertyType was added, otherwise False
+
+
+
+ Gets a list of ContentType aliases from the current composition
+
+ An enumerable list of string aliases
+ Does not contain the alias of the Current ContentType
+
+
+
+ Gets a list of ContentType Ids from the current composition
+
+ An enumerable list of integer ids
+ Does not contain the Id of the Current ContentType
+
+
+
+ List of ContentTypes that make up a composition of PropertyGroups and PropertyTypes for the current ContentType
+
+
+
+
+ Returns a list of objects from the composition
+
+
+
+
+ Returns a list of objects from the composition
+
+
+
+
+ Get all descendant content types
+
+
+
+
+
+
+ Get all descendant and self content types
+
+
+
+
+
+
+ Represents a POCO for setting sort order on a ContentType reference
+
+
+
+
+ Marker interface for value object, eg. objects without
+ the same kind of identity as an Entity (with its Id).
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the Id of the ContentType
+
+
+
+
+ Gets or sets the Sort Order of the ContentType
+
+
+
+
+ Gets or sets the Alias of the ContentType
+
+
+
+
+ Used to avoid constant reflection (perf)
+
+
+
+
+ Used to deep clone any reference properties on the object (should be done after a MemberwiseClone for which the outcome is 'output')
+
+
+
+
+
+
+
+ Returns true if this entity has just been created and persisted to the data store
+
+
+
+
+ This is useful when handling events to determine if an entity is a brand new entity or was
+ already existing.
+
+
+
+
+ Represents a member type
+
+
+
+
+ The name of the member group
+
+
+
+
+ Profile of the user who created this Entity
+
+
+
+
+ Some entities may expose additional data that other's might not, this custom data will be available in this collection
+
+
+
+
+ Represents a property of an IPublishedContent.
+
+
+
+
+ Gets the alias of the property.
+
+
+
+
+ Gets a value indicating whether the property has a value.
+
+
+ This is somewhat implementation-dependent -- depending on whatever IPublishedCache considers
+ a missing value.
+ The XmlPublishedCache raw values are strings, and it will consider missing, null or empty (and
+ that includes whitespace-only) strings as "no value".
+ Other caches that get their raw value from the database would consider that a property has "no
+ value" if it is missing, null, or an empty string (including whitespace-only).
+
+
+
+
+ Gets the data value of the property.
+
+
+ The data value is whatever was passed to the property when it was instanciated, and it is
+ somewhat implementation-dependent -- depending on how the IPublishedCache is implemented.
+ The XmlPublishedCache raw values are strings exclusively since they come from the Xml cache.
+ For other caches that get their raw value from the database, it would be either a string,
+ an integer (Int32), or a date and time (DateTime).
+ If you're using that value, you're probably wrong, unless you're doing some internal
+ Umbraco stuff.
+
+
+
+
+ Gets the object value of the property.
+
+
+ The value is what you want to use when rendering content in an MVC view ie in C#.
+ It can be null, or any type of CLR object.
+ It has been fully prepared and processed by the appropriate converter.
+
+
+
+
+ Gets the XPath value of the property.
+
+
+ The XPath value is what you want to use when navigating content via XPath eg in the XSLT engine.
+ It must be either null, or a string, or an XPathNavigator.
+ It has been fully prepared and processed by the appropriate converter.
+
+
+
+
+ Gets or sets the Parent Id of the Relation (Source)
+
+
+
+
+ Gets or sets the Child Id of the Relation (Destination)
+
+
+
+
+ Gets or sets the for the Relation
+
+
+
+
+ Gets or sets a comment for the Relation
+
+
+
+
+ Gets the Id of the that this Relation is based on.
+
+
+
+
+ Gets or sets the Name of the RelationType
+
+
+
+
+ Gets or sets the Alias of the RelationType
+
+
+
+
+ Gets or sets a boolean indicating whether the RelationType is Bidirectional (true) or Parent to Child (false)
+
+
+
+
+ Gets or sets the Parents object type id
+
+ Corresponds to the NodeObjectType in the umbracoNode table
+
+
+
+ Gets or sets the Childs object type id
+
+ Corresponds to the NodeObjectType in the umbracoNode table
+
+
+
+
+ The entity id with permissions assigned
+
+
+
+
+
+ How membership is implemented in the current install.
+
+
+
+
+ The member is based on the native Umbraco members (IMember + Umbraco membership provider)
+
+
+ This supports custom member properties
+
+
+
+
+ The member is based on a custom member provider but it is linked to an IMember
+
+
+ This supports custom member properties (but that is not enabled yet)
+
+
+
+
+ The member is based purely on a custom member provider and is not linked to umbraco data
+
+
+ This does not support custom member properties.
+
+
+
+
+ Represents a member type
+
+
+
+
+ Method to call when Entity is being saved
+
+ Created date is set and a Unique key is assigned
+
+
+
+ Used to track the property types that are visible/editable on member profiles
+
+
+
+
+ Provides a base class for IPublishedProperty implementations which converts and caches
+ the value source to the actual value to use when rendering content.
+
+
+
+
+ Implements a strongly typed content model factory
+
+
+
+
+ Provides the model creation service.
+
+
+
+
+ Creates a strongly-typed model representing a published content.
+
+ The original published content.
+ The strongly-typed model representing the published content, or the published content
+ itself it the factory has no model for that content type.
+
+
+
+ Initializes a new instance of the class with types.
+
+ The model types.
+
+ Types must implement IPublishedContent and have a unique constructor that
+ accepts one IPublishedContent as a parameter.
+ To activate,
+
+ var types = PluginManager.Current.ResolveTypes{PublishedContentModel}();
+ var factory = new PublishedContentModelFactoryImpl(types);
+ PublishedContentModelFactoryResolver.Current.SetFactory(factory);
+
+
+
+
+
+ Resolves the IPublishedContentModelFactory object.
+
+
+
+
+ Initializes a new instance of the .
+
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Initializes a new instance of the with a factory.
+
+ The factory.
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Sets the factory.
+
+ The factory.
+ For developers, at application startup.
+
+
+
+ Gets the factory.
+
+
+
+
+ Represents a Partial View file
+
+
+
+
+ Represents an abstract file which provides basic functionality for a File with an Alias and Name
+
+
+
+
+ Called to re-set the OriginalPath to the Path
+
+
+
+
+ Gets or sets the Name of the File including extension
+
+
+
+
+ Gets or sets the Alias of the File, which is the name without the extension
+
+
+
+
+ Gets or sets the Path to the File from the root of the file's associated IFileSystem
+
+
+
+
+ Gets the original path of the file
+
+
+
+
+ Gets or sets the Content of a File
+
+ Marked as DoNotClone, because it should be lazy-reloaded from disk.
+
+
+
+ Gets or sets the file's virtual path (i.e. the file path relative to the root of the website)
+
+
+
+
+ Enum representing the taggable object types
+
+
+
+
+ Represents a tagged entity.
+
+ Note that it is the properties of an entity (like Content, Media, Members, etc.) that is tagged,
+ which is why this class is composed of a list of tagged properties and an Id reference to the actual entity.
+
+
+
+ Id of the entity, which is tagged
+
+
+
+
+ An enumerable list of tagged properties
+
+
+
+
+ Represents a tagged property on an entity.
+
+
+
+
+ Id of the PropertyType, which this tagged property is based on
+
+
+
+
+ Alias of the PropertyType, which this tagged property is based on
+
+
+
+
+ An enumerable list of Tags for the property
+
+
+
+
+ Represents a template in a template tree
+
+
+
+
+ The current template
+
+
+
+
+ The children of the current template
+
+
+
+
+ The parent template to the current template
+
+
+ Will be null if there is no parent
+
+
+
+
+ Provides an equivalent to the c# lock statement, to be used in a using block.
+
+ Ie replace lock (o) {...} by using (new MonitorLock(o)) { ... }
+
+
+
+ Initializes a new instance of the class with an object to lock.
+
+ The object to lock.
+ Should always be used within a using block.
+
+
+
+ Used to access an umbraco package file
+ Remeber that filenames must be unique
+ use "FindDubletFileNames" for sanitycheck
+
+
+
+
+ Returns the content of the file with the given filename
+
+ Full path to the umbraco package file
+ filename of the file for wich to get the text content
+ this is the relative directory for the location of the file in the package
+ I dont know why umbraco packages contains directories in the first place??
+ text content of the file
+
+
+
+ Copies a file from package to given destination
+
+ Full path to the ubraco package file
+ filename of the file to copy
+ destination path (including destination filename)
+ True a file was overwritten
+
+
+
+ Copies a file from package to given destination
+
+ Full path to the ubraco package file
+ Key: Source file in package. Value: Destination path inclusive file name
+
+
+
+ Check if given list of files can be found in the package
+
+ Full path to the umbraco package file
+ a list of files you would like to find in the package
+ a subset if any of the files in "expectedFiles" that could not be found in the package
+
+
+
+ Sanitycheck - should return en empty collection if package is valid
+
+ Full path to the umbraco package file
+ list of files that are found more than ones (accross directories) in the package
+
+
+
+ Reads the given files from archive and returns them as a collection of byte arrays
+
+
+
+
+
+
+
+ Temperary check to test that we support stylesheets
+
+
+
+
+
+ Entry point to call from your code
+
+
+
+
+
+
+ Will perform the assembly scan in a separate app domain
+
+
+
+
+ Entry point to call from your code
+
+
+
+
+
+
+ Will perform the assembly scan in a separate app domain
+
+
+
+
+ Performs the assembly scanning
+
+
+
+
+
+
+ This method is executed in a separate app domain
+
+
+
+
+ Performs the assembly scanning
+
+
+
+
+
+
+ This method is executed in a separate app domain
+
+
+
+
+ In order to compare types, the types must be in the same context, this method will return the type that
+ we are checking against but from the Load context.
+
+
+
+
+
+
+ Create an app domain
+
+
+
+
+
+ Represents a database index definition retreived by querying the database
+
+
+
+
+ An exception used to indicate that an umbraco entity could not be found
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Used if a migration has executed but the whole process has failed and cannot be rolled back
+
+
+
+
+ Remove the master column after we've migrated all of the values into the 'ParentId' and Path column of Umbraco node
+
+
+
+
+ I'm not actually sure how this is possible but I've come across one install that was missing these PKs
+ and it wasn't a MySQL install.
+ see: http://issues.umbraco.org/issue/U4-5707
+
+
+
+
+ Gets all entities in recycle bin
+
+
+
+
+
+ Called to empty the recycle bin
+
+
+
+
+
+ Gets a stream that is used to write to the file
+
+
+
+
+
+
+ Returns all files in the file system
+
+
+
+
+ Returns a list of all files with their paths. For example:
+
+ \hello.txt
+ \folder1\test.txt
+ \folder1\blah.csv
+ \folder1\folder2\blahhhhh.svg
+
+
+
+
+ Dispose any disposable properties
+
+
+ Dispose the unit of work
+
+
+
+
+ Returns the Unit of Work added to the repository
+
+
+
+
+ Gets a stream that is used to write to the file
+
+
+
+
+ This ensures the stream includes a utf8 BOM
+
+
+
+
+ Abstract class for defining MS sql implementations
+
+
+
+
+
+ Represents the Base Sql Syntax provider implementation.
+
+
+ All Sql Syntax provider implementations should derive from this abstract class.
+
+
+
+
+
+ Defines an SqlSyntaxProvider
+
+
+
+
+ This is used ONLY if we need to format datetime without using SQL parameters (i.e. during migrations)
+
+
+
+
+
+ MSSQL has a DateTime standard that is unambiguous and works on all servers:
+ YYYYMMDD HH:mm:ss
+
+
+
+
+ Indicates that this is a default property value converter (shipped with Umbraco)
+
+
+
+
+ A DefaultPropertyValueConverter can 'shadow' other default property value converters so that
+ a DefaultPropertyValueConverter can be more specific than another one.
+
+
+ An example where this is useful is that both the RelatedLiksEditorValueConverter and the JsonValueConverter
+ will be returned as value converters for the Related Links Property editor, however the JsonValueConverter
+ is a very generic converter and the RelatedLiksEditorValueConverter is more specific than it, so the RelatedLiksEditorValueConverter
+ can specify that it 'shadows' the JsonValueConverter.
+
+
+
+
+ An interface that is shared between parameter and property value editors to access their views
+
+
+
+
+ String extension methods used specifically to translate into SQL
+
+
+
+
+ Determines how to match a string property value
+
+
+
+
+ Determine how to match a number or data value
+
+
+
+
+ Private class to handle preview insert/update based on standard principles and units of work with transactions
+
+
+
+
+ Internal class to handle content/published xml insert/update based on standard principles and units of work with transactions
+
+
+
+
+ Gets a member group by it's name
+
+
+
+
+
+
+ Creates the new member group if it doesn't already exist
+
+
+
+
+
+ Returns the member groups for a given member
+
+
+
+
+
+
+ Returns the member groups for a given member
+
+
+
+
+
+
+ Represents the version name of SQL server (i.e. the year 2008, 2005, etc...)
+
+
+
+
+ Returns the quotes tableName.columnName combo
+
+
+
+
+
+
+
+
+ This is used to generate a delete query that uses a sub-query to select the data, it is required because there's a very particular syntax that
+ needs to be used to work for all servers: MySql, SQLCE and MSSQL
+
+
+
+ See: http://issues.umbraco.org/issue/U4-3876
+
+
+
+
+ Specifies the different types of property cacheable values.
+
+
+
+
+ All of them.
+
+
+
+
+ The source value ie the internal value that can be used to create both the
+ object value and the xpath value.
+
+
+
+
+ The object value ie the strongly typed value of the property as seen when accessing content via C#.
+
+
+
+
+ The XPath value ie the value of the property as seen when accessing content via XPath.
+
+
+
+
+ Indicates the cache level for a property cacheable value.
+
+ Use this attribute to mark property values converters.
+
+
+
+ Initializes a new instance of the class with a cacheable value and a cache level.
+
+ The cacheable value.
+ The cache level.
+
+
+
+ Gets or sets the cacheable value.
+
+
+
+
+ Gets or sets the cache level;
+
+
+
+
+ Indicates the CLR type of property object values returned by a converter.
+
+ Use this attribute to mark property values converters.
+
+
+
+ Initializes a new instance of the class with a type.
+
+ The type.
+
+
+
+ Gets or sets the type.
+
+
+
+
+ Specifies the acceptable level of cache for a property value.
+
+ By default, Request is assumed.
+
+
+
+ Indicates that the property value can be cached at the content level, ie it can be
+ cached until the content itself is modified.
+
+
+
+
+ Indicates that the property value can be cached at the content cache level, ie it can
+ be cached until any content in the cache is modified.
+
+
+
+
+ Indicates that the property value can be cached at the request level, ie it can be
+ cached for the duration of the current request.
+
+
+
+
+ Indicates that the property value cannot be cached and has to be converted any time
+ it is requested.
+
+
+
+
+ An interface that indicates that a property editor supports tags and will store it's published tags into the tag db table
+
+
+
+
+ Defines a tag property definition type to invoke at runtime to get the tags configuration for a property
+
+
+
+
+
+ Normal constructor specifying the default tags configuration for a property
+
+
+
+
+ Defines how the tag values will be extracted, default is FromDelimitedValue
+
+
+
+
+ Defines how to store the tags in cache (CSV or Json)
+
+
+
+
+ Defines a custom delimiter, the default is a comma
+
+
+
+
+ Determines whether or not to replace the tags with the new value or append them (true to replace, false to append), default is true
+
+
+
+
+ The tag group to use when tagging, the default is 'default'
+
+
+
+
+ Allows for dynamically changing how a property's data is tagged at runtime during property setting
+
+
+
+
+ Constructor specifies the defaults and sets the ContentPropertyData being used to set the tag values which
+ can be used to dynamically adjust the tags definition for this property.
+
+
+
+
+
+
+ The property data that will create the tag data
+
+
+
+
+ The attribute that has specified this definition type
+
+
+
+
+ Defines how to store the tags in cache (CSV or Json)
+
+
+
+
+ Defines a custom delimiter, the default is a comma
+
+
+
+
+ Determines whether or not to replace the tags with the new value or append them (true to replace, false to append), default is true
+
+
+
+
+ The tag group to use when tagging, the default is 'default'
+
+
+
+
+ Determines how the value for tags is extracted from the property
+
+
+
+
+ The list of tags will be extracted from the string value by a delimiter
+
+
+
+
+ The list of tags will be supplied by the property editor's ConvertEditorToDb method result which will need to return an IEnumerable{string} value
+
+
+ if the ConvertEditorToDb doesn't return an IEnumerable{string} then an exception will be thrown.
+
+
+
+
+ Provides published content properties converter meta data.
+
+
+
+
+ Gets the type of values returned by the converter.
+
+ The property type.
+ The CLR type of values returned by the converter.
+
+
+
+ Gets the property cache level of a specified value.
+
+ The property type.
+ The property value.
+ The property cache level of the specified value.
+
+
+
+ Ensures that no matter what is selected in (editor), the value results in a string.
+
+
+ For more details see issues http://issues.umbraco.org/issue/U4-3776 (MNTP)
+ and http://issues.umbraco.org/issue/U4-4160 (media picker).
+ The cache level is set to .Content because the string is supposed to depend
+ on the source value only, and not on any other content. It is NOT appropriate
+ to use that converter for values whose .ToString() would depend on other content.
+
+
+
+
+ Value converter for the RTE so that it always returns IHtmlString so that Html.Raw doesn't have to be used.
+
+
+
+
+ Represents an ordered set of .
+
+ The type of content.
+
+
+
+ Represents a set of .
+
+ The type of content.
+
+ A ContentSet{T} is created from an IEnumerable{T} using the ToContentSet
+ extension method.
+ The content set source is enumerated only once. Same as what you get
+ when you call ToList on an IEnumerable. Only, ToList enumerates its source when
+ created, whereas a content set enumerates its source only when the content set itself
+ is enumerated.
+
+
+
+
+ Gets the number of items in the set.
+
+ The number of items in the set.
+ Will cause the set to be enumerated if it hasn't been already.
+
+
+
+ Represents a Dictionary Item
+
+
+
+
+ Gets or Sets the Parent Id of the Dictionary Item
+
+
+
+
+ Gets or sets the Key for the Dictionary Item
+
+
+
+
+ Gets or sets a list of translations for the Dictionary Item
+
+
+
+
+ Method to call before inserting a new entity in the db
+
+
+
+
+ Gets or Sets the Parent Id of the Dictionary Item
+
+
+
+
+ Gets or sets the Key for the Dictionary Item
+
+
+
+
+ Gets or sets a list of translations for the Dictionary Item
+
+
+
+
+ Represents a translation for a
+
+
+
+
+ Gets or sets the for the translation
+
+
+
+
+ Gets or sets the translated text
+
+
+
+
+ Gets or sets the for the translation
+
+
+
+
+ Gets or sets the translated text
+
+
+
+
+ Represents data that has been submitted to be saved for a content property
+
+
+ This object exists because we may need to save additional data for each property, more than just
+ the string representation of the value being submitted. An example of this is uploaded files.
+
+
+
+
+ The value submitted for the property
+
+
+
+
+ A dictionary containing any additional objects that are related to this property when saving
+
+
+
+
+ The Property editor alias assigned to the data type
+
+
+
+
+ Id of the DataType control
+
+
+
+
+ Gets or Sets the DatabaseType for which the DataType's value is saved as
+
+
+
+
+ Gets or sets the Iso Code for the Language
+
+
+
+
+ Gets or sets the Culture Name for the Language
+
+
+
+
+ Returns a object for the current Language
+
+
+
+
+ Defines a Macro
+
+
+
+
+ Gets or sets the alias of the Macro
+
+
+
+
+ Gets or sets the name of the Macro
+
+
+
+
+ Gets or sets a boolean indicating whether the Macro can be used in an Editor
+
+
+
+
+ Gets or sets the Cache Duration for the Macro
+
+
+
+
+ Gets or sets a boolean indicating whether the Macro should be Cached by Page
+
+
+
+
+ Gets or sets a boolean indicating whether the Macro should be Cached Personally
+
+
+
+
+ Gets or sets a boolean indicating whether the Macro should be rendered in an Editor
+
+
+
+
+ Gets or sets the path to user control or the Control Type to render
+
+
+
+
+ Gets or sets the name of the assembly, which should be used by the Macro
+
+ Will usually only be filled if the ScriptFile is a Usercontrol
+
+
+
+ Gets or set the path to the Python file in use
+
+ Optional: Can only be one of three Script, Python or Xslt
+
+
+
+ Gets or sets the path to the Xslt file in use
+
+ Optional: Can only be one of three Script, Python or Xslt
+
+
+
+ Gets or sets a list of Macro Properties
+
+
+
+
+ Defines a Property for a Macro
+
+
+
+
+ Gets or sets the Alias of the Property
+
+
+
+
+ Gets or sets the Name of the Property
+
+
+
+
+ Gets or sets the Sort Order of the Property
+
+
+
+
+ Gets or sets the parameter editor alias
+
+
+
+
+ Defines a PropertyType (plugin) for a Macro
+
+
+
+
+ Gets the unique Alias of the Property Type
+
+
+
+
+ Gets the name of the Assembly used to render the Property Type
+
+
+
+
+ Gets the name of the Type used to render the Property Type
+
+
+
+
+ Gets the Base Type for storing the PropertyType (Int32, String, Boolean)
+
+
+
+
+ Represents a Tag, which is composed of a Text, Group and NodeCount property.
+
+
+
+
+ Represents a Macro
+
+
+
+
+ Creates an item with pre-filled properties
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates an instance for persisting a new item
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ When some data of a property has changed ensure our Properties flag is dirty
+
+
+
+
+
+
+ Used internally to check if we need to add a section in the repository to the db
+
+
+
+
+ Used internally to check if we need to remove a section in the repository to the db
+
+
+
+
+ Gets or sets the alias of the Macro
+
+
+
+
+ Gets or sets the name of the Macro
+
+
+
+
+ Gets or sets a boolean indicating whether the Macro can be used in an Editor
+
+
+
+
+ Gets or sets the Cache Duration for the Macro
+
+
+
+
+ Gets or sets a boolean indicating whether the Macro should be Cached by Page
+
+
+
+
+ Gets or sets a boolean indicating whether the Macro should be Cached Personally
+
+
+
+
+ Gets or sets a boolean indicating whether the Macro should be rendered in an Editor
+
+
+
+
+ Gets or sets the path to user control or the Control Type to render
+
+
+
+
+ Gets or sets the name of the assembly, which should be used by the Macro
+
+ Will usually only be filled if the ControlType is a Usercontrol
+
+
+
+ Gets or set the path to the Python file in use
+
+ Optional: Can only be one of three Script, Python or Xslt
+
+
+
+ Gets or sets the path to the Xslt file in use
+
+ Optional: Can only be one of three Script, Python or Xslt
+
+
+
+ Gets or sets a list of Macro Properties
+
+
+
+
+ Indicates that the class is a published content model for a specified content type.
+
+ By default, the name of the class is assumed to be the content type alias. The
+ PublishedContentModelAttribute can be used to indicate a different alias.
+
+
+
+ Initializes a new instance of the class with a content type alias.
+
+ The content type alias.
+
+
+
+ Gets or sets the content type alias.
+
+
+
+
+ Provides strongly typed published content models services.
+
+
+
+
+ Creates a strongly typed published content model for an internal published content.
+
+ The internal published content.
+ The strongly typed published content model.
+
+
+
+ Represents a Macro Property
+
+
+
+
+ Ctor for creating a new property
+
+
+
+
+
+
+
+
+ Ctor for creating an existing property
+
+
+
+
+
+
+
+
+
+ Gets or sets the Alias of the Property
+
+
+
+
+ Gets or sets the Alias of the Property
+
+
+
+
+ Gets or sets the Name of the Property
+
+
+
+
+ Gets or sets the Sort Order of the Property
+
+
+
+
+ Gets or sets the Type for this Property
+
+
+ The MacroPropertyTypes acts as a plugin for Macros.
+ All types was previously contained in the database, but has been ported to code.
+
+
+
+
+ A macro's property collection
+
+
+
+
+ An ObservableDictionary
+
+
+ Assumes that the key will not change and is unique for each element in the collection.
+ Collection is not thread-safe, so calls should be made single-threaded.
+
+ The type of elements contained in the BindableCollection
+ The type of the indexing key
+
+
+
+ Create new ObservableDictionary
+
+ Selector function to create key from value
+
+
+
+ Replaces element at given key with new value. New value must have same key.
+
+ Key of element to replace
+ New value
+
+
+ False if key not found
+
+
+
+ Allows us to change the key of an item
+
+
+
+
+
+
+ Gets or sets the element with the specified key. If setting a new value, new value must have same key.
+
+ Key of element to replace
+
+
+
+
+ Used to update an existing macro property
+
+
+
+
+
+ The existing property alias
+
+
+
+
+
+ Enum for the three allowed BaseTypes
+
+
+
+
+ Enum for the various types of Macros
+
+
+
+
+ Represents an type.
+
+ Instances of the class are immutable, ie
+ if the content type changes, then a new class needs to be created.
+
+
+
+ Represents an type.
+
+ Instances of the class are immutable, ie
+ if the property type changes, then a new class needs to be created.
+
+
+
+ Initialize a new instance of the class within a ,
+ with a .
+
+ The published content type.
+ The property type.
+ The new published property type belongs to the published content type and corresponds to the property type.
+
+
+
+ Initializes a new instance of the class with an existing
+ and a new property type alias.
+
+ The new property type alias.
+ The existing published property type.
+
+ The new published property type does not belong to a published content type.
+ It is a copy of the initial published property type, with a different alias.
+
+
+
+
+ Initializes a new instance of the class with a property type alias and a property editor alias.
+
+ The property type alias.
+ The property editor alias.
+
+ The new published property type does not belong to a published content type.
+ It is based upon the property editor, but has no datatype definition. This will work as long
+ as the datatype definition is not required to process (eg to convert) the property values. For
+ example, this may not work if the related IPropertyValueConverter requires the datatype definition
+ to make decisions, fetch prevalues, etc.
+ The value of is assumed to be valid.
+
+
+
+
+ Initializes a new instance of the class with a property type alias and a datatype definition.
+
+ The property type alias.
+ The datatype definition.
+
+ The new published property type does not belong to a published content type.
+
+
+
+
+ Initializes a new instance of the class with a property type alias,
+ a datatype definition identifier, and a property editor alias.
+
+ The property type alias.
+ The datatype definition identifier.
+ The property editor alias.
+
+ The new published property type does not belong to a published content type.
+ The values of and are
+ assumed to be valid and consistent.
+
+
+
+
+ Creates a detached clone of this published property type.
+
+ A detached clone of this published property type.
+
+ Only a published property type that has not already been detached or nested, can be detached.
+ Use detached published property type when creating detached properties outside of a published content.
+
+
+
+
+ Creates a nested clone of this published property type within a specified container published property type.
+
+ The container published property type.
+ A nested clone of this published property type
+
+ Only a published property type that has not already been detached or nested, can be nested.
+ Use nested published property type when creating detached properties within a published content.
+
+
+
+
+ Gets or sets the published content type containing the property type.
+
+
+
+
+ Gets or sets the alias uniquely identifying the property type.
+
+
+
+
+ Gets or sets the identifier uniquely identifying the data type supporting the property type.
+
+
+
+
+ Gets or sets the alias uniquely identifying the property editor for the property type.
+
+
+
+
+ Represents a user -> entity permission
+
+
+
+
+ The assigned permissions for the user/entity combo
+
+
+
+
+ Defines the base contract for and
+
+
+
+
+ Gets or sets the raw password value
+
+
+
+
+ Gets or sets the raw password answer value
+
+
+
+
+ Gets or sets the number of failed password attempts.
+ This is the number of times the password was entered incorrectly upon login.
+
+
+ Alias: umbracoMemberFailedPasswordAttempts
+ Part of the standard properties collection.
+
+
+
+
+ String alias of the default ContentType
+
+
+
+
+ Gets the ContentType used by this content object
+
+
+
+
+ Defines a MemberType, which Member is based on
+
+
+
+
+ Gets a boolean indicating whether a Property is editable by the Member.
+
+ PropertyType Alias of the Property to check
+
+
+
+
+ Gets a boolean indicating whether a Property is visible on the Members profile.
+
+ PropertyType Alias of the Property to check
+
+
+
+
+ Sets a boolean indicating whether a Property is editable by the Member.
+
+ PropertyType Alias of the Property to set
+ Boolean value, true or false
+
+
+
+ Sets a boolean indicating whether a Property is visible on the Members profile.
+
+ PropertyType Alias of the Property to set
+ Boolean value, true or false
+
+
+
+ Represents a Member object
+
+
+
+
+ Constructor for creating an empty Member object
+
+ ContentType for the current Content object
+
+
+
+ Constructor for creating a Member object
+
+ Name of the content
+ ContentType for the current Content object
+
+
+
+ Constructor for creating a Member object
+
+
+
+
+
+
+
+
+ Constructor for creating a Member object
+
+
+
+
+
+ The password value passed in to this parameter should be the encoded/encrypted/hashed format of the member's password
+
+
+
+
+
+ Method to call when Entity is being saved
+
+ Created date is set and a Unique key is assigned
+
+
+
+ Gets or sets the Username
+
+
+
+
+ Gets or sets the Email
+
+
+
+
+ Gets or sets the raw password value
+
+
+
+
+ Gets or sets the Groups that Member is part of
+
+
+
+
+ Gets or sets the Password Question
+
+
+ Alias: umbracoMemberPasswordRetrievalQuestion
+ Part of the standard properties collection.
+
+
+
+
+ Gets or sets the raw password answer value
+
+
+ For security reasons this value should be encrypted, the encryption process is handled by the memberhip provider
+ Alias: umbracoMemberPasswordRetrievalAnswer
+
+ Part of the standard properties collection.
+
+
+
+
+ Gets or set the comments for the member
+
+
+ Alias: umbracoMemberComments
+ Part of the standard properties collection.
+
+
+
+
+ Gets or sets a boolean indicating whether the Member is approved
+
+
+ Alias: umbracoMemberApproved
+ Part of the standard properties collection.
+
+
+
+
+ Gets or sets a boolean indicating whether the Member is locked out
+
+
+ Alias: umbracoMemberLockedOut
+ Part of the standard properties collection.
+
+
+
+
+ Gets or sets the date for last login
+
+
+ Alias: umbracoMemberLastLogin
+ Part of the standard properties collection.
+
+
+
+
+ Gest or sets the date for last password change
+
+
+ Alias: umbracoMemberLastPasswordChangeDate
+ Part of the standard properties collection.
+
+
+
+
+ Gets or sets the date for when Member was locked out
+
+
+ Alias: umbracoMemberLastLockoutDate
+ Part of the standard properties collection.
+
+
+
+
+ Gets or sets the number of failed password attempts.
+ This is the number of times the password was entered incorrectly upon login.
+
+
+ Alias: umbracoMemberFailedPasswordAttempts
+ Part of the standard properties collection.
+
+
+
+
+ String alias of the default ContentType
+
+
+
+
+ User key from the Provider.
+
+
+ When using standard umbraco provider this key will
+ correspond to the guid UniqueId/Key.
+ Otherwise it will the one available from the asp.net
+ membership provider.
+
+
+
+
+ Gets the ContentType used by this content object
+
+
+
+
+ Returns the currently configured membership scenario for members in umbraco
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the provider.
+ The name.
+ The provider user key.
+ The email.
+ The password question.
+ The comment.
+ if set to true [is approved].
+ if set to true [is locked out].
+ The creation date.
+ The last login date.
+ The last activity date.
+ The last password changed date.
+ The last lockout date.
+ The full name.
+ The language.
+ Type of the user.
+
+
+
+
+ Represents a paged result for a model collection
+
+
+
+
+
+ Calculates the skip size based on the paged parameters specified
+
+
+ Returns 0 if the page number or page size is zero
+
+
+
+
+ Represents a stored pre-value field value
+
+
+
+
+ The value stored for the pre-value field
+
+
+
+
+ The database id for the pre-value field value
+
+
+
+
+ The sort order stored for the pre-value field value
+
+
+
+
+ Represents the content type that a object is based on
+
+
+
+
+ Gets a boolean indicating whether a Property is editable by the Member.
+
+ PropertyType Alias of the Property to check
+
+
+
+
+ Gets a boolean indicating whether a Property is visible on the Members profile.
+
+ PropertyType Alias of the Property to check
+
+
+
+
+ Sets a boolean indicating whether a Property is editable by the Member.
+
+ PropertyType Alias of the Property to set
+ Boolean value, true or false
+
+
+
+ Sets a boolean indicating whether a Property is visible on the Members profile.
+
+ PropertyType Alias of the Property to set
+ Boolean value, true or false
+
+
+
+ Method to call when Entity is being saved
+
+ Created date is set and a Unique key is assigned
+
+
+
+ Method to call when Entity is being updated
+
+ Modified Date is set and a new Version guid is set
+
+
+
+ The Alias of the ContentType
+
+
+
+
+ Gets or Sets a Dictionary of Tuples (MemberCanEdit, VisibleOnProfile) by the PropertyTypes' alias.
+
+
+
+
+ Represents the pre-value data for a DataType
+
+
+ Due to the legacy nature of the data that can be stored for pre-values, we have this class which encapsulates the 2 different
+ ways that pre-values are stored: A string array or a Dictionary.
+
+ Most legacy property editors won't support the dictionary format but new property editors should always use the dictionary format.
+ In order to get overrideable pre-values working we need a dictionary since we'll have to reference a pre-value by a key.
+
+
+
+
+ Regardless of how the pre-values are stored this will return as a dictionary, it will convert an array based to a dictionary
+
+
+
+
+
+ Check if it is a dictionary based collection
+
+
+
+
+ A property extension class that allows us to enable tags for any given property
+
+
+
+
+ The behavior of how to save the tags assigned -
+ Merge (keep existing and append new),
+ Remove (remove any of the tags in the Tags property that are currently assigned,
+ Replace (replace the currently assigned tags with the ones specified)
+
+
+
+
+ Flags the property to have tagging enabled
+
+
+
+
+ The actual tags to associate - tag/group
+
+
+
+
+ Represents a registered server in a multiple-servers environment.
+
+
+
+
+ Initialiazes a new instance of the class.
+
+
+
+
+ Initialiazes a new instance of the class.
+
+ The unique id of the server registration.
+ The server url.
+ The unique server identity.
+ The date and time the registration was created.
+ The date and time the registration was last accessed.
+ A value indicating whether the registration is active.
+ A value indicating whether the registration is master.
+
+
+
+ Initialiazes a new instance of the class.
+
+ The server url.
+ The unique server identity.
+ The date and time the registration was created.
+
+
+
+ Converts the value of this instance to its equivalent string representation.
+
+
+
+
+
+ Gets or sets the server url.
+
+
+
+
+ Gets or sets the server unique identity.
+
+
+
+
+ Gets or sets a value indicating whether the server is active.
+
+
+
+
+ Gets or sets a value indicating whether the server is master.
+
+
+
+
+ Gets the date and time the registration was created.
+
+
+
+
+ Gets the date and time the registration was last accessed.
+
+
+
+
+ Defines a Template File (Masterpage or Mvc View)
+
+
+
+
+ Returns the that corresponds to the template file
+
+
+
+
+
+ Set the mastertemplate
+
+
+
+
+
+ Gets the Name of the File including extension
+
+
+
+
+ Gets the Alias of the File, which is the name without the extension
+
+
+
+
+ Returns true if the template is used as a layout for other templates (i.e. it has 'children')
+
+
+
+
+ returns the master template alias
+
+
+
+
+ Represents a Language
+
+
+
+
+ Gets or sets the Iso Code for the Language
+
+
+
+
+ Gets or sets the Culture Name for the Language
+
+
+
+
+ Returns a object for the current Language
+
+
+
+
+ Represents a Media object
+
+
+
+
+ Changes the for the current content object
+
+ New ContentType for this content
+ Leaves PropertyTypes intact after change
+
+
+
+ Changes the for the current content object and removes PropertyTypes,
+ which are not part of the new ContentType.
+
+ New ContentType for this content
+ Boolean indicating whether to clear PropertyTypes upon change
+
+
+
+ Gets the ContentType used by this Media object
+
+
+
+
+ Constructor for creating a Media object
+
+ ame of the Media object
+ Parent object
+ MediaType for the current Media object
+
+
+
+ Constructor for creating a Media object
+
+ ame of the Media object
+ Parent object
+ MediaType for the current Media object
+ Collection of properties
+
+
+
+ Constructor for creating a Media object
+
+ ame of the Media object
+ Id of the Parent IMedia
+ MediaType for the current Media object
+
+
+
+ Constructor for creating a Media object
+
+ Name of the Media object
+ Id of the Parent IMedia
+ MediaType for the current Media object
+ Collection of properties
+
+
+
+ Changes the for the current Media object
+
+ New MediaType for this Media
+ Leaves PropertyTypes intact after change
+
+
+
+ Changes the for the current Media object and removes PropertyTypes,
+ which are not part of the new MediaType.
+
+ New MediaType for this Media
+ Boolean indicating whether to clear PropertyTypes upon change
+
+
+
+ Changes the Trashed state of the content object
+
+ Boolean indicating whether content is trashed (true) or not trashed (false)
+
+
+
+
+ Method to call when Entity is being saved
+
+ Created date is set and a Unique key is assigned
+
+
+
+ Gets the ContentType used by this Media object
+
+
+
+
+ Represents the content type that a object is based on
+
+
+
+
+
+ Constuctor for creating a MediaType with the parent's id.
+
+ Only use this for creating MediaTypes at the root (with ParentId -1).
+
+
+
+
+ Constuctor for creating a MediaType with the parent as an inherited type.
+
+ Use this to ensure inheritance from parent.
+
+
+
+
+ Constuctor for creating a MediaType with the parent as an inherited type.
+
+ Use this to ensure inheritance from parent.
+
+
+
+
+
+ Method to call when Entity is being saved
+
+ Created date is set and a Unique key is assigned
+
+
+
+ Method to call when Entity is being updated
+
+ Modified Date is set and a new Version guid is set
+
+
+
+ Defines the the Profile interface
+
+
+ This interface is pretty useless but has been exposed publicly from 6.x so we're stuck with it. It would make more sense
+ if the Id was an int but since it's not people have to cast it to int all of the time!
+
+
+
+
+ Defines the interface for a
+
+ Will be left internal until a proper Membership implementation is part of the roadmap
+
+
+
+ Gets/sets the user type for the user
+
+
+
+
+ The default permission set for the user
+
+
+ Currently in umbraco each permission is a single char but with an Enumerable{string} collection this allows for flexible changes to this in the future
+
+
+
+
+ Exposes the basic profile data
+
+
+
+
+ The security stamp used by ASP.Net identity
+
+
+
+
+ The user type alias
+
+
+
+
+ The user type name
+
+
+
+
+ The set of default permissions for the user type
+
+
+ By default each permission is simply a single char but we've made this an enumerable{string} to support a more flexible permissions structure in the future.
+
+
+
+
+ Represents a backoffice user
+
+
+
+
+ Whenever resetting occurs, clear the remembered add/removed collections, even if
+ rememberPreviouslyChangedProperties is true, the AllowedSections property will still
+ be flagged as dirty.
+
+
+
+
+
+ Handles the collection changed event in order for us to flag the AllowedSections property as changed
+
+
+
+
+
+
+ The security stamp used by ASP.Net identity
+
+
+
+
+ Used internally to check if we need to add a section in the repository to the db
+
+
+
+
+ Used internally to check if we need to remove a section in the repository to the db
+
+
+
+
+ Gets or sets the session timeout.
+
+
+ The session timeout.
+
+
+
+
+ Gets or sets the start content id.
+
+
+ The start content id.
+
+
+
+
+ Gets or sets the start media id.
+
+
+ The start media id.
+
+
+
+
+ Internal class used to wrap the user in a profile
+
+
+
+
+ Represents a Group for a Backoffice User
+
+
+ Should be internal until a proper user/membership implementation
+ is part of the roadmap.
+
+
+
+
+ Represents the Type for a Backoffice User
+
+
+
+
+ The set of default permissions for the user type
+
+
+ By default each permission is simply a single char but we've made this an enumerable{string} to support a more flexible permissions structure in the future.
+
+
+
+
+ Creates the xml representation for the object
+
+ to generate xml for
+ Xml of the property and its value
+
+
+
+ The type of published content, ie whether it is a content or a media.
+
+
+
+
+ A content, ie what was formerly known as a document.
+
+
+
+
+ A media.
+
+
+
+
+ A member.
+
+
+
+
+ Represents a Relation between two items
+
+
+
+
+ Gets or sets the Parent Id of the Relation (Source)
+
+
+
+
+ Gets or sets the Child Id of the Relation (Destination)
+
+
+
+
+ Gets or sets the for the Relation
+
+
+
+
+ Gets or sets a comment for the Relation
+
+
+
+
+ Gets the Id of the that this Relation is based on.
+
+
+
+
+ Represents a RelationType
+
+
+
+
+ Gets or sets the Name of the RelationType
+
+
+
+
+ Gets or sets the Alias of the RelationType
+
+
+
+
+ Gets or sets a boolean indicating whether the RelationType is Bidirectional (true) or Parent to Child (false)
+
+
+
+
+ Gets or sets the Parents object type id
+
+ Corresponds to the NodeObjectType in the umbracoNode table
+
+
+
+ Gets or sets the Childs object type id
+
+ Corresponds to the NodeObjectType in the umbracoNode table
+
+
+
+ Represents a Script file
+
+
+
+
+ Indicates whether the current entity has an identity, which in this case is a path/name.
+
+
+ Overrides the default Entity identity check.
+
+
+
+
+ Represents a Stylesheet file
+
+
+
+
+ If the property has changed then we need to update the content
+
+
+
+
+
+
+ Adds an Umbraco stylesheet property for use in the back office
+
+
+
+
+
+ Removes an Umbraco stylesheet property
+
+
+
+
+
+ Gets or sets the Content of a File
+
+
+
+
+ Returns a list of umbraco back office enabled stylesheet properties
+
+
+ An umbraco back office enabled stylesheet property has a special prefix, for example:
+
+ /** umb_name: MyPropertyName */ p { font-size: 1em; }
+
+
+
+
+ Indicates whether the current entity has an identity, which in this case is a path/name.
+
+
+ Overrides the default Entity identity check.
+
+
+
+
+ Represents a Stylesheet Property
+
+
+ Properties are always formatted to have a single selector, so it can be used in the backoffice
+
+
+
+
+ The CSS rule name that can be used by Umbraco in the back office
+
+
+
+
+ This is the CSS Selector
+
+
+
+
+ The CSS value for the selector
+
+
+
+
+ Represents a Task
+
+
+
+
+ Gets or sets a boolean indicating whether the task is closed
+
+
+
+
+ Gets or sets the TaskType of the Task
+
+
+
+
+ Gets or sets the Id of the entity, which this task is associated to
+
+
+
+
+ Gets or sets the Id of the user, who owns this task
+
+
+
+
+ Gets or sets the Id of the user, who is assigned to this task
+
+
+
+
+ Gets or sets the Comment for the Task
+
+
+
+
+ Represents a Task Type
+
+
+
+
+ Gets or sets the Alias of the TaskType
+
+
+
+
+ Represents a Template file
+
+
+
+
+ Method to call when Entity is being saved
+
+ Created date is set and a Unique key is assigned
+
+
+
+ Returns true if the template is used as a layout for other templates (i.e. it has 'children')
+
+
+
+
+ Implementation of the for internal use.
+
+
+
+
+ A struction that can be contained in the additional data of an UmbracoEntity representing
+ a user defined property
+
+
+
+
+ Enum used to represent the Umbraco Object Types and thier associated GUIDs
+
+
+
+
+ Default value
+
+
+
+
+ Content Item Type
+
+
+
+
+ Root
+
+
+
+
+ Document
+
+
+
+
+ Media
+
+
+
+
+ Member Type
+
+
+
+
+ Template
+
+
+
+
+ Member Group
+
+
+
+
+ Content Item
+
+
+
+
+ "Media Type
+
+
+
+
+ Document Type
+
+
+
+
+ Recycle Bin
+
+
+
+
+ Stylesheet
+
+
+
+
+ Member
+
+
+
+
+ Data Type
+
+
+
+
+ Extension methods for the UmbracoObjectTypes enum
+
+
+
+
+ Get an UmbracoObjectTypes value from it's name
+
+ Enum value name
+ an UmbracoObjectTypes Enum value
+
+
+
+ Get an instance of an UmbracoObjectTypes enum value from it's GUID
+
+ Enum value GUID
+ an UmbracoObjectTypes Enum value
+
+
+
+ Extension method for the UmbracoObjectTypes enum to return the enum GUID
+
+ UmbracoObjectTypes Enum value
+ a GUID value of the UmbracoObjectTypes
+
+
+
+ Extension method for the UmbracoObjectTypes enum to return the enum name
+
+ UmbracoObjectTypes value
+ The enum name of the UmbracoObjectTypes value
+
+
+
+ Extension method for the UmbracoObejctTypes enum to return the enum friendly name
+
+ UmbracoObjectTypes value
+ a string of the FriendlyName
+
+
+
+ Returns the culture info associated with this user, based on the language they're assigned to in the back office
+
+
+
+
+
+
+
+ Checks if the user has access to the content item based on their start noe
+
+
+
+
+
+
+
+ Checks if the user has access to the media item based on their start noe
+
+
+
+
+
+
+
+ Currently just used to get the machine name in med trust and to format a machine name for use with file names
+
+
+
+
+ Returns the machine name that is safe to use in file paths.
+
+
+ see: https://github.com/Shandem/ClientDependency/issues/4
+
+
+
+
+ Returns the current machine name
+
+
+ Tries to resolve the machine name, if it cannot it uses the config section.
+
+
+
+
+ A custom validation attribute which adds additional metadata to the property to indicate that
+ the value is required to be persisted.
+
+
+ In Umbraco, we persist content even if it is invalid, however there are some properties that are absolutely required
+ in order to be persisted such as the Name of the content item. This attribute is re-usable to check for these types of
+ properties over any sort of model.
+
+
+
+
+ A resolver to return all IApplicationEvents objects
+
+
+ This is disposable because after the app has started it should be disposed to release any memory being occupied by instances.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Create instances of all of the legacy startup handlers
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+ 2
+
+
+
+ Clear out all of the instances, we don't want them hanging around and cluttering up memory
+
+
+
+
+ Override in order to only return types of IApplicationEventHandler and above,
+ do not include the legacy types of IApplicationStartupHandler
+
+
+
+
+ Gets the implementations.
+
+
+
+
+ Gets a value indicating whether this instance is disposed.
+
+
+ true if this instance is disposed; otherwise, false.
+
+
+
+
+ Simply used to track all ManyObjectsResolverBase instances so that we can
+ reset them all at once really easily.
+
+
+ Normally we'd use TypeFinding for this but because many of the resolvers are internal this won't work.
+ We'd rather not keep a static list of them so we'll dynamically add to this list based on the base
+ class of the ManyObjectsResolverBase.
+
+
+
+
+ Resets all resolvers
+
+
+
+
+ This is called when the static Reset method or a ResolverBase{T} is called.
+
+
+
+
+ Adds a resolver to the collection
+
+
+
+
+ This is called when the creation of a ResolverBase occurs
+
+
+
+
+ Returns the number of resolvers created
+
+
+
+
+ Defines an interface which must be implemented by custom components responsible for detecting specific transient conditions.
+
+
+
+
+ Determines whether the specified exception represents a transient failure that can be compensated by a retry.
+
+ The exception object to be verified.
+ True if the specified exception is considered as transient, otherwise false.
+
+
+
+ Contains information required for the event.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The current retry attempt count.
+ The delay indicating how long the current thread will be suspended for before the next iteration will be invoked.
+ The exception which caused the retry conditions to occur.
+
+
+
+ Gets the current retry count.
+
+
+
+
+ Gets the delay indicating how long the current thread will be suspended for before the next iteration will be invoked.
+
+
+
+
+ Gets the exception which caused the retry conditions to occur.
+
+
+
+
+ The special type of exception that provides managed exit from a retry loop. The user code can use this
+ exception to notify the retry policy that no further retry attempts are required.
+
+
+
+
+ Initializes a new instance of the class with a default error message.
+
+
+
+
+ Initializes a new instance of the class with a specified error message.
+
+ The message that describes the error.
+
+
+
+ Initializes a new instance of the class with a reference to the inner exception
+ that is the cause of this exception.
+
+ The exception that is the cause of the current exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The message that describes the error.
+ The exception that is the cause of the current exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+ The parameter is null.
+ The class name is null or is zero (0).
+
+
+
+ Provides the base implementation of the retry mechanism for unreliable actions and transient conditions.
+
+
+
+
+ Returns a default policy that does no retries, it just invokes action exactly once.
+
+
+
+
+ Returns a default policy that implements a fixed retry interval configured with the default retry strategy.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ Returns a default policy that implements a progressive retry interval configured with the default retry strategy.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ Returns a default policy that implements a random exponential retry interval configured with the default retry strategy.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ Initializes a new instance of the RetryPolicy class with the specified number of retry attempts and parameters defining the progressive delay between retries.
+
+ The that is responsible for detecting transient conditions.
+ The retry strategy to use for this retry policy.
+
+
+
+ Initializes a new instance of the RetryPolicy class with the specified number of retry attempts and default fixed time interval between retries.
+
+ The that is responsible for detecting transient conditions.
+ The number of retry attempts.
+
+
+
+ Initializes a new instance of the RetryPolicy class with the specified number of retry attempts and fixed time interval between retries.
+
+ The that is responsible for detecting transient conditions.
+ The number of retry attempts.
+ The interval between retries.
+
+
+
+ Initializes a new instance of the RetryPolicy class with the specified number of retry attempts and back-off parameters for calculating the exponential delay between retries.
+
+ The that is responsible for detecting transient conditions.
+ The number of retry attempts.
+ The minimum back-off time.
+ The maximum back-off time.
+ The time value that will be used for calculating a random delta in the exponential delay between retries.
+
+
+
+ Initializes a new instance of the RetryPolicy class with the specified number of retry attempts and parameters defining the progressive delay between retries.
+
+ The that is responsible for detecting transient conditions.
+ The number of retry attempts.
+ The initial interval that will apply for the first retry.
+ The incremental time value that will be used for calculating the progressive delay between retries.
+
+
+
+ Repetitively executes the specified action while it satisfies the current retry policy.
+
+ A delegate representing the executable action which doesn't return any results.
+
+
+
+ Repetitively executes the specified action while it satisfies the current retry policy.
+
+ The type of result expected from the executable action.
+ A delegate representing the executable action which returns the result of type R.
+ The result from the action.
+
+
+
+ Notifies the subscribers whenever a retry condition is encountered.
+
+ The current retry attempt count.
+ The exception which caused the retry conditions to occur.
+ The delay indicating how long the current thread will be suspended for before the next iteration will be invoked.
+
+
+
+ An instance of a callback delegate that will be invoked whenever a retry condition is encountered.
+
+
+
+
+ Gets the retry strategy.
+
+
+
+
+ Gets the instance of the error detection strategy.
+
+
+
+
+ Implements a strategy that ignores any transient errors.
+
+
+
+
+ Always return false.
+
+ The exception.
+ Returns false.
+
+
+
+ Implements a strategy that treats all exceptions as transient errors.
+
+
+
+
+ Always return true.
+
+ The exception.
+ Returns true.
+
+
+
+ Provides a factory class for instantiating application-specific retry policies.
+
+
+
+
+ Defines a callback delegate that will be invoked whenever a retry condition is encountered.
+
+ The current retry attempt count.
+ The exception which caused the retry conditions to occur.
+ The delay indicating how long the current thread will be suspended for before the next iteration will be invoked.
+ Returns a callback delegate that will be invoked whenever to retry should be attempt.
+
+
+
+ Represents a retry strategy that determines how many times should be retried and the interval between retries.
+
+
+
+
+ The default number of retry attempts.
+
+
+
+
+ The default amount of time used when calculating a random delta in the exponential delay between retries.
+
+
+
+
+ The default maximum amount of time used when calculating the exponential delay between retries.
+
+
+
+
+ The default minimum amount of time used when calculating the exponential delay between retries.
+
+
+
+
+ The default amount of time defining an interval between retries.
+
+
+
+
+ The default amount of time defining a time increment between retry attempts in the progressive delay policy.
+
+
+
+
+ The default flag indicating whether or not the very first retry attempt will be made immediately
+ whereas the subsequent retries will remain subject to retry interval.
+
+
+
+
+ Returns a default policy that does no retries, it just invokes action exactly once.
+
+
+
+
+ Returns a default policy that implements a fixed retry interval configured with and parameters.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ Returns a default policy that implements a progressive retry interval configured with , and parameters.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ Returns a default policy that implements a random exponential retry interval configured with , , and parameters.
+ The default retry policy treats all caught exceptions as transient errors.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the retry strategy.
+ a value indicating whether or not the very first retry attempt will be made immediately
+ whereas the subsequent retries will remain subject to retry interval.
+
+
+
+ Returns the corresponding ShouldRetry delegate.
+
+ The ShouldRetry delegate.
+
+
+
+ Gets or sets a value indicating whether or not the very first retry attempt will be made immediately
+ whereas the subsequent retries will remain subject to retry interval.
+
+
+
+
+ Gets the name of the retry strategy.
+
+
+
+
+ A retry strategy with back-off parameters for calculating the exponential delay between retries.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The maximum number of retry attempts.
+ The minimum back-off time
+ The maximum back-off time.
+ The value that will be used for calculating a random delta in the exponential delay between retries.
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the retry strategy.
+ The maximum number of retry attempts.
+ The minimum back-off time
+ The maximum back-off time.
+ The value that will be used for calculating a random delta in the exponential delay between retries.
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the retry strategy.
+ The maximum number of retry attempts.
+ The minimum back-off time
+ The maximum back-off time.
+ The value that will be used for calculating a random delta in the exponential delay between retries.
+
+ Indicates whether or not the very first retry attempt will be made immediately
+ whereas the subsequent retries will remain subject to retry interval.
+
+
+
+
+ Returns the corresponding ShouldRetry delegate.
+
+ The ShouldRetry delegate.
+
+
+
+ A retry strategy with a specified number of retry attempts and a default fixed time interval between retries.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The number of retry attempts.
+
+
+
+ Initializes a new instance of the class.
+
+ The number of retry attempts.
+ The time interval between retries.
+
+
+
+ Initializes a new instance of the class.
+
+ The retry strategy name.
+ The number of retry attempts.
+ The time interval between retries.
+
+
+
+ Initializes a new instance of the class.
+
+ The retry strategy name.
+ The number of retry attempts.
+ The time interval between retries.
+ a value indicating whether or not the very first retry attempt will be made immediately whereas the subsequent retries will remain subject to retry interval.
+
+
+
+ Returns the corresponding ShouldRetry delegate.
+
+ The ShouldRetry delegate.
+
+
+
+ A retry strategy with a specified number of retry attempts and an incremental time interval between retries.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The number of retry attempts.
+ The initial interval that will apply for the first retry.
+ The incremental time value that will be used for calculating the progressive delay between retries.
+
+
+
+ Initializes a new instance of the class.
+
+ The retry strategy name.
+ The number of retry attempts.
+ The initial interval that will apply for the first retry.
+ The incremental time value that will be used for calculating the progressive delay between retries.
+
+
+
+ Initializes a new instance of the class.
+
+ The retry strategy name.
+ The number of retry attempts.
+ The initial interval that will apply for the first retry.
+ The incremental time value that will be used for calculating the progressive delay between retries.
+ a value indicating whether or not the very first retry attempt will be made immediately whereas the subsequent retries will remain subject to retry interval.
+
+
+
+ Returns the corresponding ShouldRetry delegate.
+
+ The ShouldRetry delegate.
+
+
+
+ Implements a strategy that detects network connectivity errors such as host not found.
+
+
+
+
+ Provides the transient error detection logic for transient faults that are specific to SQL Azure.
+
+
+
+
+ Determines whether the specified exception represents a transient failure that can be compensated by a retry.
+
+ The exception object to be verified.
+ True if the specified exception is considered as transient, otherwise false.
+
+
+
+ Error codes reported by the DBNETLIB module.
+
+
+
+
+ Defines the possible throttling modes in SQL Azure.
+
+
+
+
+ Corresponds to "No Throttling" throttling mode whereby all SQL statements can be processed.
+
+
+
+
+ Corresponds to "Reject Update / Insert" throttling mode whereby SQL statements such as INSERT, UPDATE, CREATE TABLE and CREATE INDEX are rejected.
+
+
+
+
+ Corresponds to "Reject All Writes" throttling mode whereby SQL statements such as INSERT, UPDATE, DELETE, CREATE, DROP are rejected.
+
+
+
+
+ Corresponds to "Reject All" throttling mode whereby all SQL statements are rejected.
+
+
+
+
+ Corresponds to an unknown throttling mode whereby throttling mode cannot be determined with certainty.
+
+
+
+
+ Defines the possible throttling types in SQL Azure.
+
+
+
+
+ Indicates that no throttling was applied to a given resource.
+
+
+
+
+ Corresponds to a Soft throttling type. Soft throttling is applied when machine resources such as, CPU, IO, storage, and worker threads exceed
+ predefined safety thresholds despite the load balancer’s best efforts.
+
+
+
+
+ Corresponds to a Hard throttling type. Hard throttling is applied when the machine is out of resources, for example storage space.
+ With hard throttling, no new connections are allowed to the databases hosted on the machine until resources are freed up.
+
+
+
+
+ Corresponds to an unknown throttling type in the event when the throttling type cannot be determined with certainty.
+
+
+
+
+ Defines the types of resources in SQL Azure which may be subject to throttling conditions.
+
+
+
+
+ Corresponds to "Physical Database Space" resource which may be subject to throttling.
+
+
+
+
+ Corresponds to "Physical Log File Space" resource which may be subject to throttling.
+
+
+
+
+ Corresponds to "Transaction Log Write IO Delay" resource which may be subject to throttling.
+
+
+
+
+ Corresponds to "Database Read IO Delay" resource which may be subject to throttling.
+
+
+
+
+ Corresponds to "CPU" resource which may be subject to throttling.
+
+
+
+
+ Corresponds to "Database Size" resource which may be subject to throttling.
+
+
+
+
+ Corresponds to "SQL Worker Thread Pool" resource which may be subject to throttling.
+
+
+
+
+ Corresponds to an internal resource which may be subject to throttling.
+
+
+
+
+ Corresponds to an unknown resource type in the event when the actual resource cannot be determined with certainty.
+
+
+
+
+ Implements an object holding the decoded reason code returned from SQL Azure when encountering throttling conditions.
+
+
+
+
+ Gets the error number that corresponds to throttling conditions reported by SQL Azure.
+
+
+
+
+ Maintains a collection of key-value pairs where a key is resource type and a value is the type of throttling applied to the given resource type.
+
+
+
+
+ Provides a compiled regular expression used for extracting the reason code from the error message.
+
+
+
+
+ Determines throttling conditions from the specified SQL exception.
+
+ The object containing information relevant to an error returned by SQL Server when encountering throttling conditions.
+ An instance of the object holding the decoded reason codes returned from SQL Azure upon encountering throttling conditions.
+
+
+
+ Determines the throttling conditions from the specified SQL error.
+
+ The object containing information relevant to a warning or error returned by SQL Server.
+ An instance of the object holding the decoded reason codes returned from SQL Azure when encountering throttling conditions.
+
+
+
+ Determines the throttling conditions from the specified reason code.
+
+ The reason code returned by SQL Azure which contains the throttling mode and the exceeded resource types.
+ An instance of the object holding the decoded reason codes returned from SQL Azure when encountering throttling conditions.
+
+
+
+ Returns a textual representation the current ThrottlingCondition object including the information held with respect to throttled resources.
+
+ A string that represents the current ThrottlingCondition object.
+
+
+
+ Gets an unknown throttling condition in the event the actual throttling condition cannot be determined.
+
+
+
+
+ Gets the value that reflects the throttling mode in SQL Azure.
+
+
+
+
+ Gets a list of resources in SQL Azure that were subject to throttling conditions.
+
+
+
+
+ Gets a value indicating whether physical data file space throttling was reported by SQL Azure.
+
+
+
+
+ Gets a value indicating whether physical log space throttling was reported by SQL Azure.
+
+
+
+
+ Gets a value indicating whether transaction activity throttling was reported by SQL Azure.
+
+
+
+
+ Gets a value indicating whether data read activity throttling was reported by SQL Azure.
+
+
+
+
+ Gets a value indicating whether CPU throttling was reported by SQL Azure.
+
+
+
+
+ Gets a value indicating whether database size throttling was reported by SQL Azure.
+
+
+
+
+ Gets a value indicating whether concurrent requests throttling was reported by SQL Azure.
+
+
+
+
+ Gets a value indicating whether throttling conditions were not determined with certainty.
+
+
+
+
+ We are removing the cmsMacroPropertyType which the cmsMacroProperty references and the cmsMacroProperty.macroPropertyType column
+ needs to be changed to editorAlias, we'll do this by removing the constraint,changing the macroPropertyType to the new
+ editorAlias column (and maintaing data so we can reference it)
+
+
+
+
+ Creats a unique index across two columns so we cannot have duplicate property aliases for one macro
+
+
+
+
+ Creates a unique index on the macro alias so we cannot have duplicates by alias
+
+
+
+
+ A custom class to map to so that we can linq to it easily without dynamics
+
+
+
+
+ Updates the data in the changed propertyEditorAlias column after it has been changed by ChangeControlIdColumn
+
+
+
+
+ Returns all tags for an entity type (content/media/member)
+
+ Entity type
+ Optional group
+
+
+
+
+ Returns all tags that exist on the content item - Content/Media/Member
+
+ The content item id to get tags for
+ Optional group
+
+
+
+
+ Returns all tags that exist on the content item - Content/Media/Member
+
+ The content item id to get tags for
+ Optional group
+
+
+
+
+ Returns all tags that exist on the content item for the property specified - Content/Media/Member
+
+ The content item id to get tags for
+ The property alias to get tags for
+ Optional group
+
+
+
+
+ Returns all tags that exist on the content item for the property specified - Content/Media/Member
+
+ The content item id to get tags for
+ The property alias to get tags for
+ Optional group
+
+
+
+
+ Assigns the given tags to a content item's property
+
+
+
+ The tags to assign
+
+ If set to true, this will replace all tags with the given tags,
+ if false this will append the tags that already exist for the content item
+
+
+
+ This can also be used to remove all tags from a property by specifying replaceTags = true and an empty tag list.
+
+
+
+
+ Removes any of the given tags from the property association
+
+
+
+ The tags to remove from the property
+
+
+
+ Removes all tag associations from the property
+
+
+
+
+
+
+ Removes all tag associations from the entity
+
+
+
+
+
+ Assigns the given tags to a content item's property
+
+
+
+ The tags to assign
+
+ If set to true, this will replace all tags with the given tags,
+ if false this will append the tags that already exist for the content item
+
+
+
+ This can also be used to remove all tags from a property by specifying replaceTags = true and an empty tag list.
+
+
+
+
+ Removes any of the given tags from the property association
+
+
+
+ The tags to remove from the property
+
+
+
+ This is a clever way to produce an SQL statement like this:
+
+ (select 'Spacesdd' as Tag, 'default' as [Group]
+ union
+ select 'Cool' as Tag, 'default' as [Group]
+ ) as TagSet
+
+ This allows us to use the tags to be inserted as a temporary in memory table.
+
+
+
+
+
+
+ This is used purelty to attempt to maintain some backwards compatibility with new property editors that don't have a
+ legacy property editor predecessor when developers are using the legacy APIs
+
+
+
+
+ This is here for performance reasons since in some cases we will have already resolved the value from the db
+ and want to just give this object the value so it doesn't go re-look it up from the database.
+
+
+
+
+
+
+ In the case where the value is not set, this will go get it from the db ourselves - this shouldn't really ever be needed,
+ the value should always be set with IDataValueSetter.SetValue
+
+
+
+
+ This returns the value
+
+
+ There's code here to load the data from the db just like the legacy DefaultData does but in theory the value of this
+ IData should always be set using the IDataValueSetter.SetValue which is done externally. Just in case there's some edge
+ case out there that doesn't set this value, we'll go and get it based on the same logic in DefaultData.
+
+
+
+
+ This is used purelty to attempt to maintain some backwards compatibility with new property editors that don't have a
+ legacy property editor predecessor when developers are using the legacy APIs
+
+
+
+
+ Creates a runtime instance
+
+
+
+
+
+
+
+
+ A validator that validates an email address
+
+
+
+
+ A validator used to validate a value based on a validator name defined in a package manifest
+
+
+
+
+ Performs the validation against the value
+
+
+ Depending on what is being validated, this value can be a json structure (JObject, JArray, etc...) representing an editor's model, it could be a single
+ string representing an editor's model.
+
+
+ An object that is used to configure the validator. An example could be a regex
+ expression if the validator was a regex validator. This is defined in the manifest along with
+ the definition of the validator.
+
+ The current pre-values stored for the data type
+ The property editor instance that is being validated
+
+ Returns a list of validation results. If a result does not have a field name applied to it then then we assume that
+ the validation message applies to the entire property type being validated. If there is a field name applied to a
+ validation result we will try to match that field name up with a field name on the item itself.
+
+
+
+
+ An interface defining a validator
+
+
+
+
+ Validates the object with the resolved ValueValidator found for this type
+
+
+ Depending on what is being validated, this value can be a json structure (JObject, JArray, etc...) representing an editor's model, it could be a single
+ string representing an editor's model, this class structure is also used to validate pre-values and in that case this value
+ could be a json structure or a single value representing a pre-value field.
+
+
+ When validating a property editor value (not a pre-value), this is the current pre-values stored for the data type.
+ When validating a pre-value field this will be null.
+
+ The property editor instance that we are validating for
+
+
+
+
+ The id of the property editor
+
+
+
+
+ The name of the property editor
+
+
+
+
+ Allows a parameter editor to be re-used based on the configuration specified.
+
+
+
+
+ Used to map the legacy parameter editor aliases to the new ones, this is really just used during
+ installation but has been put in a separate class in case we need it for other purposes
+
+
+
+
+ The map consists of a key which is always the legacy alias + new alias (trimmed))
+
+
+
+
+ Creates a map for the specified legacy alias and property editor alias
+
+
+
+ true if the map was created or false if it was already created
+
+
+
+ Gets an alias based on the legacy alias
+
+
+ if set to true will throw an exception if the map isn't found
+ Returns the alias if found otherwise null if not found
+
+
+
+ Gets a legacy Id based on the alias
+
+
+ if set to true will throw an exception if the map isn't found
+ Returns the legacy GUID of a property editor if found, otherwise returns null
+
+
+
+ A method that should be called on startup to register the mappings for the internal core editors
+
+
+
+
+ This is used to map old legacy property editor GUID's to the new Property Editor alias (string) format.
+
+
+ This can be used by developers on application startup to register a mapping from their old ids to their new aliases and vice-versa.
+
+
+
+
+ The map consists of a key which is always the GUID (lowercase, no hyphens + alias (trimmed))
+
+
+
+
+ Creates a map for the specified legacy id and property editor alias
+
+
+
+ true if the map was created or false if it was already created
+
+
+
+ Gets an alias based on the legacy ID
+
+
+ if set to true will throw an exception if the map isn't found
+ Returns the alias if found otherwise null if not found
+
+
+
+ Gets a legacy Id based on the alias
+
+
+
+ Returns the legacy GUID of a property editor if found, otherwise returns null
+
+
+
+ A method that should be called on startup to register the mappings for the internal core editors
+
+
+
+
+ An attribute used to decorate mappers to be associated with entities
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents the PetaPocoMapper, which is the implementation of the IMapper interface.
+ This is currently only used to ensure that nullable dates are not saved to the database.
+
+
+
+
+ Attribute that represents a db constraint
+
+
+
+
+ Gets or sets the name of the constraint
+
+
+ Overrides the default naming of a property constraint:
+ DF_tableName_propertyName
+
+
+
+
+ Gets or sets the Default value
+
+
+
+
+ Attribute that represents the usage of a special type
+
+
+ Should only be used when the .NET type can't be directly translated to a DbType.
+
+
+
+
+ Gets or sets the for this column
+
+
+
+
+ Attribute that represents the length of a column
+
+ Used to define the length of fixed sized columns - typically used for nvarchar
+
+
+
+ Gets or sets the length of a column
+
+
+
+
+ Enum with the two special types that has to be supported because
+ of the current umbraco db schema.
+
+
+
+
+ Attribute that represents a Foreign Key reference
+
+
+
+
+ Attribute that represents a reference between two tables/DTOs
+
+
+
+
+ Gets or sets the Type of the referenced DTO/table
+
+
+
+
+ Gets or sets the name of the foreign key refence
+
+
+ Overrides the default naming of a foreign key reference:
+ FK_thisTableName_refTableName
+
+
+
+
+ Gets or sets the name of the Column that this foreign key should reference.
+
+ PrimaryKey column is used by default
+
+
+
+ Attribute that represents an Index
+
+
+
+
+ Gets or sets the name of the Index
+
+
+ Overrides default naming of indexes:
+ IX_tableName
+
+
+
+
+ Gets or sets the type of index to create
+
+
+
+
+ Gets or sets the column name(s) for the current index
+
+
+
+
+ Enum for the 3 types of indexes that can be created
+
+
+
+
+ Attribute that represents the Null-setting of a column
+
+
+ This should only be used for Columns that can be Null.
+ By convention the Columns will be "NOT NULL".
+
+
+
+
+ Gets or sets the for a column
+
+
+
+
+ Enum with the 2 possible Null settings: Null or Not Null
+
+
+
+
+ Attribute that represents a Primary Key
+
+
+ By default, Clustered and AutoIncrement is set to true.
+
+
+
+
+ Gets or sets a boolean indicating whether the primary key is clustered.
+
+ Defaults to true
+
+
+
+ Gets or sets a boolean indicating whether the primary key is auto incremented.
+
+ Defaults to true
+
+
+
+ Gets or sets the name of the PrimaryKey.
+
+
+ Overrides the default naming of a PrimaryKey constraint:
+ PK_tableName
+
+
+
+
+ Gets or sets the names of the columns for this PrimaryKey.
+
+
+ Should only be used if the PrimaryKey spans over multiple columns.
+ Usage: [nodeId], [otherColumn]
+
+
+
+
+ Gets or sets the Identity Seed, which is used for Sql Ce databases.
+
+
+ We'll only look for changes to seeding and apply them if the configured database
+ is an Sql Ce database.
+
+
+
+
+ The default implementation for the IDatabaseFactory
+
+
+ If we are running in an http context
+ it will create one per context, otherwise it will be a global singleton object which is NOT thread safe
+ since we need (at least) a new instance of the database object per thread.
+
+
+
+
+ Used to create the UmbracoDatabase for use in the DatabaseContext
+
+
+
+
+ Constructor accepting custom connection string
+
+ Name of the connection string in web.config
+
+
+
+
+ Constructor accepting custom connectino string and provider name
+
+ Connection String to use with Database
+ Database Provider for the Connection String
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Constructor accepting a list of BaseMapper types that are attributed with the MapperFor attribute
+
+
+
+
+
+
+
+ Caches the type -> mapper so that we don't have to type check each time we want one or lookup the attribute
+
+
+
+
+ Return a mapper by type
+
+
+
+
+
+
+ Check the entity type to see if it has a mapper attribute assigned and try to instantiate it
+
+
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Represents a to DTO mapper used to translate the properties of the public api
+ implementation to that of the database's DTO as sql: [tableName].[columnName].
+
+
+
+
+ Marker interface for migration expressions
+
+
+
+
+ Represents the initial data creation by running Insert for the base data.
+
+
+
+
+ Initialize the base data creation by inserting the data foundation for umbraco
+ specific to a table
+
+ Name of the table to create base data for
+
+
+
+ Represents the initial database schema creation by running CreateTable for all DTOs against the db.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Drops all Umbraco tables in the db
+
+
+
+
+ Initialize the database by creating the umbraco db schema
+
+
+
+
+ Validates the schema of the current database
+
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Occurs when [before save].
+
+
+
+
+ Occurs when [after save].
+
+
+
+
+ The save event handler
+
+
+
+
+ Checks in the db which version is installed based on the migrations that have been run
+
+
+
+
+
+
+ Determines the version of the currently installed database by detecting the current database structure
+
+
+ A with Major and Minor values for
+ non-empty database, otherwise "0.0.0" for empty databases.
+
+
+
+
+ Gets a summary of the schema validation result
+
+ A string containing a human readable string with a summary message
+
+
+
+ Represents the Migration attribute, which is used to mark classes as
+ database migrations with Up/Down methods for pushing changes UP or pulling them DOWN.
+
+
+
+
+ Gets the minimum current version for which this migration is allowed to execute
+
+
+
+
+ Gets the target version of this migration.
+
+
+
+
+ Gets or sets the sort order, which is the order this migration will be run in.
+
+
+
+
+ Gets or sets the name of the product, which this migration belongs to.
+
+
+
+
+
+ A resolver to return all IMigrations
+
+
+
+
+ Constructor
+
+
+
+
+ Use transient objects as we don't want these as singletons and take up memory that is not required
+
+
+
+
+ Gets the migrations
+
+
+
+
+ This will ctor the IMigration instances
+
+
+ This is like a super crappy DI - in v8 we have real DI
+
+
+
+
+ Represents the Migration Runner, which is used to apply migrations to
+ the umbraco database.
+
+
+
+
+ Executes the migrations against the database.
+
+ The PetaPoco Database, which the migrations will be run against
+ Boolean indicating whether this is an upgrade or downgrade
+ True if migrations were applied, otherwise False
+
+
+
+ Executes the migrations against the database.
+
+ The PetaPoco Database, which the migrations will be run against
+
+ Boolean indicating whether this is an upgrade or downgrade
+ True if migrations were applied, otherwise False
+
+
+
+ Filters and orders migrations based on the migrations listed and the currently configured version and the target installation version
+
+
+
+
+
+
+ Filters and orders migrations based on the migrations listed and the currently configured version and the target installation version
+
+
+
+
+
+
+ Find all migrations that are available through the
+
+ An array of
+
+
+
+ Occurs before Migration
+
+
+
+
+ Occurs after Migration
+
+
+
+
+ Provides a set of extension methods adding retry capabilities into the standard implementation, which is used in PetaPoco.
+
+
+
+
+ Executes a Transact-SQL statement against the connection and returns the number of rows affected. Uses the default retry policy when executing the command.
+
+ The command object that is required as per extension method declaration.
+ The number of rows affected.
+
+
+
+ Executes a Transact-SQL statement against the connection and returns the number of rows affected. Uses the specified retry policy when executing the command.
+
+ The command object that is required as per extension method declaration.
+ The retry policy defining whether to retry a command if a connection fails while executing the command.
+ The number of rows affected.
+
+
+
+ Executes a Transact-SQL statement against the connection and returns the number of rows affected. Uses the specified retry policy when executing the command.
+ Uses a separate specified retry policy when establishing a connection.
+
+ The command object that is required as per extension method declaration.
+ The command retry policy defining whether to retry a command if it fails while executing.
+ The connection retry policy defining whether to re-establish a connection if it drops while executing the command.
+ The number of rows affected.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object containing the results.
+ Uses the default retry policy when executing the command.
+
+ The command object that is required as per extension method declaration.
+ A System.Data.IDataReader object.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object containing the results.
+ Uses the specified retry policy when executing the command.
+
+ The command object that is required as per extension method declaration.
+ The retry policy defining whether to retry a command if a connection fails while executing the command.
+ A System.Data.IDataReader object.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object containing the results.
+ Uses the specified retry policy when executing the command. Uses a separate specified retry policy when
+ establishing a connection.
+
+ The command object that is required as per extension method declaration.
+ The command retry policy defining whether to retry a command if it fails while executing.
+ The connection retry policy defining whether to re-establish a connection if it drops while executing the command.
+ A System.Data.IDataReader object.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object using one of the
+ CommandBehavior values. Uses the default retry policy when executing the command.
+
+ The command object that is required as per extension method declaration.
+ One of the System.Data.CommandBehavior values.
+ A System.Data.IDataReader object.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object using one of the
+ CommandBehavior values. Uses the specified retry policy when executing the command.
+
+ The command object that is required as per extension method declaration.
+ One of the System.Data.CommandBehavior values.
+ The retry policy defining whether to retry a command if a connection fails while executing the command.
+ A System.Data.SqlClient.SqlDataReader object.
+
+
+
+ Sends the specified command to the connection and builds a SqlDataReader object using one of the
+ CommandBehavior values. Uses the specified retry policy when executing the command.
+ Uses a separate specified retry policy when establishing a connection.
+
+ The command object that is required as per extension method declaration.
+ One of the System.Data.CommandBehavior values.
+ The command retry policy defining whether to retry a command if it fails while executing.
+ The connection retry policy defining whether to re-establish a connection if it drops while executing the command.
+ A System.Data.IDataReader object.
+
+
+
+ Executes the query, and returns the first column of the first row in the result set returned by the query. Additional columns or rows are ignored.
+ Uses the default retry policy when executing the command.
+
+ The command object that is required as per extension method declaration.
+ The first column of the first row in the result set, or a null reference if the result set is empty. Returns a maximum of 2033 characters.
+
+
+
+ Executes the query, and returns the first column of the first row in the result set returned by the query. Additional columns or rows are ignored.
+ Uses the specified retry policy when executing the command.
+
+ The command object that is required as per extension method declaration.
+ The retry policy defining whether to retry a command if a connection fails while executing the command.
+ The first column of the first row in the result set, or a null reference if the result set is empty. Returns a maximum of 2033 characters.
+
+
+
+ Executes the query, and returns the first column of the first row in the result set returned by the query. Additional columns or rows are ignored.
+ Uses the specified retry policy when executing the command. Uses a separate specified retry policy when establishing a connection.
+
+ The command object that is required as per extension method declaration.
+ The command retry policy defining whether to retry a command if it fails while executing.
+ The connection retry policy defining whether to re-establish a connection if it drops while executing the command.
+ The first column of the first row in the result set, or a null reference if the result set is empty. Returns a maximum of 2033 characters.
+
+
+
+ Ensure a valid connection in case a connection hasn't been opened by PetaPoco (which shouldn't be possible by the way).
+
+
+
+
+
+
+
+ Provides a set of extension methods adding retry capabilities into the standard interface, which is used in PetaPoco.
+
+
+
+
+ Opens a database connection with the connection settings specified in the ConnectionString property of the connection object.
+ Uses the default retry policy when opening the connection.
+
+ The connection object that is required as per extension method declaration.
+
+
+
+ Opens a database connection with the connection settings specified in the ConnectionString property of the connection object.
+ Uses the specified retry policy when opening the connection.
+
+ The connection object that is required as per extension method declaration.
+ The retry policy defining whether to retry a request if the connection fails to be opened.
+
+
+
+ Safely inserts a record, or updates if it exists, based on a unique constraint.
+
+
+
+ The action that executed, either an insert or an update. If an insert occurred and a PK value got generated, the poco object
+ passed in will contain the updated value.
+
+ We cannot rely on database-specific options such as MySql ON DUPLICATE KEY UPDATE or MSSQL MERGE WHEN MATCHED because SQLCE
+ does not support any of them. Ideally this should be achieved with proper transaction isolation levels but that would mean revisiting
+ isolation levels globally. We want to keep it simple for the time being and manage it manually.
+ We handle it by trying to update, then insert, etc. until something works, or we get bored.
+ Note that with proper transactions, if T2 begins after T1 then we are sure that the database will contain T2's value
+ once T1 and T2 have completed. Whereas here, it could contain T1's value.
+
+
+
+
+ Safely inserts a record, or updates if it exists, based on a unique constraint.
+
+
+
+
+ If the entity has a composite key they you need to specify the update command explicitly
+ The action that executed, either an insert or an update. If an insert occurred and a PK value got generated, the poco object
+ passed in will contain the updated value.
+
+ We cannot rely on database-specific options such as MySql ON DUPLICATE KEY UPDATE or MSSQL MERGE WHEN MATCHED because SQLCE
+ does not support any of them. Ideally this should be achieved with proper transaction isolation levels but that would mean revisiting
+ isolation levels globally. We want to keep it simple for the time being and manage it manually.
+ We handle it by trying to update, then insert, etc. until something works, or we get bored.
+ Note that with proper transactions, if T2 begins after T1 then we are sure that the database will contain T2's value
+ once T1 and T2 have completed. Whereas here, it could contain T1's value.
+
+
+
+
+ This will escape single @ symbols for peta poco values so it doesn't think it's a parameter
+
+
+
+
+
+
+ Performs the bulk insertion in the context of a current transaction with an optional parameter to complete the transaction
+ when finished
+
+
+
+
+
+
+
+
+
+ Creates a bulk insert command
+
+
+
+
+
+
+ Sql commands with populated command parameters required to execute the sql statement
+
+ The limits for number of parameters are 2100 (in sql server, I think there's many more allowed in mysql). So
+ we need to detect that many params and split somehow.
+ For some reason the 2100 limit is not actually allowed even though the exception from sql server mentions 2100 as a max, perhaps it is 2099
+ that is max. I've reduced it to 2000 anyways.
+
+
+
+
+ Creates the Umbraco db schema in the Database of the current Database.
+ Safe method that is only able to create the schema in non-configured
+ umbraco instances.
+
+ Current PetaPoco object
+
+
+
+ Creates the Umbraco db schema in the Database of the current Database
+ with the option to guard the db from having the schema created
+ multiple times.
+
+
+
+
+
+
+ Extension methods adding strong types to PetaPoco's Sql Builder
+
+
+
+
+ Logic that is shared with the expression helpers
+
+
+
+
+ SD: This is a horrible hack but unless we break compatibility with anyone who's actually implemented IQuery{T} there's not much we can do.
+ The IQuery{T} interface is useless without having a GetWhereClauses method and cannot be used for tests.
+ We have to wait till v8 to make this change I suppose.
+
+
+
+
+ Returns all translated where clauses and their sql parameters
+
+
+
+
+
+ Represents a query for building Linq translatable SQL queries
+
+
+
+
+
+ Adds a where clause to the query
+
+
+ This instance so calls to this method are chainable
+
+
+
+ Represents the Query Builder for building LINQ translatable queries
+
+
+
+
+
+ Adds a where clause to the query
+
+
+ This instance so calls to this method are chainable
+
+
+
+ Returns all translated where clauses and their sql parameters
+
+
+
+
+
+ Helper method to be used instead of manually creating an instance
+
+
+
+
+ Represents the Sql Translator for translating a IQuery object to Sql
+
+
+
+
+
+ Represents a repository for doing CRUD operations for
+
+
+
+
+ Protected method to execute the delete statements for removing a single version for a TEntity item.
+
+ Id of the to delete a version from
+ Guid id of the version to delete
+
+
+
+ Get the total count of entities
+
+
+
+
+
+
+ This removes associated tags from the entity - used generally when an entity is recycled
+
+
+
+
+
+
+ Updates the tag repository with any tag enabled properties and their values
+
+
+
+
+
+
+ A helper method for inheritors to get the paged results by query in a way that minimizes queries
+
+ The type of the d.
+ The 'true' entity type (i.e. Content, Member, etc...)
+ The query.
+ Index of the page.
+ Size of the page.
+ The total records.
+ The tablename + column name for the SELECT statement fragment to return the node id from the query
+ A callback to create the default filter to be applied if there is one
+ A callback to process the query result
+ The order by column
+ The order direction.
+
+ orderBy
+
+
+
+ Deletes all media files passed in.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Empties the Recycle Bin by running single bulk-Delete queries
+ against the Content- or Media's Recycle Bin.
+
+
+
+
+
+ Gets a list of files, which are referenced on items in the Recycle Bin.
+ The list is generated by the convention that a file is referenced by
+ the Upload data type or a property type with the alias 'umbracoFile'.
+
+
+
+ This is purely for backwards compatibility
+
+
+
+
+ Defines the implementation of a Repository, which allows getting versions of an
+
+ Type of entity for which the repository is used
+ Type of the Id used for this entity
+
+
+
+ Rebuilds the xml structures for all TEntity if no content type ids are specified, otherwise rebuilds the xml structures
+ for only the content types specified
+
+ The serializer to convert TEntity to Xml
+ Structures will be rebuilt in chunks of this size
+
+
+
+
+ Get the total count of entities
+
+
+
+
+
+
+ Gets a list of all versions for an .
+
+ Id of the to retrieve versions from
+ An enumerable list of the same object with different versions
+
+
+
+ Gets a specific version of an .
+
+ Id of the version to retrieve
+ An item
+
+
+
+ Deletes a specific version from an object.
+
+ Id of the version to delete
+
+
+
+ Deletes versions from an object prior to a specific date.
+
+ Id of the object to delete versions from
+ Latest version date
+
+
+
+ Get the count of published items
+
+
+
+ We require this on the repo because the IQuery{IContent} cannot supply the 'newest' parameter
+
+
+
+
+
+ Clears the published flag for a content.
+
+
+
+
+
+ Gets all published Content by the specified query
+
+ Query to execute against published versions
+ An enumerable list of
+
+
+
+ Assigns a single permission to the current content item for the specified user ids
+
+
+
+
+
+
+
+ Gets the list of permissions for the content item
+
+
+
+
+
+
+ Used to add/update published xml for the content item
+
+
+
+
+
+
+ Used to remove the content xml for a content item
+
+
+
+
+
+ Used to add/update preview xml for the content item
+
+
+
+
+
+
+ Gets paged content results
+
+ Query to excute
+ Page number
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Assigns a single permission to the current content item for the specified user ids
+
+
+
+
+
+
+
+ Adds/updates content/published xml
+
+
+
+
+
+
+ Used to remove the content xml for a content item
+
+
+
+
+
+ Adds/updates preview xml
+
+
+
+
+
+
+ Gets paged content results
+
+ Query to excute
+ Page number
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Private method to create a content object from a DocumentDto, which is used by Get and GetByVersion.
+
+
+
+
+
+
+
+
+
+ Private method to create a content object from a DocumentDto, which is used by Get and GetByVersion.
+
+
+
+
+
+
+
+
+ Dispose disposable properties
+
+
+ Ensure the unit of work is disposed
+
+
+
+
+ Represent an abstract Repository for ContentType based repositories
+
+ Exposes shared functionality
+
+
+
+
+ Returns the content type ids that match the query
+
+
+
+
+
+
+ Try to set the data type id based on its ControlId
+
+
+
+
+
+ Gets an Entity by Id
+
+
+
+
+
+
+ Gets all entities of the spefified type
+
+
+
+
+
+
+ Boolean indicating whether an Entity with the specified Id exists
+
+
+
+
+
+
+ Inner repository to support the GUID lookups and keep the caching consistent
+
+
+
+
+ Represents a repository for doing CRUD operations for
+
+
+
+
+ Gets all entities of the specified query
+
+
+ An enumerable list of objects
+
+
+
+ Gets all property type aliases.
+
+
+
+
+
+ Gets all entities of the specified query
+
+
+ An enumerable list of objects
+
+
+
+ Gets all property type aliases.
+
+
+
+
+
+ Deletes a content type
+
+
+
+ First checks for children and removes those first
+
+
+
+
+ Represents a repository for doing CRUD operations for
+
+
+
+
+ Override the delete method so that we can ensure that all related content type's are updated as part of the overall transaction
+
+
+
+
+
+ Dispose disposable properties
+
+
+ Ensure the unit of work is disposed
+
+
+
+
+ Private class to handle pre-value crud based on units of work with transactions
+
+
+
+
+ Private class to handle pre-value crud based on standard principles and units of work with transactions
+
+
+
+
+ Converts the tuple to a pre-value collection
+
+
+
+
+
+
+ Represents a repository for doing CRUD operations for
+
+
+
+
+ Dispose disposable properties
+
+
+ Ensure the unit of work is disposed
+
+
+
+
+ Represents the EntityRepository used to query objects.
+
+
+ This is limited to objects that are based in the umbracoNode-table.
+
+
+
+
+ Dispose disposable properties
+
+
+ Ensure the unit of work is disposed
+
+
+
+
+ Returns the Unit of Work added to the repository
+
+
+
+
+ Internal for testing purposes
+
+
+
+
+ This is a special relator in that it is not returning a DTO but a real resolved entity and that it accepts
+ a dynamic instance.
+
+
+ We're doing this because when we query the db, we want to use dynamic so that it returns all available fields not just the ones
+ defined on the entity so we can them to additional data
+
+
+
+
+ Used to add/update published xml for the media item
+
+
+
+
+
+
+ Used to add/update preview xml for the content item
+
+
+
+
+
+
+ Gets paged media results
+
+ Query to excute
+ Page number
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Gets all entities of the specified query
+
+
+ An enumerable list of objects
+
+
+
+ Finds members in a given role
+
+
+
+
+
+
+
+
+ Get all members in a specific group
+
+
+
+
+
+
+ Checks if a member with the username exists
+
+
+
+
+
+
+ Gets the count of items based on a complex query
+
+
+
+
+
+
+ Gets paged member results
+
+
+
+
+
+
+
+
+
+
+
+
+ Used to add/update published xml for the media item
+
+
+
+
+
+
+ Used to add/update preview xml for the content item
+
+
+
+
+
+
+ Returns a template as a template node which can be traversed (parent, children)
+
+
+
+
+
+
+ Given a template node in a tree, this will find the template node with the given alias if it is found in the hierarchy, otherwise null
+
+
+
+
+
+
+
+ This checks what the default rendering engine is set in config but then also ensures that there isn't already
+ a template that exists in the opposite rendering engine's template folder, then returns the appropriate
+ rendering engine to use.
+
+
+
+ The reason this is required is because for example, if you have a master page file already existing under ~/masterpages/Blah.aspx
+ and then you go to create a template in the tree called Blah and the default rendering engine is MVC, it will create a Blah.cshtml
+ empty template in ~/Views. This means every page that is using Blah will go to MVC and render an empty page.
+ This is mostly related to installing packages since packages install file templates to the file system and then create the
+ templates in business logic. Without this, it could cause the wrong rendering engine to be used for a package.
+
+
+
+
+ Validates a
+
+ to validate
+ True if Script is valid, otherwise false
+
+
+
+ Gets the count of items based on a complex query
+
+
+
+
+
+
+ Checks if a user with the username exists
+
+
+
+
+
+
+ This is useful when an entire section is removed from config
+
+
+
+
+
+ Gets paged member results
+
+
+
+
+
+
+
+
+
+
+ Gets the user permissions for the specified entities
+
+
+
+
+
+
+
+ Replaces the same permission set for a single user to any number of entities
+
+
+
+
+
+
+
+ Assigns the same permission set for a single user to any number of entities
+
+
+
+
+
+
+
+ Represents a repository for doing CRUD operations for
+
+
+
+
+ Returns the repository cache options
+
+
+
+
+ Represents a repository for doing CRUD operations for
+
+
+
+
+ Gets paged media results
+
+ Query to excute
+ Page number
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Private method to create a media object from a ContentDto
+
+
+
+
+
+
+
+
+ Private method to create a media object from a ContentDto
+
+
+
+
+
+
+
+
+ Dispose disposable properties
+
+
+ Ensure the unit of work is disposed
+
+
+
+
+ Represents a repository for doing CRUD operations for
+
+
+
+
+ Gets all entities of the specified query
+
+
+ An enumerable list of objects
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Represents a repository for doing CRUD operations for
+
+
+
+
+ Get all members in a specific group
+
+
+
+
+
+
+ Gets paged member results
+
+
+ The where clause, if this is null all records are queried
+
+
+
+
+
+
+
+
+
+ The query supplied will ONLY work with data specifically on the cmsMember table because we are using PetaPoco paging (SQL paging)
+
+
+
+
+ Private method to create a member object from a MemberDto
+
+
+
+
+
+
+
+
+ Private method to create a member object from a MemberDto
+
+
+
+
+
+
+
+
+ Dispose disposable properties
+
+
+ Ensure the unit of work is disposed
+
+
+
+
+ Represents a repository for doing CRUD operations for
+
+
+
+
+ Override so we can specify explicit db type's on any property types that are built-in.
+
+
+
+
+
+
+
+
+ Ensure that all the built-in membership provider properties have their correct data type
+ and property editors assigned. This occurs prior to saving so that the correct values are persisted.
+
+
+
+
+
+ Builds a collection of entities from a collection of Dtos
+
+
+
+
+
+
+ If this is one of our internal properties - we will manually assign the data type since they must
+ always correspond to the correct db type no matter what the backing data type is assigned.
+
+
+
+
+
+ Successful attempt if it was a built in property
+
+
+
+
+
+
+
+
+
+
+ Successful attempt if it was a built in property
+
+
+
+
+ A repository that exposes functionality to modify assigned permissions to a node
+
+
+
+
+
+ Returns permissions for a given user for any number of nodes
+
+
+
+
+
+
+
+ Returns permissions for all users for a given entity
+
+
+
+
+
+
+ Assigns the same permission set for a single user to any number of entities
+
+
+
+
+
+ This will first clear the permissions for this user and entities and recreate them
+
+
+
+
+ Assigns one permission for a user to many entities
+
+
+
+
+
+
+
+ Assigns one permission to an entity for multiple users
+
+
+
+
+
+
+
+ Assigns permissions to an entity for multiple users/permission entries
+
+
+
+
+ This will first clear the permissions for this entity then re-create them
+
+
+
+
+ Represents a repository for doing CRUD operations for
+
+
+
+
+ Dispose disposable properties
+
+
+ Ensure the unit of work is disposed
+
+
+
+
+ Represents a repository for doing CRUD operations for
+
+
+
+
+ Represents the Script Repository
+
+
+
+
+ Comparer that takes into account the duplicate index of a node name
+ This is needed as a normal alphabetic sort would go Page (1), Page (10), Page (2) etc.
+
+
+
+
+ Represents the Stylesheet Repository
+
+
+
+
+ Gets a list of all that exist at the relative path specified.
+
+
+ If null or not specified, will return the stylesheets at the root path relative to the IFileSystem
+
+
+
+
+
+ Represents the Template Repository
+
+
+
+
+ Maps from a dto to an ITemplate
+
+
+
+ This is a collection of template definitions ... either all templates, or the collection of child templates and it's parent template
+
+
+
+
+
+ Returns a template as a template node which can be traversed (parent, children)
+
+
+
+
+
+
+ Given a template node in a tree, this will find the template node with the given alias if it is found in the hierarchy, otherwise null
+
+
+
+
+
+
+
+ This checks what the default rendering engine is set in config but then also ensures that there isn't already
+ a template that exists in the opposite rendering engine's template folder, then returns the appropriate
+ rendering engine to use.
+
+
+
+ The reason this is required is because for example, if you have a master page file already existing under ~/masterpages/Blah.aspx
+ and then you go to create a template in the tree called Blah and the default rendering engine is MVC, it will create a Blah.cshtml
+ empty template in ~/Views. This means every page that is using Blah will go to MVC and render an empty page.
+ This is mostly related to installing packages since packages install file templates to the file system and then create the
+ templates in business logic. Without this, it could cause the wrong rendering engine to be used for a package.
+
+
+
+
+ Validates a
+
+ to validate
+ True if Script is valid, otherwise false
+
+
+
+ Ensures that there are not duplicate aliases and if so, changes it to be a numbered version and also verifies the length
+
+
+
+
+
+ Returns the repository cache options
+
+
+
+
+ Represents the UserRepository for doing CRUD operations for
+
+
+
+
+ Gets paged user results
+
+
+ The where clause, if this is null all records are queried
+
+
+
+
+
+
+
+ The query supplied will ONLY work with data specifically on the umbracoUser table because we are using PetaPoco paging (SQL paging)
+
+
+
+
+ Returns permissions for a given user for any number of nodes
+
+
+
+
+
+
+
+ Replaces the same permission set for a single user to any number of entities
+
+
+
+
+
+
+
+ Assigns the same permission set for a single user to any number of entities
+
+
+
+
+
+
+
+ Dispose disposable properties
+
+
+ Ensure the unit of work is disposed
+
+
+
+
+ Represents the UserTypeRepository for doing CRUD operations for
+
+
+
+
+ Used to instantiate each repository type
+
+
+
+
+ Represents an SqlSyntaxProvider for MySql
+
+
+
+
+ This is used ONLY if we need to format datetime without using SQL parameters (i.e. during migrations)
+
+
+
+
+
+ MySQL has a DateTime standard that is unambiguous and works on all servers:
+ YYYYMMDDHHMMSS
+
+
+
+
+ Represents an SqlSyntaxProvider for Sql Ce
+
+
+
+
+ SqlCe doesn't support the Truncate Table syntax, so we just have to do a DELETE FROM which is slower but we have no choice.
+
+
+
+
+ Represents an SqlSyntaxProvider for Sql Server
+
+
+
+
+ SQL Server stores default values assigned to columns as constraints, it also stores them with named values, this is the only
+ server type that does this, therefore this method doesn't exist on any other syntax provider
+
+
+
+
+
+ Gets/sets the version of the current SQL server instance
+
+
+
+
+ Attribute for implementations of an ISqlSyntaxProvider
+
+
+
+
+ Gets or sets the ProviderName that corresponds to the sql syntax in a provider.
+
+
+
+
+ Singleton to handle the configuration of a SqlSyntaxProvider
+
+
+
+
+ Used to return the correct syntax provider for a given provider name
+
+
+
+
+ Constructor
+
+
+
+
+
+ Gets a by its attributed provider.
+
+ ProviderName from the ConnectionString settings
+ that corresponds to the attributed provider or the default Sql Server Syntax Provider.
+
+
+
+ Enum for the 3 types of transactions
+
+
+
+
+ Represents the Umbraco implementation of the PetaPoco Database object
+
+
+ Currently this object exists for 'future proofing' our implementation. By having our own inheritied implementation we
+ can then override any additional execution (such as additional loggging, functionality, etc...) that we need to without breaking compatibility since we'll always be exposing
+ this object instead of the base PetaPoco database object.
+
+
+
+
+ Calls the delegate at the specified index and returns its values
+
+
+
+
+
+
+
+ Calls the callback delegate and passes in the output of all delegates as the parameters
+
+
+
+
+
+
+
+
+
+ Container for a Memory cache object
+
+
+ Better to have one memory cache instance than many so it's memory management can be handled more effectively
+ http://stackoverflow.com/questions/8463962/using-multiple-instances-of-memorycache
+
+
+
+
+ Returns a report of the current cache being utilized by PetaPoco
+
+
+
+
+
+ Used for testing
+
+
+
+
+ Used for testing
+
+
+
+
+ Used for testing
+
+
+
+
+ Generally used for testing, will output all SQL statements executed to the logger
+
+
+
+
+ Used for testing
+
+
+
+
+ Represents the Unit of Work implementation for working with files
+
+
+
+
+ Defines a Unit Of Work
+
+
+
+
+ Registers an instance to be added through this
+
+ The
+ The participating in the transaction
+
+
+
+ Registers an instance to be changed through this
+
+ The
+ The participating in the transaction
+
+
+
+ Registers an instance to be removed through this
+
+ The
+ The participating in the transaction
+
+
+
+ Provides a snapshot of an entity and the repository reference it belongs to.
+
+
+
+
+ Gets or sets the entity.
+
+ The entity.
+
+
+
+ Gets or sets the repository.
+
+ The repository.
+
+
+
+ Gets or sets the type of operation.
+
+ The type of operation.
+
+
+
+ Represents a Unit of Work Provider for creating a
+
+
+
+
+ Defines a Unit of Work Provider
+
+
+
+
+ Defines a unit of work when working with a database object
+
+
+
+
+ Defines a Unit of Work Provider for working with an IDatabaseUnitOfWork
+
+
+
+
+ Represents the Unit of Work implementation for PetaPoco
+
+
+
+
+ Creates a new unit of work instance
+
+
+
+ This should normally not be used directly and should be created with the UnitOfWorkProvider
+
+
+
+
+ Registers an instance to be added through this
+
+ The
+ The participating in the transaction
+
+
+
+ Registers an instance to be changed through this
+
+ The
+ The participating in the transaction
+
+
+
+ Registers an instance to be removed through this
+
+ The
+ The participating in the transaction
+
+
+
+ Commits all batched changes within the scope of a PetaPoco transaction
+
+
+ Unlike a typical unit of work, this UOW will let you commit more than once since a new transaction is creaed per
+ Commit() call instead of having one Transaction per UOW.
+
+
+
+
+ Commits all batched changes within the scope of a PetaPoco transaction
+
+
+ Allows you to set a callback which is executed before the transaction is committed, allow you to add additional SQL
+ operations to the overall commit process after the queue has been processed.
+
+
+
+
+ Ensures disposable objects are disposed
+
+
+ Ensures that the Transaction instance is disposed of
+
+
+
+
+ Used for testing
+
+
+
+
+ Provides a snapshot of an entity and the repository reference it belongs to.
+
+
+
+
+ Gets or sets the entity.
+
+ The entity.
+
+
+
+ Gets or sets the repository.
+
+ The repository.
+
+
+
+ Gets or sets the type of operation.
+
+ The type of operation.
+
+
+
+ Represents a Unit of Work Provider for creating a
+
+
+
+
+ Parameterless constructor uses defaults
+
+
+
+
+ Constructor accepting custom connectino string and provider name
+
+
+ Connection String to use with Database
+ Database Provider for the Connection String
+
+
+
+ Constructor accepting an IDatabaseFactory instance
+
+
+
+
+
+ Creates a Unit of work with a new UmbracoDatabase instance for the work item/transaction.
+
+
+
+ Each PetaPoco UOW uses it's own Database object, not the shared Database object that comes from
+ the ApplicationContext.Current.DatabaseContext.Database. This is because each transaction should use it's own Database
+ and we Dispose of this Database object when the UOW is disposed.
+
+
+
+
+ Static helper method to return a new unit of work
+
+
+
+
+
+ Defines an object for use in the application to profile operations
+
+
+
+
+ Render the UI to display the profiler
+
+
+
+ Generally used for HTML displays
+
+
+
+
+ Profile an operation
+
+
+
+
+ Use the 'using(' syntax
+
+
+
+
+ Start the profiler
+
+
+
+
+ Start the profiler
+
+
+ set discardResults to false when you want to abandon all profiling, this is useful for
+ when someone is not authenticated or you want to clear the results based on some other mechanism.
+
+
+
+
+ A profiler that outputs its results to an ILogger
+
+
+
+
+ Writes out a step prefixed with the type
+
+
+
+
+
+
+
+
+ Writes out a step prefixed with the type
+
+
+
+
+
+
+
+
+ A resolver exposing the current profiler
+
+
+
+
+ Constructor
+
+
+
+
+
+ Method allowing to change the profiler during startup
+
+
+
+
+
+ Gets the current profiler
+
+
+
+
+ A profiler used for web based activity based on the MiniProfiler framework
+
+
+
+
+ Constructor
+
+
+ Binds to application events to enable the MiniProfiler
+
+
+
+
+ Handle the Init event o fthe UmbracoApplication which allows us to subscribe to the HttpApplication events
+
+
+
+
+
+
+ Handle the begin request event
+
+
+
+
+
+
+ Handle the end request event
+
+
+
+
+
+
+ Render the UI to display the profiler
+
+
+
+ Generally used for HTML displays
+
+
+
+
+ Profile a step
+
+
+
+
+ Use the 'using(' syntax
+
+
+
+
+ Start the profiler
+
+
+
+
+ Start the profiler
+
+
+ set discardResults to false when you want to abandon all profiling, this is useful for
+ when someone is not authenticated or you want to clear the results based on some other mechanism.
+
+
+
+
+ Gets the request object from the app instance if it is available
+
+ The application object
+
+
+
+
+ A validator that validates a delimited set of values against a common regex
+
+
+
+
+ Performs the validation
+
+
+ Can be a json formatted string containing properties: 'delimiter' and 'pattern'
+ The current pre-values stored for the data type
+
+
+
+
+
+ A validator that validates that the value is a valid integer
+
+
+
+
+ Represents a validator found in a package manifest
+
+
+
+
+ Validates the object with the resolved ValueValidator found for this type
+
+
+ The current pre-values stored for the data type
+ The property editor instance that we are validating for
+
+
+
+
+ The validator type name
+
+
+
+
+ The configuration defined for this validator in the manifest
+
+
+ This is NOT the pre-value for this data type
+
+
+
+
+ Gets the ValueValidator instance
+
+
+
+
+ Basic definition of a macro parameter editor
+
+
+
+
+ The constructor will setup the property editor based on the attribute if one is found
+
+
+
+
+ These are assigned by default normally based on parameter editor attributes or manifest definitions,
+ developers have the chance to override CreateValueEditor if they don't want to use the pre-defined instance
+
+
+
+
+ Creates a value editor instance
+
+
+
+
+
+ The id of the property editor
+
+
+
+
+ The name of the property editor
+
+
+
+
+ Allows a parameter editor to be re-used based on the configuration specified.
+
+
+
+
+ An attribute used to define all of the basic properties of a parameter editor
+ on the server side.
+
+
+
+
+ A resolver to resolve all parameter editors
+
+
+ This resolver will contain any parameter editors defined in manifests as well as any property editors defined in manifests
+ that have the IsParameterEditorFlag = true and any PropertyEditors found in c# that have this flag as well.
+
+
+
+
+ Returns a property editor by alias
+
+
+
+
+
+
+ Returns the parameter editors
+
+
+
+
+ Represents the value editor for the parameter editor during macro parameter editing
+
+
+
+
+ default ctor
+
+
+
+
+ Creates a new editor with the specified view
+
+
+
+
+
+ Defines a pre value editable field
+
+
+
+
+ Standard constructor
+
+
+
+
+ Constructor used to set validators instead of adding them later
+
+
+
+
+
+ The name to display for this pre-value field
+
+
+
+
+ The description to display for this pre-value field
+
+
+
+
+ Specifies whether to hide the label for the pre-value
+
+
+
+
+ The key to store the pre-value against
+
+
+
+
+ Defines the view to use for the editor, this can be one of 3 things:
+ * the full virtual path or
+ * the relative path to the current Umbraco folder
+ * a simple view name which will map to the views/prevalueeditors/{view}.html
+
+
+
+
+ A collection of validators for the pre value field
+
+
+
+
+ Allows for specifying an attribute on a property of a custm PreValueEditor to be included in the field list. OTherwise it can be attributed
+ on a custom implemention of a PreValueField to have the properties auto-filled.
+
+
+
+
+ Used when specifying a PreValueFieldType
+
+
+
+
+ The description to display for the pre-value field
+
+
+
+
+ The key to store the pre-value against in the databaes
+
+
+ If this is not specified and the attribute is being used at the property level then the property name will become the key
+
+
+
+
+ The name (label) of the pre-value field
+
+
+
+
+ The view to use to render the pre-value field
+
+
+
+
+ Whether or not to hide the label for the pre-value field
+
+
+
+
+ This can be used when assigned to a property which will attempt to create the type
+ of PreValueField declared and assign it to the fields. Any property declared on this
+ attribute will get overwritten on the class that is instantiated.
+
+
+
+
+ Defines a pre-value editor
+
+
+ A pre-value editor is made up of multiple pre-value fields, each field defines a key that the value is stored against.
+ Each field can have any editor and the value from each field can store any data such as a simple string or a json structure.
+
+ The Json serialization attributes are required for manifest property editors to work.
+
+
+
+
+ A method to format the posted values from the editor to the values to be persisted
+
+
+
+ The current value that has been persisted to the database for this pre-value editor. This value may be usesful for
+ how the value then get's deserialized again to be re-persisted. In most cases it will probably not be used.
+
+
+
+ By default this will just return the Posted editorValue.
+
+ This can be overridden if perhaps you have a comma delimited string posted value but want to convert those to individual rows, or to convert
+ a json structure to multiple rows.
+
+
+
+
+ This can be used to re-format the currently saved pre-values that will be passed to the editor,
+ by default this returns the merged default and persisted pre-values.
+
+
+ The default/static pre-vals for the property editor
+
+
+ The persisted pre-vals for the property editor
+
+
+
+ This is generally not going to be used by anything unless a property editor wants to change the merging
+ functionality or needs to convert some legacy persisted data, or convert the string values to strongly typed values in json (i.e. booleans)
+
+ IMPORTANT! When using this method the default pre values dictionary should not be modified which would change the property editor's global
+ singleton pre-values!
+
+
+
+
+ A collection of pre-value fields to be edited
+
+
+ If fields are specified then the master View and Validators will be ignored
+
+
+
+
+ Basic definition of a property editor
+
+
+ The Json serialization attributes are required for manifest property editors to work
+
+
+
+
+ The constructor will setup the property editor based on the attribute if one is found
+
+
+
+
+ These are assigned by default normally based on property editor attributes or manifest definitions,
+ developers have the chance to override CreateValueEditor if they don't want to use the pre-defined instance
+
+
+
+
+ These are assigned by default normally based on property editor attributes or manifest definitions,
+ developers have the chance to override CreatePreValueEditor if they don't want to use the pre-defined instance
+
+
+
+
+ Creates a value editor instance
+
+
+
+
+
+ Creates a pre value editor instance
+
+
+
+
+
+ Provides a summary of the PropertyEditor for use with the .
+
+
+
+
+ Boolean flag determining if this can be used as a parameter editor
+
+
+
+
+ The id of the property editor
+
+
+
+
+ The name of the property editor
+
+
+
+
+ An attribute used to define all of the basic properties of a property editor
+ on the server side.
+
+
+
+
+ If this is is true than the editor will be displayed full width without a label
+
+
+
+
+ A resolver to resolve all property editors
+
+
+ This resolver will contain any property editors defined in manifests as well!
+
+
+
+
+ Returns a property editor by alias
+
+
+
+
+
+
+ Returns the property editors
+
+
+
+
+ Resolves the IPropertyValueConverter objects.
+
+
+
+
+ Initializes a new instance of the class with
+ an initial list of converter types.
+
+
+
+ The list of converter types
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Initializes a new instance of the class with
+ an initial list of converter types.
+
+
+
+ The list of converter types
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Gets the converters.
+
+
+
+
+ Caches and gets the default converters with their metadata
+
+
+
+
+ A validator that validates that the value against a Regex expression
+
+
+
+
+ Normally used when configured as a ManifestValueValidator
+
+
+
+
+ Normally used when configured as an IPropertyValidator
+
+
+
+
+
+ Used when configured as an IPropertyValidator
+
+
+
+
+
+
+
+
+ A validator that validates that the value is not null or empty (if it is a string)
+
+
+
+
+ A resolver to resolve all registered validators
+
+
+
+
+ Gets a validator by name
+
+
+
+
+
+
+ Returns the validators
+
+
+
+
+ Represents the value editor for the property editor during content editing
+
+
+ The Json serialization attributes are required for manifest property editors to work
+
+
+
+
+ assign defaults
+
+
+
+
+ Creates a new editor with the specified view
+
+
+ Allows adding custom validators during construction instead of specifying them later
+
+
+
+ This is called to configure the editor for display with it's prevalues, useful when properties need to change dynamically
+ depending on what is in the pre-values.
+
+
+
+ This cannot be used to change the value being sent to the editor, ConfigureEditor will be called *after* ConvertDbToEditor, pre-values
+ should not be used to modify values.
+
+
+
+
+ Returns the true DataTypeDatabaseType from the string representation ValueType
+
+
+
+
+
+ Used to try to convert the string value to the correct CLR type based on the DatabaseDataType specified for this value editor
+
+
+
+
+
+
+ A method to deserialize the string value that has been saved in the content editor
+ to an object to be stored in the database.
+
+
+
+ The current value that has been persisted to the database for this editor. This value may be usesful for
+ how the value then get's deserialized again to be re-persisted. In most cases it will probably not be used.
+
+
+
+ By default this will attempt to automatically convert the string value to the value type supplied by ValueType.
+
+ If overridden then the object returned must match the type supplied in the ValueType, otherwise persisting the
+ value to the DB will fail when it tries to validate the value type.
+
+
+
+
+ A method used to format the database value to a value that can be used by the editor
+
+
+
+
+
+
+ The object returned will automatically be serialized into json notation. For most property editors
+ the value returned is probably just a string but in some cases a json structure will be returned.
+
+
+
+
+ Converts the property db value to an XML fragment
+
+
+
+
+
+
+ By default this will just return the value of ConvertDbToString but ensure that if the db value type is nvarchar or text
+ it is a CDATA fragment, otherwise it is just a text fragment.
+
+ This method by default will only return XText or XCData which must be wrapped in an element!
+
+ If the value is empty we will not return as CDATA since that will just take up more space in the file.
+
+
+
+
+ Converts the property value for use in the front-end cache
+
+
+
+
+
+
+
+
+ Defines the view to use for the editor, this can be one of 3 things:
+ * the full virtual path or
+ * the relative path to the current Umbraco folder
+ * a simple view name which will map to the views/propertyeditors/{view}/{view}.html
+
+
+
+
+ The value type which reflects how it is validated and stored in the database
+
+
+
+
+ A collection of validators for the pre value editor
+
+
+
+
+ Returns the validator used for the required field validation which is specified on the PropertyType
+
+
+ This will become legacy as soon as we implement overridable pre-values.
+
+ The default validator used is the RequiredValueValidator but this can be overridden by property editors
+ if they need to do some custom validation, or if the value being validated is a json object.
+
+
+
+
+ Returns the validator used for the regular expression field validation which is specified on the PropertyType
+
+
+ This will become legacy as soon as we implement overridable pre-values.
+
+ The default validator used is the RegexValueValidator but this can be overridden by property editors
+ if they need to do some custom validation, or if the value being validated is a json object.
+
+
+
+
+ If this is is true than the editor will be displayed full width without a label
+
+
+
+
+ Set this to true if the property editor is for display purposes only
+
+
+
+
+ Represents a dictionary based on a specific culture
+
+
+
+
+ Returns the child dictionary entries for a given key
+
+
+
+
+
+
+ Returns the dictionary value based on the key supplied
+
+
+
+
+
+
+ Returns the current culture
+
+
+
+
+ Constructor
+
+
+
+
+
+ When this constructor is used the BaseElement becomes equivalent to the strippedXml structure
+
+
+
+
+
+
+ When this constructor is used the BaseElement becomes equivalent to the strippedXml structure
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+ Constructor
+
+
+
+
+
+ Returns the string representation of the BaseElement object
+
+
+
+
+
+ Returns the string representation of the RawXmlElement object
+
+
+
+
+
+ Checks if the 'name' matches any attributes of xmlElement
+
+ The name to match
+ The xml element to check against
+
+
+
+
+ Checks if the 'name' matches any elements of xmlElement
+
+ The name to match
+ The xml element to check against
+
+
+
+
+ Executes an XPath expression over the BaseElement object
+
+
+
+
+
+
+ Return the string version of the BaseElement object
+
+
+
+
+
+ Returns the XElement used to create the DynamicXml structure
+
+
+
+
+ Returns the raw XElement used to create the DynamicXml structure if one was specified otherwise returns the
+ same value as BaseElement.
+
+
+ This is purely used for when an instance of DynamicXml is created with the overload that supports
+ passing in both a raw xml version and a dash-stripped xml version. Otherwise this value is exactly the
+ same as BaseElement.
+
+
+
+
+ Returns the InnertText based on the BaseElement object
+
+
+
+
+ Utility class for finding extension methods on a type to execute
+
+
+
+
+ The static cache for extension methods found that match the criteria that we are looking for
+
+
+
+
+ Returns the enumerable of all extension method info's in the app domain = USE SPARINGLY!!!
+
+
+
+ We cache this as a sliding 5 minute exiration, in unit tests there's over 1100 methods found, surely that will eat up a bit of memory so we want
+ to make sure we give it back.
+
+
+
+
+ Returns all extension methods found matching the definition
+
+
+ The runtime cache is used to temporarily cache all extension methods found in the app domain so that
+ while we search for individual extension methods, the process will be reasonably 'quick'. We then statically
+ cache the MethodInfo's that we are looking for and then the runtime cache will expire and give back all that memory.
+
+
+
+
+ The arguments EXCLUDING the 'this' argument in an extension method
+
+
+
+ NOTE: This will be an intensive method to call! Results will be cached based on the key (args) of this method
+
+
+
+
+ Currently just used for informational purposes as to where a PropertyResult object was created from.
+
+
+
+
+ The property resolved was a normal document property
+
+
+
+
+ The property resolved was a property defined as a member on the document object (IPublishedContent) itself
+
+
+
+
+ The property was created manually for a custom purpose
+
+
+
+
+ Attempts to open the file at filePath up to maxRetries times,
+ with a thread sleep time of sleepPerRetryInMilliseconds between retries.
+
+
+
+
+ A custom file system provider for media
+
+
+
+
+ Parses the macro syntax in a string and renders out it's contents
+
+
+
+
+ This formats the persisted string to something useful for the rte so that the macro renders properly since we
+ persist all macro formats like {?UMBRACO_MACRO macroAlias=\"myMacro\" /}
+
+
+ The html attributes to be added to the div
+
+
+ This converts the persisted macro format to this:
+
+ {div class='umb-macro-holder'}
+
+ {ins}Macro alias: {strong}My Macro{/strong}{/ins}
+ {/div}
+
+
+
+
+
+ This formats the string content posted from a rich text editor that contains macro contents to be persisted.
+
+
+
+
+ This is required because when editors are using the rte, the html that is contained in the editor might actually be displaying
+ the entire macro content, when the data is submitted the editor will clear most of this data out but we'll still need to parse it properly
+ and ensure the correct sytnax is persisted to the db.
+
+ When a macro is inserted into the rte editor, the html will be:
+
+ {div class='umb-macro-holder'}
+
+ This could be some macro content
+ {/div}
+
+ What this method will do is remove the {div} and parse out the commented special macro syntax: {?UMBRACO_MACRO macroAlias=\"myMacro\" /}
+ since this is exactly how we need to persist it to the db.
+
+
+
+
+
+ This will accept a text block and seach/parse it for macro markup.
+ When either a text block or a a macro is found, it will call the callback method.
+
+
+
+
+
+
+ This method simply parses the macro contents, it does not create a string or result,
+ this is up to the developer calling this method to implement this with the callbacks.
+
+
+
+
+ Helper class for mandating values, for example on method parameters.
+
+
+
+
+ Mandates that the specified parameter is not null.
+
+ The value.
+ Name of the param.
+ If is null.
+
+
+
+ Mandates that the specified parameter is not null.
+
+ The value.
+ Name of the param.
+ If is null or whitespace.
+
+
+
+ Mandates that the specified sequence is not null and has at least one element.
+
+
+ The sequence.
+ Name of the param.
+
+
+
+ Mandates that the specified parameter matches the condition.
+
+ The condition to check.
+ Name of the param.
+ If the condition is false.
+
+
+
+ Mandates that the specified parameter matches the condition.
+
+ The condition to check.
+ Name of the param.
+ The message.
+ If the condition is false.
+
+
+
+ Mandates that the specified condition is true, otherwise throws an exception specified in .
+
+ The type of the exception.
+ if set to true, throws exception .
+ An exception of type is raised if the condition is false.
+
+
+
+ Mandates that the specified condition is true, otherwise throws an exception specified in .
+
+ The type of the exception.
+ if set to true, throws exception .
+ Deffered expression to call if the exception should be raised.
+ An exception of type is raised if the condition is false.
+
+
+
+ Represents a Content object
+
+
+
+
+ Defines a Content object
+
+
+
+
+ Changes the for the current content object
+
+ New ContentType for this content
+ Leaves PropertyTypes intact after change
+
+
+
+ Changes the for the current content object and removes PropertyTypes,
+ which are not part of the new ContentType.
+
+ New ContentType for this content
+ Boolean indicating whether to clear PropertyTypes upon change
+
+
+
+ Changes the Published state of the content object
+
+
+
+
+ Creates a deep clone of the current entity with its identity/alias and it's property identities reset
+
+
+
+
+
+ Gets or sets the template used by the Content.
+ This is used to override the default one from the ContentType.
+
+
+
+
+ Boolean indicating whether the Content is Published or not
+
+
+
+
+ Gets or Sets the date the Content should be released and thus be published
+
+
+
+
+ Gets or Sets the date the Content should expire and thus be unpublished
+
+
+
+
+ Id of the user who wrote/updated the Content
+
+
+
+
+ Gets the ContentType used by this content object
+
+
+
+
+ Gets the current status of the Content
+
+
+
+
+ Gets a value indicating whether the content has a published version.
+
+
+
+
+ Gets the unique identifier of the published version, if any.
+
+
+
+
+ Constructor for creating a Content object
+
+ Name of the content
+ Parent object
+ ContentType for the current Content object
+
+
+
+ Constructor for creating a Content object
+
+ Name of the content
+ Parent object
+ ContentType for the current Content object
+ Collection of properties
+
+
+
+ Constructor for creating a Content object
+
+ Name of the content
+ Id of the Parent content
+ ContentType for the current Content object
+
+
+
+ Constructor for creating a Content object
+
+ Name of the content
+ Id of the Parent content
+ ContentType for the current Content object
+ Collection of properties
+
+
+
+ Changes the for the current content object
+
+ New ContentType for this content
+ Leaves PropertyTypes intact after change
+
+
+
+ Changes the for the current content object and removes PropertyTypes,
+ which are not part of the new ContentType.
+
+ New ContentType for this content
+ Boolean indicating whether to clear PropertyTypes upon change
+
+
+
+ Changes the Published state of the content object
+
+
+
+
+ Changes the Trashed state of the content object
+
+ Boolean indicating whether content is trashed (true) or not trashed (false)
+
+
+
+
+ Method to call when Entity is being saved
+
+ Created date is set and a Unique key is assigned
+
+
+
+ Method to call when Entity is being updated
+
+ Modified Date is set and a new Version guid is set
+
+
+
+ Creates a deep clone of the current entity with its identity and it's property identities reset
+
+
+
+
+
+ Creates a deep clone of the current entity with its identity and it's property identities reset
+
+
+
+
+
+ Gets or sets the template used by the Content.
+ This is used to override the default one from the ContentType.
+
+
+ If no template is explicitly set on the Content object,
+ the Default template from the ContentType will be returned.
+
+
+
+
+ Gets the current status of the Content
+
+
+
+
+ Boolean indicating whether this Content is Published or not
+
+
+ Setting Published to true/false should be private or internal and should ONLY be used for wiring up the value
+ from the db or modifying it based on changing the published state.
+
+
+
+
+ Language of the data contained within this Content object.
+
+
+
+
+ The date this Content should be released and thus be published
+
+
+
+
+ The date this Content should expire and thus be unpublished
+
+
+
+
+ Id of the user who wrote/updated this Content
+
+
+
+
+ Name of the Node (non-localized).
+
+
+ This Property is kept internal until localization is introduced.
+
+
+
+
+ Used internally to track if permissions have been changed during the saving process for this entity
+
+
+
+
+ Gets the ContentType used by this content object
+
+
+
+
+ Gets or sets the unique identifier of the published version, if any.
+
+
+
+
+ Gets a value indicating whether the content has a published version.
+
+
+
+
+ Enum for the various statuses a Content object can have
+
+
+
+
+ Represents the content type that a object is based on
+
+
+
+
+ Defines a ContentType, which Content is based on
+
+
+
+
+ Sets the default template for the ContentType
+
+ Default
+
+
+
+ Removes a template from the list of allowed templates
+
+ to remove
+ True if template was removed, otherwise False
+
+
+
+ Creates a deep clone of the current entity with its identity/alias and it's property identities reset
+
+
+
+
+
+
+ Gets the default Template of the ContentType
+
+
+
+
+ Gets or Sets a list of Templates which are allowed for the ContentType
+
+
+
+
+ Constuctor for creating a ContentType with the parent's id.
+
+ Only use this for creating ContentTypes at the root (with ParentId -1).
+
+
+
+
+ Constuctor for creating a ContentType with the parent as an inherited type.
+
+ Use this to ensure inheritance from parent.
+
+
+
+
+ Constuctor for creating a ContentType with the parent as an inherited type.
+
+ Use this to ensure inheritance from parent.
+
+
+
+
+
+ Sets the default template for the ContentType
+
+ Default
+
+
+
+ Removes a template from the list of allowed templates
+
+ to remove
+ True if template was removed, otherwise False
+
+
+
+ Method to call when Entity is being saved
+
+ Created date is set and a Unique key is assigned
+
+
+
+ Creates a deep clone of the current entity with its identity/alias and it's property identities reset
+
+
+
+
+
+ Creates a deep clone of the current entity with its identity/alias and it's property identities reset
+
+
+
+
+
+ Gets or sets the alias of the default Template.
+
+
+
+
+ Internal property to store the Id of the default template
+
+
+
+
+ Gets or Sets a list of Templates which are allowed for the ContentType
+
+
+
+
+ Enum of the various DbTypes for which the Property values are stored
+
+
+ Object is added to support complex values from PropertyEditors,
+ but will be saved under the Ntext column.
+
+
+
+
+ Definition of a DataType/PropertyEditor
+
+
+ The definition exists as a database reference between an actual DataType/PropertyEditor
+ (identified by its control id), its prevalues (configuration) and the named DataType in the backoffice UI.
+
+
+
+
+ Gets or sets the Id of the Parent entity
+
+ Might not be necessary if handled as a relation?
+
+
+
+ Gets or sets the name of the current entity
+
+
+
+
+ Gets or sets the sort order of the content entity
+
+
+
+
+ Gets or sets the level of the content entity
+
+
+
+
+ Gets or sets the path
+
+
+
+
+ Id of the user who created this entity
+
+
+
+
+ Boolean indicating whether this entity is Trashed or not.
+
+
+
+
+ Id of the DataType control
+
+
+
+
+ Gets or Sets the DatabaseType for which the DataType's value is saved as
+
+
+
+
+ Some entities may expose additional data that other's might not, this custom data will be available in this collection
+
+
+
+
+ A Property contains a single piece of data
+
+
+
+
+ Boolean indicating whether the current value is valid
+
+
+ A valid value implies that it is ready for publishing.
+ Invalid property values can be saved, but not published.
+
+ True is property value is valid, otherwise false
+
+
+
+ Boolean indicating whether the passed in value is valid
+
+
+ True is property value is valid, otherwise false
+
+
+
+ Returns the instance of the tag support, by default tags are not enabled
+
+
+
+
+ Returns the Alias of the PropertyType, which this Property is based on
+
+
+
+
+ Returns the Id of the PropertyType, which this Property is based on
+
+
+
+
+ Returns the DatabaseType that the underlaying DataType is using to store its values
+
+
+ Only used internally when saving the property value.
+
+
+
+
+ Returns the PropertyType, which this Property is based on
+
+
+
+
+ Gets or Sets the version id for the Property
+
+
+ The version will be the same for all Property objects in a collection on a Content
+ object, so not sure how much this makes sense but adding it to align with:
+ umbraco.interfaces.IProperty
+
+
+
+
+ Gets or Sets the value of the Property
+
+
+ Setting the value will trigger a type validation.
+ The type of the value has to be valid in order to be saved.
+
+
+
+
+ Represents a Collection of objects
+
+
+
+
+ Initializes a new instance of the class with a delegate responsible for validating the addition of instances.
+
+ The validation callback.
+
+
+
+
+ Resets the collection to only contain the instances referenced in the parameter, whilst maintaining
+ any validation delegates such as
+
+ The properties.
+
+
+
+
+ Determines whether this collection contains a whose alias matches the specified PropertyType.
+
+ Alias of the PropertyType.
+ true if the collection contains the specified alias; otherwise, false.
+
+
+
+
+ Ensures that the collection contains Properties for the passed in PropertyTypes
+
+ List of PropertyType
+
+
+
+ Ensures that the collection is cleared from PropertyTypes not in the list of passed in PropertyTypes
+
+ List of PropertyType
+
+
+
+ Create a deep clone of this property collection
+
+
+
+
+
+ Gets the element with the specified PropertyType.
+
+
+
+ The element with the specified PropertyType. If an element with the specified PropertyType is not found, an exception is thrown.
+
+ The PropertyType of the element to get. is null.An element with the specified key does not exist in the collection.
+
+
+
+ A group of property types, which corresponds to the properties grouped under a Tab.
+
+
+
+
+ Sets the ParentId from the lazy integer id
+
+ Id of the Parent
+
+
+
+ Gets or sets the Name of the Group, which corresponds to the Tab-name in the UI
+
+
+
+
+ Gets or sets the Id of the Parent PropertyGroup.
+
+
+ A Parent PropertyGroup corresponds to an inherited PropertyGroup from a composition.
+ If a PropertyType is inserted into an inherited group then a new group will be created with an Id reference to the parent.
+
+
+
+
+ Gets or sets the Sort Order of the Group
+
+
+
+
+ Gets or sets a collection of PropertyTypes for this PropertyGroup
+
+
+
+
+ Represents a collection of objects
+
+
+
+
+ Resets the collection to only contain the instances referenced in the parameter.
+
+ The property groups.
+
+
+
+
+ Determines whether this collection contains a whose name matches the specified parameter.
+
+ Name of the PropertyGroup.
+ true if the collection contains the specified name; otherwise, false.
+
+
+
+
+ Defines the type of a object
+
+
+
+
+ Used internally to assign an explicity database type for this property type regardless of what the underlying data type/property editor is.
+
+
+
+
+
+
+
+ Used internally to assign an explicity database type for this property type regardless of what the underlying data type/property editor is.
+
+
+
+
+
+
+
+
+ Create a new Property object from a "raw" database value.
+
+ Can be used for the "old" values where no serialization type exists
+
+
+
+
+
+
+
+ Create a new Property object from a "raw" database value.
+ In some cases the value will need to be deserialized.
+
+
+
+
+
+
+
+ Create a new Property object that conforms to the Type of the DataType
+ and can be validated according to DataType validation / Mandatory-check.
+
+
+
+
+
+
+ Validates the Value from a Property according to its type
+
+
+ True if valid, otherwise false
+
+
+
+ Validates the Value from a Property according to the validation settings
+
+
+ True if valid, otherwise false
+
+
+
+ Gets of Sets the Name of the PropertyType
+
+
+
+
+ Gets of Sets the Alias of the PropertyType
+
+
+
+
+ Gets of Sets the Description for the PropertyType
+
+
+
+
+ Gets of Sets the Id of the DataType (Definition), which the PropertyType is "wrapping"
+
+ This is actually the Id of the
+
+
+
+ Gets of Sets the Id of the DataType control
+
+ This is the Id of the actual DataType control
+
+
+
+ Gets or Sets the DatabaseType for which the DataType's value is saved as
+
+
+
+
+ Gets or Sets the PropertyGroup's Id for which this PropertyType belongs
+
+
+
+
+ Gets of Sets the Boolean indicating whether a value for this PropertyType is required
+
+
+
+
+ Gets of Sets the Help text for the current PropertyType
+
+
+
+
+ Gets of Sets the Sort order of the PropertyType, which is used for sorting within a group
+
+
+
+
+ Gets or Sets the RegEx for validation of legacy DataTypes
+
+
+
+
+ Represents a collection of objects
+
+
+
+
+ Resets the collection to only contain the instances referenced in the parameter.
+
+ The properties.
+
+
+
+
+ Determines whether this collection contains a whose alias matches the specified PropertyType.
+
+ Alias of the PropertyType.
+ true if the collection contains the specified alias; otherwise, false.
+
+
+
+
+ Used for a result on the query to get the associated language for a domain if there is one
+
+
+
+
+ Indicates the relative weight of a resolved object type.
+
+
+
+
+ Initializes a new instance of the class with a weight.
+
+ The object type weight.
+
+
+
+ Gets or sets the weight of the object type.
+
+
+
+
+ Maps a property source value to a data object.
+
+
+
+
+ Returns a value indicating whether this provider applies to the specified property.
+
+ A Guid identifying the property datatype.
+ The content type alias.
+ The property alias.
+ True if this provider applies to the specified property.
+
+
+
+ Attempts to convert a source value specified into a property model.
+
+ The source value.
+ An Attempt representing the result of the conversion.
+ The source value is dependent on the content cache. With the Xml content cache it
+ is always a string, but with other caches it may be an object (numeric, time...) matching
+ what is in the database. Be prepared.
+
+
+
+ A resolver to return all IAction objects
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Gets an Action if it exists.
+
+
+
+
+
+
+ Gets the implementations.
+
+
+
+
+ A resolver to return all ICacheRefresher objects
+
+
+
+
+ The base class for old legacy factories such as the DataTypeFactory or CacheResolverFactory.
+
+ The type of the concrete resolver class.
+ The type of the resolved objects.
+
+ This class contains basic functionality to mimic the functionality in these old factories since they all return
+ transient objects (though this should be changed) and the method GetById needs to lookup a type to an ID and since
+ these old classes don't contain metadata, the objects need to be instantiated first to get their metadata, we then store this
+ for use in the GetById method.
+
+
+
+
+ Initializes a new instance of the class with an initial list of object types.
+
+
+
+ A function returning the list of object types.
+
+ We are creating Transient instances (new instances each time) because this is how the legacy code worked and
+ I don't want to muck anything up by changing them to application based instances.
+ TODO: However, it would make much more sense to do this and would speed up the application plus this would make the GetById method much easier.
+
+
+
+
+ Returns the unique identifier of the type of a specified object.
+
+ The object.
+ The unique identifier of the type of .
+
+
+
+ Returns a new instance for the type identified by its unique type identifier.
+
+ The type identifier.
+ The value of the type uniquely identified by .
+
+
+
+ Populates the identifiers-to-types dictionnary.
+
+
+ This allow us to instantiate a type by ID since these legacy types doesn't contain any metadata.
+ We instanciate all types once to get their unique identifier, then build the dictionary so that
+ when GetById is called, we can instanciate a single object.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Gets the implementations.
+
+
+
+
+ The GlobalSettings Class contains general settings information for the entire Umbraco instance based on information from web.config appsettings
+
+
+
+
+ Used in unit testing to reset all config items that were set with property setters (i.e. did not come from config)
+
+
+
+
+ Resets settings that were set programmatically, to their initial values.
+
+ To be used in unit tests.
+
+
+
+ Saves a setting into the configuration file.
+
+ Key of the setting to be saved.
+ Value of the setting to be saved.
+
+
+
+ Removes a setting from the configuration file.
+
+ Key of the setting to be removed.
+
+
+
+ Requests the is in umbraco application directory structure.
+
+ The context.
+
+
+
+
+ Determines whether the current request is reserved based on the route table and
+ whether the specified URL is reserved or is inside a reserved path.
+
+
+
+ The route collection to lookup the request in
+
+
+
+
+ Determines whether the specified URL is reserved or is inside a reserved path.
+
+ The URL to check.
+
+ true if the specified URL is reserved; otherwise, false.
+
+
+
+
+ Gets the reserved urls from web.config.
+
+ The reserved urls.
+
+
+
+ Gets the reserved paths from web.config
+
+ The reserved paths.
+
+
+
+ Gets the name of the content XML file.
+
+ The content XML.
+
+ Defaults to ~/App_Data/umbraco.config
+
+
+
+
+ Gets the path to the storage directory (/data by default).
+
+ The storage directory.
+
+
+
+ Gets the path to umbraco's root directory (/umbraco by default).
+
+ The path.
+
+
+
+ This returns the string of the MVC Area route.
+
+
+ THIS IS TEMPORARY AND SHOULD BE REMOVED WHEN WE MIGRATE/UPDATE THE CONFIG SETTINGS TO BE A REAL CONFIG SECTION
+ AND SHOULD PROBABLY BE HANDLED IN A MORE ROBUST WAY.
+
+ This will return the MVC area that we will route all custom routes through like surface controllers, etc...
+ We will use the 'Path' (default ~/umbraco) to create it but since it cannot contain '/' and people may specify a path of ~/asdf/asdf/admin
+ we will convert the '/' to '-' and use that as the path. its a bit lame but will work.
+
+ We also make sure that the virtual directory (SystemDirectories.Root) is stripped off first, otherwise we'd end up with something
+ like "MyVirtualDirectory-Umbraco" instead of just "Umbraco".
+
+
+
+
+ Gets the path to umbraco's client directory (/umbraco_client by default).
+ This is a relative path to the Umbraco Path as it always must exist beside the 'umbraco'
+ folder since the CSS paths to images depend on it.
+
+ The path.
+
+
+
+ Gets the database connection string
+
+ The database connection string.
+
+
+
+ Gets or sets the configuration status. This will return the version number of the currently installed umbraco instance.
+
+ The configuration status.
+
+
+
+ Gets or sets the Umbraco members membership providers' useLegacyEncoding state. This will return a boolean
+
+ The useLegacyEncoding status.
+
+
+
+ Gets or sets the Umbraco users membership providers' useLegacyEncoding state. This will return a boolean
+
+ The useLegacyEncoding status.
+
+
+
+ Gets the full path to root.
+
+ The fullpath to root.
+
+
+
+ Gets a value indicating whether umbraco is running in [debug mode].
+
+ true if [debug mode]; otherwise, false.
+
+
+
+ Gets a value indicating whether the current version of umbraco is configured.
+
+ true if configured; otherwise, false.
+
+
+
+ Gets the time out in minutes.
+
+ The time out in minutes.
+
+
+
+ Gets a value indicating whether umbraco uses directory urls.
+
+ true if umbraco uses directory urls; otherwise, false.
+
+
+
+ Returns a string value to determine if umbraco should skip version-checking.
+
+ The version check period in days (0 = never).
+
+
+
+ Returns a string value to determine if umbraco should disbable xslt extensions
+
+ "true" if version xslt extensions are disabled, otherwise, "false"
+
+
+
+ Returns a string value to determine if umbraco should use Xhtml editing mode in the wysiwyg editor
+
+ "true" if Xhtml mode is enable, otherwise, "false"
+
+
+
+ Gets the default UI language.
+
+ The default UI language.
+
+
+
+ Gets the profile URL.
+
+ The profile URL.
+
+
+
+ Gets a value indicating whether umbraco should hide top level nodes from generated urls.
+
+
+ true if umbraco hides top level nodes from urls; otherwise, false.
+
+
+
+
+ Gets the current version.
+
+ The current version.
+
+
+
+ Gets the major version number.
+
+ The major version number.
+
+
+
+ Gets the minor version number.
+
+ The minor version number.
+
+
+
+ Gets the patch version number.
+
+ The patch version number.
+
+
+
+ Gets the version comment (like beta or RC).
+
+ The version comment.
+
+
+
+ Gets a value indicating whether umbraco should force a secure (https) connection to the backoffice.
+
+ true if [use SSL]; otherwise, false.
+
+
+
+ Gets the umbraco license.
+
+ The license.
+
+
+
+ Allows for converting string representations of 0 and 1 to boolean
+
+
+
+
+ A resolver to return all IDataType objects
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Gets the implementations.
+
+
+
+
+ Starts the timer and invokes a callback upon disposal. Provides a simple way of timing an operation by wrapping it in a using (C#) statement.
+
+
+
+
+ Starts the timer and invokes the specified callback upon disposal.
+
+ The callback.
+
+
+
+
+ Adds a start and end log entry as Info and tracks how long it takes until disposed.
+
+
+
+
+
+
+
+
+ Adds a start and end log entry as Info and tracks how long it takes until disposed.
+
+
+
+
+
+
+
+ Adds a start and end log entry as Info and tracks how long it takes until disposed.
+
+
+
+
+
+
+
+
+ Adds a start and end log entry as Debug and tracks how long it takes until disposed.
+
+
+
+
+
+
+
+
+ Adds a start and end log entry as Debug and tracks how long it takes until disposed.
+
+
+
+
+
+
+
+ Adds a start and end log entry as Debug and tracks how long it takes until disposed.
+
+
+
+
+
+
+
+
+ Handles the disposal of resources. Derived from abstract class which handles common required locking logic.
+
+
+
+
+ A set of helper methods for dealing with expressions
+
+
+
+
+
+ Gets a object from an expression.
+
+ The type of the source.
+ The type of the property.
+ The source.
+ The property lambda.
+
+
+
+
+
+ Gets a object from an expression.
+
+ The type of the source.
+ The type of the property.
+ The property lambda.
+
+
+
+
+
+ Gets a from an provided it refers to a method call.
+
+
+ From expression.
+ The or null if is null or cannot be converted to .
+
+
+
+
+ Gets the method info.
+
+ The return type of the method.
+ From expression.
+
+
+
+
+ Gets the method info.
+
+ The type of the 1.
+ The type of the 2.
+ From expression.
+
+
+
+
+ Gets a from an provided it refers to a method call.
+
+ The expression.
+ The or null if cannot be converted to .
+
+
+
+
+ Gets a from an provided it refers to member access.
+
+
+ The type of the return.
+ From expression.
+ The or null if cannot be converted to .
+
+
+
+
+ Determines whether the MethodInfo is the same based on signature, not based on the equality operator or HashCode.
+
+ The left.
+ The right.
+
+ true if [is method signature equal to] [the specified left]; otherwise, false.
+
+
+ This is useful for comparing Expression methods that may contain different generic types
+
+
+
+
+ Gets a from an provided it refers to member access.
+
+ The expression.
+
+
+
+
+
+ Gets a from a
+
+ From method group.
+
+
+
+
+
+ Determines whether the specified expression is a method.
+
+ The expression.
+ true if the specified expression is method; otherwise, false.
+
+
+
+
+ Determines whether the specified expression is a member.
+
+ The expression.
+ true if the specified expression is member; otherwise, false.
+
+
+
+
+ Determines whether the specified expression is a constant.
+
+ The expression.
+ true if the specified expression is constant; otherwise, false.
+
+
+
+
+ Gets the first value from the supplied arguments of an expression, for those arguments that can be cast to .
+
+ The arguments.
+
+
+
+
+
+ Does something 'x' amount of times
+
+
+
+
+
+
+ Creates a Guid based on an integer value
+
+ value to convert
+
+
+
+
+ Represents a simple in a form which is suitable for using as a dictionary key
+ by exposing the return type, argument types and expression string form in a single concatenated string.
+
+
+
+
+ The argument type names of the
+
+
+
+
+ The return type of the
+
+
+
+
+ The original string representation of the
+
+
+
+
+ Returns a that represents this instance.
+
+
+ A that represents this instance.
+
+
+
+
+ Determines whether the specified is equal to this instance.
+
+ The to compare with this instance.
+
+ true if the specified is equal to this instance; otherwise, false.
+
+
+
+
+ Returns a hash code for this instance.
+
+
+ A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
+
+
+
+
+ A resolver to return all IPackageAction objects
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Gets the implementations.
+
+
+
+
+ Based on https://github.com/cjbhaines/Log4Net.Async
+ which is based on code by Chris Haines http://cjbhaines.wordpress.com/2012/02/13/asynchronous-log4net-appenders/
+
+
+
+
+ This task shouldn't be waited on (as it's not guaranteed to run), and you shouldn't wait on the parent task either (because it might throw an
+ exception that doesn't get handled). If you want to be waiting on something, use LogErrorsWaitable instead.
+
+ None of these methods are suitable for tasks that return a value. If you're wanting a result, you should probably be handling
+ errors yourself.
+
+
+
+
+ This task can be waited on (as it's guaranteed to run), and you should wait on this rather than the parent task. Because it's
+ guaranteed to run, it may be slower than using LogErrors, and you should consider using that method if you don't want to wait.
+
+ None of these methods are suitable for tasks that return a value. If you're wanting a result, you should probably be handling
+ errors yourself.
+
+
+
+
+ Used for logging, ILogger should be used instead but this is available for static access to logging
+
+
+ this wraps ILogger
+
+
+
+
+ Adds an error log
+
+
+
+
+
+
+
+ Adds a warn log
+
+
+
+
+
+
+
+ Traces a message, only generating the message if tracing is actually enabled. Use this method to avoid calling any long-running methods such as "ToDebugString" if logging is disabled.
+
+
+ The delegate to generate a message.
+
+
+
+
+ Traces if tracing is enabled.
+
+
+
+
+
+
+ Traces if tracing is enabled.
+
+ The type for the logging namespace.
+ The message format.
+ The format items.
+
+
+
+ Traces a message, only generating the message if tracing is actually enabled. Use this method to avoid calling any long-running methods such as "ToDebugString" if logging is disabled.
+
+
+ The generate message format.
+ The format items.
+
+
+
+
+ Debugs a message, only generating the message if tracing is actually enabled. Use this method to avoid calling any long-running methods such as "ToDebugString" if logging is disabled.
+
+
+ The delegate to generate a message.
+
+
+
+
+ Debugs if tracing is enabled.
+
+
+
+
+
+
+ Debugs if tracing is enabled.
+
+ The type for the logging namespace.
+ The message format.
+ The format items.
+
+
+
+ Debugs a message, only generating the message if debug is actually enabled. Use this method to avoid calling any long-running methods such as "ToDebugString" if logging is disabled.
+
+
+ The generate message format.
+ The format items.
+
+
+
+
+ Debugs a message and also writes to the TraceContext specified, useful for when you would like the debug
+ output also displayed in the Http trace output.
+
+
+
+
+
+
+
+
+ A resolver to return all IMacroGuiRendering objects
+
+
+ Much of this classes methods are based on legacy code from umbraco.editorControls.macrocontainer.MacroControlFactory
+ this code should probably be reviewed and cleaned up if necessary.
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Gets the value based on the type of control
+
+
+
+
+ This is legacy code migrated from umbraco.editorControls.macrocontainer.MacroControlFactory
+
+
+
+
+ Create an instance of a Macro control and return it.
+ Because the macro control uses inline client script whichs is not generated after postback
+ That's why we use the Page Picker instead of the content picker of the macro.
+
+
+ This is legacy code migrated from umbraco.editorControls.macrocontainer.MacroControlFactory
+
+
+
+
+ Gets the implementations.
+
+
+
+
+ This is legacy code migrated from umbraco.editorControls.macrocontainer.MacroControlFactory
+
+
+
+
+ NOTE: This is legacy code, might require a cleanup
+
+
+
+
+ Macro Caption
+
+
+
+
+ Macro Alias
+
+
+
+
+ Macro Value
+
+
+
+
+ AssemblyName of the Property of teh Macro
+
+
+
+
+ TypeName of the property of the macro
+
+
+
+
+ Provides a shortcut way of safely casting an input when you cannot guarantee the is an instance type (i.e., when the C# AS keyword is not applicable)
+
+
+ The input.
+
+
+
+
+ Tries to convert the input object to the output type using TypeConverters
+
+
+
+
+
+
+
+ Tries to convert the input object to the output type using TypeConverters. If the destination type is a superclass of the input type,
+ if will use .
+
+ The input.
+ Type of the destination.
+
+
+
+
+ Converts an object into a dictionary
+
+
+
+
+
+
+
+
+
+
+ Turns object into dictionary
+
+
+ Properties to ignore
+
+
+
+
+ Attempts to serialize the value to an XmlString using ToXmlString
+
+
+
+
+
+
+
+ Returns an XmlSerialized safe string representation for the value
+
+
+ The Type can only be a primitive type or Guid and byte[] otherwise an exception is thrown
+
+
+
+
+ Returns an XmlSerialized safe string representation for the value and type
+
+
+
+
+
+
+
+ Manages the list of IPropertyEditorValueConverter's
+
+
+
+
+ Initializes a new instance of the class with
+ an initial list of converter types.
+
+
+
+ The list of converter types
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Initializes a new instance of the class with
+ an initial list of converter types.
+
+
+
+ The list of converter types
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Gets the converteres.
+
+
+
+
+ Specifies the lifetime scope of resolved objects.
+
+
+
+
+ A per-request object instance is created.
+
+
+
+
+ A single application-wide object instance is created.
+
+
+
+
+ A new object instance is created each time one is requested.
+
+
+
+
+ Represents the status of objects resolution.
+
+
+ Before resolution is frozen it is possible to access its configuration, but not to get values.
+ Once resolution is frozen, it is not possible to access its configuration anymore, but it is possible to get values.
+
+
+
+
+ Freezes resolution.
+
+ resolution is already frozen.
+
+
+
+ Resets resolution, ie unfreezes it and clears Frozen event.
+
+ To be used in unit tests.
+
+
+
+ Occurs when resolution is frozen.
+
+ Occurs only once, since resolution can be frozen only once.
+
+
+
+ Gets or sets a value indicating whether resolution of objects is frozen.
+
+
+
+
+ Returns a disposable object that represents safe access to unfrozen resolution configuration.
+
+ Should be used in a using(Resolution.Configuration) { ... } mode.
+
+
+
+ Returns a disposable object that reprents dirty access to temporarily unfrozen resolution configuration.
+
+
+ Should not be used.
+ Should be used in a using(Resolution.DirtyBackdoorToConfiguration) { ... } mode.
+ Because we just lift the frozen state, and we don't actually re-freeze, the Frozen event does not trigger.
+
+
+
+
+ Abstract class for the implementation of an , which provides the events used for publishing/unpublishing.
+
+
+
+
+ Defines the Publishing Strategy
+
+
+
+
+ Publishes a single piece of Content
+
+ to publish
+ Id of the User issueing the publish operation
+ True if the publish operation was successfull and not cancelled, otherwise false
+
+
+
+ Publishes a list of Content
+
+ An enumerable list of
+ Id of the User issueing the publish operation
+ True if the publish operation was successfull and not cancelled, otherwise false
+
+
+
+ Unpublishes a single piece of Content
+
+ to unpublish
+ Id of the User issueing the unpublish operation
+ True if the unpublish operation was successfull and not cancelled, otherwise false
+
+
+
+ Unpublishes a list of Content
+
+ An enumerable list of
+ Id of the User issueing the unpublish operation
+ True if the unpublish operation was successfull and not cancelled, otherwise false
+
+
+
+ Call to fire event that updating the published content has finalized.
+
+
+ This seperation of the OnPublished event is done to ensure that the Content
+ has been properly updated (committed unit of work) and xml saved in the db.
+
+ thats being published
+
+
+
+ Call to fire event that updating the published content has finalized.
+
+ An enumerable list of thats being published
+ Boolean indicating whether its all content that is republished
+
+
+
+ Call to fire event that updating the unpublished content has finalized.
+
+ thats being unpublished
+
+
+
+ Call to fire event that updating the unpublished content has finalized.
+
+ An enumerable list of thats being unpublished
+
+
+
+ Call to fire event that updating the published content has finalized.
+
+
+ This seperation of the OnPublished event is done to ensure that the Content
+ has been properly updated (committed unit of work) and xml saved in the db.
+
+ thats being published
+
+
+
+ Call to fire event that updating the published content has finalized.
+
+ An enumerable list of thats being published
+ Boolean indicating whether its all content that is republished
+
+
+
+ Call to fire event that updating the unpublished content has finalized.
+
+ thats being unpublished
+
+
+
+ Call to fire event that updating the unpublished content has finalized.
+
+ An enumerable list of thats being unpublished
+
+
+
+ Currently acts as an interconnection between the new public api and the legacy api for publishing
+
+
+
+
+ Publishes a single piece of Content
+
+ to publish
+ Id of the User issueing the publish operation
+
+
+
+ Publishes a single piece of Content
+
+ to publish
+ Id of the User issueing the publish operation
+ True if the publish operation was successfull and not cancelled, otherwise false
+
+
+
+ Publishes a list of content items
+
+
+
+
+ By default this is set to true which means that it will publish any content item in the list that is completely unpublished and
+ not visible on the front-end. If set to false, this will only publish content that is live on the front-end but has new versions
+ that have yet to be published.
+
+
+
+
+ This method becomes complex once we start to be able to cancel events or stop publishing a content item in any way because if a
+ content item is not published then it's children shouldn't be published either. This rule will apply for the following conditions:
+ * If a document fails to be published, do not proceed to publish it's children if:
+ ** The document does not have a publish version
+ ** The document does have a published version but the includeUnpublishedDocuments = false
+
+ In order to do this, we will order the content by level and begin by publishing each item at that level, then proceed to the next
+ level and so on. If we detect that the above rule applies when the document publishing is cancelled we'll add it to the list of
+ parentsIdsCancelled so that it's children don't get published.
+
+ Its important to note that all 'root' documents included in the list *will* be published regardless of the rules mentioned
+ above (unless it is invalid)!! By 'root' documents we are referring to documents in the list with the minimum value for their 'level'.
+ In most cases the 'root' documents will only be one document since under normal circumstance we only publish one document and
+ its children. The reason we have to do this is because if a user is publishing a document and it's children, it is implied that
+ the user definitely wants to publish it even if it has never been published before.
+
+
+
+
+
+ Based on the information provider we'll check if we should cancel the publishing of this document's children
+
+
+
+
+
+ See remarks on method: PublishWithChildrenInternal
+
+
+
+
+ Publishes a list of Content
+
+ An enumerable list of
+ Id of the User issueing the publish operation
+ True if the publish operation was successfull and not cancelled, otherwise false
+
+
+
+ Unpublishes a single piece of Content
+
+ to unpublish
+ Id of the User issueing the unpublish operation
+ True if the unpublish operation was successfull and not cancelled, otherwise false
+
+
+
+ Unpublishes a list of Content
+
+ An enumerable list of
+ Id of the User issueing the unpublish operation
+ A list of publish statuses
+
+
+
+ Unpublishes a list of Content
+
+ An enumerable list of
+ Id of the User issueing the unpublish operation
+ True if the unpublish operation was successfull and not cancelled, otherwise false
+
+
+
+ Call to fire event that updating the published content has finalized.
+
+
+ This seperation of the OnPublished event is done to ensure that the Content
+ has been properly updated (committed unit of work) and xml saved in the db.
+
+ thats being published
+
+
+
+ Call to fire event that updating the published content has finalized.
+
+ An enumerable list of thats being published
+ Boolean indicating whether its all content that is republished
+
+
+
+ Call to fire event that updating the unpublished content has finalized.
+
+ thats being unpublished
+
+
+
+ Call to fire event that updating the unpublished content has finalized.
+
+ An enumerable list of thats being unpublished
+
+
+
+ Occurs before publish
+
+
+
+
+ Occurs after publish
+
+
+
+
+ Occurs before unpublish
+
+
+
+
+ Occurs after unpublish
+
+
+
+
+ The result of publishing a content item
+
+
+
+
+ Creates a successful publish status
+
+
+
+
+ Gets sets the invalid properties if the status failed due to validation.
+
+
+
+
+ A status type of the result of publishing a content item
+
+
+ Anything less than 10 = Success!
+
+
+
+
+ The publishing was successful.
+
+
+
+
+ The item was already published
+
+
+
+
+ The content could not be published because it's ancestor path isn't published
+
+
+
+
+ The content item was scheduled to be un-published and it has expired so we cannot force it to be
+ published again as part of a bulk publish operation.
+
+
+
+
+ The content item is scheduled to be released in the future and therefore we cannot force it to
+ be published during a bulk publish operation.
+
+
+
+
+ The content item is in the trash, it cannot be published
+
+
+
+
+ The publish action has been cancelled by an event handler
+
+
+
+
+ The content item contains invalid data (has not passed validation requirements)
+
+
+
+
+ Extension methods for IQueryable
+
+
+ NOTE: Ordering code taken from: http://stackoverflow.com/questions/41244/dynamic-linq-orderby-on-ienumerablet
+
+ ANOTHER NOTE: We have a bastardized version of Dynamic Linq existing at Umbraco.Web.Dynamics however it's been hacked so not
+ sure we can use it for anything other than DynamicNode.
+
+
+
+
+ Used to perform scheduled publishing/unpublishing
+
+
+
+
+ Represents a section defined in the app.config file
+
+
+
+
+ Extensions to create and renew and remove authentication tickets for the Umbraco back office
+
+
+
+
+ This will check the ticket to see if it is valid, if it is it will set the current thread's user and culture
+
+
+
+ If true will attempt to renew the ticket
+
+
+
+ This will return the current back office identity.
+
+
+
+ If set to true and a back office identity is not found and not authenticated, this will attempt to authenticate the
+ request just as is done in the Umbraco module and then set the current identity if it is valid.
+ Just like in the UmbracoModule, if this is true then the user's culture will be assigned to the request.
+
+
+ Returns the current back office identity if an admin is authenticated otherwise null
+
+
+
+
+ This will return the current back office identity.
+
+
+
+ If set to true and a back office identity is not found and not authenticated, this will attempt to authenticate the
+ request just as is done in the Umbraco module and then set the current identity if it is valid
+
+
+ Returns the current back office identity if an admin is authenticated otherwise null
+
+
+
+
+ This clears the forms authentication cookie for webapi since cookies are handled differently
+
+
+
+
+
+ This clears the forms authentication cookie
+
+
+
+
+
+ This will force ticket renewal in the OWIN pipeline
+
+
+
+
+
+
+ This will force ticket renewal in the OWIN pipeline
+
+
+
+
+
+
+ Creates the umbraco authentication ticket
+
+
+
+
+
+
+ returns the number of seconds the user has until their auth session times out
+
+
+
+
+
+
+ returns the number of seconds the user has until their auth session times out
+
+
+
+
+
+
+ Gets the umbraco auth ticket
+
+
+
+
+
+
+ This clears the forms authentication cookie
+
+
+
+
+
+
+ Creates a custom FormsAuthentication ticket with the data specified
+
+ The HTTP.
+ The username.
+ The user data.
+ The login timeout mins.
+ The minutes persisted.
+ Name of the cookie.
+ The cookie domain.
+
+
+
+ A marker interface used internally to identify Umbraco built-in Users membership providers
+
+
+
+
+ A base membership provider class offering much of the underlying functionality for initializing and password encryption/hashing.
+
+
+
+
+ Initializes the provider.
+
+ The friendly name of the provider.
+ A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.
+ The name of the provider is null.
+ An attempt is made to call
+ on a provider after the provider
+ has already been initialized.
+ The name of the provider has a length of zero.
+
+
+
+ Override this method to ensure the password is valid before raising the event
+
+
+
+
+
+ Processes a request to update the password for a membership user.
+
+ The user to update the password for.
+ This property is ignore for this provider
+ The new password for the specified user.
+
+ true if the password was updated successfully; otherwise, false.
+
+
+ Checks to ensure the AllowManuallyChangingPassword rule is adhered to
+
+
+
+
+ Processes a request to update the password for a membership user.
+
+ The user to update the password for.
+ This property is ignore for this provider
+ The new password for the specified user.
+
+ true if the password was updated successfully; otherwise, false.
+
+
+
+
+ Processes a request to update the password question and answer for a membership user.
+
+ The user to change the password question and answer for.
+ The password for the specified user.
+ The new password question for the specified user.
+ The new password answer for the specified user.
+
+ true if the password question and answer are updated successfully; otherwise, false.
+
+
+ Performs the basic validation before passing off to PerformChangePasswordQuestionAndAnswer
+
+
+
+
+ Processes a request to update the password question and answer for a membership user.
+
+ The user to change the password question and answer for.
+ The password for the specified user.
+ The new password question for the specified user.
+ The new password answer for the specified user.
+
+ true if the password question and answer are updated successfully; otherwise, false.
+
+
+
+
+ Adds a new membership user to the data source.
+
+ The user name for the new user.
+ The password for the new user.
+ The e-mail address for the new user.
+ The password question for the new user.
+ The password answer for the new user
+ Whether or not the new user is approved to be validated.
+ The unique identifier from the membership data source for the user.
+ A enumeration value indicating whether the user was created successfully.
+
+ A object populated with the information for the newly created user.
+
+
+ Ensures the ValidatingPassword event is executed before executing PerformCreateUser and performs basic membership provider validation of values.
+
+
+
+
+ Performs the validation of the information for creating a new user
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds a new membership user to the data source.
+
+ The user name for the new user.
+ The password for the new user.
+ The e-mail address for the new user.
+ The password question for the new user.
+ The password answer for the new user
+ Whether or not the new user is approved to be validated.
+ The unique identifier from the membership data source for the user.
+ A enumeration value indicating whether the user was created successfully.
+
+ A object populated with the information for the newly created user.
+
+
+
+
+ Gets the members password if password retreival is enabled
+
+
+
+
+
+
+
+ Gets the members password if password retreival is enabled
+
+
+
+
+
+
+
+ Gets the name of the default app.
+
+
+
+
+
+ If the password format is a hashed keyed algorithm then we will pre-pend the salt used to hash the password
+ to the hashed password itself.
+
+
+
+
+
+
+
+ Checks the password.
+
+ The password.
+ The dbPassword.
+
+
+
+
+ Encrypt/hash a new password with a new salt
+
+
+
+
+
+
+
+ Returns the hashed password without the salt if it is hashed
+
+
+ returns the salt
+
+
+
+
+ Encodes the password.
+
+ The password.
+ The encoded password.
+
+
+
+ Unencode password.
+
+ The encoded password.
+ The unencoded password.
+
+
+
+ Returns the current request IP address for logging if there is one
+
+
+
+
+
+ Providers can override this setting, default is 7
+
+
+
+
+ Providers can override this setting, default is 1
+
+
+
+
+ Providers can override this setting, default is false to use better security
+
+
+
+
+ Providers can override this setting, by default this is false which means that the provider will
+ authenticate the username + password when ChangePassword is called. This property exists purely for
+ backwards compatibility.
+
+
+
+
+ Indicates whether the membership provider is configured to allow users to reset their passwords.
+
+
+ true if the membership provider supports password reset; otherwise, false. The default is true.
+
+
+
+ Indicates whether the membership provider is configured to allow users to retrieve their passwords.
+
+
+ true if the membership provider is configured to support password retrieval; otherwise, false. The default is false.
+
+
+
+ Gets the number of invalid password or password-answer attempts allowed before the membership user is locked out.
+
+
+ The number of invalid password or password-answer attempts allowed before the membership user is locked out.
+
+
+
+ Gets the minimum number of special characters that must be present in a valid password.
+
+
+ The minimum number of special characters that must be present in a valid password.
+
+
+
+ Gets the minimum length required for a password.
+
+
+ The minimum length required for a password.
+
+
+
+ Gets the number of minutes in which a maximum number of invalid password or password-answer attempts are allowed before the membership user is locked out.
+
+
+ The number of minutes in which a maximum number of invalid password or password-answer attempts are allowed before the membership user is locked out.
+
+
+
+ Gets a value indicating the format for storing passwords in the membership data store.
+
+
+ One of the values indicating the format for storing passwords in the data store.
+
+
+
+ Gets the regular expression used to evaluate a password.
+
+
+ A regular expression used to evaluate a password.
+
+
+
+ Gets a value indicating whether the membership provider is configured to require the user to answer a password question for password reset and retrieval.
+
+
+ true if a password answer is required for password reset and retrieval; otherwise, false. The default is true.
+
+
+
+ Gets a value indicating whether the membership provider is configured to require a unique e-mail address for each user name.
+
+
+ true if the membership provider requires a unique e-mail address; otherwise, false. The default is true.
+
+
+
+ The name of the application using the custom membership provider.
+
+
+ The name of the application using the custom membership provider.
+
+
+
+ Method to get the Umbraco Members membership provider based on it's alias
+
+
+
+
+
+ Method to get the Umbraco Users membership provider based on it's alias
+
+
+
+
+
+ Returns the currently logged in MembershipUser and flags them as being online - use sparingly (i.e. login)
+
+
+
+
+
+
+ Returns the currently logged in MembershipUser
+
+
+
+
+
+
+ Just returns the current user's login name (just a wrapper).
+
+
+
+
+
+
+ Returns true if the provider specified is a built-in Umbraco users provider
+
+
+
+
+
+
+ Returns true if the provider specified is a built-in Umbraco membership provider
+
+
+
+
+
+
+ A custom user identity for the Umbraco backoffice
+
+
+ This inherits from FormsIdentity for backwards compatibility reasons since we still support the forms auth cookie, in v8 we can
+ change over to 'pure' asp.net identity and just inherit from ClaimsIdentity.
+
+
+
+
+ Create a back office identity based on user data
+
+
+
+
+
+ Create a back office identity based on an existing claims identity
+
+
+
+
+
+
+ Create a new identity from a forms auth ticket
+
+
+
+
+
+ Used for cloning
+
+
+
+
+
+ Used during ctor to add existing claims from an existing ClaimsIdentity
+
+
+
+
+
+ Adds claims based on the UserData data
+
+
+
+
+ Gets a copy of the current instance.
+
+
+ A copy of the current instance.
+
+
+
+
+ Returns the required claim types for a back office identity
+
+
+ This does not incude the role claim type or allowed apps type since that is a collection and in theory could be empty
+
+
+
+
+ Gets the type of authenticated identity.
+
+
+ The type of authenticated identity. This property always returns "UmbracoBackOffice".
+
+
+
+
+ A base membership provider class for umbraco providers
+
+
+
+
+ Adds a new membership user to the data source.
+
+ The user name for the new user.
+ The password for the new user.
+ The e-mail address for the new user.
+ The password question for the new user.
+ The password answer for the new user
+ Whether or not the new user is approved to be validated.
+ The unique identifier from the membership data source for the user.
+ A enumeration value indicating whether the user was created successfully.
+
+ A object populated with the information for the newly created user.
+
+
+
+
+ Adds a new membership user to the data source.
+
+ The member type alias to use when creating the member
+ The user name for the new user.
+ The password for the new user.
+ The e-mail address for the new user.
+ The password question for the new user.
+ The password answer for the new user
+ Whether or not the new user is approved to be validated.
+ The unique identifier from the membership data source for the user.
+ A enumeration value indicating whether the user was created successfully.
+
+ A object populated with the information for the newly created user.
+
+
+
+
+ Adds a new membership user to the data source.
+
+ The member type alias to use when creating the member
+ The user name for the new user.
+ The password for the new user.
+ The e-mail address for the new user.
+ The password question for the new user.
+ The password answer for the new user
+ Whether or not the new user is approved to be validated.
+ The unique identifier from the membership data source for the user.
+ A enumeration value indicating whether the user was created successfully.
+
+ A object populated with the information for the newly created user.
+
+
+
+
+ An interface for exposing the content type properties for storing membership data in when
+ a membership provider's data is backed by an Umbraco content type.
+
+
+
+
+ Data structure used to store information in the authentication cookie
+
+
+
+
+ Use this constructor to create/assign new UserData to the ticket
+
+
+ A unique id that is assigned to this ticket
+
+
+
+
+ This is used to Id the current ticket which we can then use to mitigate csrf attacks
+ and other things that require request validation.
+
+
+
+
+ Finds an with a matching , and deserializes the to an object graph.
+
+
+
+
+
+
+
+
+ Finds an with a matching , and serializes the object graph to an .
+
+
+
+
+
+
+
+ A sequence of registered with this serialization service.
+
+
+
+
+ Deserialize input stream to object
+
+
+
+
+
+
+
+ Serialize object to streamed result
+
+
+
+
+
+
+ This is used in order to deserialize a json object on a property into a json string since the property's type is 'string'
+
+
+
+
+ Finds an with a matching , and deserializes the to an object graph.
+
+
+
+
+
+
+
+
+ Finds an with a matching , and serializes the object graph to an .
+
+
+
+
+
+
+
+ Represents the Content Service, which is an easy access to operations involving
+
+
+
+
+ Defines the ContentService, which is an easy access to operations involving
+
+
+
+
+ Rebuilds all xml content in the cmsContentXml table for all documents
+
+
+ Only rebuild the xml structures for the content type ids passed in, if none then rebuilds the structures
+ for all content
+
+
+
+
+
+ Assigns a single permission to the current content item for the specified user ids
+
+
+
+
+
+
+
+ Gets the list of permissions for the content item
+
+
+
+
+
+
+ Creates an object using the alias of the
+ that this Content should based on.
+
+
+ Note that using this method will simply return a new IContent without any identity
+ as it has not yet been persisted. It is intended as a shortcut to creating new content objects
+ that does not invoke a save operation against the database.
+
+ Name of the Content object
+ Id of Parent for the new Content
+ Alias of the
+ Optional id of the user creating the content
+
+
+
+
+ Creates an object using the alias of the
+ that this Content should based on.
+
+
+ Note that using this method will simply return a new IContent without any identity
+ as it has not yet been persisted. It is intended as a shortcut to creating new content objects
+ that does not invoke a save operation against the database.
+
+ Name of the Content object
+ Parent object for the new Content
+ Alias of the
+ Optional id of the user creating the content
+
+
+
+
+ Gets an object by Id
+
+ Id of the Content to retrieve
+
+
+
+
+ Gets an object by its 'UniqueId'
+
+ Guid key of the Content to retrieve
+
+
+
+
+ Gets a collection of objects by the Id of the
+
+ Id of the
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Level
+
+ The level to retrieve Content from
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Children from
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Children from
+ Page number
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Descendants from
+ Page number
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Gets a collection of an objects versions by its Id
+
+
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which reside at the first level / root
+
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which has an expiration date greater then today
+
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which has a release date greater then today
+
+ An Enumerable list of objects
+
+
+
+ Gets a collection of an objects, which resides in the Recycle Bin
+
+ An Enumerable list of objects
+
+
+
+ Saves a single object
+
+ The to save
+ Optional Id of the User saving the Content
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Saves a collection of objects.
+
+ Collection of to save
+ Optional Id of the User saving the Content
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Deletes all content of specified type. All children of deleted content is moved to Recycle Bin.
+
+ This needs extra care and attention as its potentially a dangerous and extensive operation
+ Id of the
+ Optional Id of the user issueing the delete operation
+
+
+
+ Permanently deletes versions from an object prior to a specific date.
+
+ Id of the object to delete versions from
+ Latest version date
+ Optional Id of the User deleting versions of a Content object
+
+
+
+ Permanently deletes a specific version from an object.
+
+ Id of the object to delete a version from
+ Id of the version to delete
+ Boolean indicating whether to delete versions prior to the versionId
+ Optional Id of the User deleting versions of a Content object
+
+
+
+ Deletes an object by moving it to the Recycle Bin
+
+ Move an item to the Recycle Bin will result in the item being unpublished
+ The to delete
+ Optional Id of the User deleting the Content
+
+
+
+ Moves an object to a new location
+
+ The to move
+ Id of the Content's new Parent
+ Optional Id of the User moving the Content
+
+
+
+ Empties the Recycle Bin by deleting all that resides in the bin
+
+
+
+
+ Rollback an object to a previous version.
+ This will create a new version, which is a copy of all the old data.
+
+ Id of the being rolled back
+ Id of the version to rollback to
+ Optional Id of the User issueing the rollback of the Content
+ The newly created object
+
+
+
+ Gets a collection of objects by its name or partial name
+
+ Id of the Parent to retrieve Children from
+ Full or partial name of the children
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Descendants from
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ item to retrieve Descendants from
+ An Enumerable list of objects
+
+
+
+ Gets a specific version of an item.
+
+ Id of the version to retrieve
+ An item
+
+
+
+ Gets the published version of an item
+
+ Id of the to retrieve version from
+ An item
+
+
+
+ Gets the published version of a item.
+
+ The content item.
+ The published version, if any; otherwise, null.
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the content has any children otherwise False
+
+
+
+ Checks whether an item has any published versions
+
+ Id of the
+ True if the content has any published version otherwise False
+
+
+
+ Re-Publishes all Content
+
+ Optional Id of the User issueing the publishing
+ True if publishing succeeded, otherwise False
+
+
+
+ Publishes a single object
+
+ The to publish
+ Optional Id of the User issueing the publishing
+ True if publishing succeeded, otherwise False
+
+
+
+ Publishes a single object
+
+ The to publish
+ Optional Id of the User issueing the publishing
+ The published status attempt
+
+
+
+ Publishes a object and all its children
+
+ The to publish along with its children
+ Optional Id of the User issueing the publishing
+ True if publishing succeeded, otherwise False
+
+
+
+ Publishes a object and all its children
+
+ The to publish along with its children
+ Optional Id of the User issueing the publishing
+
+ The list of statuses for all published items
+
+
+
+ UnPublishes a single object
+
+ The to publish
+ Optional Id of the User issueing the publishing
+ True if unpublishing succeeded, otherwise False
+
+
+
+ Saves and Publishes a single object
+
+ The to save and publish
+ Optional Id of the User issueing the publishing
+ Optional boolean indicating whether or not to raise save events.
+ True if publishing succeeded, otherwise False
+
+
+
+ Saves and Publishes a single object
+
+ The to save and publish
+ Optional Id of the User issueing the publishing
+ Optional boolean indicating whether or not to raise save events.
+ True if publishing succeeded, otherwise False
+
+
+
+ Permanently deletes an object.
+
+
+ This method will also delete associated media files, child content and possibly associated domains.
+
+ Please note that this method will completely remove the Content from the database
+ The to delete
+ Optional Id of the User deleting the Content
+
+
+
+ Copies an object by creating a new Content object of the same type and copies all data from the current
+ to the new copy, which is returned. Recursively copies all children.
+
+ The to copy
+ Id of the Content's new Parent
+ Boolean indicating whether the copy should be related to the original
+ Optional Id of the User copying the Content
+ The newly created object
+
+
+
+ Copies an object by creating a new Content object of the same type and copies all data from the current
+ to the new copy which is returned.
+
+ The to copy
+ Id of the Content's new Parent
+ Boolean indicating whether the copy should be related to the original
+ A value indicating whether to recursively copy children.
+ Optional Id of the User copying the Content
+ The newly created object
+
+
+
+ Checks if the passed in can be published based on the anscestors publish state.
+
+ to check if anscestors are published
+ True if the Content can be published, otherwise False
+
+
+
+ Gets a collection of objects, which are ancestors of the current content.
+
+ Id of the to retrieve ancestors for
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which are ancestors of the current content.
+
+ to retrieve ancestors for
+ An Enumerable list of objects
+
+
+
+ Sorts a collection of objects by updating the SortOrder according
+ to the ordering of items in the passed in .
+
+
+ Using this method will ensure that the Published-state is maintained upon sorting
+ so the cache is updated accordingly - as needed.
+
+
+
+
+ True if sorting succeeded, otherwise False
+
+
+
+ Gets the parent of the current content as an item.
+
+ Id of the to retrieve the parent from
+ Parent object
+
+
+
+ Gets the parent of the current content as an item.
+
+ to retrieve the parent from
+ Parent object
+
+
+
+ Creates and saves an object using the alias of the
+ that this Content should based on.
+
+
+ This method returns an object that has been persisted to the database
+ and therefor has an identity.
+
+ Name of the Content object
+ Parent object for the new Content
+ Alias of the
+ Optional id of the user creating the content
+
+
+
+
+ Creates and saves an object using the alias of the
+ that this Content should based on.
+
+
+ This method returns an object that has been persisted to the database
+ and therefor has an identity.
+
+ Name of the Content object
+ Id of Parent for the new Content
+ Alias of the
+ Optional id of the user creating the content
+
+
+
+
+ A temporary interface until we are in v8, this is used to return a different result for the same method and this interface gets implemented
+ explicitly. These methods will replace the normal ones in IContentService in v8 and this will be removed.
+
+
+
+
+ Saves a single object
+
+ The to save
+ Optional Id of the User saving the Content
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Saves a collection of objects.
+
+ Collection of to save
+ Optional Id of the User saving the Content
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Permanently deletes an object.
+
+
+ This method will also delete associated media files, child content and possibly associated domains.
+
+ Please note that this method will completely remove the Content from the database
+ The to delete
+ Optional Id of the User deleting the Content
+
+
+
+ Publishes a single object
+
+ The to publish
+ Optional Id of the User issueing the publishing
+ The published status attempt
+
+
+
+ Publishes a object and all its children
+
+ The to publish along with its children
+ Optional Id of the User issueing the publishing
+
+ The list of statuses for all published items
+
+
+
+ Saves and Publishes a single object
+
+ The to save and publish
+ Optional Id of the User issueing the publishing
+ Optional boolean indicating whether or not to raise save events.
+ True if publishing succeeded, otherwise False
+
+
+
+ Deletes an object by moving it to the Recycle Bin
+
+ Move an item to the Recycle Bin will result in the item being unpublished
+ The to delete
+ Optional Id of the User deleting the Content
+
+
+
+ UnPublishes a single object
+
+ The to publish
+ Optional Id of the User issueing the publishing
+ True if unpublishing succeeded, otherwise False
+
+
+
+
+ Assigns a single permission to the current content item for the specified user ids
+
+
+
+
+
+
+
+ Gets the list of permissions for the content item
+
+
+
+
+
+
+ Creates an object using the alias of the
+ that this Content should based on.
+
+
+ Note that using this method will simply return a new IContent without any identity
+ as it has not yet been persisted. It is intended as a shortcut to creating new content objects
+ that does not invoke a save operation against the database.
+
+ Name of the Content object
+ Id of Parent for the new Content
+ Alias of the
+ Optional id of the user creating the content
+
+
+
+
+ Creates an object using the alias of the
+ that this Content should based on.
+
+
+ Note that using this method will simply return a new IContent without any identity
+ as it has not yet been persisted. It is intended as a shortcut to creating new content objects
+ that does not invoke a save operation against the database.
+
+ Name of the Content object
+ Parent object for the new Content
+ Alias of the
+ Optional id of the user creating the content
+
+
+
+
+ Creates and saves an object using the alias of the
+ that this Content should based on.
+
+
+ This method returns an object that has been persisted to the database
+ and therefor has an identity.
+
+ Name of the Content object
+ Id of Parent for the new Content
+ Alias of the
+ Optional id of the user creating the content
+
+
+
+
+ Creates and saves an object using the alias of the
+ that this Content should based on.
+
+
+ This method returns an object that has been persisted to the database
+ and therefor has an identity.
+
+ Name of the Content object
+ Parent object for the new Content
+ Alias of the
+ Optional id of the user creating the content
+
+
+
+
+ Gets an object by Id
+
+ Id of the Content to retrieve
+
+
+
+
+ Gets an object by Id
+
+ Ids of the Content to retrieve
+
+
+
+
+ Gets an object by its 'UniqueId'
+
+ Guid key of the Content to retrieve
+
+
+
+
+ Gets a collection of objects by the Id of the
+
+ Id of the
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Level
+
+ The level to retrieve Content from
+ An Enumerable list of objects
+
+
+
+ Gets a specific version of an item.
+
+ Id of the version to retrieve
+ An item
+
+
+
+ Gets a collection of an objects versions by Id
+
+
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which are ancestors of the current content.
+
+ Id of the to retrieve ancestors for
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which are ancestors of the current content.
+
+ to retrieve ancestors for
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Children from
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Children from
+ Page index (zero based)
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Descendants from
+ Page number
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by its name or partial name
+
+ Id of the Parent to retrieve Children from
+ Full or partial name of the children
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Descendants from
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ item to retrieve Descendants from
+ An Enumerable list of objects
+
+
+
+ Gets the parent of the current content as an item.
+
+ Id of the to retrieve the parent from
+ Parent object
+
+
+
+ Gets the parent of the current content as an item.
+
+ to retrieve the parent from
+ Parent object
+
+
+
+ Gets the published version of an item
+
+ Id of the to retrieve version from
+ An item
+
+
+
+ Gets the published version of a item.
+
+ The content item.
+ The published version, if any; otherwise, null.
+
+
+
+ Gets a collection of objects, which reside at the first level / root
+
+ An Enumerable list of objects
+
+
+
+ Gets all published content items
+
+
+
+
+
+ Gets a collection of objects, which has an expiration date less than or equal to today.
+
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which has a release date less than or equal to today.
+
+ An Enumerable list of objects
+
+
+
+ Gets a collection of an objects, which resides in the Recycle Bin
+
+ An Enumerable list of objects
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the content has any children otherwise False
+
+
+
+ Checks whether an item has any published versions
+
+ Id of the
+ True if the content has any published version otherwise False
+
+
+
+ Checks if the passed in can be published based on the anscestors publish state.
+
+ to check if anscestors are published
+ True if the Content can be published, otherwise False
+
+
+
+ This will rebuild the xml structures for content in the database.
+
+ This is not used for anything
+ True if publishing succeeded, otherwise False
+
+ This is used for when a document type alias or a document type property is changed, the xml will need to
+ be regenerated.
+
+
+
+
+ This will rebuild the xml structures for content in the database.
+
+
+ If specified will only rebuild the xml for the content type's specified, otherwise will update the structure
+ for all published content.
+
+
+
+
+ Publishes a single object
+
+ The to publish
+ Optional Id of the User issueing the publishing
+ True if publishing succeeded, otherwise False
+
+
+
+ Publishes a object and all its children
+
+ The to publish along with its children
+ Optional Id of the User issueing the publishing
+
+ The list of statuses for all published items
+
+
+
+ Saves and Publishes a single object
+
+ The to save and publish
+ Optional Id of the User issueing the publishing
+ Optional boolean indicating whether or not to raise save events.
+ True if publishing succeeded, otherwise False
+
+
+
+ Deletes an object by moving it to the Recycle Bin
+
+ Move an item to the Recycle Bin will result in the item being unpublished
+ The to delete
+ Optional Id of the User deleting the Content
+
+
+
+ UnPublishes a single object
+
+ The to publish
+ Optional Id of the User issueing the publishing
+ True if unpublishing succeeded, otherwise False
+
+
+
+ Publishes a single object
+
+ The to publish
+ Optional Id of the User issueing the publishing
+ True if publishing succeeded, otherwise False
+
+
+
+ Publishes a object and all its children
+
+ The to publish along with its children
+ Optional Id of the User issueing the publishing
+ True if publishing succeeded, otherwise False
+
+
+
+ Publishes a object and all its children
+
+ The to publish along with its children
+ Optional Id of the User issueing the publishing
+ set to true if you want to also publish children that are currently unpublished
+ True if publishing succeeded, otherwise False
+
+
+
+ UnPublishes a single object
+
+ The to publish
+ Optional Id of the User issueing the publishing
+ True if unpublishing succeeded, otherwise False
+
+
+
+ Saves and Publishes a single object
+
+ The to save and publish
+ Optional Id of the User issueing the publishing
+ Optional boolean indicating whether or not to raise save events.
+ True if publishing succeeded, otherwise False
+
+
+
+ Saves and Publishes a single object
+
+ The to save and publish
+ Optional Id of the User issueing the publishing
+ Optional boolean indicating whether or not to raise save events.
+ True if publishing succeeded, otherwise False
+
+
+
+ Saves a single object
+
+ The to save
+ Optional Id of the User saving the Content
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Saves a collection of objects.
+
+ Collection of to save
+ Optional Id of the User saving the Content
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Permanently deletes an object.
+
+
+ This method will also delete associated media files, child content and possibly associated domains.
+
+ Please note that this method will completely remove the Content from the database
+ The to delete
+ Optional Id of the User deleting the Content
+
+
+
+ Publishes a single object
+
+ The to publish
+ Optional Id of the User issueing the publishing
+ The published status attempt
+
+
+
+ Saves a single object
+
+ The to save
+ Optional Id of the User saving the Content
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Saves a collection of objects.
+
+
+ If the collection of content contains new objects that references eachother by Id or ParentId,
+ then use the overload Save method with a collection of Lazy .
+
+ Collection of to save
+ Optional Id of the User saving the Content
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Deletes all content of specified type. All children of deleted content is moved to Recycle Bin.
+
+ This needs extra care and attention as its potentially a dangerous and extensive operation
+ Id of the
+ Optional Id of the user issueing the delete operation
+
+
+
+ Permanently deletes an object as well as all of its Children.
+
+
+ This method will also delete associated media files, child content and possibly associated domains.
+
+ Please note that this method will completely remove the Content from the database
+ The to delete
+ Optional Id of the User deleting the Content
+
+
+
+ Permanently deletes versions from an object prior to a specific date.
+ This method will never delete the latest version of a content item.
+
+ Id of the object to delete versions from
+ Latest version date
+ Optional Id of the User deleting versions of a Content object
+
+
+
+ Permanently deletes specific version(s) from an object.
+ This method will never delete the latest version of a content item.
+
+ Id of the object to delete a version from
+ Id of the version to delete
+ Boolean indicating whether to delete versions prior to the versionId
+ Optional Id of the User deleting versions of a Content object
+
+
+
+ Deletes an object by moving it to the Recycle Bin
+
+ Move an item to the Recycle Bin will result in the item being unpublished
+ The to delete
+ Optional Id of the User deleting the Content
+
+
+
+ Moves an object to a new location by changing its parent id.
+
+
+ If the object is already published it will be
+ published after being moved to its new location. Otherwise it'll just
+ be saved with a new parent id.
+
+ The to move
+ Id of the Content's new Parent
+ Optional Id of the User moving the Content
+
+
+
+ Empties the Recycle Bin by deleting all that resides in the bin
+
+
+
+
+ Copies an object by creating a new Content object of the same type and copies all data from the current
+ to the new copy which is returned. Recursively copies all children.
+
+ The to copy
+ Id of the Content's new Parent
+ Boolean indicating whether the copy should be related to the original
+ Optional Id of the User copying the Content
+ The newly created object
+
+
+
+ Copies an object by creating a new Content object of the same type and copies all data from the current
+ to the new copy which is returned.
+
+ The to copy
+ Id of the Content's new Parent
+ Boolean indicating whether the copy should be related to the original
+ A value indicating whether to recursively copy children.
+ Optional Id of the User copying the Content
+ The newly created object
+
+
+
+ Sends an to Publication, which executes handlers and events for the 'Send to Publication' action.
+
+ The to send to publication
+ Optional Id of the User issueing the send to publication
+ True if sending publication was succesfull otherwise false
+
+
+
+ Rollback an object to a previous version.
+ This will create a new version, which is a copy of all the old data.
+
+
+ The way data is stored actually only allows us to rollback on properties
+ and not data like Name and Alias of the Content.
+
+ Id of the being rolled back
+ Id of the version to rollback to
+ Optional Id of the User issueing the rollback of the Content
+ The newly created object
+
+
+
+ Sorts a collection of objects by updating the SortOrder according
+ to the ordering of items in the passed in .
+
+
+ Using this method will ensure that the Published-state is maintained upon sorting
+ so the cache is updated accordingly - as needed.
+
+
+
+
+ True if sorting succeeded, otherwise False
+
+
+
+ Rebuilds all xml content in the cmsContentXml table for all documents
+
+
+ Only rebuild the xml structures for the content type ids passed in, if none then rebuilds the structures
+ for all content
+
+
+
+
+ Gets a collection of descendants by the first Parent.
+
+ item to retrieve Descendants from
+ An Enumerable list of objects
+
+
+
+ Publishes a object and all its children
+
+ The to publish along with its children
+ Optional Id of the User issueing the publishing
+ If set to true, this will also publish descendants that are completely unpublished, normally this will only publish children that have previously been published
+
+ A list of publish statues. If the parent document is not valid or cannot be published because it's parent(s) is not published
+ then the list will only contain one status item, otherwise it will contain status items for it and all of it's descendants that
+ are to be published.
+
+
+
+
+ UnPublishes a single object
+
+ The to publish
+ Optional boolean to avoid having the cache refreshed when calling this Unpublish method. By default this method will update the cache.
+ Optional Id of the User issueing the publishing
+ True if unpublishing succeeded, otherwise False
+
+
+
+ Saves and Publishes a single object
+
+ The to save and publish
+ Optional Id of the User issueing the publishing
+ Optional boolean indicating whether or not to raise save events.
+ True if publishing succeeded, otherwise False
+
+
+
+ Saves a single object
+
+ The to save
+ Boolean indicating whether or not to change the Published state upon saving
+ Optional Id of the User saving the Content
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Checks if the passed in can be published based on the anscestors publish state.
+
+
+ Check current is only used when falling back to checking the Parent of non-saved content, as
+ non-saved content doesn't have a valid path yet.
+
+ to check if anscestors are published
+ Boolean indicating whether the passed in content should also be checked for published versions
+ True if the Content can be published, otherwise False
+
+
+
+ Occurs before publish.
+
+ Proxy to the real event on the
+
+
+
+ Occurs after publish.
+
+ Proxy to the real event on the
+
+
+
+ Occurs before unpublish.
+
+ Proxy to the real event on the
+
+
+
+ Occurs after unpublish.
+
+ Proxy to the real event on the
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Delete Versions
+
+
+
+
+ Occurs after Delete Versions
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Create
+
+
+
+
+ Occurs after Create
+
+
+ Please note that the Content object has been created, but might not have been saved
+ so it does not have an identity yet (meaning no Id has been set).
+
+
+
+
+ Occurs before Copy
+
+
+
+
+ Occurs after Copy
+
+
+
+
+ Occurs before Content is moved to Recycle Bin
+
+
+
+
+ Occurs after Content is moved to Recycle Bin
+
+
+
+
+ Occurs before Move
+
+
+
+
+ Occurs after Move
+
+
+
+
+ Occurs before Rollback
+
+
+
+
+ Occurs after Rollback
+
+
+
+
+ Occurs before Send to Publish
+
+
+
+
+ Occurs after Send to Publish
+
+
+
+
+ Occurs before the Recycle Bin is emptied
+
+
+
+
+ Occurs after the Recycle Bin has been Emptied
+
+
+
+
+ Remove all permissions for this user for all nodes
+
+
+
+
+
+
+ Returns true if there is any content in the recycle bin
+
+
+
+
+
+
+ Returns true if there is any media in the recycle bin
+
+
+
+
+
+
+ Represents the ContentType Service, which is an easy access to operations involving
+
+
+
+
+ This is called after an content type is saved and is used to update the content xml structures in the database
+ if they are required to be updated.
+
+
+
+
+
+ Defines the ContentTypeService, which is an easy access to operations involving
+
+
+
+
+ Gets all property type aliases.
+
+
+
+
+
+ Copies a content type as a child under the specified parent if specified (otherwise to the root)
+
+
+ The content type to copy
+
+
+ The new alias of the content type
+
+
+ The new name of the content type
+
+
+ The parent to copy the content type to, default is -1 (root)
+
+
+
+
+
+ Copies a content type as a child under the specified parent if specified (otherwise to the root)
+
+
+ The content type to copy
+
+
+ The new alias of the content type
+
+
+ The new name of the content type
+
+
+ The parent to copy the content type to
+
+
+
+
+
+ Gets an object by its Id
+
+ Id of the to retrieve
+
+
+
+
+ Gets an object by its Alias
+
+ Alias of the to retrieve
+
+
+
+
+ Gets an object by its Key
+
+ Alias of the to retrieve
+
+
+
+
+ Gets a list of all available objects
+
+ Optional list of ids
+ An Enumerable list of objects
+
+
+
+ Gets a list of all available objects
+
+ Optional list of ids
+ An Enumerable list of objects
+
+
+
+ Gets a list of children for a object
+
+ Id of the Parent
+ An Enumerable list of objects
+
+
+
+ Gets a list of children for a object
+
+ Id of the Parent
+ An Enumerable list of objects
+
+
+
+ Saves a single object
+
+ to save
+ Optional Id of the User saving the ContentType
+
+
+
+ Saves a collection of objects
+
+ Collection of to save
+ Optional Id of the User saving the ContentTypes
+
+
+
+ Deletes a single object
+
+ to delete
+ Deleting a will delete all the objects based on this
+ Optional Id of the User deleting the ContentType
+
+
+
+ Deletes a collection of objects
+
+ Collection of to delete
+ Deleting a will delete all the objects based on this
+ Optional Id of the User deleting the ContentTypes
+
+
+
+ Gets an object by its Id
+
+ Id of the to retrieve
+
+
+
+
+ Gets an object by its Alias
+
+ Alias of the to retrieve
+
+
+
+
+ Gets an object by its Id
+
+ Id of the to retrieve
+
+
+
+
+ Gets a list of all available objects
+
+ Optional list of ids
+ An Enumerable list of objects
+
+
+
+ Gets a list of all available objects
+
+ Optional list of ids
+ An Enumerable list of objects
+
+
+
+ Gets a list of children for a object
+
+ Id of the Parent
+ An Enumerable list of objects
+
+
+
+ Gets a list of children for a object
+
+ Id of the Parent
+ An Enumerable list of objects
+
+
+
+ Saves a single object
+
+ to save
+ Optional Id of the User saving the MediaType
+
+
+
+ Saves a collection of objects
+
+ Collection of to save
+ Optional Id of the User saving the MediaTypes
+
+
+
+ Deletes a single object
+
+ to delete
+ Deleting a will delete all the objects based on this
+ Optional Id of the User deleting the MediaType
+
+
+
+ Deletes a collection of objects
+
+ Collection of to delete
+ Deleting a will delete all the objects based on this
+ Optional Id of the User deleting the MediaTypes
+
+
+
+ Generates the complete (simplified) XML DTD.
+
+ The DTD as a string
+
+
+
+ Generates the complete XML DTD without the root.
+
+ The DTD as a string
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the content type has any children otherwise False
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the content type has any children otherwise False
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the media type has any children otherwise False
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the media type has any children otherwise False
+
+
+
+ Gets all property type aliases.
+
+
+
+
+
+ Copies a content type as a child under the specified parent if specified (otherwise to the root)
+
+
+ The content type to copy
+
+
+ The new alias of the content type
+
+
+ The new name of the content type
+
+
+ The parent to copy the content type to, default is -1 (root)
+
+
+
+
+
+ Copies a content type as a child under the specified parent if specified (otherwise to the root)
+
+
+ The content type to copy
+
+
+ The new alias of the content type
+
+
+ The new name of the content type
+
+
+ The parent to copy the content type to, default is null (root)
+
+
+
+
+
+ Gets an object by its Id
+
+ Id of the to retrieve
+
+
+
+
+ Gets an object by its Alias
+
+ Alias of the to retrieve
+
+
+
+
+ Gets an object by its Key
+
+ Alias of the to retrieve
+
+
+
+
+ Gets a list of all available objects
+
+ Optional list of ids
+ An Enumerable list of objects
+
+
+
+ Gets a list of all available objects
+
+ Optional list of ids
+ An Enumerable list of objects
+
+
+
+ Gets a list of children for a object
+
+ Id of the Parent
+ An Enumerable list of objects
+
+
+
+ Gets a list of children for a object
+
+ Id of the Parent
+ An Enumerable list of objects
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the content type has any children otherwise False
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the content type has any children otherwise False
+
+
+
+ This is called after an IContentType is saved and is used to update the content xml structures in the database
+ if they are required to be updated.
+
+ A tuple of a content type and a boolean indicating if it is new (HasIdentity was false before committing)
+
+
+
+ Saves a single object
+
+ to save
+ Optional id of the user saving the ContentType
+
+
+
+ Saves a collection of objects
+
+ Collection of to save
+ Optional id of the user saving the ContentType
+
+
+
+ Deletes a single object
+
+ to delete
+ Optional id of the user issueing the delete
+ Deleting a will delete all the objects based on this
+
+
+
+ Deletes a collection of objects.
+
+ Collection of to delete
+ Optional id of the user issueing the delete
+
+ Deleting a will delete all the objects based on this
+
+
+
+
+ Gets an object by its Id
+
+ Id of the to retrieve
+
+
+
+
+ Gets an object by its Alias
+
+ Alias of the to retrieve
+
+
+
+
+ Gets an object by its Id
+
+ Id of the to retrieve
+
+
+
+
+ Gets a list of all available objects
+
+ Optional list of ids
+ An Enumerable list of objects
+
+
+
+ Gets a list of all available objects
+
+ Optional list of ids
+ An Enumerable list of objects
+
+
+
+ Gets a list of children for a object
+
+ Id of the Parent
+ An Enumerable list of objects
+
+
+
+ Gets a list of children for a object
+
+ Id of the Parent
+ An Enumerable list of objects
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the media type has any children otherwise False
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the media type has any children otherwise False
+
+
+
+ Saves a single object
+
+ to save
+ Optional Id of the user saving the MediaType
+
+
+
+ Saves a collection of objects
+
+ Collection of to save
+ Optional Id of the user savging the MediaTypes
+
+
+
+ Deletes a single object
+
+ to delete
+ Optional Id of the user deleting the MediaType
+ Deleting a will delete all the objects based on this
+
+
+
+ Deletes a collection of objects
+
+ Collection of to delete
+
+ Deleting a will delete all the objects based on this
+
+
+
+ Generates the complete (simplified) XML DTD.
+
+ The DTD as a string
+
+
+
+ Generates the complete XML DTD without the root.
+
+ The DTD as a string
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Represents the DataType Service, which is an easy access to operations involving
+
+
+
+
+ Defines the DataType Service, which is an easy access to operations involving
+
+
+
+
+ Gets a by its Name
+
+ Name of the
+
+
+
+
+ Gets a by its Id
+
+ Id of the
+
+
+
+
+ Gets a by its unique guid Id
+
+ Unique guid Id of the DataType
+
+
+
+
+ Gets all objects or those with the ids passed in
+
+ Optional array of Ids
+ An enumerable list of objects
+
+
+
+ Saves an
+
+ to save
+ Id of the user issueing the save
+
+
+
+ Saves a collection of
+
+ to save
+ Id of the user issueing the save
+
+
+
+ Saves a collection of
+
+ to save
+ Id of the user issueing the save
+ Boolean indicating whether or not to raise events
+
+
+
+ Deletes an
+
+
+ Please note that deleting a will remove
+ all the data that references this .
+
+ to delete
+ Id of the user issueing the deletion
+
+
+
+ Gets the specified by it's unique ID
+
+ Id of the DataType, which corresponds to the Guid Id of the control
+ object
+
+
+
+ Gets a complete list of all registered 's
+
+ An enumerable list of objects
+
+
+
+ Gets a by its control Id
+
+ Id of the DataType control
+
+
+
+
+ Gets a by its control Id
+
+ Alias of the property editor
+ Collection of objects with a matching contorl id
+
+
+
+ Gets all values for an
+
+ Id of the to retrieve prevalues from
+ An enumerable list of string values
+
+
+
+ Gets a pre-value collection by data type id
+
+
+
+
+
+
+ Saves a list of PreValues for a given DataTypeDefinition
+
+ Id of the DataTypeDefinition to save PreValues for
+ List of string values to save
+
+
+
+ Saves a list of PreValues for a given DataTypeDefinition
+
+ Id of the DataTypeDefinition to save PreValues for
+ List of key/value pairs to save
+
+
+
+ Saves a list of PreValues for a given DataTypeDefinition
+
+ The DataTypeDefinition to save PreValues for
+ List of key/value pairs to save
+
+
+
+ Saves the data type and it's prevalues
+
+
+
+
+
+
+
+ Gets a specific PreValue by its Id
+
+ Id of the PreValue to retrieve the value from
+ PreValue as a string
+
+
+
+ Gets a by its Name
+
+ Name of the
+
+
+
+
+ Gets a by its Id
+
+ Id of the
+
+
+
+
+ Gets a by its unique guid Id
+
+ Unique guid Id of the DataType
+
+
+
+
+ Gets a by its control Id
+
+ Id of the DataType control
+ Collection of objects with a matching contorl id
+
+
+
+ Gets a by its control Id
+
+ Alias of the property editor
+ Collection of objects with a matching contorl id
+
+
+
+ Gets all objects or those with the ids passed in
+
+ Optional array of Ids
+ An enumerable list of objects
+
+
+
+ Gets all prevalues for an
+
+ Id of the to retrieve prevalues from
+ An enumerable list of string values
+
+
+
+ Returns the PreValueCollection for the specified data type
+
+
+
+
+
+
+ Gets a specific PreValue by its Id
+
+ Id of the PreValue to retrieve the value from
+ PreValue as a string
+
+
+
+ Saves an
+
+ to save
+ Id of the user issueing the save
+
+
+
+ Saves a collection of
+
+ to save
+ Id of the user issueing the save
+
+
+
+ Saves a collection of
+
+ to save
+ Id of the user issueing the save
+ Boolean indicating whether or not to raise events
+
+
+
+ Saves a list of PreValues for a given DataTypeDefinition
+
+ Id of the DataTypeDefinition to save PreValues for
+ List of string values to save
+
+
+
+ Saves/updates the pre-values
+
+
+
+
+ We need to actually look up each pre-value and maintain it's id if possible - this is because of silly property editors
+ like 'dropdown list publishing keys'
+
+
+
+
+ Saves/updates the pre-values
+
+
+
+
+ We need to actually look up each pre-value and maintain it's id if possible - this is because of silly property editors
+ like 'dropdown list publishing keys'
+
+
+
+
+ This will save a data type and it's pre-values in one transaction
+
+
+
+
+
+
+
+ Deletes an
+
+
+ Please note that deleting a will remove
+ all the data that references this .
+
+ to delete
+ Optional Id of the user issueing the deletion
+
+
+
+ Gets the specified by it's unique ID
+
+ Id of the DataType, which corresponds to the Guid Id of the control
+ object
+
+
+
+ Gets a complete list of all registered 's
+
+ An enumerable list of objects
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Returns the integer id for a given GUID
+
+
+
+
+
+
+
+ Returns the GUID for a given integer id
+
+
+
+
+
+
+
+ Gets an UmbracoEntity by its Id, and optionally loads the complete object graph.
+
+
+ By default this will load the base type with a minimum set of properties.
+
+ Unique Id of the object to retrieve
+ Optional bool to load the complete object graph when set to False.
+ An
+
+
+
+ Gets an UmbracoEntity by its Id, and optionally loads the complete object graph.
+
+
+ By default this will load the base type with a minimum set of properties.
+
+ Id of the object to retrieve
+ Optional bool to load the complete object graph when set to False.
+ An
+
+
+
+ Gets an UmbracoEntity by its Id and UmbracoObjectType, and optionally loads the complete object graph.
+
+
+ By default this will load the base type with a minimum set of properties.
+
+ Unique Id of the object to retrieve
+ UmbracoObjectType of the entity to retrieve
+ Optional bool to load the complete object graph when set to False.
+ An
+
+
+
+ Gets an UmbracoEntity by its Id and UmbracoObjectType, and optionally loads the complete object graph.
+
+
+ By default this will load the base type with a minimum set of properties.
+
+ Id of the object to retrieve
+ UmbracoObjectType of the entity to retrieve
+ Optional bool to load the complete object graph when set to False.
+ An
+
+
+
+ Gets an UmbracoEntity by its Id and specified Type. Optionally loads the complete object graph.
+
+
+ By default this will load the base type with a minimum set of properties.
+
+ Type of the model to retrieve. Must be based on an
+ Unique Id of the object to retrieve
+ Optional bool to load the complete object graph when set to False.
+ An
+
+
+
+ Gets an UmbracoEntity by its Id and specified Type. Optionally loads the complete object graph.
+
+
+ By default this will load the base type with a minimum set of properties.
+
+ Type of the model to retrieve. Must be based on an
+ Id of the object to retrieve
+ Optional bool to load the complete object graph when set to False.
+ An
+
+
+
+ Gets the parent of entity by its id
+
+ Id of the entity to retrieve the Parent for
+ An
+
+
+
+ Gets the parent of entity by its id and UmbracoObjectType
+
+ Id of the entity to retrieve the Parent for
+ UmbracoObjectType of the parent to retrieve
+ An
+
+
+
+ Gets a collection of children by the parents Id
+
+ Id of the parent to retrieve children for
+ An enumerable list of objects
+
+
+
+ Gets a collection of children by the parents Id and UmbracoObjectType
+
+ Id of the parent to retrieve children for
+ UmbracoObjectType of the children to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a collection of descendents by the parents Id
+
+ Id of entity to retrieve descendents for
+ An enumerable list of objects
+
+
+
+ Gets a collection of descendents by the parents Id
+
+ Id of entity to retrieve descendents for
+ UmbracoObjectType of the descendents to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a collection of the entities at the root, which corresponds to the entities with a Parent Id of -1.
+
+ UmbracoObjectType of the root entities to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a collection of all of a given type.
+
+ Type of the entities to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a collection of all of a given type.
+
+ UmbracoObjectType of the entities to return
+
+ An enumerable list of objects
+
+
+
+ Gets a collection of all of a given type.
+
+ UmbracoObjectType of the entities to return
+
+ An enumerable list of objects
+
+
+
+ Gets a collection of
+
+ Guid id of the UmbracoObjectType
+
+ An enumerable list of objects
+
+
+
+ Gets the UmbracoObjectType from the integer id of an IUmbracoEntity.
+
+ Id of the entity
+
+
+
+
+ Gets the UmbracoObjectType from an IUmbracoEntity.
+
+
+
+
+
+
+ Gets the Type of an entity by its Id
+
+ Id of the entity
+ Type of the entity
+
+
+
+ Gets the Type of an entity by its
+
+
+ Type of the entity
+
+
+
+ Returns the integer id for a given GUID
+
+
+
+
+
+
+
+ Returns the GUID for a given integer id
+
+
+
+
+
+
+
+ Gets an UmbracoEntity by its Id, and optionally loads the complete object graph.
+
+
+ By default this will load the base type with a minimum set of properties.
+
+ Id of the object to retrieve
+ Optional bool to load the complete object graph when set to False.
+ An
+
+
+
+ Gets an UmbracoEntity by its Id and UmbracoObjectType, and optionally loads the complete object graph.
+
+
+ By default this will load the base type with a minimum set of properties.
+
+ Id of the object to retrieve
+ UmbracoObjectType of the entity to retrieve
+ Optional bool to load the complete object graph when set to False.
+ An
+
+
+
+ Gets an UmbracoEntity by its Id and specified Type. Optionally loads the complete object graph.
+
+
+ By default this will load the base type with a minimum set of properties.
+
+ Type of the model to retrieve. Must be based on an
+ Id of the object to retrieve
+ Optional bool to load the complete object graph when set to False.
+ An
+
+
+
+ Gets the parent of entity by its id
+
+ Id of the entity to retrieve the Parent for
+ An
+
+
+
+ Gets the parent of entity by its id and UmbracoObjectType
+
+ Id of the entity to retrieve the Parent for
+ UmbracoObjectType of the parent to retrieve
+ An
+
+
+
+ Gets a collection of children by the parents Id
+
+ Id of the parent to retrieve children for
+ An enumerable list of objects
+
+
+
+ Gets a collection of children by the parents Id and UmbracoObjectType
+
+ Id of the parent to retrieve children for
+ UmbracoObjectType of the children to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a collection of descendents by the parents Id
+
+ Id of entity to retrieve descendents for
+ An enumerable list of objects
+
+
+
+ Gets a collection of descendents by the parents Id
+
+ Id of entity to retrieve descendents for
+ UmbracoObjectType of the descendents to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a collection of the entities at the root, which corresponds to the entities with a Parent Id of -1.
+
+ UmbracoObjectType of the root entities to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a collection of all of a given type.
+
+ Type of the entities to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a collection of all of a given type.
+
+ UmbracoObjectType of the entities to return
+
+ An enumerable list of objects
+
+
+
+ Gets a collection of
+
+ Guid id of the UmbracoObjectType
+
+ An enumerable list of objects
+
+
+
+ Gets the UmbracoObjectType from the integer id of an IUmbracoEntity.
+
+ Id of the entity
+
+
+
+
+ Gets the UmbracoObjectType from the integer id of an IUmbracoEntity.
+
+ Unique Id of the entity
+
+
+
+
+ Gets the UmbracoObjectType from an IUmbracoEntity.
+
+
+
+
+
+
+ Gets the Type of an entity by its Id
+
+ Id of the entity
+ Type of the entity
+
+
+
+ Gets the Type of an entity by its
+
+
+ Type of the entity
+
+
+
+ A helper class to serialize entities to XML
+
+
+
+
+ Exports an item to xml as an
+
+
+
+
+ Content to export
+ Optional parameter indicating whether to include descendents
+ containing the xml representation of the Content object
+
+
+
+ Exports an item to xml as an
+
+
+
+
+ Media to export
+ Optional parameter indicating whether to include descendents
+ containing the xml representation of the Media object
+
+
+
+ Exports an item to xml as an
+
+
+ Member to export
+ containing the xml representation of the Member object
+
+
+
+ Exports an item to xml as an
+
+
+ IDataTypeDefinition type to export
+ containing the xml representation of the IDataTypeDefinition object
+
+
+
+ Exports an item to xml as an
+
+
+ Content type to export
+ containing the xml representation of the IContentType object
+
+
+
+ Used by Media Export to recursively add children
+
+
+
+
+
+
+
+
+
+
+ Part of the export of IContent and IMedia and IMember which is shared
+
+
+ Base Content or Media to export
+ Name of the node
+
+
+
+
+ Used by Content Export to recursively add children
+
+
+
+
+
+
+
+
+
+
+ Represents the File Service, which is an easy access to operations involving objects like Scripts, Stylesheets and Templates
+
+
+
+
+ Defines the File Service, which is an easy access to operations involving objects like Scripts, Stylesheets and Templates
+
+
+
+
+ Gets a list of all objects
+
+ An enumerable list of objects
+
+
+
+ Gets a object by its name
+
+ Name of the stylesheet incl. extension
+ A object
+
+
+
+ Saves a
+
+ to save
+ Optional id of the user saving the stylesheet
+
+
+
+ Deletes a stylesheet by its name
+
+ Name incl. extension of the Stylesheet to delete
+ Optional id of the user deleting the stylesheet
+
+
+
+ Validates a
+
+ to validate
+ True if Stylesheet is valid, otherwise false
+
+
+
+ Gets a list of all objects
+
+ An enumerable list of objects
+
+
+
+ Gets a object by its name
+
+ Name of the script incl. extension
+ A object
+
+
+
+ Saves a
+
+ to save
+ Optional id of the user saving the script
+
+
+
+ Deletes a script by its name
+
+ Name incl. extension of the Script to delete
+ Optional id of the user deleting the script
+
+
+
+ Validates a
+
+ to validate
+ True if Script is valid, otherwise false
+
+
+
+ Creates a folder for scripts
+
+
+
+
+
+
+ Deletes a folder for scripts
+
+
+
+
+
+ Gets a list of all objects
+
+ An enumerable list of objects
+
+
+
+ Gets a list of all objects
+
+ An enumerable list of objects
+
+
+
+ Gets a object by its alias
+
+ Alias of the template
+ A object
+
+
+
+ Gets a object by its alias
+
+ Id of the template
+ A object
+
+
+
+ Gets the template descendants
+
+
+
+
+
+
+ Gets the template descendants
+
+
+
+
+
+
+ Gets the template children
+
+
+
+
+
+
+ Gets the template children
+
+
+
+
+
+
+ Returns a template as a template node which can be traversed (parent, children)
+
+
+
+
+
+
+ Given a template node in a tree, this will find the template node with the given alias if it is found in the hierarchy, otherwise null
+
+
+
+
+
+
+
+ Saves a
+
+ to save
+ Optional id of the user saving the template
+
+
+
+ Deletes a template by its alias
+
+ Alias of the to delete
+ Optional id of the user deleting the template
+
+
+
+ Validates a
+
+ to validate
+ True if Script is valid, otherwise false
+
+
+
+ Saves a collection of objects
+
+ List of to save
+ Optional id of the user
+
+
+
+ This checks what the default rendering engine is set in config but then also ensures that there isn't already
+ a template that exists in the opposite rendering engine's template folder, then returns the appropriate
+ rendering engine to use.
+
+
+
+ The reason this is required is because for example, if you have a master page file already existing under ~/masterpages/Blah.aspx
+ and then you go to create a template in the tree called Blah and the default rendering engine is MVC, it will create a Blah.cshtml
+ empty template in ~/Views. This means every page that is using Blah will go to MVC and render an empty page.
+ This is mostly related to installing packages since packages install file templates to the file system and then create the
+ templates in business logic. Without this, it could cause the wrong rendering engine to be used for a package.
+
+
+
+
+ Gets a list of all objects
+
+ An enumerable list of objects
+
+
+
+ Gets a object by its name
+
+ Name of the stylesheet incl. extension
+ A object
+
+
+
+ Saves a
+
+ to save
+
+
+
+
+ Deletes a stylesheet by its name
+
+ Name incl. extension of the Stylesheet to delete
+
+
+
+
+ Validates a
+
+ to validate
+ True if Stylesheet is valid, otherwise false
+
+
+
+ Gets a list of all objects
+
+ An enumerable list of objects
+
+
+
+ Gets a object by its name
+
+ Name of the script incl. extension
+ A object
+
+
+
+ Saves a
+
+ to save
+
+
+
+
+ Deletes a script by its name
+
+ Name incl. extension of the Script to delete
+
+
+
+
+ Validates a
+
+ to validate
+ True if Script is valid, otherwise false
+
+
+
+ Gets a list of all objects
+
+ An enumerable list of objects
+
+
+
+ Gets a list of all objects
+
+ An enumerable list of objects
+
+
+
+ Gets a object by its alias
+
+ Alias of the template
+ A object
+
+
+
+ Gets a object by its alias
+
+ Id of the template
+ A object
+
+
+
+ Gets the template descendants
+
+
+
+
+
+
+ Gets the template children
+
+
+
+
+
+
+ Gets the template children
+
+
+
+
+
+
+ Returns a template as a template node which can be traversed (parent, children)
+
+
+
+
+
+
+ Given a template node in a tree, this will find the template node with the given alias if it is found in the hierarchy, otherwise null
+
+
+
+
+
+
+
+ Saves a
+
+ to save
+
+
+
+
+ Saves a collection of objects
+
+ List of to save
+ Optional id of the user
+
+
+
+ This checks what the default rendering engine is set in config but then also ensures that there isn't already
+ a template that exists in the opposite rendering engine's template folder, then returns the appropriate
+ rendering engine to use.
+
+
+
+ The reason this is required is because for example, if you have a master page file already existing under ~/masterpages/Blah.aspx
+ and then you go to create a template in the tree called Blah and the default rendering engine is MVC, it will create a Blah.cshtml
+ empty template in ~/Views. This means every page that is using Blah will go to MVC and render an empty page.
+ This is mostly related to installing packages since packages install file templates to the file system and then create the
+ templates in business logic. Without this, it could cause the wrong rendering engine to be used for a package.
+
+
+
+
+ Deletes a template by its alias
+
+ Alias of the to delete
+
+
+
+
+ Validates a
+
+ to validate
+ True if Script is valid, otherwise false
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Create
+
+
+
+
+ Occurs after Create
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Initializes the service with any trees found in plugins
+
+
+ A collection of all available tree found in assemblies in the application
+
+
+ This will update the trees.config with the found tree plugins that are not currently listed in the file when the first
+ access is made to resolve the tree collection
+
+
+
+
+ Creates a new application tree.
+
+ if set to true [initialize].
+ The sort order.
+ The application alias.
+ The alias.
+ The title.
+ The icon closed.
+ The icon opened.
+ The type.
+
+
+
+ Saves this instance.
+
+
+
+
+ Deletes this instance.
+
+
+
+
+ Gets an ApplicationTree by it's tree alias.
+
+ The tree alias.
+ An ApplicationTree instance
+
+
+
+ Gets all applicationTrees registered in umbraco from the umbracoAppTree table..
+
+ Returns a ApplicationTree Array
+
+
+
+ Gets the application tree for the applcation with the specified alias
+
+ The application alias.
+ Returns a ApplicationTree Array
+
+
+
+ Gets the application tree for the applcation with the specified alias
+
+ The application alias.
+
+ Returns a ApplicationTree Array
+
+
+
+ Defines the Localization Service, which is an easy access to operations involving Languages and Dictionary
+
+
+
+
+ Adds or updates a translation for a dictionary item and language
+
+
+
+
+
+
+
+
+ Creates and saves a new dictionary item and assigns a value to all languages if defaultValue is specified.
+
+
+
+
+
+
+
+
+ Gets a by its id
+
+ Id of the
+
+
+
+
+ Gets a by its id
+
+ Id of the
+
+
+
+
+ Gets a by its key
+
+ Key of the
+
+
+
+
+ Gets a list of children for a
+
+ Id of the parent
+ An enumerable list of objects
+
+
+
+ Gets a list of descendants for a
+
+ Id of the parent, null will return all dictionary items
+ An enumerable list of objects
+
+
+
+ Gets the root/top objects
+
+ An enumerable list of objects
+
+
+
+ Checks if a with given key exists
+
+ Key of the
+ True if a exists, otherwise false
+
+
+
+ Saves a object
+
+ to save
+ Optional id of the user saving the dictionary item
+
+
+
+ Deletes a object and its related translations
+ as well as its children.
+
+ to delete
+ Optional id of the user deleting the dictionary item
+
+
+
+ Gets a by its id
+
+ Id of the
+
+
+
+
+ Gets a by its culture code
+
+ Culture Code - also refered to as the Friendly name
+
+
+
+
+ Gets a by its iso code
+
+ Iso Code of the language (ie. en-US)
+
+
+
+
+ Gets all available languages
+
+ An enumerable list of objects
+
+
+
+ Saves a object
+
+ to save
+ Optional id of the user saving the language
+
+
+
+ Deletes a by removing it and its usages from the db
+
+ to delete
+ Optional id of the user deleting the language
+
+
+
+ Defines the MacroService, which is an easy access to operations involving
+
+
+
+
+ Gets an object by its alias
+
+ Alias to retrieve an for
+ An object
+
+
+
+ Deletes an
+
+ to delete
+ Optional id of the user deleting the macro
+
+
+
+ Saves an
+
+ to save
+ Optional id of the user saving the macro
+
+
+
+ A temporary interface until we are in v8, this is used to return a different result for the same method and this interface gets implemented
+ explicitly. These methods will replace the normal ones in IContentService in v8 and this will be removed.
+
+
+
+
+ Deletes an object by moving it to the Recycle Bin
+
+ The to delete
+ Id of the User deleting the Media
+
+
+
+ Permanently deletes an object
+
+
+ Please note that this method will completely remove the Media from the database,
+ but current not from the file system.
+
+ The to delete
+ Id of the User deleting the Media
+
+
+
+ Saves a single object
+
+ The to save
+ Id of the User saving the Media
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Saves a collection of objects
+
+ Collection of to save
+ Id of the User saving the Media
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Defines the Media Service, which is an easy access to operations involving
+
+
+
+
+ Rebuilds all xml content in the cmsContentXml table for all media
+
+
+ Only rebuild the xml structures for the content type ids passed in, if none then rebuilds the structures
+ for all media
+
+
+
+
+ Creates an object using the alias of the
+ that this Media should based on.
+
+
+ Note that using this method will simply return a new IMedia without any identity
+ as it has not yet been persisted. It is intended as a shortcut to creating new media objects
+ that does not invoke a save operation against the database.
+
+ Name of the Media object
+ Id of Parent for the new Media item
+ Alias of the
+ Optional id of the user creating the media item
+
+
+
+
+ Creates an object using the alias of the
+ that this Media should based on.
+
+
+ Note that using this method will simply return a new IMedia without any identity
+ as it has not yet been persisted. It is intended as a shortcut to creating new media objects
+ that does not invoke a save operation against the database.
+
+ Name of the Media object
+ Parent for the new Media item
+ Alias of the
+ Optional id of the user creating the media item
+
+
+
+
+ Gets an object by Id
+
+ Id of the Content to retrieve
+
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Children from
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Children from
+ Page number
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Descendants from
+ Page number
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Gets descendants of a object by its Id
+
+ Id of the Parent to retrieve descendants from
+ An Enumerable flat list of objects
+
+
+
+ Gets a collection of objects by the Id of the
+
+ Id of the
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which reside at the first level / root
+
+ An Enumerable list of objects
+
+
+
+ Gets a collection of an objects, which resides in the Recycle Bin
+
+ An Enumerable list of objects
+
+
+
+ Moves an object to a new location
+
+ The to move
+ Id of the Media's new Parent
+ Id of the User moving the Media
+
+
+
+ Deletes an object by moving it to the Recycle Bin
+
+ The to delete
+ Id of the User deleting the Media
+
+
+
+ Empties the Recycle Bin by deleting all that resides in the bin
+
+
+
+
+ Deletes all media of specified type. All children of deleted media is moved to Recycle Bin.
+
+ This needs extra care and attention as its potentially a dangerous and extensive operation
+ Id of the
+ Optional Id of the user deleting Media
+
+
+
+ Permanently deletes an object
+
+
+ Please note that this method will completely remove the Media from the database,
+ but current not from the file system.
+
+ The to delete
+ Id of the User deleting the Media
+
+
+
+ Saves a single object
+
+ The to save
+ Id of the User saving the Media
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Saves a collection of objects
+
+ Collection of to save
+ Id of the User saving the Media
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Gets an object by its 'UniqueId'
+
+ Guid key of the Media to retrieve
+
+
+
+
+ Gets a collection of objects by Level
+
+ The level to retrieve Media from
+ An Enumerable list of objects
+
+
+
+ Gets a specific version of an item.
+
+ Id of the version to retrieve
+ An item
+
+
+
+ Gets a collection of an objects versions by Id
+
+
+ An Enumerable list of objects
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the media has any children otherwise False
+
+
+
+ Permanently deletes versions from an object prior to a specific date.
+
+ Id of the object to delete versions from
+ Latest version date
+ Optional Id of the User deleting versions of a Content object
+
+
+
+ Permanently deletes specific version(s) from an object.
+
+ Id of the object to delete a version from
+ Id of the version to delete
+ Boolean indicating whether to delete versions prior to the versionId
+ Optional Id of the User deleting versions of a Content object
+
+
+
+ Gets an object from the path stored in the 'umbracoFile' property.
+
+ Path of the media item to retrieve (for example: /media/1024/koala_403x328.jpg)
+
+
+
+
+ Gets a collection of objects, which are ancestors of the current media.
+
+ Id of the to retrieve ancestors for
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which are ancestors of the current media.
+
+ to retrieve ancestors for
+ An Enumerable list of objects
+
+
+
+ Gets descendants of a object by its Id
+
+ The Parent object to retrieve descendants from
+ An Enumerable flat list of objects
+
+
+
+ Gets the parent of the current media as an item.
+
+ Id of the to retrieve the parent from
+ Parent object
+
+
+
+ Gets the parent of the current media as an item.
+
+ to retrieve the parent from
+ Parent object
+
+
+
+ Sorts a collection of objects by updating the SortOrder according
+ to the ordering of items in the passed in .
+
+
+
+
+ True if sorting succeeded, otherwise False
+
+
+
+ Creates an object using the alias of the
+ that this Media should based on.
+
+
+ This method returns an object that has been persisted to the database
+ and therefor has an identity.
+
+ Name of the Media object
+ Parent for the new Media item
+ Alias of the
+ Optional id of the user creating the media item
+
+
+
+
+ Creates an object using the alias of the
+ that this Media should based on.
+
+
+ This method returns an object that has been persisted to the database
+ and therefor has an identity.
+
+ Name of the Media object
+ Id of Parent for the new Media item
+ Alias of the
+ Optional id of the user creating the media item
+
+
+
+
+ Defines the MemberService, which is an easy access to operations involving (umbraco) members.
+
+
+
+
+ Defines part of the MemberService, which is specific to methods used by the membership provider.
+
+
+ Idea is to have this is an isolated interface so that it can be easily 'replaced' in the membership provider impl.
+
+
+
+
+ Defines part of the UserService/MemberService, which is specific to methods used by the membership provider.
+ The generic type is restricted to . The implementation of this interface uses
+ either for the MemberService or for the UserService.
+
+
+ Idea is to have this is an isolated interface so that it can be easily 'replaced' in the membership provider impl.
+
+
+
+
+ Gets the total number of Members or Users based on the count type
+
+
+ The way the Online count is done is the same way that it is done in the MS SqlMembershipProvider - We query for any members
+ that have their last active date within the Membership.UserIsOnlineTimeWindow (which is in minutes). It isn't exact science
+ but that is how MS have made theirs so we'll follow that principal.
+
+ to count by
+ with number of Members or Users for passed in type
+
+
+
+ Gets the default MemberType alias
+
+ By default we'll return the 'writer', but we need to check it exists. If it doesn't we'll
+ return the first type that is not an admin, otherwise if there's only one we will return that one.
+ Alias of the default MemberType
+
+
+
+ Checks if a Member with the username exists
+
+ Username to check
+ True if the Member exists otherwise False
+
+
+
+ Creates and persists a new
+
+ An can be of type or
+ Username of the to create
+ Email of the to create
+ This value should be the encoded/encrypted/hashed value for the password that will be stored in the database
+ Alias of the Type
+
+
+
+
+ Gets an by its provider key
+
+ An can be of type or
+ Id to use for retrieval
+
+
+
+
+ Get an by email
+
+ An can be of type or
+ Email to use for retrieval
+
+
+
+
+ Get an by username
+
+ An can be of type or
+ Username to use for retrieval
+
+
+
+
+ Deletes an
+
+ An can be of type or
+ or to Delete
+
+
+
+ Saves an
+
+ An can be of type or
+ or to Save
+ Optional parameter to raise events.
+ Default is True otherwise set to False to not raise events
+
+
+
+ Saves a list of objects
+
+ An can be of type or
+ to save
+ Optional parameter to raise events.
+ Default is True otherwise set to False to not raise events
+
+
+
+ Finds a list of objects by a partial email string
+
+ An can be of type or
+ Partial email string to match
+ Current page index
+ Size of the page
+ Total number of records found (out)
+ The type of match to make as . Default is
+
+
+
+
+ Finds a list of objects by a partial username
+
+ An can be of type or
+ Partial username to match
+ Current page index
+ Size of the page
+ Total number of records found (out)
+ The type of match to make as . Default is
+
+
+
+
+ Gets a list of paged objects
+
+ An can be of type or
+ Current page index
+ Size of the page
+ Total number of records found (out)
+
+
+
+
+ Creates and persists a new Member
+
+ Username of the Member to create
+ Email of the Member to create
+ which the Member should be based on
+
+
+
+
+ Rebuilds all xml content in the cmsContentXml table for all documents
+
+
+ Only rebuild the xml structures for the content type ids passed in, if none then rebuilds the structures
+ for all content
+
+
+
+
+ Gets a list of paged objects
+
+ An can be of type
+ Current page index
+ Size of the page
+ Total number of records found (out)
+
+
+
+
+
+
+
+
+ Creates an object without persisting it
+
+ This method is convenient for when you need to add properties to a new Member
+ before persisting it in order to limit the amount of times its saved.
+ Also note that the returned will not have an Id until its saved.
+ Username of the Member to create
+ Email of the Member to create
+ Name of the Member to create
+ Alias of the MemberType the Member should be based on
+
+
+
+
+ Creates an object without persisting it
+
+ This method is convenient for when you need to add properties to a new Member
+ before persisting it in order to limit the amount of times its saved.
+ Also note that the returned will not have an Id until its saved.
+ Username of the Member to create
+ Email of the Member to create
+ Name of the Member to create
+ MemberType the Member should be based on
+
+
+
+
+ Creates and persists a Member
+
+ Using this method will persist the Member object before its returned
+ meaning that it will have an Id available (unlike the CreateMember method)
+ Username of the Member to create
+ Email of the Member to create
+ Name of the Member to create
+ Alias of the MemberType the Member should be based on
+
+
+
+
+ Creates and persists a Member
+
+ Using this method will persist the Member object before its returned
+ meaning that it will have an Id available (unlike the CreateMember method)
+ Username of the Member to create
+ Email of the Member to create
+ Name of the Member to create
+ MemberType the Member should be based on
+
+
+
+
+ This is simply a helper method which essentially just wraps the MembershipProvider's ChangePassword method
+
+ This method exists so that Umbraco developers can use one entry point to create/update
+ Members if they choose to.
+ The Member to save the password for
+ The password to encrypt and save
+
+
+
+ Gets the count of Members by an optional MemberType alias
+
+ If no alias is supplied then the count for all Member will be returned
+ Optional alias for the MemberType when counting number of Members
+ with number of Members
+
+
+
+ Checks if a Member with the id exists
+
+ Id of the Member
+ True if the Member exists otherwise False
+
+
+
+ Gets a Member by the unique key
+
+ The guid key corresponds to the unique id in the database
+ and the user id in the membership provider.
+ Id
+
+
+
+
+ Gets a Member by its integer id
+
+ Id
+
+
+
+
+ Gets all Members for the specified MemberType alias
+
+ Alias of the MemberType
+
+
+
+
+ Gets all Members for the MemberType id
+
+ Id of the MemberType
+
+
+
+
+ Gets all Members within the specified MemberGroup name
+
+ Name of the MemberGroup
+
+
+
+
+ Gets all Members with the ids specified
+
+ If no Ids are specified all Members will be retrieved
+ Optional list of Member Ids
+
+
+
+
+ Delete Members of the specified MemberType id
+
+ Id of the MemberType
+
+
+
+ Finds Members based on their display name
+
+ Display name to match
+ Current page index
+ Size of the page
+ Total number of records found (out)
+ The type of match to make as . Default is
+
+
+
+
+ Gets a list of Members based on a property search
+
+ Alias of the PropertyType to search for
+ Value to match
+ The type of match to make as . Default is
+
+
+
+
+ Gets a list of Members based on a property search
+
+ Alias of the PropertyType to search for
+ Value to match
+ The type of match to make as . Default is
+
+
+
+
+ Gets a list of Members based on a property search
+
+ Alias of the PropertyType to search for
+ Value to match
+
+
+
+
+ Gets a list of Members based on a property search
+
+ Alias of the PropertyType to search for
+ Value to match
+ The type of match to make as . Default is
+
+
+
+
+ Defines part of the UserService, which is specific to methods used by the membership provider.
+
+
+ Idea is to have this is an isolated interface so that it can be easily 'replaced' in the membership provider impl.
+
+
+
+
+ Creates and persists a new User
+
+ The user will be saved in the database and returned with an Id.
+ This method is convenient when you need to perform operations, which needs the
+ Id of the user once its been created.
+ Username of the User to create
+ Email of the User to create
+ which the User should be based on
+
+
+
+
+ Gets a list of all available objects
+
+ Optional list of ids
+ An Enumerable list of objects
+
+
+
+ Gets an object by its Id
+
+ Id of the to retrieve
+
+
+
+
+ Gets an object by its Key
+
+ Key of the to retrieve
+
+
+
+
+ Gets an object by its Alias
+
+ Alias of the to retrieve
+
+
+
+
+ Saves a single object
+
+ to save
+ Optional Id of the User saving the ContentType
+
+
+
+ Saves a collection of objects
+
+ Collection of to save
+ Optional Id of the User saving the ContentTypes
+
+
+
+ Deletes a single object
+
+ to delete
+ Deleting a will delete all the objects based on this
+ Optional Id of the User deleting the ContentType
+
+
+
+ Deletes a collection of objects
+
+ Collection of to delete
+ Deleting a will delete all the objects based on this
+ Optional Id of the User deleting the ContentTypes
+
+
+
+ Sends the notifications for the specified user regarding the specified node and action.
+
+
+
+
+
+
+
+
+
+
+
+ Gets the notifications for the user
+
+
+
+
+
+
+ Gets the notifications for the user based on the specified node path
+
+
+
+
+
+ Notifications are inherited from the parent so any child node will also have notifications assigned based on it's parent (ancestors)
+
+
+
+
+ Returns the notifications for an entity
+
+
+
+
+
+
+ Deletes notifications by entity
+
+
+
+
+
+ Deletes notifications by user
+
+
+
+
+
+ Delete notifications by user and entity
+
+
+
+
+
+
+ Creates a new notification
+
+
+
+ The action letter - note: this is a string for future compatibility
+
+
+
+
+ Gets a by its Id
+
+ Id of the
+ A object
+
+
+
+ Gets a by its Id
+
+ Id of the
+ A object
+
+
+
+ Gets a by its Alias
+
+ Alias of the
+ A object
+
+
+
+ Gets all objects
+
+ Optional array of integer ids to return relations for
+ An enumerable list of objects
+
+
+
+ Gets all objects by their
+
+ to retrieve Relations for
+ An enumerable list of objects
+
+
+
+ Gets all objects by their 's Id
+
+ Id of the to retrieve Relations for
+ An enumerable list of objects
+
+
+
+ Gets all objects
+
+ Optional array of integer ids to return relationtypes for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their parent Id
+
+ Id of the parent to retrieve relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their parent entity
+
+ Parent Entity to retrieve relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their parent entity
+
+ Parent Entity to retrieve relations for
+ Alias of the type of relation to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their child Id
+
+ Id of the child to retrieve relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their child Entity
+
+ Child Entity to retrieve relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their child Entity
+
+ Child Entity to retrieve relations for
+ Alias of the type of relation to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their child or parent Id.
+ Using this method will get you all relations regards of it being a child or parent relation.
+
+ Id of the child or parent to retrieve relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by the Name of the
+
+ Name of the to retrieve Relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by the Alias of the
+
+ Alias of the to retrieve Relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by the Id of the
+
+ Id of the to retrieve Relations for
+ An enumerable list of objects
+
+
+
+ Gets the Child object from a Relation as an
+
+ Relation to retrieve child object from
+ Optional bool to load the complete object graph when set to False
+ An
+
+
+
+ Gets the Parent object from a Relation as an
+
+ Relation to retrieve parent object from
+ Optional bool to load the complete object graph when set to False
+ An
+
+
+
+ Gets the Parent and Child objects from a Relation as a "/> with .
+
+ Relation to retrieve parent and child object from
+ Optional bool to load the complete object graph when set to False
+ Returns a Tuple with Parent (item1) and Child (item2)
+
+
+
+ Gets the Child objects from a list of Relations as a list of objects.
+
+ List of relations to retrieve child objects from
+ Optional bool to load the complete object graph when set to False
+ An enumerable list of
+
+
+
+ Gets the Parent objects from a list of Relations as a list of objects.
+
+ List of relations to retrieve parent objects from
+ Optional bool to load the complete object graph when set to False
+ An enumerable list of
+
+
+
+ Gets the Parent and Child objects from a list of Relations as a list of objects.
+
+ List of relations to retrieve parent and child objects from
+ Optional bool to load the complete object graph when set to False
+ An enumerable list of with
+
+
+
+ Relates two objects that are based on the interface.
+
+ Parent entity
+ Child entity
+ The type of relation to create
+ The created
+
+
+
+ Relates two objects that are based on the interface.
+
+ Parent entity
+ Child entity
+ Alias of the type of relation to create
+ The created
+
+
+
+ Checks whether any relations exists for the passed in .
+
+ to check for relations
+ Returns True if any relations exists for the given , otherwise False
+
+
+
+ Checks whether any relations exists for the passed in Id.
+
+ Id of an object to check relations for
+ Returns True if any relations exists with the given Id, otherwise False
+
+
+
+ Checks whether two items are related
+
+ Id of the Parent relation
+ Id of the Child relation
+ Returns True if any relations exists with the given Ids, otherwise False
+
+
+
+ Checks whether two items are related
+
+ Parent entity
+ Child entity
+ Returns True if any relations exist between the entities, otherwise False
+
+
+
+ Checks whether two items are related
+
+ Parent entity
+ Child entity
+ Alias of the type of relation to create
+ Returns True if any relations exist between the entities, otherwise False
+
+
+
+ Checks whether two items are related
+
+ Id of the Parent relation
+ Id of the Child relation
+ Alias of the type of relation to create
+ Returns True if any relations exist between the entities, otherwise False
+
+
+
+ Saves a
+
+ Relation to save
+
+
+
+ Saves a
+
+ RelationType to Save
+
+
+
+ Deletes a
+
+ Relation to Delete
+
+
+
+ Deletes a
+
+ RelationType to Delete
+
+
+
+ Deletes all objects based on the passed in
+
+ to Delete Relations for
+
+
+
+ Initializes the service with all available application plugins
+
+
+ All application plugins found in assemblies
+
+
+ This is used to populate the app.config file with any applications declared in plugins that don't exist in the file
+
+
+
+
+ The cache storage for all applications
+
+
+
+
+ Get the user's allowed sections
+
+
+
+
+
+
+ Gets the application by its alias.
+
+ The application alias.
+
+
+
+
+ Creates a new applcation if no application with the specified alias is found.
+
+ The application name.
+ The application alias.
+ The application icon, which has to be located in umbraco/images/tray folder.
+
+
+
+ Makes the new.
+
+ The name.
+ The alias.
+ The icon.
+ The sort order.
+
+
+
+ Deletes the section
+
+
+
+
+ Imports and saves package xml as
+
+ Xml to import
+ Optional parent Id for the content being imported
+ Optional Id of the user performing the import
+ Optional parameter indicating whether or not to raise events
+ An enumrable list of generated content
+
+
+
+ Imports and saves package xml as
+
+ Xml to import
+ Optional id of the User performing the operation. Default is zero (admin)
+ Optional parameter indicating whether or not to raise events
+ An enumrable list of generated ContentTypes
+
+
+
+ Imports and saves package xml as
+
+ Xml to import
+ Boolean indicating whether or not to import the
+ Optional id of the User performing the operation. Default is zero (admin)
+ Optional parameter indicating whether or not to raise events
+ An enumrable list of generated ContentTypes
+
+
+
+ Imports and saves package xml as
+
+ Xml to import
+ Optional id of the User performing the operation. Default is zero (admin).
+ Optional parameter indicating whether or not to raise events
+ An enumrable list of generated DataTypeDefinitions
+
+
+
+ Imports and saves the 'DictionaryItems' part of the package xml as a list of
+
+ Xml to import
+ Optional parameter indicating whether or not to raise events
+ An enumerable list of dictionary items
+
+
+
+ Imports and saves the 'Languages' part of a package xml as a list of
+
+ Xml to import
+ Optional id of the User performing the operation. Default is zero (admin)
+ Optional parameter indicating whether or not to raise events
+ An enumerable list of generated languages
+
+
+
+ Imports and saves the 'Macros' part of a package xml as a list of
+
+ Xml to import
+ Optional id of the User performing the operation
+ Optional parameter indicating whether or not to raise events
+
+
+
+
+ Imports and saves package xml as
+
+ Xml to import
+ Optional id of the User performing the operation. Default is zero (admin)
+ Optional parameter indicating whether or not to raise events
+ An enumrable list of generated Templates
+
+
+
+ Exports an to xml as an
+
+ ContentType to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the ContentType item
+
+
+
+ Exports an item to xml as an
+
+ Content to export
+ Optional parameter indicating whether to include descendents
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the Content object
+
+
+
+ Exports an item to xml as an
+
+ Media to export
+ Optional parameter indicating whether to include descendents
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the Media object
+
+
+
+ Exports a list of items to xml as an
+
+ List of Languages to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the Language object
+
+
+
+ Exports a single item to xml as an
+
+ Language to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the Language object
+
+
+
+ Exports a list of items to xml as an
+
+ List of dictionary items to export
+ Optional boolean indicating whether or not to include children
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IDictionaryItem objects
+
+
+
+ Exports a single item to xml as an
+
+ Dictionary Item to export
+ Optional boolean indicating whether or not to include children
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IDictionaryItem object
+
+
+
+ Exports a list of Data Types
+
+ List of data types to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IDataTypeDefinition objects
+
+
+
+ Exports a single Data Type
+
+ Data type to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IDataTypeDefinition object
+
+
+
+ Exports a list of items to xml as an
+
+ List of Templates to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the ITemplate objects
+
+
+
+ Exports a single item to xml as an
+
+ Template to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the ITemplate object
+
+
+
+ Exports a list of items to xml as an
+
+ Macros to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IMacro objects
+
+
+
+ Exports a single item to xml as an
+
+ Macro to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IMacro object
+
+
+
+
+ Gets tagged Content by a specific 'Tag Group'.
+
+ The contains the Id and Tags of the Content, not the actual Content item.
+ Name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets tagged Content by a specific 'Tag' and optional 'Tag Group'.
+
+ The contains the Id and Tags of the Content, not the actual Content item.
+ Tag
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets tagged Media by a specific 'Tag Group'.
+
+ The contains the Id and Tags of the Media, not the actual Media item.
+ Name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets tagged Media by a specific 'Tag' and optional 'Tag Group'.
+
+ The contains the Id and Tags of the Media, not the actual Media item.
+ Tag
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets tagged Members by a specific 'Tag Group'.
+
+ The contains the Id and Tags of the Member, not the actual Member item.
+ Name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets tagged Members by a specific 'Tag' and optional 'Tag Group'.
+
+ The contains the Id and Tags of the Member, not the actual Member item.
+ Tag
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets every tag stored in the database
+
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags for content items
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags for media items
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags for member items
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags attached to a property by entity id
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ The content item id to get tags for
+ Property type alias
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags attached to an entity (content, media or member) by entity id
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ The content item id to get tags for
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags attached to a property by entity id
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ The content item id to get tags for
+ Property type alias
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags attached to an entity (content, media or member) by entity id
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ The content item id to get tags for
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Defines the UserService, which is an easy access to operations involving and eventually Users.
+
+
+
+
+ This is simply a helper method which essentially just wraps the MembershipProvider's ChangePassword method
+
+
+ This method exists so that Umbraco developers can use one entry point to create/update users if they choose to.
+
+ The user to save the password for
+ The password to save
+
+
+
+ Deletes or disables a User
+
+ to delete
+ True to permanently delete the user, False to disable the user
+
+
+
+ Gets an IProfile by User Id.
+
+ Id of the User to retrieve
+
+
+
+
+ Gets a profile by username
+
+ Username
+
+
+
+
+ Gets a user by Id
+
+ Id of the user to retrieve
+
+
+
+
+ Removes a specific section from all users
+
+ This is useful when an entire section is removed from config
+ Alias of the section to remove
+
+
+
+ Add a specific section to all users or those specified as parameters
+
+ This is useful when a new section is created to allow specific users accessing it
+ Alias of the section to add
+ Specifiying nothing will add the section to all user
+
+
+
+ Get permissions set for a user and optional node ids
+
+ If no permissions are found for a particular entity then the user's default permissions will be applied
+ User to retrieve permissions for
+ Specifiying nothing will return all user permissions for all nodes
+ An enumerable list of
+
+
+
+ Replaces the same permission set for a single user to any number of entities
+
+ Id of the user
+
+ Permissions as enumerable list of ,
+ if no permissions are specified then all permissions for this node are removed for this user
+
+ Specify the nodes to replace permissions for. If nothing is specified all permissions are removed.
+ If no 'entityIds' are specified all permissions will be removed for the specified user.
+
+
+
+ Assigns the same permission set for a single user to any number of entities
+
+ Id of the user
+
+ Specify the nodes to replace permissions for
+
+
+
+ Gets all UserTypes or thosed specified as parameters
+
+ Optional Ids of UserTypes to retrieve
+ An enumerable list of
+
+
+
+ Gets a UserType by its Alias
+
+ Alias of the UserType to retrieve
+
+
+
+
+ Gets a UserType by its Id
+
+ Id of the UserType to retrieve
+
+
+
+
+ Gets a UserType by its Name
+
+ Name of the UserType to retrieve
+
+
+
+
+ Saves a UserType
+
+ UserType to save
+ Optional parameter to raise events.
+ Default is True otherwise set to False to not raise events
+
+
+
+ Deletes a UserType
+
+ UserType to delete
+
+
+
+ Represents the Localization Service, which is an easy access to operations involving and
+
+
+
+
+ Adds or updates a translation for a dictionary item and language
+
+
+
+
+
+
+ This does not save the item, that needs to be done explicitly
+
+
+
+
+ Creates and saves a new dictionary item and assigns a value to all languages if defaultValue is specified.
+
+
+
+
+
+
+
+
+ Gets a by its id
+
+ Id of the
+
+
+
+
+ Gets a by its id
+
+ Id of the
+
+
+
+
+ Gets a by its key
+
+ Key of the
+
+
+
+
+ Gets a list of children for a
+
+ Id of the parent
+ An enumerable list of objects
+
+
+
+ Gets a list of descendants for a
+
+ Id of the parent, null will return all dictionary items
+ An enumerable list of objects
+
+
+
+ Gets the root/top objects
+
+ An enumerable list of objects
+
+
+
+ Checks if a with given key exists
+
+ Key of the
+ True if a exists, otherwise false
+
+
+
+ Saves a object
+
+ to save
+ Optional id of the user saving the dictionary item
+
+
+
+ Deletes a object and its related translations
+ as well as its children.
+
+ to delete
+ Optional id of the user deleting the dictionary item
+
+
+
+ Gets a by its id
+
+ Id of the
+
+
+
+
+ Gets a by its culture code
+
+ Culture Name - also refered to as the Friendly name
+
+
+
+
+ Gets a by its iso code
+
+ Iso Code of the language (ie. en-US)
+
+
+
+
+ Gets all available languages
+
+ An enumerable list of objects
+
+
+
+ Saves a object
+
+ to save
+ Optional id of the user saving the language
+
+
+
+ Deletes a by removing it (but not its usages) from the db
+
+ to delete
+ Optional id of the user deleting the language
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Extension methods for ILocalizedTextService
+
+
+
+
+ Localize using the current thread culture
+
+
+
+
+
+
+
+
+ Localize using the current thread culture
+
+
+
+
+
+
+
+
+ Localize a key without any variables
+
+
+
+
+
+
+
+
+
+ Convert an array of strings to a dictionary of indicies -> values
+
+
+
+
+
+
+ Exposes the XDocument sources from files for the default localization text service and ensure caching is taken care of
+
+
+
+
+ This is used to configure the file sources with the main file sources shipped with Umbraco and also including supplemental/plugin based
+ localization files. The supplemental files will be loaded in and merged in after the primary files.
+ The supplemental files must be named with the 4 letter culture name with a hyphen such as : en-AU.xml
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ returns all xml sources for all culture files found in the folder
+
+
+
+
+
+ Represents the Macro Service, which is an easy access to operations involving
+
+
+
+
+ Returns an enum based on the properties on the Macro
+
+
+
+
+
+ Gets an object by its alias
+
+ Alias to retrieve an for
+ An object
+
+
+
+ Deletes an
+
+ to delete
+ Optional id of the user deleting the macro
+
+
+
+ Saves an
+
+ to save
+ Optional Id of the user deleting the macro
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Represents the Media Service, which is an easy access to operations involving
+
+
+
+
+ Creates an object using the alias of the
+ that this Media should based on.
+
+
+ Note that using this method will simply return a new IMedia without any identity
+ as it has not yet been persisted. It is intended as a shortcut to creating new media objects
+ that does not invoke a save operation against the database.
+
+ Name of the Media object
+ Id of Parent for the new Media item
+ Alias of the
+ Optional id of the user creating the media item
+
+
+
+
+ Creates an object using the alias of the
+ that this Media should based on.
+
+
+ Note that using this method will simply return a new IMedia without any identity
+ as it has not yet been persisted. It is intended as a shortcut to creating new media objects
+ that does not invoke a save operation against the database.
+
+ Name of the Media object
+ Parent for the new Media item
+ Alias of the
+ Optional id of the user creating the media item
+
+
+
+
+ Creates an object using the alias of the
+ that this Media should based on.
+
+
+ This method returns an object that has been persisted to the database
+ and therefor has an identity.
+
+ Name of the Media object
+ Id of Parent for the new Media item
+ Alias of the
+ Optional id of the user creating the media item
+
+
+
+
+ Creates an object using the alias of the
+ that this Media should based on.
+
+
+ This method returns an object that has been persisted to the database
+ and therefor has an identity.
+
+ Name of the Media object
+ Parent for the new Media item
+ Alias of the
+ Optional id of the user creating the media item
+
+
+
+
+ Gets an object by Id
+
+ Id of the Content to retrieve
+
+
+
+
+ Gets an object by Id
+
+ Ids of the Media to retrieve
+
+
+
+
+ Gets an object by its 'UniqueId'
+
+ Guid key of the Media to retrieve
+
+
+
+
+ Gets a collection of objects by Level
+
+ The level to retrieve Media from
+ An Enumerable list of objects
+
+
+
+ Gets a specific version of an item.
+
+ Id of the version to retrieve
+ An item
+
+
+
+ Gets a collection of an objects versions by Id
+
+
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which are ancestors of the current media.
+
+ Id of the to retrieve ancestors for
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which are ancestors of the current media.
+
+ to retrieve ancestors for
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Children from
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Children from
+ Page index (zero based)
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects by Parent Id
+
+ Id of the Parent to retrieve Descendants from
+ Page number
+ Page size
+ Total records query would return without paging
+ Field to order by
+ Direction to order by
+ Search text filter
+ An Enumerable list of objects
+
+
+
+ Gets descendants of a object by its Id
+
+ Id of the Parent to retrieve descendants from
+ An Enumerable flat list of objects
+
+
+
+ Gets descendants of a object by its Id
+
+ The Parent object to retrieve descendants from
+ An Enumerable flat list of objects
+
+
+
+ Gets the parent of the current media as an item.
+
+ Id of the to retrieve the parent from
+ Parent object
+
+
+
+ Gets the parent of the current media as an item.
+
+ to retrieve the parent from
+ Parent object
+
+
+
+ Gets a collection of objects by the Id of the
+
+ Id of the
+ An Enumerable list of objects
+
+
+
+ Gets a collection of objects, which reside at the first level / root
+
+ An Enumerable list of objects
+
+
+
+ Gets a collection of an objects, which resides in the Recycle Bin
+
+ An Enumerable list of objects
+
+
+
+ Gets an object from the path stored in the 'umbracoFile' property.
+
+ Path of the media item to retrieve (for example: /media/1024/koala_403x328.jpg)
+
+
+
+
+ Checks whether an item has any children
+
+ Id of the
+ True if the media has any children otherwise False
+
+
+
+ Moves an object to a new location
+
+ The to move
+ Id of the Media's new Parent
+ Id of the User moving the Media
+
+
+
+ Deletes an object by moving it to the Recycle Bin
+
+ The to delete
+ Id of the User deleting the Media
+
+
+
+ Permanently deletes an object
+
+
+ Please note that this method will completely remove the Media from the database,
+ but current not from the file system.
+
+ The to delete
+ Id of the User deleting the Media
+
+
+
+ Saves a single object
+
+ The to save
+ Id of the User saving the Media
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Saves a collection of objects
+
+ Collection of to save
+ Id of the User saving the Media
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Empties the Recycle Bin by deleting all that resides in the bin
+
+
+
+
+ Deletes all media of specified type. All children of deleted media is moved to Recycle Bin.
+
+ This needs extra care and attention as its potentially a dangerous and extensive operation
+ Id of the
+ Optional id of the user deleting the media
+
+
+
+ Deletes an object by moving it to the Recycle Bin
+
+ The to delete
+ Id of the User deleting the Media
+
+
+
+ Permanently deletes an object as well as all of its Children.
+
+
+ Please note that this method will completely remove the Media from the database,
+ as well as associated media files from the file system.
+
+ The to delete
+ Id of the User deleting the Media
+
+
+
+ Permanently deletes versions from an object prior to a specific date.
+ This method will never delete the latest version of a content item.
+
+ Id of the object to delete versions from
+ Latest version date
+ Optional Id of the User deleting versions of a Content object
+
+
+
+ Permanently deletes specific version(s) from an object.
+ This method will never delete the latest version of a content item.
+
+ Id of the object to delete a version from
+ Id of the version to delete
+ Boolean indicating whether to delete versions prior to the versionId
+ Optional Id of the User deleting versions of a Content object
+
+
+
+ Saves a single object
+
+ The to save
+ Id of the User saving the Content
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Saves a collection of objects
+
+ Collection of to save
+ Id of the User saving the Content
+ Optional boolean indicating whether or not to raise events.
+
+
+
+ Sorts a collection of objects by updating the SortOrder according
+ to the ordering of items in the passed in .
+
+
+
+
+ True if sorting succeeded, otherwise False
+
+
+
+ Rebuilds all xml content in the cmsContentXml table for all media
+
+
+ Only rebuild the xml structures for the content type ids passed in, if none then rebuilds the structures
+ for all media
+
+
+
+
+ Updates the Path and Level on a collection of objects
+ based on the Parent's Path and Level. Also change the trashed state if relevant.
+
+ Collection of objects to update
+ Path of the Parent media
+ Level of the Parent media
+ Indicates whether the Parent is trashed or not
+ Used to track the objects to be used in the move event
+ Collection of updated objects
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Create
+
+
+
+
+ Occurs after Create
+
+
+ Please note that the Media object has been created, but not saved
+ so it does not have an identity yet (meaning no Id has been set).
+
+
+
+
+ Occurs before Content is moved to Recycle Bin
+
+
+
+
+ Occurs after Content is moved to Recycle Bin
+
+
+
+
+ Occurs before Move
+
+
+
+
+ Occurs after Move
+
+
+
+
+ Occurs before the Recycle Bin is emptied
+
+
+
+
+ Occurs after the Recycle Bin has been Emptied
+
+
+
+
+ The types of members to count
+
+
+
+
+ Occurs before Delete of a member group
+
+
+
+
+ Occurs after Delete of a member group
+
+
+
+
+ Occurs before Save of a member group
+
+
+ We need to proxy these events because the events need to take place at the repo level
+
+
+
+
+ Occurs after Save of a member group
+
+
+ We need to proxy these events because the events need to take place at the repo level
+
+
+
+
+ Represents the MemberService.
+
+
+
+
+ Gets the default MemberType alias
+
+ By default we'll return the 'writer', but we need to check it exists. If it doesn't we'll
+ return the first type that is not an admin, otherwise if there's only one we will return that one.
+ Alias of the default MemberType
+
+
+
+ Checks if a Member with the username exists
+
+ Username to check
+ True if the Member exists otherwise False
+
+
+
+ This is simply a helper method which essentially just wraps the MembershipProvider's ChangePassword method
+
+ This method exists so that Umbraco developers can use one entry point to create/update
+ Members if they choose to.
+ The Member to save the password for
+ The password to encrypt and save
+
+
+
+ Checks if a Member with the id exists
+
+ Id of the Member
+ True if the Member exists otherwise False
+
+
+
+ Gets a Member by its integer id
+
+ Id
+
+
+
+
+ Gets a Member by the unique key
+
+ The guid key corresponds to the unique id in the database
+ and the user id in the membership provider.
+ Id
+
+
+
+
+ Gets all Members for the specified MemberType alias
+
+ Alias of the MemberType
+
+
+
+
+ Gets all Members for the MemberType id
+
+ Id of the MemberType
+
+
+
+
+ Gets all Members within the specified MemberGroup name
+
+ Name of the MemberGroup
+
+
+
+
+ Gets all Members with the ids specified
+
+ If no Ids are specified all Members will be retrieved
+ Optional list of Member Ids
+
+
+
+
+ Delete Members of the specified MemberType id
+
+ Id of the MemberType
+
+
+
+ Finds Members based on their display name
+
+ Display name to match
+ Current page index
+ Size of the page
+ Total number of records found (out)
+ The type of match to make as . Default is
+
+
+
+
+ Finds a list of objects by a partial email string
+
+ Partial email string to match
+ Current page index
+ Size of the page
+ Total number of records found (out)
+ The type of match to make as . Default is
+
+
+
+
+ Finds a list of objects by a partial username
+
+ Partial username to match
+ Current page index
+ Size of the page
+ Total number of records found (out)
+ The type of match to make as . Default is
+
+
+
+
+ Gets a list of Members based on a property search
+
+ Alias of the PropertyType to search for
+ Value to match
+ The type of match to make as . Default is
+
+
+
+
+ Gets a list of Members based on a property search
+
+ Alias of the PropertyType to search for
+ Value to match
+ The type of match to make as . Default is
+
+
+
+
+ Gets a list of Members based on a property search
+
+ Alias of the PropertyType to search for
+ Value to match
+
+
+
+
+ Gets a list of Members based on a property search
+
+ Alias of the PropertyType to search for
+ Value to match
+ The type of match to make as . Default is
+
+
+
+
+ Rebuilds all xml content in the cmsContentXml table for all members
+
+
+ Only rebuild the xml structures for the content type ids passed in, if none then rebuilds the structures
+ for all members = USE WITH CARE!
+
+ True if publishing succeeded, otherwise False
+
+
+
+ Gets the total number of Members based on the count type
+
+
+ The way the Online count is done is the same way that it is done in the MS SqlMembershipProvider - We query for any members
+ that have their last active date within the Membership.UserIsOnlineTimeWindow (which is in minutes). It isn't exact science
+ but that is how MS have made theirs so we'll follow that principal.
+
+ to count by
+ with number of Members for passed in type
+
+
+
+ Gets a list of paged objects
+
+ Current page index
+ Size of the page
+ Total number of records found (out)
+
+
+
+
+ Gets the count of Members by an optional MemberType alias
+
+ If no alias is supplied then the count for all Member will be returned
+ Optional alias for the MemberType when counting number of Members
+ with number of Members
+
+
+
+ Creates an object without persisting it
+
+ This method is convenient for when you need to add properties to a new Member
+ before persisting it in order to limit the amount of times its saved.
+ Also note that the returned will not have an Id until its saved.
+ Username of the Member to create
+ Email of the Member to create
+ Name of the Member to create
+ Alias of the MemberType the Member should be based on
+
+
+
+
+ Creates an object without persisting it
+
+ This method is convenient for when you need to add properties to a new Member
+ before persisting it in order to limit the amount of times its saved.
+ Also note that the returned will not have an Id until its saved.
+ Username of the Member to create
+ Email of the Member to create
+ Name of the Member to create
+ MemberType the Member should be based on
+
+
+
+
+ Creates and persists a Member
+
+ Using this method will persist the Member object before its returned
+ meaning that it will have an Id available (unlike the CreateMember method)
+ Username of the Member to create
+ Email of the Member to create
+ Name of the Member to create
+ Alias of the MemberType the Member should be based on
+
+
+
+
+ Creates and persists a Member
+
+ Using this method will persist the Member object before its returned
+ meaning that it will have an Id available (unlike the CreateMember method)
+ Username of the Member to create
+ Email of the Member to create
+ MemberType the Member should be based on
+
+
+
+
+ Creates and persists a Member
+
+ Using this method will persist the Member object before its returned
+ meaning that it will have an Id available (unlike the CreateMember method)
+ Username of the Member to create
+ Email of the Member to create
+ Name of the Member to create
+ MemberType the Member should be based on
+
+
+
+
+ Creates and persists a new
+
+ An can be of type or
+ Username of the to create
+ Email of the to create
+ This value should be the encoded/encrypted/hashed value for the password that will be stored in the database
+ Alias of the Type
+
+
+
+
+ Creates and persists a Member
+
+ Using this method will persist the Member object before its returned
+ meaning that it will have an Id available (unlike the CreateMember method)
+ Username of the Member to create
+ Email of the Member to create
+ Name of the Member to create
+ This value should be the encoded/encrypted/hashed value for the password that will be stored in the database
+ MemberType the Member should be based on
+
+
+
+
+ Gets an by its provider key
+
+ Id to use for retrieval
+
+
+
+
+ Get an by email
+
+ Email to use for retrieval
+
+
+
+
+ Get an by username
+
+ Username to use for retrieval
+
+
+
+
+ Deletes an
+
+ to Delete
+
+
+
+ Saves an
+
+ to Save
+ Optional parameter to raise events.
+ Default is True otherwise set to False to not raise events
+
+
+
+ Saves a list of objects
+
+ to save
+ Optional parameter to raise events.
+ Default is True otherwise set to False to not raise events
+
+
+
+ A helper method that will create a basic/generic member for use with a generic membership provider
+
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Create
+
+
+ Please note that the Member object has been created, but might not have been saved
+ so it does not have an identity yet (meaning no Id has been set).
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Gets an object by its Id
+
+ Id of the to retrieve
+
+
+
+
+ Gets an object by its Key
+
+ Key of the to retrieve
+
+
+
+
+ Gets an object by its Alias
+
+ Alias of the to retrieve
+
+
+
+
+ This is called after an IContentType is saved and is used to update the content xml structures in the database
+ if they are required to be updated.
+
+ A tuple of a content type and a boolean indicating if it is new (HasIdentity was false before committing)
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Sends the notifications for the specified user regarding the specified node and action.
+
+
+
+
+
+
+
+
+
+ Currently this will only work for Content entities!
+
+
+
+
+ Gets the notifications for the user
+
+
+
+
+
+
+ Gets the notifications for the user based on the specified node path
+
+
+
+
+
+ Notifications are inherited from the parent so any child node will also have notifications assigned based on it's parent (ancestors)
+
+
+
+
+ Deletes notifications by entity
+
+
+
+
+
+ Deletes notifications by entity
+
+
+
+
+
+ Deletes notifications by user
+
+
+
+
+
+ Delete notifications by user and entity
+
+
+
+
+
+
+ Creates a new notification
+
+
+
+ The action letter - note: this is a string for future compatibility
+
+
+
+
+ Sends the notification
+
+
+
+
+
+ The action readable name - currently an action is just a single letter, this is the name associated with the letter
+
+ Callback to create the mail subject
+ Callback to create the mail body
+
+
+
+ Replaces the HTML symbols with the character equivalent.
+
+ The old string.
+
+
+
+ Compares the text.
+
+ The old text.
+ The new text.
+ if set to true [display inserted text].
+ if set to true [display deleted text].
+ The inserted style.
+ The deleted style.
+
+
+
+
+ Gets a by its Id
+
+ Id of the
+ A object
+
+
+
+ Gets a by its Id
+
+ Id of the
+ A object
+
+
+
+ Gets a by its Alias
+
+ Alias of the
+ A object
+
+
+
+ Gets all objects
+
+ Optional array of integer ids to return relations for
+ An enumerable list of objects
+
+
+
+ Gets all objects by their
+
+ to retrieve Relations for
+ An enumerable list of objects
+
+
+
+ Gets all objects by their 's Id
+
+ Id of the to retrieve Relations for
+ An enumerable list of objects
+
+
+
+ Gets all objects
+
+ Optional array of integer ids to return relationtypes for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their parent Id
+
+ Id of the parent to retrieve relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their parent entity
+
+ Parent Entity to retrieve relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their parent entity
+
+ Parent Entity to retrieve relations for
+ Alias of the type of relation to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their child Id
+
+ Id of the child to retrieve relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their child Entity
+
+ Child Entity to retrieve relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their child Entity
+
+ Child Entity to retrieve relations for
+ Alias of the type of relation to retrieve
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by their child or parent Id.
+ Using this method will get you all relations regards of it being a child or parent relation.
+
+ Id of the child or parent to retrieve relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by the Name of the
+
+ Name of the to retrieve Relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by the Alias of the
+
+ Alias of the to retrieve Relations for
+ An enumerable list of objects
+
+
+
+ Gets a list of objects by the Id of the
+
+ Id of the to retrieve Relations for
+ An enumerable list of objects
+
+
+
+ Gets the Child object from a Relation as an
+
+ Relation to retrieve child object from
+ Optional bool to load the complete object graph when set to False
+ An
+
+
+
+ Gets the Parent object from a Relation as an
+
+ Relation to retrieve parent object from
+ Optional bool to load the complete object graph when set to False
+ An
+
+
+
+ Gets the Parent and Child objects from a Relation as a "/> with .
+
+ Relation to retrieve parent and child object from
+ Optional bool to load the complete object graph when set to False
+ Returns a Tuple with Parent (item1) and Child (item2)
+
+
+
+ Gets the Child objects from a list of Relations as a list of objects.
+
+ List of relations to retrieve child objects from
+ Optional bool to load the complete object graph when set to False
+ An enumerable list of
+
+
+
+ Gets the Parent objects from a list of Relations as a list of objects.
+
+ List of relations to retrieve parent objects from
+ Optional bool to load the complete object graph when set to False
+ An enumerable list of
+
+
+
+ Gets the Parent and Child objects from a list of Relations as a list of objects.
+
+ List of relations to retrieve parent and child objects from
+ Optional bool to load the complete object graph when set to False
+ An enumerable list of with
+
+
+
+ Relates two objects that are based on the interface.
+
+ Parent entity
+ Child entity
+ The type of relation to create
+ The created
+
+
+
+ Relates two objects that are based on the interface.
+
+ Parent entity
+ Child entity
+ Alias of the type of relation to create
+ The created
+
+
+
+ Checks whether any relations exists for the passed in .
+
+ to check for relations
+ Returns True if any relations exists for the given , otherwise False
+
+
+
+ Checks whether any relations exists for the passed in Id.
+
+ Id of an object to check relations for
+ Returns True if any relations exists with the given Id, otherwise False
+
+
+
+ Checks whether two items are related
+
+ Id of the Parent relation
+ Id of the Child relation
+ Returns True if any relations exists with the given Ids, otherwise False
+
+
+
+ Checks whether two items are related with a given relation type alias
+
+ Id of the Parent relation
+ Id of the Child relation
+ Alias of the relation type
+ Returns True if any relations exists with the given Ids and relation type, otherwise False
+
+
+
+ Checks whether two items are related with a given relation type
+
+ Id of the Parent relation
+ Id of the Child relation
+ Type of relation
+ Returns True if any relations exists with the given Ids and relation type, otherwise False
+
+
+
+ Checks whether two items are related
+
+ Parent entity
+ Child entity
+ Returns True if any relations exist between the entities, otherwise False
+
+
+
+ Checks whether two items are related
+
+ Parent entity
+ Child entity
+ Alias of the type of relation to create
+ Returns True if any relations exist between the entities, otherwise False
+
+
+
+ Saves a
+
+ Relation to save
+
+
+
+ Saves a
+
+ RelationType to Save
+
+
+
+ Deletes a
+
+ Relation to Delete
+
+
+
+ Deletes a
+
+ RelationType to Delete
+
+
+
+ Deletes all objects based on the passed in
+
+ to Delete Relations for
+
+
+
+ Occurs before Deleting a Relation
+
+
+
+
+ Occurs after a Relation is Deleted
+
+
+
+
+ Occurs before Saving a Relation
+
+
+
+
+ Occurs after a Relation is Saved
+
+
+
+
+ Occurs before Deleting a RelationType
+
+
+
+
+ Occurs after a RelationType is Deleted
+
+
+
+
+ Occurs before Saving a RelationType
+
+
+
+
+ Occurs after a RelationType is Saved
+
+
+
+
+ Initializes the service with all available application plugins
+
+
+ All application plugins found in assemblies
+
+
+ This is used to populate the app.config file with any applications declared in plugins that don't exist in the file
+
+
+
+
+ The cache storage for all applications
+
+
+
+
+ Get the user's allowed sections
+
+
+
+
+
+
+ Gets the application by its alias.
+
+ The application alias.
+
+
+
+
+ Creates a new applcation if no application with the specified alias is found.
+
+ The application name.
+ The application alias.
+ The application icon, which has to be located in umbraco/images/tray folder.
+
+
+
+ Makes the new.
+
+ The name.
+ The alias.
+ The icon.
+ The sort order.
+
+
+
+ Deletes the section
+
+
+
+
+ gets/sets the application.config file path
+
+
+ The setter is generally only going to be used in unit tests, otherwise it will attempt to resolve it using the IOHelper.MapPath
+
+
+
+
+ Manages server registrations in the database.
+
+
+
+
+ Initializes a new instance of the class.
+
+ A UnitOfWork provider.
+ A repository factory.
+ A logger.
+
+
+
+
+ Touches a server to mark it as active; deactivate stale servers.
+
+ The server url.
+ The server unique identity.
+ The time after which a server is considered stale.
+
+
+
+ Deactivates a server.
+
+ The server unique identity.
+
+
+
+ Deactivates stale servers.
+
+ The time after which a server is considered stale.
+
+
+
+ Return all active servers.
+
+
+
+
+
+ Gets the role of the current server.
+
+ The role of the current server.
+
+
+
+ Gets the local server identity.
+
+
+
+
+ Represents the Packaging Service, which provides import/export functionality for the Core models of the API
+ using xml representation. This is primarily used by the Package functionality.
+
+
+
+
+ Exports an item to xml as an
+
+ Content to export
+ Optional parameter indicating whether to include descendents
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the Content object
+
+
+
+ Imports and saves package xml as
+
+ Xml to import
+ Optional parent Id for the content being imported
+ Optional Id of the user performing the import
+ Optional parameter indicating whether or not to raise events
+ An enumrable list of generated content
+
+
+
+ Exports an to xml as an
+
+ ContentType to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the ContentType item.
+
+
+
+ Imports and saves package xml as
+
+ Xml to import
+ Optional id of the User performing the operation. Default is zero (admin).
+ Optional parameter indicating whether or not to raise events
+ An enumrable list of generated ContentTypes
+
+
+
+ Imports and saves package xml as
+
+ Xml to import
+ Boolean indicating whether or not to import the
+ Optional id of the User performing the operation. Default is zero (admin).
+ Optional parameter indicating whether or not to raise events
+ An enumrable list of generated ContentTypes
+
+
+
+ Used during Content import to ensure that the ContentType of a content item exists
+
+
+
+
+
+
+ Exports a list of Data Types
+
+ List of data types to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IDataTypeDefinition objects
+
+
+
+ Exports a single Data Type
+
+ Data type to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IDataTypeDefinition object
+
+
+
+ Imports and saves package xml as
+
+ Xml to import
+ Optional id of the user
+ Optional parameter indicating whether or not to raise events
+ An enumrable list of generated DataTypeDefinitions
+
+
+
+ Exports a list of items to xml as an
+
+ List of dictionary items to export
+ Optional boolean indicating whether or not to include children
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IDictionaryItem objects
+
+
+
+ Exports a single item to xml as an
+
+ Dictionary Item to export
+ Optional boolean indicating whether or not to include children
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IDictionaryItem object
+
+
+
+ Imports and saves the 'DictionaryItems' part of the package xml as a list of
+
+ Xml to import
+ Optional parameter indicating whether or not to raise events
+ An enumerable list of dictionary items
+
+
+
+ Exports a list of items to xml as an
+
+ List of Languages to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the ILanguage objects
+
+
+
+ Exports a single item to xml as an
+
+ Language to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the ILanguage object
+
+
+
+ Imports and saves the 'Languages' part of a package xml as a list of
+
+ Xml to import
+ Optional id of the User performing the operation
+ Optional parameter indicating whether or not to raise events
+ An enumerable list of generated languages
+
+
+
+ Imports and saves the 'Macros' part of a package xml as a list of
+
+ Xml to import
+ Optional id of the User performing the operation
+ Optional parameter indicating whether or not to raise events
+
+
+
+
+ Exports a list of items to xml as an
+
+ Macros to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IMacro objects
+
+
+
+ Exports a single item to xml as an
+
+ Macro to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the IMacro object
+
+
+
+ Exports an item to xml as an
+
+ Member to export
+ containing the xml representation of the Member object
+
+
+
+ Exports an item to xml as an
+
+ Media to export
+ Optional parameter indicating whether to include descendents
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the Media object
+
+
+
+ Exports an to xml as an
+
+ MediaType to export
+ containing the xml representation of the MediaType item.
+
+
+
+ Imports and saves package xml as
+
+ Xml to import
+ Optional user id
+ Optional parameter indicating whether or not to raise events
+ An enumrable list of generated Templates
+
+
+
+ Exports a list of items to xml as an
+
+ List of Templates to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the ITemplate objects
+
+
+
+ Exports a single item to xml as an
+
+ Template to export
+ Optional parameter indicating whether or not to raise events
+ containing the xml representation of the ITemplate object
+
+
+
+ Occurs before Importing Content
+
+
+
+
+ Occurs after Content is Imported and Saved
+
+
+
+
+ Occurs after Content is Exported to Xml
+
+
+
+
+ Occurs before Exporting Media
+
+
+
+
+ Occurs after Media is Exported to Xml
+
+
+
+
+ Occurs before Importing ContentType
+
+
+
+
+ Occurs after ContentType is Imported and Saved
+
+
+
+
+ Occurs before Exporting ContentType
+
+
+
+
+ Occurs after ContentType is Exported to Xml
+
+
+
+
+ Occurs before Importing DataType
+
+
+
+
+ Occurs after DataType is Imported and Saved
+
+
+
+
+ Occurs before Exporting DataType
+
+
+
+
+ Occurs after DataType is Exported to Xml
+
+
+
+
+ Occurs before Importing DictionaryItem
+
+
+
+
+ Occurs after DictionaryItem is Imported and Saved
+
+
+
+
+ Occurs before Exporting DictionaryItem
+
+
+
+
+ Occurs after DictionaryItem is Exported to Xml
+
+
+
+
+ Occurs before Importing Macro
+
+
+
+
+ Occurs after Macro is Imported and Saved
+
+
+
+
+ Occurs before Exporting Macro
+
+
+
+
+ Occurs after Macro is Exported to Xml
+
+
+
+
+ Occurs before Importing Language
+
+
+
+
+ Occurs after Language is Imported and Saved
+
+
+
+
+ Occurs before Exporting Language
+
+
+
+
+ Occurs after Language is Exported to Xml
+
+
+
+
+ Occurs before Importing Template
+
+
+
+
+ Occurs before Importing Stylesheets
+
+
+
+
+ Occurs after Template is Imported and Saved
+
+
+
+
+ Occurs before Exporting Template
+
+
+
+
+ Occurs after Template is Exported to Xml
+
+
+
+
+ Occurs before Importing umbraco package
+
+
+
+
+ Occurs after a apckage is imported
+
+
+
+
+ These are used currently to return the temporary 'operation' interfaces for services
+ which are used to return a status from operational methods so we can determine if things are
+ cancelled, etc...
+
+ These will be obsoleted in v8 since all real services methods will be changed to have the correct result.
+
+
+
+
+ The Umbraco ServiceContext, which provides access to the following services:
+ , , ,
+ , and .
+
+
+
+
+ public ctor - will generally just be used for unit testing all items are optional and if not specified, the defaults will be used
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates a service context with a RepositoryFactory which is used to construct Services
+
+
+
+
+
+
+
+
+
+
+
+ Builds the various services
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the
+
+
+
+
+ Gets the MemberTypeService
+
+
+
+
+ Gets the MemberGroupService
+
+
+
+
+ A simple utility class to extract the tag values from a property/property editor and set them on the content
+
+
+
+
+ Sets the tag values on the content property based on the property editor's tags attribute
+
+
+
+
+
+
+
+
+
+ Gets tagged Content by a specific 'Tag Group'.
+
+ The contains the Id and Tags of the Content, not the actual Content item.
+ Name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets tagged Content by a specific 'Tag' and optional 'Tag Group'.
+
+ The contains the Id and Tags of the Content, not the actual Content item.
+ Tag
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets tagged Media by a specific 'Tag Group'.
+
+ The contains the Id and Tags of the Media, not the actual Media item.
+ Name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets tagged Media by a specific 'Tag' and optional 'Tag Group'.
+
+ The contains the Id and Tags of the Media, not the actual Media item.
+ Tag
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets tagged Members by a specific 'Tag Group'.
+
+ The contains the Id and Tags of the Member, not the actual Member item.
+ Name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets tagged Members by a specific 'Tag' and optional 'Tag Group'.
+
+ The contains the Id and Tags of the Member, not the actual Member item.
+ Tag
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets every tag stored in the database
+
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags for content items
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags for media items
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags for member items
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags attached to a property by entity id
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ The content item id to get tags for
+ Property type alias
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags attached to an entity (content, media or member) by entity id
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ The content item id to get tags for
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags attached to a property by entity id
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ The content item id to get tags for
+ Property type alias
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Gets all tags attached to an entity (content, media or member) by entity id
+
+ Use the optional tagGroup parameter to limit the
+ result to a specific 'Tag Group'.
+ The content item id to get tags for
+ Optional name of the 'Tag Group'
+ An enumerable list of
+
+
+
+ Represents the UserService, which is an easy access to operations involving , and eventually Backoffice Users.
+
+
+
+
+ Gets the default MemberType alias
+
+ By default we'll return the 'writer', but we need to check it exists. If it doesn't we'll
+ return the first type that is not an admin, otherwise if there's only one we will return that one.
+ Alias of the default MemberType
+
+
+
+ Checks if a User with the username exists
+
+ Username to check
+ True if the User exists otherwise False
+
+
+
+ Creates a new User
+
+ The user will be saved in the database and returned with an Id
+ Username of the user to create
+ Email of the user to create
+ which the User should be based on
+
+
+
+
+ Creates and persists a new
+
+ Username of the to create
+ Email of the to create
+ This value should be the encoded/encrypted/hashed value for the password that will be stored in the database
+ Alias of the Type
+
+
+
+
+ Creates and persists a Member
+
+ Using this method will persist the Member object before its returned
+ meaning that it will have an Id available (unlike the CreateMember method)
+ Username of the Member to create
+ Email of the Member to create
+ This value should be the encoded/encrypted/hashed value for the password that will be stored in the database
+ MemberType the Member should be based on
+
+
+
+
+ Gets a User by its integer id
+
+ Id
+
+
+
+
+ Gets an by its provider key
+
+ Id to use for retrieval
+
+
+
+
+ Get an by email
+
+ Email to use for retrieval
+
+
+
+
+ Get an by username
+
+ Username to use for retrieval
+
+
+
+
+ Deletes an
+
+ to Delete
+
+
+
+ This is simply a helper method which essentially just wraps the MembershipProvider's ChangePassword method
+
+
+ This method exists so that Umbraco developers can use one entry point to create/update users if they choose to.
+
+ The user to save the password for
+ The password to save
+
+
+
+ Deletes or disables a User
+
+ to delete
+ True to permanently delete the user, False to disable the user
+
+
+
+ Saves an
+
+ to Save
+ Optional parameter to raise events.
+ Default is True otherwise set to False to not raise events
+
+
+
+ Saves a list of objects
+
+ to save
+ Optional parameter to raise events.
+ Default is True otherwise set to False to not raise events
+
+
+
+ Finds a list of objects by a partial email string
+
+ Partial email string to match
+ Current page index
+ Size of the page
+ Total number of records found (out)
+ The type of match to make as . Default is
+
+
+
+
+ Finds a list of objects by a partial username
+
+ Partial username to match
+ Current page index
+ Size of the page
+ Total number of records found (out)
+ The type of match to make as . Default is
+
+
+
+
+ Gets the total number of Users based on the count type
+
+
+ The way the Online count is done is the same way that it is done in the MS SqlMembershipProvider - We query for any members
+ that have their last active date within the Membership.UserIsOnlineTimeWindow (which is in minutes). It isn't exact science
+ but that is how MS have made theirs so we'll follow that principal.
+
+ to count by
+ with number of Users for passed in type
+
+
+
+ Gets a list of paged objects
+
+ Current page index
+ Size of the page
+ Total number of records found (out)
+
+
+
+
+ Gets an IProfile by User Id.
+
+ Id of the User to retrieve
+
+
+
+
+ Gets a profile by username
+
+ Username
+
+
+
+
+ Gets a user by Id
+
+ Id of the user to retrieve
+
+
+
+
+ Replaces the same permission set for a single user to any number of entities
+
+ If no 'entityIds' are specified all permissions will be removed for the specified user.
+ Id of the user
+ Permissions as enumerable list of
+ Specify the nodes to replace permissions for. If nothing is specified all permissions are removed.
+
+
+
+ Assigns the same permission set for a single user to any number of entities
+
+ Id of the user
+
+ Specify the nodes to replace permissions for
+
+
+
+ Gets all UserTypes or thosed specified as parameters
+
+ Optional Ids of UserTypes to retrieve
+ An enumerable list of
+
+
+
+ Gets a UserType by its Alias
+
+ Alias of the UserType to retrieve
+
+
+
+
+ Gets a UserType by its Id
+
+ Id of the UserType to retrieve
+
+
+
+
+ Gets a UserType by its Name
+
+ Name of the UserType to retrieve
+
+
+
+
+ Saves a UserType
+
+ UserType to save
+ Optional parameter to raise events.
+ Default is True otherwise set to False to not raise events
+
+
+
+ Deletes a UserType
+
+ UserType to delete
+
+
+
+ Removes a specific section from all users
+
+ This is useful when an entire section is removed from config
+ Alias of the section to remove
+
+
+
+ Add a specific section to all users or those specified as parameters
+
+ This is useful when a new section is created to allow specific users accessing it
+ Alias of the section to add
+ Specifiying nothing will add the section to all user
+
+
+
+ Get permissions set for a user and optional node ids
+
+ If no permissions are found for a particular entity then the user's default permissions will be applied
+ User to retrieve permissions for
+ Specifiying nothing will return all user permissions for all nodes
+ An enumerable list of
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Occurs before Save
+
+
+
+
+ Occurs after Save
+
+
+
+
+ Occurs before Delete
+
+
+
+
+ Occurs after Delete
+
+
+
+
+ Remove all permissions for this user for all nodes specified
+
+
+
+
+
+
+
+ Remove all permissions for this user for all nodes
+
+
+
+
+
+
+ Maps a custom provider's information to an umbraco user account
+
+
+
+
+ To maintain compatibility we have to check the login name if the provider key lookup fails but otherwise
+ we'll store the provider user key in the login column.
+
+
+
+
+ Provides extension methods to IContentBase to get url segments.
+
+
+
+
+ Gets the default url segment for a specified content.
+
+ The content.
+ The url segment.
+
+
+
+ Gets the url segment for a specified content and culture.
+
+ The content.
+ The culture.
+ The url segment.
+
+
+
+ Gets the url segment providers.
+
+ This is so that unit tests that do not initialize the resolver do not
+ fail and fall back to defaults. When running the whole Umbraco, CoreBootManager
+ does initialise the resolver.
+
+
+
+ This Class implements the Difference Algorithm published in
+ "An O(ND) Difference Algorithm and its Variations" by Eugene Myers
+ Algorithmica Vol. 1 No. 2, 1986, p 251.
+
+ The algorithm itself is comparing 2 arrays of numbers so when comparing 2 text documents
+ each line is converted into a (hash) number. See DiffText().
+
+ diff.cs: A port of the algorithm to C#
+ Copyright (c) by Matthias Hertel, http://www.mathertel.de
+ This work is licensed under a BSD style license. See http://www.mathertel.de/License.aspx
+
+
+
+
+ Find the difference in 2 texts, comparing by textlines.
+
+ A-version of the text (usualy the old one)
+ B-version of the text (usualy the new one)
+ Returns a array of Items that describe the differences.
+
+
+
+ Find the difference in 2 texts, comparing by textlines.
+ This method uses the DiffInt internally by 1st converting the string into char codes
+ then uses the diff int method
+
+ A-version of the text (usualy the old one)
+ B-version of the text (usualy the new one)
+ Returns a array of Items that describe the differences.
+
+
+
+ Find the difference in 2 text documents, comparing by textlines.
+ The algorithm itself is comparing 2 arrays of numbers so when comparing 2 text documents
+ each line is converted into a (hash) number. This hash-value is computed by storing all
+ textlines into a common hashtable so i can find dublicates in there, and generating a
+ new number each time a new textline is inserted.
+
+ A-version of the text (usualy the old one)
+ B-version of the text (usualy the new one)
+ When set to true, all leading and trailing whitespace characters are stripped out before the comparation is done.
+ When set to true, all whitespace characters are converted to a single space character before the comparation is done.
+ When set to true, all characters are converted to their lowercase equivivalence before the comparation is done.
+ Returns a array of Items that describe the differences.
+
+
+
+ Diffs the char codes.
+
+ A text.
+ if set to true [ignore case].
+
+
+
+
+ If a sequence of modified lines starts with a line that contains the same content
+ as the line that appends the changes, the difference sequence is modified so that the
+ appended line and not the starting line is marked as modified.
+ This leads to more readable diff sequences when comparing text files.
+
+ A Diff data buffer containing the identified changes.
+
+
+
+ Find the difference in 2 arrays of integers.
+
+ A-version of the numbers (usualy the old one)
+ B-version of the numbers (usualy the new one)
+ Returns a array of Items that describe the differences.
+
+
+
+ This function converts all textlines of the text into unique numbers for every unique textline
+ so further work can work only with simple numbers.
+
+ the input text
+ This extern initialized hashtable is used for storing all ever used textlines.
+ ignore leading and trailing space characters
+
+
+ a array of integers.
+
+
+
+ This is the algorithm to find the Shortest Middle Snake (SMS).
+
+ sequence A
+ lower bound of the actual range in DataA
+ upper bound of the actual range in DataA (exclusive)
+ sequence B
+ lower bound of the actual range in DataB
+ upper bound of the actual range in DataB (exclusive)
+ a vector for the (0,0) to (x,y) search. Passed as a parameter for speed reasons.
+ a vector for the (u,v) to (N,M) search. Passed as a parameter for speed reasons.
+ a MiddleSnakeData record containing x,y and u,v
+
+
+
+ This is the divide-and-conquer implementation of the longes common-subsequence (LCS)
+ algorithm.
+ The published algorithm passes recursively parts of the A and B sequences.
+ To avoid copying these arrays the lower and upper bounds are passed while the sequences stay constant.
+
+ sequence A
+ lower bound of the actual range in DataA
+ upper bound of the actual range in DataA (exclusive)
+ sequence B
+ lower bound of the actual range in DataB
+ upper bound of the actual range in DataB (exclusive)
+ a vector for the (0,0) to (x,y) search. Passed as a parameter for speed reasons.
+ a vector for the (u,v) to (N,M) search. Passed as a parameter for speed reasons.
+
+
+ Scan the tables of which lines are inserted and deleted,
+ producing an edit script in forward order.
+
+ dynamic array
+
+
+ Data on one input file being compared.
+
+
+
+ Number of elements (lines).
+
+
+ Buffer of numbers that will be compared.
+
+
+
+ Array of booleans that flag for modified data.
+ This is the result of the diff.
+ This means deletedA in the first Data or inserted in the second Data.
+
+
+
+
+ Initialize the Diff-Data buffer.
+
+ reference to the buffer
+
+
+ details of one difference.
+
+
+ Start Line number in Data A.
+
+
+ Start Line number in Data B.
+
+
+ Number of changes in Data A.
+
+
+ Number of changes in Data B.
+
+
+
+ Shortest Middle Snake Return Data
+
+
+
+
+ An that works by messaging servers via web services.
+
+
+ Abstract because it needs to be inherited by a class that will
+ - implement ProcessBatch()
+ - trigger FlushBatch() when appropriate
+
+
+
+
+ An that works by messaging servers via web services.
+
+
+ this messenger sends ALL instructions to ALL servers, including the local server.
+ the CacheRefresher web service will run ALL instructions, so there may be duplicated,
+ except for "bulk" refresh, where it excludes those coming from the local server
+
+
+
+
+ Provides a base class for all implementations.
+
+
+
+
+ Broadcasts distributed cache notifications to all servers of a load balanced environment.
+
+ Also ensures that the notification is processed on the local environment.
+
+
+
+ Notifies the distributed cache, for a specified .
+
+ The servers that compose the load balanced environment.
+ The ICacheRefresher.
+ The notification content.
+
+
+
+ Notifies the distributed cache, for a specified .
+
+ The servers that compose the load balanced environment.
+ The ICacheRefresher.
+ The notification content.
+
+
+
+ Notifies the distributed cache of specifieds item invalidation, for a specified .
+
+ The type of the invalidated items.
+ The servers that compose the load balanced environment.
+ The ICacheRefresher.
+ A function returning the unique identifier of items.
+ The invalidated items.
+
+
+
+ Notifies the distributed cache of specifieds item invalidation, for a specified .
+
+ The type of the invalidated items.
+ The servers that compose the load balanced environment.
+ The ICacheRefresher.
+ A function returning the unique identifier of items.
+ The invalidated items.
+
+
+
+ Notifies all servers of specified items removal, for a specified .
+
+ The type of the removed items.
+ The servers that compose the load balanced environment.
+ The ICacheRefresher.
+ A function returning the unique identifier of items.
+ The removed items.
+
+
+
+ Notifies all servers of specified items removal, for a specified .
+
+ The servers that compose the load balanced environment.
+ The ICacheRefresher.
+ The unique identifiers of the removed items.
+
+
+
+ Notifies all servers of specified items invalidation, for a specified .
+
+ The servers that compose the load balanced environment.
+ The ICacheRefresher.
+ The unique identifiers of the invalidated items.
+
+
+
+ Notifies all servers of specified items invalidation, for a specified .
+
+ The servers that compose the load balanced environment.
+ The ICacheRefresher.
+ The unique identifiers of the invalidated items.
+
+
+
+ Notifies all servers of a global invalidation for a specified .
+
+ The servers that compose the load balanced environment.
+ The ICacheRefresher.
+
+
+
+ Determines whether to make distributed calls when messaging a cache refresher.
+
+ The registered servers.
+ The cache refresher.
+ The message type.
+ true if distributed calls are required; otherwise, false, all we have is the local server.
+
+
+
+ Executes the non strongly typed on the local/current server
+
+
+
+
+
+
+ Since this is only for non strongly typed it will throw for message types that by instance
+
+
+
+
+ Executes the strongly typed on the local/current server
+
+
+
+
+
+
+
+ Since this is only for strongly typed it will throw for message types that are not by instance
+
+
+
+
+ Initializes a new instance of the class.
+
+ Distribution is disabled.
+
+
+
+ Initializes a new instance of the class with a login and a password.
+
+ The login.
+ The password.
+ Distribution will be enabled based on the umbraco config setting.
+
+
+
+ Initializes a new instance of the class with a login and a password
+ and a value indicating whether distribution is enabled.
+
+ The login.
+ The password.
+ A value indicating whether distribution is enabled.
+
+
+
+ Initializes a new instance of the with a function providing
+ a login and a password.
+
+ A function providing a login and a password.
+ Distribution will be enabled based on the umbraco config setting.
+
+
+
+ Provides server registrations to the distributed cache.
+
+ This interface exists because IServerRegistrar could not be modified
+ for backward compatibility reasons - but IServerRegistrar is broken because it
+ does not support server role management. So ppl should really implement
+ IServerRegistrar2, and the two interfaces will get merged in v8.
+
+
+
+ Provides server registrations to the distributed cache.
+
+ You should implement IServerRegistrar2 instead.
+
+
+
+ Gets the server registrations.
+
+
+
+
+ Gets the role of the current server in the application environment.
+
+
+
+
+ Gets the current umbraco application url.
+
+
+ If the registrar does not provide the umbraco application url, should return null.
+ Must return null, or a url that ends with SystemDirectories.Umbraco, and contains a scheme, eg "http://www.mysite.com/umbraco".
+
+
+
+
+ The role of a server in an application environment.
+
+
+
+
+ The server role is unknown.
+
+
+
+
+ The server is the single server of a single-server environment.
+
+
+
+
+ In a multi-servers environment, the server is a slave server.
+
+
+
+
+ In a multi-servers environment, the server is the master server.
+
+
+
+
+ An that works by storing messages in the database.
+
+
+
+
+ Boots the messenger.
+
+
+ Thread safety: this is NOT thread safe. Because it is NOT meant to run multi-threaded.
+ Callers MUST ensure thread-safety.
+
+
+
+
+ Initializes a server that has never synchronized before.
+
+
+ Thread safety: this is NOT thread safe. Because it is NOT meant to run multi-threaded.
+ Callers MUST ensure thread-safety.
+
+
+
+
+ Synchronize the server (throttled).
+
+
+
+
+ Process instructions from the database.
+
+
+ Thread safety: this is NOT thread safe. Because it is NOT meant to run multi-threaded.
+
+
+
+
+ Remove old instructions from the database.
+
+
+
+
+ Ensure that the last instruction that was processed is still in the database.
+
+ If the last instruction is not in the database anymore, then the messenger
+ should not try to process any instructions, because some instructions might be lost,
+ and it should instead cold-boot.
+
+
+
+ Reads the last-synced id from file into memory.
+
+
+ Thread safety: this is NOT thread safe. Because it is NOT meant to run multi-threaded.
+
+
+
+
+ Updates the in-memory last-synced id and persists it to file.
+
+ The id.
+
+ Thread safety: this is NOT thread safe. Because it is NOT meant to run multi-threaded.
+
+
+
+
+ Gets the unique local identity of the executing AppDomain.
+
+
+ It is not only about the "server" (machine name and appDomainappId), but also about
+ an AppDomain, within a Process, on that server - because two AppDomains running at the same
+ time on the same server (eg during a restart) are, practically, a LB setup.
+ Practically, all we really need is the guid, the other infos are here for information
+ and debugging purposes.
+
+
+
+
+ Gets the sync file path for the local server.
+
+ The sync file path for the local server.
+
+
+
+ Provides options to the .
+
+
+
+
+ Initializes a new instance of the with default values.
+
+
+
+
+ A list of callbacks that will be invoked if the lastsynced.txt file does not exist.
+
+
+ These callbacks will typically be for eg rebuilding the xml cache file, or examine indexes, based on
+ the data in the database to get this particular server node up to date.
+
+
+
+
+ The number of days to keep instructions in the database; records older than this number will be pruned.
+
+
+
+
+ The number of seconds to wait between each sync operations.
+
+
+
+
+ Provides options to the .
+
+
+
+
+ Initializes a new instance of the class with default values.
+
+
+
+
+ The number of seconds to wait between each updates to the database.
+
+
+
+
+ The time span to wait before considering a server stale, after it has last been accessed.
+
+
+
+
+ Gets or sets the refresh action type.
+
+
+
+
+ Gets or sets the refresher unique identifier.
+
+
+
+
+ Gets or sets the Guid data value.
+
+
+
+
+ Gets or sets the int data value.
+
+
+
+
+ Gets or sets the ids data value.
+
+
+
+
+ Gets or sets the payload data value.
+
+
+
+
+ Used for any 'Batched' instances which specifies a set of targeting a collection of
+
+
+
+
+
+ A helper used to determine the current server umbraco application url.
+
+
+
+
+ Gets or sets a custom provider for the umbraco application url.
+
+
+ Receives the current request as a parameter, and it may be null. Must return a properly
+ formatted url with scheme and umbraco dir and no trailing slash eg "http://www.mysite.com/umbraco",
+ or null. To be used in auto-load-balancing scenarios where the application url is not
+ in config files but is determined programmatically.
+ Must be assigned before resolution is frozen.
+
+
+
+
+ Describes refresh action type.
+
+
+
+
+ Topological Sort algorithm for sorting items based on dependencies.
+ Use the static method TopologicalSorter.GetSortedItems for a convenient
+ way of sorting a list of items with dependencies between them.
+
+
+
+
+ Default implementation of IUrlSegmentProvider.
+
+
+
+
+ Provides url segments for content.
+
+ Url segments should comply with IETF RFCs regarding content, encoding, etc.
+
+
+
+ Gets the default url segment for a specified content.
+
+ The content.
+ The url segment.
+
+
+
+ Gets the url segment for a specified content and culture.
+
+ The content.
+ The culture.
+ The url segment.
+ This is for when Umbraco is capable of managing more than one url
+ per content, in 1-to-1 multilingual configurations. Then there would be one
+ url per culture.
+
+
+
+ Gets the default url segment for a specified content.
+
+ The content.
+ The url segment.
+
+
+
+ Gets the url segment for a specified content and culture.
+
+ The content.
+ The culture.
+ The url segment.
+
+
+
+ Resolves IUrlSegmentProvider objects.
+
+
+
+
+ Initializes a new instance of the class with an initial list of provider types.
+
+
+
+ The list of provider types.
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Initializes a new instance of the class with an initial list of provider types.
+
+
+
+ The list of provider types.
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Gets the providers.
+
+
+
+
+ A registrar that stores registered server nodes in the database.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The registration service.
+ Some options.
+
+
+
+ Gets the role of the current server in the application environment.
+
+
+
+
+ Gets the current umbraco application url.
+
+
+
+
+ Gets or sets the registrar options.
+
+
+
+
+ Gets the registered servers.
+
+
+
+
+ The client Soap service for making distrubuted cache calls between servers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Provides the address of a server based on the Xml configuration.
+
+
+
+
+ The message type to be used for syncing across servers.
+
+
+
+
+ Resolves the IServerMessenger object.
+
+
+
+
+ Initializes a new instance of the class with a messenger.
+
+ An instance of a messenger.
+ The resolver is created by the CoreBootManager and thus the constructor remains internal.
+
+
+
+ Sets the messenger.
+
+ The messenger.
+
+
+
+ Gets the messenger.
+
+
+
+
+ Resolves the IServerRegistrar object.
+
+
+
+
+ Initializes a new instance of the class with a registrar.
+
+ An instance of a registrar.
+ The resolver is created by the CoreBootManager and thus the constructor remains internal.
+
+
+
+ Sets the registrar.
+
+ The registrar.
+ For developers, at application startup.
+
+
+
+ Gets the registrar.
+
+
+
+
+ Provides server registrations to the distributed cache by reading the legacy Xml configuration
+ in umbracoSettings to get the list of (manually) configured server nodes.
+
+
+
+
+ Provides methods to convert Utf8 text to Ascii.
+
+
+ Tries to match characters such as accented eg "é" to Ascii equivalent eg "e".
+ Converts all "whitespace" characters to a single whitespace.
+ Removes all non-Utf8 (unicode) characters, so in fact it can sort-of "convert" Unicode to Ascii.
+ Replaces symbols with '?'.
+
+
+
+
+ Converts an Utf8 string into an Ascii string.
+
+ The text to convert.
+ The converted text.
+
+
+
+ Converts an Utf8 string into an array of Ascii characters.
+
+ The text to convert.
+ The converted text.
+
+
+
+ Converts an array of Utf8 characters into an array of Ascii characters.
+
+ The input array.
+ The output array.
+ The number of characters in the output array.
+ The caller must ensure that the output array is big enough.
+ The output array is not big enough.
+
+
+
+ Converts the character at position in input array of Utf8 characters
+ and writes the converted value to output array of Ascii characters at position ,
+ and increments that position accordingly.
+
+ The input array.
+ The input position.
+ The output array.
+ The output position.
+
+ Adapted from various sources on the 'net including Lucene.Net.Analysis.ASCIIFoldingFilter.
+ Input should contain Utf8 characters exclusively and NOT Unicode.
+ Removes controls, normalizes whitespaces, replaces symbols by '?'.
+
+
+
+
+ Specifies the type of a clean string.
+
+
+ Specifies its casing, and its encoding.
+
+
+
+
+ No value.
+
+
+
+
+ Flag mask for casing.
+
+
+
+
+ Pascal casing eg "PascalCase".
+
+
+
+
+ Camel casing eg "camelCase".
+
+
+
+
+ Unchanged casing eg "UncHanGed".
+
+
+
+
+ Lower casing eg "lowercase".
+
+
+
+
+ Upper casing eg "UPPERCASE".
+
+
+
+
+ Umbraco "safe alias" case.
+
+ Uppercases the first char of each term except for the first
+ char of the string, everything else including the first char of the
+ string is unchanged.
+
+
+
+ Flag mask for encoding.
+
+
+
+
+ Unicode encoding.
+
+
+
+
+ Utf8 encoding.
+
+
+
+
+ Ascii encoding.
+
+
+
+
+ Flag mask for role.
+
+
+
+
+ Url role.
+
+
+
+
+ Alias role.
+
+
+
+
+ FileName role.
+
+
+
+
+ ConvertCase role.
+
+
+
+
+ UnderscoreAlias role.
+
+ This is Alias + leading underscore.
+
+
+
+ Resolves the IShortStringHelper object
+
+
+
+
+ Initializes a new instance of the class with an instance of a helper.
+
+ A instance of a helper.
+ The resolver is created by the CoreBootManager and thus the constructor remains internal.
+
+
+
+ Sets the helper.
+
+ The helper.
+ For developers, at application startup.
+
+
+
+ Gets the helper.
+
+
+
+
+ Provides string functions for short strings such as aliases or url segments.
+
+ Not necessarily optimized to work on large bodies of text.
+
+
+
+ Freezes the helper so it can prevents its configuration from being modified.
+
+ Will be called by ShortStringHelperResolver when resolution freezes.
+
+
+
+ Gets the JavaScript code defining client-side short string services.
+
+
+
+
+ Cleans a string to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The safe alias.
+
+ The string will be cleaned in the context of the IShortStringHelper default culture.
+ A safe alias is [a-z][a-zA-Z0-9_]* although legacy will also accept '-', and '_' at the beginning.
+
+
+
+
+ Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The culture.
+ The safe alias.
+
+
+
+ Cleans a string to produce a string that can safely be used in an url segment.
+
+ The text to filter.
+ The safe url segment.
+ The string will be cleaned in the context of the IShortStringHelper default culture.
+
+
+
+ Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an url segment.
+
+ The text to filter.
+ The culture.
+ The safe url segment.
+
+
+
+ Cleans a string, in the context of the invariant culture, to produce a string that can safely be used as a filename,
+ both internally (on disk) and externally (as a url).
+
+ The text to filter.
+ The safe filename.
+ Legacy says this was used to "overcome an issue when Umbraco is used in IE in an intranet environment" but that issue is not documented.
+
+
+
+ Cleans a string, in the context of a specified culture, to produce a string that can safely be used as a filename,
+ both internally (on disk) and externally (as a url).
+
+ The text to filter.
+ The culture.
+ The safe filename.
+ Legacy says this was used to "overcome an issue when Umbraco is used in IE in an intranet environment" but that issue is not documented.
+
+
+
+ Splits a pascal-cased string by inserting a separator in between each term.
+
+ The text to split.
+ The separator.
+ The splitted string.
+ Supports Utf8 and Ascii strings, not Unicode strings.
+
+
+
+ Returns a new string in which all occurences of specified strings are replaced by other specified strings.
+
+ The string to filter.
+ The replacements definition.
+ The filtered string.
+
+
+
+ Returns a new string in which all occurences of specified characters are replaced by a specified character.
+
+ The string to filter.
+ The characters to replace.
+ The replacement character.
+ The filtered string.
+
+
+
+ Cleans a string.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The clean string.
+ The string is cleaned in the context of the IShortStringHelper default culture.
+
+
+
+ Cleans a string, using a specified separator.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The separator.
+ The clean string.
+ The string is cleaned in the context of the IShortStringHelper default culture.
+
+
+
+ Cleans a string in the context of a specified culture.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The culture.
+ The clean string.
+
+
+
+ Cleans a string in the context of a specified culture, using a specified separator.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The separator.
+ The culture.
+ The clean string.
+
+
+
+ Legacy implementation of string functions for short strings such as aliases or url segments.
+
+
+ Not necessarily optimized to work on large bodies of text.
+ Can expose surprising or bogus behavior.
+ Uses invariant culture everywhere.
+
+
+
+
+ Freezes the helper so it can prevents its configuration from being modified.
+
+ Will be called by ShortStringHelperResolver when resolution freezes.
+
+
+
+ Gets the JavaScript code defining client-side short string services.
+
+
+
+
+ Cleans a string to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The safe alias.
+ The string will be cleaned in the context of invariant culture.
+
+
+
+ Cleans a string, in the context of the invariant culture, to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The culture.
+ The safe alias.
+ Legacy does not support culture contexts.
+
+
+
+ Cleans a string to produce a string that can safely be used in an url segment, in the context of the invariant culture.
+
+ The text to filter.
+ The safe url segment.
+
+
+
+ Cleans a string, in the context of the invariant culture, to produce a string that can safely be used in an url segment.
+
+ The text to filter.
+ The culture.
+ The safe url segment.
+ Legacy does not support culture contexts.
+
+
+
+ Cleans a string, in the context of the invariant culture, to produce a string that can safely be used as a filename,
+ both internally (on disk) and externally (as a url).
+
+ The text to filter.
+ The safe filename.
+ Legacy says this was used to "overcome an issue when Umbraco is used in IE in an intranet environment" but that issue is not documented.
+
+
+
+ Cleans a string, in the context of the invariant culture, to produce a string that can safely be used as a filename,
+ both internally (on disk) and externally (as a url).
+
+ The text to filter.
+ The culture.
+ The safe filename.
+ Legacy does not support culture contexts.
+
+
+
+ Splits a pascal-cased string by inserting a separator in between each term.
+
+ The text to split.
+ The separator.
+ The splitted string.
+ Probably only supports Ascii strings.
+
+
+
+ Cleans a string to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The safe alias.
+ The string will be cleaned in the context of invariant culture.
+
+
+
+ Filters a string to convert case, and more.
+
+ the text to filter.
+ The string case type.
+ The filtered text.
+
+ This is the legacy method, so we can't really change it, although it has issues (see unit tests).
+ It does more than "converting the case", and also remove spaces, etc.
+
+
+
+
+ Converts string to a URL alias.
+
+ The value.
+ The char replacements.
+ if set to true replace double dashes.
+ if set to true strip non ASCII.
+ if set to true URL encode.
+
+
+ This ensures that ONLY ascii chars are allowed and of those ascii chars, only digits and lowercase chars, all
+ punctuation, etc... are stripped out, however this method allows you to pass in string's to replace with the
+ specified replacement character before the string is converted to ascii and it has invalid characters stripped out.
+ This allows you to replace strings like & , etc.. with your replacement character before the automatic
+ reduction.
+
+
+
+
+ Cleans a string to produce a string that can safely be used in an url segment.
+
+ The text to filter.
+ The safe url segment.
+
+ Uses UmbracoSettings.UrlReplaceCharacters
+ and UmbracoSettings.RemoveDoubleDashesFromUrlReplacing.
+
+
+
+
+ Returns a new string in which all occurences of specified strings are replaced by other specified strings.
+
+ The string to filter.
+ The replacements definition.
+ The filtered string.
+
+
+
+ Returns a new string in which all occurences of specified characters are replaced by a specified character.
+
+ The string to filter.
+ The characters to replace.
+ The replacement character.
+ The filtered string.
+
+
+
+ Provides extension methods to StringAliasCaseType to facilitate migration to CleanStringType.
+
+
+
+
+ Gets the CleanStringType value corresponding to the StringAliasCaseType value.
+
+ The value.
+ A CleanStringType value corresponding to the StringAliasCaseType value.
+
+
+
+ New default implementation of string functions for short strings such as aliases or url segments.
+
+
+ Not optimized to work on large bodies of text.
+ Meant to replace LegacyShortStringHelper where/when backward compatibility is not an issue.
+ NOTE: pre-filters run _before_ the string is re-encoded.
+
+
+
+
+ Freezes the helper so it can prevents its configuration from being modified.
+
+ Will be called by ShortStringHelperResolver when resolution freezes.
+
+
+
+ Returns a new string in which characters have been replaced according to the Umbraco settings UrlReplaceCharacters.
+
+ The string to filter.
+ The filtered string.
+
+
+
+ Sets a default culture.
+
+ The default culture.
+ The short string helper.
+
+
+
+ Sets the default configuration.
+
+ The short string helper.
+
+
+
+ Gets the JavaScript code defining client-side short string services.
+
+
+
+
+ Cleans a string to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The safe alias.
+
+ The string will be cleaned in the context of the default culture.
+ Safe aliases are Ascii only.
+
+
+
+
+ Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The culture.
+ The safe alias.
+
+ Safe aliases are Ascii only.
+
+
+
+
+ Cleans a string to produce a string that can safely be used in an url segment.
+
+ The text to filter.
+ The safe url segment.
+
+ The string will be cleaned in the context of the default culture.
+ Url segments are Ascii only (no accents...).
+
+
+
+
+ Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an url segment.
+
+ The text to filter.
+ The culture.
+ The safe url segment.
+
+ Url segments are Ascii only (no accents...).
+
+
+
+
+ Cleans a string, in the context of the default culture, to produce a string that can safely be used as a filename,
+ both internally (on disk) and externally (as a url).
+
+ The text to filter.
+ The safe filename.
+ Legacy says this was used to "overcome an issue when Umbraco is used in IE in an intranet environment" but that issue is not documented.
+
+
+
+ Cleans a string to produce a string that can safely be used as a filename,
+ both internally (on disk) and externally (as a url).
+
+ The text to filter.
+ The culture.
+ The safe filename.
+
+
+
+ Cleans a string.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The clean string.
+ The string is cleaned in the context of the default culture.
+
+
+
+ Cleans a string, using a specified separator.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The separator.
+ The clean string.
+ The string is cleaned in the context of the default culture.
+
+
+
+ Cleans a string in the context of a specified culture.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The culture.
+ The clean string.
+
+
+
+ Cleans a string in the context of a specified culture, using a specified separator.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The separator.
+ The culture.
+ The clean string.
+
+
+
+ Splits a Pascal-cased string into a phrase separated by a separator.
+
+ The text to split.
+ The separator, which defaults to a whitespace.
+ The splitted text.
+ Supports Utf8 and Ascii strings, not Unicode strings.
+
+
+
+ Returns a new string in which all occurences of specified strings are replaced by other specified strings.
+
+ The string to filter.
+ The replacements definition.
+ The filtered string.
+
+
+
+ Returns a new string in which all occurences of specified characters are replaced by a specified character.
+
+ The string to filter.
+ The characters to replace.
+ The replacement character.
+ The filtered string.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ if set to true [initialize].
+ The sort order.
+ The application alias.
+ The tree alias.
+ The tree title.
+ The icon closed.
+ The icon opened.
+ The tree type.
+
+
+
+ Returns the CLR type based on it's assembly name stored in the config
+
+
+
+
+
+ Gets or sets a value indicating whether this should initialize.
+
+ true if initialize; otherwise, false.
+
+
+
+ Gets or sets the sort order.
+
+ The sort order.
+
+
+
+ Gets the application alias.
+
+ The application alias.
+
+
+
+ Gets the tree alias.
+
+ The alias.
+
+
+
+ Gets or sets the tree title.
+
+ The title.
+
+
+
+ Gets or sets the icon closed.
+
+ The icon closed.
+
+
+
+ Gets or sets the icon opened.
+
+ The icon opened.
+
+
+
+ Gets or sets the tree type assembly name.
+
+ The type.
+
+
+
+ The main entry point to get application trees
+
+
+ This lazily on first access will scan for plugin trees and ensure the trees.config is up-to-date with the plugins. If plugins
+ haven't changed on disk then the file will not be saved. The trees are all then loaded from this config file into cache and returned.
+
+
+
+
+ Initializes the service with any trees found in plugins
+
+
+ A collection of all available tree found in assemblies in the application
+
+
+ This will update the trees.config with the found tree plugins that are not currently listed in the file when the first
+ access is made to resolve the tree collection
+
+
+
+
+ Creates a new application tree.
+
+ if set to true [initialize].
+ The sort order.
+ The application alias.
+ The alias.
+ The title.
+ The icon closed.
+ The icon opened.
+ The type.
+
+
+
+ Saves this instance.
+
+
+
+
+ Deletes this instance.
+
+
+
+
+ Gets an ApplicationTree by it's tree alias.
+
+ The tree alias.
+ An ApplicationTree instance
+
+
+
+ Gets all applicationTrees registered in umbraco from the umbracoAppTree table..
+
+ Returns a ApplicationTree Array
+
+
+
+ Gets the application tree for the applcation with the specified alias
+
+ The application alias.
+ Returns a ApplicationTree Array
+
+
+
+ Gets the application tree for the applcation with the specified alias
+
+ The application alias.
+
+ Returns a ApplicationTree Array
+
+
+
+ Loads in the xml structure from disk if one is found, otherwise loads in an empty xml structure, calls the
+ callback with the xml document and saves the structure back to disk if saveAfterCallback is true.
+
+
+
+
+
+
+ gets/sets the trees.config file path
+
+
+ The setter is generally only going to be used in unit tests, otherwise it will attempt to resolve it using the IOHelper.MapPath
+
+
+
+
+ Tries to return a value based on a property name for an object but ignores case sensitivity
+
+
+
+
+
+
+ Currenty this will only work for ProperCase and camelCase properties, see the TODO below to enable complete case insensitivity
+
+
+
+
+ Checks if the type is an anonymous type
+
+
+
+
+ reference: http://jclaes.blogspot.com/2011/05/checking-for-anonymous-types.html
+
+
+
+
+ Determines whether the specified type is enumerable.
+
+ The type.
+
+
+
+
+ true if the specified type is enumerable; otherwise, false.
+
+
+
+
+ Determines whether [is of generic type] [the specified type].
+
+ The type.
+ Type of the generic.
+
+ true if [is of generic type] [the specified type]; otherwise, false.
+
+
+
+
+ Will find the generic type of the 'type' parameter passed in that is equal to the 'genericType' parameter passed in
+
+
+
+
+
+
+
+
+ Gets all properties in a flat hierarchy
+
+ Includes both Public and Non-Public properties
+
+
+
+
+
+ Returns all public properties including inherited properties even for interfaces
+
+
+
+
+ taken from http://stackoverflow.com/questions/358835/getproperties-to-return-all-properties-for-an-interface-inheritance-hierarchy
+
+
+
+
+ Determines whether the specified actual type is type.
+
+
+ The actual type.
+
+ true if the specified actual type is type; otherwise, false.
+
+
+
+
+ Returns the full type name with the assembly but without all of the assembly specific version information.
+
+
+
+
+ This method is like an 'inbetween' of Type.FullName and Type.AssemblyQualifiedName which returns the type and the assembly separated
+ by a comma.
+
+
+ The output of this class would be:
+
+ Umbraco.Core.TypeExtensions, Umbraco.Core
+
+
+
+
+ Provides a convenience methodology for implementing locked access to resources.
+
+
+ Intended as an infrastructure class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ A utility class to find all classes of a certain type by reflection in the current bin folder
+ of the web application.
+
+
+
+
+ lazily load a reference to all assemblies and only local assemblies.
+ This is a modified version of: http://www.dominicpettifer.co.uk/Blog/44/how-to-get-a-reference-to-all-assemblies-in-the--bin-folder
+
+
+ We do this because we cannot use AppDomain.Current.GetAssemblies() as this will return only assemblies that have been
+ loaded in the CLR, not all assemblies.
+ See these threads:
+ http://issues.umbraco.org/issue/U5-198
+ http://stackoverflow.com/questions/3552223/asp-net-appdomain-currentdomain-getassemblies-assemblies-missing-after-app
+ http://stackoverflow.com/questions/2477787/difference-between-appdomain-getassemblies-and-buildmanager-getreferencedassembl
+
+
+
+
+ Return a list of found local Assemblies excluding the known assemblies we don't want to scan
+ and exluding the ones passed in and excluding the exclusion list filter, the results of this are
+ cached for perforance reasons.
+
+
+
+
+
+
+ Return a distinct list of found local Assemblies and exluding the ones passed in and excluding the exclusion list filter
+
+
+
+
+
+
+
+ this is our assembly filter to filter out known types that def dont contain types we'd like to find or plugins
+
+
+ NOTE the comma vs period... comma delimits the name in an Assembly FullName property so if it ends with comma then its an exact name match
+
+
+
+
+ Finds any classes derived from the type T that contain the attribute TAttribute
+
+
+
+
+
+
+
+ Finds any classes derived from the type T that contain the attribute TAttribute
+
+
+
+
+
+
+
+
+ Finds any classes derived from the type T that contain the attribute TAttribute
+
+
+
+
+
+
+
+
+
+ Finds any classes derived from the assignTypeFrom Type that contain the attribute TAttribute
+
+
+
+
+
+
+
+
+
+ Searches all filtered local assemblies specified for classes of the type passed in.
+
+
+
+
+
+
+ Returns all types found of in the assemblies specified of type T
+
+
+
+
+
+
+
+
+ Returns all types found of in the assemblies specified of type T
+
+
+
+
+
+
+
+ Finds the classes with attribute.
+
+
+ The assemblies.
+ if set to true only concrete classes.
+
+
+
+
+ Finds any classes with the attribute.
+
+ The attribute type
+ The assemblies.
+ if set to true only concrete classes.
+
+
+
+
+ Finds the classes with attribute.
+
+
+ The assemblies.
+
+
+
+
+ Finds the classes with attribute in filtered local assemblies
+
+
+
+
+
+
+ Finds types that are assignable from the assignTypeFrom parameter and will scan for these types in the assembly
+ list passed in, however we will only scan assemblies that have a reference to the assignTypeFrom Type or any type
+ deriving from the base type.
+
+
+
+
+ An additional filter to apply for what types will actually be included in the return value
+
+
+
+
+ A utility class for type checking, this provides internal caching so that calls to these methods will be faster
+ than doing a manual type check in c#
+
+
+
+
+ Checks if the method is actually overriding a base method
+
+
+
+
+
+
+ Find all assembly references that are referencing the assignTypeFrom Type's assembly found in the assemblyList
+
+
+
+
+
+ If the assembly of the assignTypeFrom Type is in the App_Code assembly, then we return nothing since things cannot
+ reference that assembly, same with the global.asax assembly.
+
+
+
+
+ checks if the assembly has a reference with the same name as the expected assembly name.
+
+
+
+
+
+
+
+ Returns true if the type is a class and is not static
+
+
+
+
+
+
+ Returns true if the type is a static class
+
+
+
+
+ In IL a static class is abstract and sealed
+ see: http://stackoverflow.com/questions/1175888/determine-if-a-type-is-static
+
+
+
+
+ Finds a lowest base class amongst a collection of types
+
+
+
+
+ The term 'lowest' refers to the most base class of the type collection.
+ If a base type is not found amongst the type collection then an invalid attempt is returned.
+
+
+
+
+ Determines whether the type is assignable from the specified implementation,
+ and caches the result across the application using a .
+
+ The type of the contract.
+ The implementation.
+
+ true if [is type assignable from] [the specified contract]; otherwise, false.
+
+
+
+
+ Determines whether the type is assignable from the specified implementation ,
+ and caches the result across the application using a .
+
+ The type of the contract.
+ The implementation.
+
+
+
+ Determines whether the object instance is assignable from the specified implementation ,
+ and caches the result across the application using a .
+
+ The type of the contract.
+ The implementation.
+
+
+
+ A method to determine whether represents a value type.
+
+ The implementation.
+
+
+
+ A method to determine whether is an implied value type (, or a string).
+
+ The implementation.
+
+
+
+ Returns (and caches) a PropertyInfo from a type
+
+
+
+
+
+
+
+
+
+
+
+ Gets (and caches) discoverable in the current for a given .
+
+ The source.
+
+
+
+
+ Gets (and caches) discoverable in the current for a given .
+
+ The source.
+ true if the properties discovered are readable
+ true if the properties discovered are writable
+ true if the properties discovered are indexable
+
+
+
+
+ The abstract class for the Umbraco HttpApplication
+
+
+ This is exposed in the core so that we can have the IApplicationEventHandler in the core project so that
+ IApplicationEventHandler's can fire/execute outside of the web contenxt (i.e. in console applications)
+
+
+
+
+ Boots up the Umbraco application
+
+
+
+
+ Initializes the Umbraco application
+
+
+
+
+
+
+ Override init and raise the event
+
+
+
+
+ Developers can override this method to modify objects on startup
+
+
+
+
+
+
+ Developers can override this method to do anything they need to do once the application startup routine is completed.
+
+
+
+
+
+
+ Called to raise the ApplicationInit event
+
+
+
+
+
+
+ A method that can be overridden to invoke code when the application has an error.
+
+
+
+
+
+
+ A method that can be overridden to invoke code when the application shuts down.
+
+
+
+
+
+
+ Called when the HttpApplication.Init() is fired, allows developers to subscribe to the HttpApplication events
+
+
+
+
+ Provides a convenience methodology for implementing locked access to resources.
+
+
+ Intended as an infrastructure class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The rw lock.
+
+
+
+ A custom equality comparer that excepts a delegate to do the comparison operation
+
+
+
+
+
+ Determines whether the specified objects are equal.
+
+
+ true if the specified objects are equal; otherwise, false.
+
+ The first object of type to compare.The second object of type to compare.
+
+
+
+ Returns a hash code for the specified object.
+
+
+ A hash code for the specified object.
+
+ The for which a hash code is to be returned.The type of is a reference type and is null.
+
+
+
+ Extensions for enumerable sources
+
+
+
+ The distinct by.
+ The source.
+ The key selector.
+ Source type
+ Key type
+ the unique list
+
+
+
+ Returns a sequence of length whose elements are the result of invoking .
+
+
+ The factory.
+ The count.
+
+
+
+ The if not null.
+ The items.
+ The action.
+ The type
+
+
+ The for each.
+ The items.
+ The func.
+ item type
+ Result type
+ the Results
+
+
+ The for each.
+ The items.
+ The action.
+ Item type
+ list of TItem
+
+
+ The flatten list.
+ The items.
+ The select child.
+ Item type
+ list of TItem
+
+
+
+ Returns true if all items in the other collection exist in this collection
+
+
+
+
+
+
+
+
+ Returns true if the source contains any of the items in the other list
+
+
+
+
+
+
+
+
+ Removes all matching items from an .
+
+
+ The list.
+ The predicate.
+
+
+
+
+ Removes all matching items from an .
+
+
+ The list.
+ The predicate.
+
+
+
+
+ Filters a sequence of values to ignore those which are null.
+
+
+ The coll.
+
+
+
+
+
+ Finds the index of the first item matching an expression in an enumerable.
+
+ The type of the enumerated objects.
+ The enumerable to search.
+ The expression to test the items against.
+ The index of the first matching item, or -1.
+
+
+
+ Finds the index of the first item matching an expression in an enumerable.
+
+ The type of the enumerated objects.
+ The enumerable to search.
+ The index to start at.
+ The expression to test the items against.
+ The index of the first matching item, or -1.
+
+
+ Finds the index of the first occurence of an item in an enumerable.
+ The enumerable to search.
+ The item to find.
+ The index of the first matching item, or -1 if the item was not found.
+
+
+
+ Determines if 2 lists have equal elements within them regardless of how they are sorted
+
+
+
+
+
+
+ The logic for this is taken from:
+ http://stackoverflow.com/questions/4576723/test-whether-two-ienumerablet-have-the-same-values-with-the-same-frequencies
+
+ There's a few answers, this one seems the best for it's simplicity and based on the comment of Eamon
+
+
+
+
+ Extension methods for 'If' checking like checking If something is null or not null
+
+
+
+ The if not null.
+ The item.
+ The action.
+ The type
+
+
+ The if true.
+ The predicate.
+ The action.
+
+
+
+ Checks if the item is not null, and if so returns an action on that item, or a default value
+
+ the result type
+ The type
+ The item.
+ The action.
+ The default value.
+
+
+
+
+ Checks if the value is null, if it is it returns the value specified, otherwise returns the non-null value
+
+
+
+
+
+
+
+
+ Used to resolve all plugin types and cache them and is also used to instantiate plugin types
+
+
+
+ This class should be used to resolve all plugin types, the TypeFinder should not be used directly!
+
+ This class can expose extension methods to resolve custom plugins
+
+ Before this class resolves any plugins it checks if the hash has changed for the DLLs in the /bin folder, if it hasn't
+ it will use the cached resolved plugins that it has already found which means that no assembly scanning is necessary. This leads
+ to much faster startup times.
+
+
+
+
+ Creates a new PluginManager with an ApplicationContext instance which ensures that the plugin xml
+ file is cached temporarily until app startup completes.
+
+
+
+
+
+
+
+
+ Writes the assembly hash file
+
+
+
+
+ Returns a unique hash for the combination of FileInfo objects passed in
+
+
+ A collection of files and whether or not to use their file contents to determine the hash or the file's properties
+ (true will make a hash based on it's contents)
+
+
+
+
+
+ Converts the hash value of current plugins to long from string
+
+
+
+
+
+
+ Attempts to resolve the list of plugin + assemblies found in the runtime for the base type 'T' passed in.
+ If the cache file doesn't exist, fails to load, is corrupt or the type 'T' element is not found then
+ a false attempt is returned.
+
+
+
+
+
+
+ Removes cache files and internal cache as well
+
+
+ Generally only used for resetting cache, for example during the install process
+
+
+
+
+ This will return true if the plugin list file is a legacy one
+
+
+
+ This method exists purely due to an error in 4.11. We were writing the plugin list file without the
+ type resolution kind which will have caused some problems. Now we detect this legacy file and if it is detected
+ we remove it so it can be recreated properly.
+
+
+
+
+ Adds/Updates the type list for the base type 'T' in the cached file
+
+
+
+
+
+ THIS METHOD IS NOT THREAD SAFE
+
+
+
+
+
+
+
+
+ ]]>
+
+
+
+
+ Returns all found property editors (based on the resolved Iparameter editors - this saves a scan)
+
+
+
+
+ Returns all found parameter editors (which includes property editors)
+
+
+
+
+ Returns all available IApplicationStartupHandler objects
+
+
+
+
+
+ Returns all classes of type ICacheRefresher
+
+
+
+
+
+ Returns all available IPropertyEditorValueConverter
+
+
+
+
+
+ Returns all available IDataType in application
+
+
+
+
+
+ Returns all available IMacroGuiRendering in application
+
+
+
+
+
+ Returns all available IPackageAction in application
+
+
+
+
+
+ Returns all available IAction in application
+
+
+
+
+
+ Returns all mapper types that have a MapperFor attribute defined
+
+
+
+
+
+ Returns all SqlSyntaxProviders with the SqlSyntaxProviderAttribute
+
+
+
+
+
+ Used to resolve and create instances of the specified type based on the resolved/cached plugin types
+
+
+ set to true if an exception is to be thrown if there is an error during instantiation
+
+
+
+
+
+
+ Used to create instances of the specified type based on the resolved/cached plugin types
+
+
+
+ set to true if an exception is to be thrown if there is an error during instantiation
+
+
+
+
+ Used to create an instance of the specified type based on the resolved/cached plugin types
+
+
+
+
+
+
+
+
+ This method invokes the finder which scans the assemblies for the types and then loads the result into the type finder.
+ Once the results are loaded, we update the cached type xml file
+
+
+
+
+
+ THIS METHODS IS NOT THREAD SAFE
+
+
+
+
+ Generic method to find the specified type and cache the result
+
+
+
+
+
+
+ Generic method to find the specified type that has an attribute and cache the result
+
+
+
+
+
+
+
+ Generic method to find any type that has the specified attribute
+
+
+
+
+
+
+ Used for unit tests
+
+
+
+
+
+ We will ensure that no matter what, only one of these is created, this is to ensure that caching always takes place
+
+
+ The setter is generally only used for unit tests
+
+
+
+
+ Returns a bool if the assemblies in the /bin, app_code, global.asax, etc... have changed since they were last hashed.
+
+
+
+
+ Returns the currently cached hash value of the scanned assemblies in the /bin folder. Returns 0
+ if no cache is found.
+
+
+
+
+
+ Returns the current assemblies hash based on creating a hash from the assemblies in the /bin
+
+
+
+
+
+ Gets/sets which assemblies to scan when type finding, generally used for unit testing, if not explicitly set
+ this will search all assemblies known to have plugins and exclude ones known to not have them.
+
+
+
+
+ The type of resolution being invoked
+
+
+
+
+ Returns true if the current TypeList is of the same lookup type
+
+
+
+
+
+
+
+ This class is used simply to determine that a plugin was not found in the cache plugin list with the specified
+ TypeResolutionKind.
+
+
+
+
+ Returns the underlying (non-typed) file system provider for the alias specified
+
+
+
+
+ It is recommended to use the typed GetFileSystemProvider method instead to get a strongly typed provider instance.
+
+
+
+
+ Returns the strongly typed file system provider
+
+
+
+
+
+
+ used to cache the lookup of how to construct this object so we don't have to reflect each time.
+
+
+
+
+ Verifies that the current filepath matches a directory where the user is allowed to edit a file.
+
+ The filepath to validate.
+ The valid directory.
+ A value indicating whether the filepath is valid.
+
+
+
+ Validates that the current filepath matches a directory where the user is allowed to edit a file.
+
+ The filepath to validate.
+ The valid directory.
+ True, if the filepath is valid, else an exception is thrown.
+ The filepath is invalid.
+
+
+
+ Verifies that the current filepath matches one of several directories where the user is allowed to edit a file.
+
+ The filepath to validate.
+ The valid directories.
+ A value indicating whether the filepath is valid.
+
+
+
+ Validates that the current filepath matches one of several directories where the user is allowed to edit a file.
+
+ The filepath to validate.
+ The valid directories.
+ True, if the filepath is valid, else an exception is thrown.
+ The filepath is invalid.
+
+
+
+ Verifies that the current filepath has one of several authorized extensions.
+
+ The filepath to validate.
+ The valid extensions.
+ A value indicating whether the filepath is valid.
+
+
+
+ Validates that the current filepath has one of several authorized extensions.
+
+ The filepath to validate.
+ The valid extensions.
+ True, if the filepath is valid, else an exception is thrown.
+ The filepath is invalid.
+
+
+
+ Returns the path to the root of the application, by getting the path to where the assembly where this
+ method is included is present, then traversing until it's past the /bin directory. Ie. this makes it work
+ even if the assembly is in a /bin/debug or /bin/release folder
+
+
+
+
+
+ Allows you to overwrite RootDirectory, which would otherwise be resolved
+ automatically upon application start.
+
+ The supplied path should be the absolute path to the root of the umbraco site.
+
+
+
+
+ Check to see if filename passed has any special chars in it and strips them to create a safe filename. Used to overcome an issue when Umbraco is used in IE in an intranet environment.
+
+ The filename passed to the file handler from the upload field.
+ A safe filename without any path specific chars.
+
+
+
+ Gets the relative path.
+
+ The full path or url.
+ The path, relative to this filesystem's root.
+
+ The relative path is relative to this filesystem's root, not starting with any
+ directory separator. If input was recognized as a url (path), then output uses url (path) separator
+ chars.
+
+
+
+
+ Gets the full path.
+
+ The full or relative path.
+ The full path.
+
+ On the physical filesystem, the full path is the rooted (ie non-relative), safe (ie within this
+ filesystem's root) path. All separators are converted to Path.DirectorySeparatorChar.
+
+
+
+
+ Gets the root path of the application
+
+
+
+
+ String extension methods
+
+
+
+
+ Based on the input string, this will detect if the strnig is a JS path or a JS snippet.
+ If a path cannot be determined, then it is assumed to be a snippet the original text is returned
+ with an invalid attempt, otherwise a valid attempt is returned with the resolved path
+
+
+
+
+ This is only used for legacy purposes for the Action.JsSource stuff and shouldn't be needed in v8
+
+
+
+
+ This tries to detect a json string, this is not a fail safe way but it is quicker than doing
+ a try/catch when deserializing when it is not json.
+
+
+
+
+
+
+ Returns a JObject/JArray instance if the string can be converted to json, otherwise returns the string
+
+
+
+
+
+
+ Cleans string to aid in preventing xss attacks.
+
+
+
+
+
+
+
+ Returns a stream from a string
+
+
+
+
+
+
+
+ Encrypt the string using the MachineKey in medium trust
+
+ The string value to be encrypted.
+ The encrypted string.
+
+
+
+ Decrypt the encrypted string using the Machine key in medium trust
+
+ The string value to be decrypted
+ The decrypted string.
+
+
+
+ Trims the specified value from a string; accepts a string input whereas the in-built implementation only accepts char or char[].
+
+ The value.
+ For removing.
+
+
+
+ Is null or white space.
+ The str.
+ The is null or white space.
+
+
+ The to delimited list.
+ The list.
+ The delimiter.
+ the list
+
+
+ enum try parse.
+ The str type.
+ The ignore case.
+ The result.
+ The type
+ The enum try parse.
+
+
+
+ Parse string to Enum
+
+ The enum type
+ The string to parse
+ The ignore case
+ The parsed enum
+
+
+
+ Strips all html from a string.
+
+ The text.
+ Returns the string without any html tags.
+
+
+
+ Encodes as GUID.
+
+ The input.
+
+
+
+
+ Converts to hex.
+
+ The input.
+
+
+
+
+ Encodes a string to a safe URL base64 string
+
+
+
+
+
+
+ Decodes a URL safe base64 string back
+
+
+
+
+
+
+ formats the string with invariant culture
+
+ The format.
+ The args.
+
+
+
+
+ Converts an integer to an invariant formatted string
+
+
+
+
+
+
+ Compares 2 strings with invariant culture and case ignored
+
+ The compare.
+ The compare to.
+
+
+
+
+ Determines if the string is a Guid
+
+
+
+
+
+
+
+ Tries to parse a string into the supplied type by finding and using the Type's "Parse" method
+
+
+
+
+
+
+
+ Tries to parse a string into the supplied type by finding and using the Type's "Parse" method
+
+
+
+
+
+
+
+ Converts the string to MD5
+
+ referrs to itself
+ the md5 hashed string
+
+
+
+ Decodes a string that was encoded with UrlTokenEncode
+
+
+
+
+
+
+ Encodes a string so that it is 'safe' for URLs, files, etc..
+
+
+
+
+
+
+ Ensures that the folder path endds with a DirectorySeperatorChar
+
+
+
+
+
+
+ Truncates the specified text string.
+
+ The text.
+ Length of the max.
+ The suffix.
+
+
+
+
+ Strips carrage returns and line feeds from the specified text.
+
+ The input.
+
+
+
+
+ Returns a copy of the string with the first character converted to uppercase.
+
+ The string.
+ The converted string.
+
+
+
+ Returns a copy of the string with the first character converted to lowercase.
+
+ The string.
+ The converted string.
+
+
+
+ Returns a copy of the string with the first character converted to uppercase using the casing rules of the specified culture.
+
+ The string.
+ The culture.
+ The converted string.
+
+
+
+ Returns a copy of the string with the first character converted to lowercase using the casing rules of the specified culture.
+
+ The string.
+ The culture.
+ The converted string.
+
+
+
+ Returns a copy of the string with the first character converted to uppercase using the casing rules of the invariant culture.
+
+ The string.
+ The converted string.
+
+
+
+ Returns a copy of the string with the first character converted to lowercase using the casing rules of the invariant culture.
+
+ The string.
+ The converted string.
+
+
+
+ Returns a new string in which all occurences of specified strings are replaced by other specified strings.
+
+ The string to filter.
+ The replacements definition.
+ The filtered string.
+
+
+
+ Returns a new string in which all occurences of specified characters are replaced by a specified character.
+
+ The string to filter.
+ The characters to replace.
+ The replacement character.
+ The filtered string.
+
+
+
+ Converts string to a URL alias.
+
+ The value.
+ The char replacements.
+ if set to true replace double dashes.
+ if set to true strip non ASCII.
+ if set to true URL encode.
+
+
+ This ensures that ONLY ascii chars are allowed and of those ascii chars, only digits and lowercase chars, all
+ punctuation, etc... are stripped out, however this method allows you to pass in string's to replace with the
+ specified replacement character before the string is converted to ascii and it has invalid characters stripped out.
+ This allows you to replace strings like & , etc.. with your replacement character before the automatic
+ reduction.
+
+
+
+
+ Cleans a string to produce a string that can safely be used in an url segment.
+
+ The text to filter.
+ The safe url segment.
+
+ When using the legacy ShortStringHelper, uses UmbracoSettings.UrlReplaceCharacters
+ and UmbracoSettings.RemoveDoubleDashesFromUrlReplacing.
+ Other helpers may use different parameters.
+
+
+
+
+ Cleans a string to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The safe alias.
+
+
+
+ Cleans a string to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ A value indicating that we want to camel-case the alias.
+ The safe alias.
+
+
+
+ Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The culture.
+ The safe alias.
+
+
+
+ Cleans (but only if required) a string to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The safe alias.
+ Checks UmbracoSettings.ForceSafeAliases to determine whether it should filter the text.
+
+
+
+ Cleans (but only if required) a string, in the context of a specified culture, to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The culture.
+ The safe alias.
+ Checks UmbracoSettings.ForceSafeAliases to determine whether it should filter the text.
+
+
+
+ Cleans a string to produce a string that can safely be used in an alias.
+
+ The text to filter.
+ The case type. THIS PARAMETER IS IGNORED.
+ Indicates whether spaces should be removed. THIS PARAMETER IS IGNORED.
+ The safe alias.
+ CamelCase, and remove spaces, whatever the parameters.
+
+
+
+ Cleans a string to produce a string that can safely be used in an url segment.
+
+ The text to filter.
+ The safe url segment.
+
+
+
+ Cleans a string, in the context of a specified culture, to produce a string that can safely be used in an url segment.
+
+ The text to filter.
+ The culture.
+ The safe url segment.
+
+
+
+ Filters a string to convert case, and more.
+
+ the text to filter.
+ The string case type.
+ The filtered text.
+
+ This is the legacy method, so we can't really change it, although it has issues (see unit tests).
+ It does more than "converting the case", and also remove spaces, etc.
+
+
+
+
+ Cleans a string.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The clean string.
+ The string is cleaned in the context of the IShortStringHelper default culture.
+
+
+
+ Cleans a string, using a specified separator.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The separator.
+ The clean string.
+ The string is cleaned in the context of the IShortStringHelper default culture.
+
+
+
+ Cleans a string in the context of a specified culture.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The culture.
+ The clean string.
+
+
+
+ Cleans a string in the context of a specified culture, using a specified separator.
+
+ The text to clean.
+ A flag indicating the target casing and encoding of the string. By default,
+ strings are cleaned up to camelCase and Ascii.
+ The separator.
+ The culture.
+ The clean string.
+
+
+
+ Splits a Pascal cased string into a phrase separated by spaces.
+
+ The text to split.
+ The splitted text.
+
+
+
+ Cleans a string, in the context of the invariant culture, to produce a string that can safely be used as a filename,
+ both internally (on disk) and externally (as a url).
+
+ The text to filter.
+ The safe filename.
+
+
+
+ Cleans a string, in the context of the invariant culture, to produce a string that can safely be used as a filename,
+ both internally (on disk) and externally (as a url).
+
+ The text to filter.
+ The culture.
+ The safe filename.
+
+
+
+ An extension method that returns a new string in which all occurrences of a
+ specified string in the current instance are replaced with another specified string.
+ StringComparison specifies the type of search to use for the specified string.
+
+ Current instance of the string
+ Specified string to replace
+ Specified string to inject
+ String Comparison object to specify search type
+ Updated string
+
+
+
+ Converts a literal string into a C# expression.
+
+ Current instance of the string.
+ The string in a C# format.
+
+
+
+ An extension method that returns a new string in which all occurrences of an
+ unicode characters that are invalid in XML files are replaced with an empty string.
+
+ Current instance of the string
+ Updated string
+
+
+ removes any unusual unicode characters that can't be encoded into XML
+
+
+
+
+ Converts a string to a Guid - WARNING, depending on the string, this may not be unique
+
+
+
+
+
+
+ Gets the short string helper.
+
+ This is so that unit tests that do not initialize the resolver do not
+ fail and fall back to defaults. When running the whole Umbraco, CoreBootManager
+ does initialise the resolver.
+
+
+
+ Provides extension methods to .
+
+
+
+
+ Checks if the current uri is a back office request
+
+
+
+ The current application path or VirtualPath
+
+
+
+ There are some special routes we need to check to properly determine this:
+
+ If any route has an extension in the path like .aspx = back office
+
+ These are def back office:
+ /Umbraco/RestServices = back office
+ /Umbraco/BackOffice = back office
+ If it's not any of the above, and there's no extension then we cannot determine if it's back office or front-end
+ so we can only assume that it is not back office. This will occur if people use an UmbracoApiController for the backoffice
+ but do not inherit from UmbracoAuthorizedApiController and do not use [IsBackOffice] attribute.
+
+ These are def front-end:
+ /Umbraco/Surface = front-end
+ /Umbraco/Api = front-end
+ But if we've got this far we'll just have to assume it's front-end anyways.
+
+
+
+
+
+ Checks if the current uri is an install request
+
+
+
+
+
+
+ Checks if the uri is a request for the default back office page
+
+
+
+
+
+
+ This is a performance tweak to check if this not an ASP.Net server file
+ .Net will pass these requests through to the module when in integrated mode.
+ We want to ignore all of these requests immediately.
+
+
+
+
+
+
+ Rewrites the path of uri.
+
+ The uri.
+ The new path, which must begin with a slash.
+ The rewritten uri.
+ Everything else remains unchanged, except for the fragment which is removed.
+
+
+
+ Rewrites the path and query of a uri.
+
+ The uri.
+ The new path, which must begin with a slash.
+ The new query, which must be empty or begin with a question mark.
+ The rewritten uri.
+ Everything else remains unchanged, except for the fragment which is removed.
+
+
+
+ Gets the absolute path of the uri, even if the uri is relative.
+
+ The uri.
+ The absolute path of the uri.
+ Default uri.AbsolutePath does not support relative uris.
+
+
+
+ Gets the decoded, absolute path of the uri.
+
+ The uri.
+ The absolute path of the uri.
+ Only for absolute uris.
+
+
+
+ Gets the decoded, absolute path of the uri, even if the uri is relative.
+
+ The uri.
+ The absolute path of the uri.
+ Default uri.AbsolutePath does not support relative uris.
+
+
+
+ Rewrites the path of the uri so it ends with a slash.
+
+ The uri.
+ The rewritten uri.
+ Everything else remains unchanged.
+
+
+
+ Rewrites the path of the uri so it does not end with a slash.
+
+ The uri.
+ The rewritten uri.
+ Everything else remains unchanged.
+
+
+
+ Transforms a relative uri into an absolute uri.
+
+ The relative uri.
+ The base absolute uri.
+ The absolute uri.
+
+
+
+ Removes the port from the uri.
+
+ The uri.
+ The same uri, without its port.
+
+
+
+ Static helper methods for returning information about the current System
+
+
+
+
+ Get the current trust level of the hosted application
+
+
+
+
+
+ Provides a convenience methodology for implementing locked access to resources.
+
+
+ Intended as an infrastructure class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The rw lock.
+
+
+
+ Extension methods for xml objects
+
+
+
+
+ Saves the xml document async
+
+
+
+
+
+
+
+ Selects a list of XmlNode matching an XPath expression.
+
+ A source XmlNode.
+ An XPath expression.
+ A set of XPathVariables.
+ The list of XmlNode matching the XPath expression.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Selects a list of XmlNode matching an XPath expression.
+
+ A source XmlNode.
+ An XPath expression.
+ A set of XPathVariables.
+ The list of XmlNode matching the XPath expression.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Selects a list of XmlNode matching an XPath expression.
+
+ A source XmlNode.
+ An XPath expression.
+ A set of XPathVariables.
+ The list of XmlNode matching the XPath expression.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Selects a list of XmlNode matching an XPath expression.
+
+ A source XmlNode.
+ An XPath expression.
+ A set of XPathVariables.
+ The list of XmlNode matching the XPath expression.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Selects the first XmlNode that matches an XPath expression.
+
+ A source XmlNode.
+ An XPath expression.
+ A set of XPathVariables.
+ The first XmlNode that matches the XPath expression.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Selects the first XmlNode that matches an XPath expression.
+
+ A source XmlNode.
+ An XPath expression.
+ A set of XPathVariables.
+ The first XmlNode that matches the XPath expression.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Selects the first XmlNode that matches an XPath expression.
+
+ A source XmlNode.
+ An XPath expression.
+ A set of XPathVariables.
+ The first XmlNode that matches the XPath expression.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Selects the first XmlNode that matches an XPath expression.
+
+ A source XmlNode.
+ An XPath expression.
+ A set of XPathVariables.
+ The first XmlNode that matches the XPath expression.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Converts from an XDocument to an XmlDocument
+
+
+
+
+
+
+ Converts from an XmlDocument to an XDocument
+
+
+
+
+
+
+ Converts from an XmlElement to an XElement
+
+
+
+
+
+
+ The XmlHelper class contains general helper methods for working with xml in umbraco.
+
+
+
+
+ Gets a value indicating whether a specified string contains only xml whitespace characters.
+
+ The string.
+ true if the string contains only xml whitespace characters.
+ As per XML 1.1 specs, space, \t, \r and \n.
+
+
+
+ Creates a new XPathDocument from an xml string.
+
+ The xml string.
+ An XPathDocument created from the xml string.
+
+
+
+ Tries to create a new XPathDocument from an xml string.
+
+ The xml string.
+ The XPath document.
+ A value indicating whether it has been possible to create the document.
+
+
+
+ Tries to create a new XPathDocument from a property value.
+
+ The value of the property.
+ The XPath document.
+ A value indicating whether it has been possible to create the document.
+ The value can be anything... Performance-wise, this is bad.
+
+
+
+ Tries to create a new XElement from a property value.
+
+ The value of the property.
+ The Xml element.
+ A value indicating whether it has been possible to create the element.
+ The value can be anything... Performance-wise, this is bad.
+
+
+
+ Sorts the children of a parentNode.
+
+ The parent node.
+ An XPath expression to select children of to sort.
+ A function returning the value to order the nodes by.
+
+
+
+ Sorts the children of a parentNode if needed.
+
+ The parent node.
+ An XPath expression to select children of to sort.
+ A function returning the value to order the nodes by.
+ A value indicating whether sorting was needed.
+ same as SortNodes but will do nothing if nodes are already sorted - should improve performances.
+
+
+
+ Sorts a single child node of a parentNode.
+
+ The parent node.
+ An XPath expression to select children of to sort.
+ The child node to sort.
+ A function returning the value to order the nodes by.
+ A value indicating whether sorting was needed.
+ Assuming all nodes but are sorted, this will move the node to
+ the right position without moving all the nodes (as SortNodes would do) - should improve perfs.
+
+
+
+ Imports a XML node from text.
+
+ The text.
+ The XML doc.
+
+
+
+
+ Opens a file as a XmlDocument.
+
+ The relative file path. ei. /config/umbraco.config
+ Returns a XmlDocument class
+
+
+
+ creates a XmlAttribute with the specified name and value
+
+ The xmldocument.
+ The name of the attribute.
+ The value of the attribute.
+ a XmlAttribute
+
+
+
+ Creates a text XmlNode with the specified name and value
+
+ The xmldocument.
+ The node name.
+ The node value.
+ a XmlNode
+
+
+
+ Creates a cdata XmlNode with the specified name and value
+
+ The xmldocument.
+ The node name.
+ The node value.
+ A XmlNode
+
+
+
+ Gets the value of a XmlNode
+
+ The XmlNode.
+ the value as a string
+
+
+
+ Determines whether the specified string appears to be XML.
+
+ The XML string.
+
+ true if the specified string appears to be XML; otherwise, false.
+
+
+
+
+ Splits the specified delimited string into an XML document.
+
+ The data.
+ The separator.
+ Name of the root.
+ Name of the element.
+ Returns an System.Xml.XmlDocument representation of the delimited string data.
+
+
+
+ Splits the specified delimited string into an XML document.
+
+ The XML document.
+ The delimited string data.
+ The separator.
+ Name of the root node.
+ Name of the element node.
+ Returns an System.Xml.XmlDocument representation of the delimited string data.
+
+
+
+ Return a dictionary of attributes found for a string based tag
+
+
+
+
+
+
+ This is used to parse our customize Umbraco XPath expressions (i.e. that include special tokens like $site) into
+ a real XPath statement
+
+
+
+
+ Parses custom umbraco xpath expression
+
+ The Xpath expression
+
+ The current node id context of executing the query - null if there is no current node, in which case
+ some of the parameters like $current, $parent, $site will be disabled
+
+ The callback to create the nodeId path, given a node Id
+ The callback to return whether a published node exists based on Id
+
+
+
+
+ Provides a cursor model for navigating {macro /} as if it were XML.
+
+
+
+
+ Initializes a new instance of the class with macro parameters.
+
+ The macro parameters.
+
+
+
+ Initializes a new instance of the class with a macro node,
+ a name table and a state.
+
+ The macro node.
+ The name table.
+ The state.
+ Privately used for cloning a navigator.
+
+
+
+ Creates a new XPathNavigator positioned at the same node as this XPathNavigator.
+
+ A new XPathNavigator positioned at the same node as this XPathNavigator.
+
+
+
+ Determines whether the current XPathNavigator is at the same position as the specified XPathNavigator.
+
+ The XPathNavigator to compare to this XPathNavigator.
+ true if the two XPathNavigator objects have the same position; otherwise, false.
+
+
+
+ Moves the XPathNavigator to the same position as the specified XPathNavigator.
+
+ The XPathNavigator positioned on the node that you want to move to.
+ Returns true if the XPathNavigator is successful moving to the same position as the specified XPathNavigator;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the first attribute of the current node.
+
+ Returns true if the XPathNavigator is successful moving to the first attribute of the current node;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the first child node of the current node.
+
+ Returns true if the XPathNavigator is successful moving to the first child node of the current node;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the first namespace node that matches the XPathNamespaceScope specified.
+
+ An XPathNamespaceScope value describing the namespace scope.
+ Returns true if the XPathNavigator is successful moving to the first namespace node;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the next namespace node matching the XPathNamespaceScope specified.
+
+ An XPathNamespaceScope value describing the namespace scope.
+ Returns true if the XPathNavigator is successful moving to the next namespace node;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves to the node that has an attribute of type ID whose value matches the specified String.
+
+ A String representing the ID value of the node to which you want to move.
+ true if the XPathNavigator is successful moving; otherwise, false.
+ If false, the position of the navigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the next sibling node of the current node.
+
+ true if the XPathNavigator is successful moving to the next sibling node;
+ otherwise, false if there are no more siblings or if the XPathNavigator is currently
+ positioned on an attribute node. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the previous sibling node of the current node.
+
+ Returns true if the XPathNavigator is successful moving to the previous sibling node;
+ otherwise, false if there is no previous sibling node or if the XPathNavigator is currently
+ positioned on an attribute node. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the next attribute.
+
+ Returns true if the XPathNavigator is successful moving to the next attribute;
+ false if there are no more attributes. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the parent node of the current node.
+
+ Returns true if the XPathNavigator is successful moving to the parent node of the current node;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the root node that the current node belongs to.
+
+
+
+
+ Gets a value indicating whether the current node is an empty element without an end element tag.
+
+
+
+
+ Gets the qualified name of the current node.
+
+
+
+
+ Gets the Name of the current node without any namespace prefix.
+
+
+
+
+ Gets the base URI for the current node.
+
+
+
+
+ Gets the XmlNameTable of the XPathNavigator.
+
+
+
+
+ Gets the namespace URI of the current node.
+
+
+
+
+ Gets the XPathNodeType of the current node.
+
+
+
+
+ Gets the namespace prefix associated with the current node.
+
+
+
+
+ Gets the string value of the item.
+
+ Does not fully behave as per the specs, as we report empty value on root and macro elements, and we start
+ reporting values only on parameter elements. This is because, otherwise, we would might dump the whole database
+ and it probably does not make sense at Umbraco level.
+
+
+
+ Represents the type of a content that can be navigated via XPath.
+
+
+
+
+ Gets the name of the content type.
+
+
+
+
+ Gets the field types of the content type.
+
+ This includes the attributes and the properties.
+
+
+
+ Provides a cursor model for navigating Umbraco data as if it were XML.
+
+
+
+
+ Initializes a new instance of the class with a content source.
+
+
+
+
+ Initializes a new instance of the class with a content source,
+ and an optional root content.
+
+ The content source.
+ The root content.
+ When no root content is supplied then the root of the source is used.
+
+
+
+ Initializes a new instance of the class with a content source, a name table and a state.
+
+ The content source.
+ The name table.
+ The state.
+ Privately used for cloning a navigator.
+
+
+
+ Creates a new XPathNavigator positioned at the same node as this XPathNavigator.
+
+ A new XPathNavigator positioned at the same node as this XPathNavigator.
+
+
+
+ Creates a new XPathNavigator using the same source but positioned at a new root.
+
+ A new XPathNavigator using the same source and positioned at a new root.
+ The new root can be above this navigator's root.
+
+
+
+ Determines whether the current XPathNavigator is at the same position as the specified XPathNavigator.
+
+ The XPathNavigator to compare to this XPathNavigator.
+ true if the two XPathNavigator objects have the same position; otherwise, false.
+
+
+
+ Moves the XPathNavigator to the same position as the specified XPathNavigator.
+
+ The XPathNavigator positioned on the node that you want to move to.
+ Returns true if the XPathNavigator is successful moving to the same position as the specified XPathNavigator;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the first attribute of the current node.
+
+ Returns true if the XPathNavigator is successful moving to the first attribute of the current node;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the first child node of the current node.
+
+ Returns true if the XPathNavigator is successful moving to the first child node of the current node;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the first namespace node that matches the XPathNamespaceScope specified.
+
+ An XPathNamespaceScope value describing the namespace scope.
+ Returns true if the XPathNavigator is successful moving to the first namespace node;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the next namespace node matching the XPathNamespaceScope specified.
+
+ An XPathNamespaceScope value describing the namespace scope.
+ Returns true if the XPathNavigator is successful moving to the next namespace node;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves to the node that has an attribute of type ID whose value matches the specified String.
+
+ A String representing the ID value of the node to which you want to move.
+ true if the XPathNavigator is successful moving; otherwise, false.
+ If false, the position of the navigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the next sibling node of the current node.
+
+ true if the XPathNavigator is successful moving to the next sibling node;
+ otherwise, false if there are no more siblings or if the XPathNavigator is currently
+ positioned on an attribute node. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the previous sibling node of the current node.
+
+ Returns true if the XPathNavigator is successful moving to the previous sibling node;
+ otherwise, false if there is no previous sibling node or if the XPathNavigator is currently
+ positioned on an attribute node. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the next attribute.
+
+ Returns true if the XPathNavigator is successful moving to the next attribute;
+ false if there are no more attributes. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the parent node of the current node.
+
+ Returns true if the XPathNavigator is successful moving to the parent node of the current node;
+ otherwise, false. If false, the position of the XPathNavigator is unchanged.
+
+
+
+ Moves the XPathNavigator to the root node that the current node belongs to.
+
+
+
+
+ Gets the underlying content object.
+
+
+
+
+ Gets a value indicating whether the current node is an empty element without an end element tag.
+
+
+
+
+ Gets the qualified name of the current node.
+
+
+
+
+ Gets the Name of the current node without any namespace prefix.
+
+
+
+
+ Gets the base URI for the current node.
+
+
+
+
+ Gets the XmlNameTable of the XPathNavigator.
+
+
+
+
+ Gets the namespace URI of the current node.
+
+
+
+
+ Gets the XPathNodeType of the current node.
+
+
+
+
+ Gets the namespace prefix associated with the current node.
+
+
+
+
+ Gets the string value of the item.
+
+ Does not fully behave as per the specs, as we report empty value on content elements, and we start
+ reporting values only on property elements. This is because, otherwise, we would dump the whole database
+ and it probably does not make sense at Umbraco level.
+
+
+
+ Represents a content that can be navigated via XPath.
+
+
+
+
+ Gets the value of a field of the navigable content for XPath navigation use.
+
+ The field index.
+ The value of the field for XPath navigation use.
+
+ Fields are attributes or elements depending on their relative index value compared
+ to source.LastAttributeIndex.
+ For attributes, the value must be a string.
+ For elements, the value should an XPathNavigator instance if the field is xml
+ and has content (is not empty), null to indicate that the element is empty, or a string
+ which can be empty, whitespace... depending on what the data type wants to expose.
+
+
+
+
+ Gets the unique identifier of the navigable content.
+
+ The root node identifier should be -1.
+
+
+
+ Gets the unique identifier of parent of the navigable content.
+
+ The top-level content parent identifiers should be -1 ie the identifier
+ of the root node, whose parent identifier should in turn be -1.
+
+
+
+ Gets the type of the navigable content.
+
+
+
+
+ Gets the unique identifiers of the children of the navigable content.
+
+
+
+
+ Represents the type of a field of a content that can be navigated via XPath.
+
+ A field can be an attribute or a property.
+
+
+
+ Gets the name of the field type.
+
+
+
+
+ Gets a method to convert the field value to a string.
+
+ This is for built-in properties, ie attributes. User-defined properties have their
+ own way to convert their value for XPath.
+
+
+
+ Represents a source of content that can be navigated via XPath.
+
+
+
+
+ Gets a content identified by its unique identifier.
+
+ The unique identifier.
+ The content identified by the unique identifier, or null.
+ When id is -1 (root content) implementations should return null.
+
+
+
+ Gets the index of the last attribute in the fields collections.
+
+
+
+
+ Gets the content at the root of the source.
+
+ That content should have unique identifier -1 and should not be gettable,
+ ie Get(-1) should return null. Its ParentId should be -1. It should provide
+ values for the attribute fields.
+
+
+
+ Provides the evaluation context for fast execution and custom
+ variables resolution.
+
+
+ This class is responsible for resolving variables during dynamic expression execution.
+ Discussed in http://weblogs.asp.net/cazzu/archive/2003/10/07/30888.aspx
+ Author: Daniel Cazzulino, blog
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the
+ class with the specified .
+
+ The NameTable to use.
+
+
+
+ Initializes a new instance of the class.
+
+ A previously filled context with the namespaces to use.
+
+
+
+ Initializes a new instance of the class.
+
+ A previously filled context with the namespaces to use.
+ The NameTable to use.
+
+
+
+ Implementation equal to .
+
+
+
+
+ Same as .
+
+
+
+
+ Same as .
+
+
+
+
+ Same as .
+
+
+
+
+ Shortcut method that compiles an expression using an empty navigator.
+
+ The expression to compile
+ A compiled .
+
+
+
+ Adds the variable to the dynamic evaluation context.
+
+ The name of the variable to add to the context.
+ The value of the variable to add to the context.
+
+ Value type conversion for XPath evaluation is as follows:
+
+
+ CLR Type
+ XPath type
+
+
+ System.String
+ XPathResultType.String
+
+
+ System.Double (or types that can be converted to)
+ XPathResultType.Number
+
+
+ System.Boolean
+ XPathResultType.Boolean
+
+
+ System.Xml.XPath.XPathNavigator
+ XPathResultType.Navigator
+
+
+ System.Xml.XPath.XPathNodeIterator
+ XPathResultType.NodeSet
+
+
+ Others
+ XPathResultType.Any
+
+
+ See the topic "Compile, Select, Evaluate, and Matches with
+ XPath and XPathExpressions" in MSDN documentation for additional information.
+
+ The is null.
+
+
+
+ See . Not used in our implementation.
+
+
+
+
+ Resolves the dynamic variables added to the context. See .
+
+
+
+
+ Same as .
+
+
+
+
+ Represents a variable during dynamic expression execution.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the variable.
+ The value of the variable.
+
+
+
+ Provides public constants for wellknown XML namespaces.
+
+ Author: Daniel Cazzulino, blog
+
+
+
+ The public XML 1.0 namespace.
+
+ See http://www.w3.org/TR/2004/REC-xml-20040204/
+
+
+
+ Public Xml Namespaces specification namespace.
+
+ See http://www.w3.org/TR/REC-xml-names/
+
+
+
+ Public Xml Namespaces prefix.
+
+ See http://www.w3.org/TR/REC-xml-names/
+
+
+
+ XML Schema instance namespace.
+
+ See http://www.w3.org/TR/xmlschema-1/
+
+
+
+ XML 1.0 Schema namespace.
+
+ See http://www.w3.org/TR/xmlschema-1/
+
+
+
+ Creates an instance of a that allows
+ enumerating elements in the iterator.
+
+ The result of a previous node selection
+ through an query.
+ An initialized list ready to be enumerated.
+ The underlying XML store used to issue the query must be
+ an object inheriting , such as
+ .
+
+
+
+ Reads the entire iterator.
+
+
+
+
+ Reads up to the specified index, or until the
+ iterator is consumed.
+
+
+
+
+ Flags that the iterator has been consumed.
+
+
+
+
+ Current count of nodes in the iterator (read so far).
+
+
+
+
+ Provides extensions to XPathNavigator.
+
+
+
+
+ Selects a node set, using the specified XPath expression.
+
+ A source XPathNavigator.
+ An XPath expression.
+ A set of XPathVariables.
+ An iterator over the nodes matching the specified expression.
+
+
+
+ Selects a node set, using the specified XPath expression.
+
+ A source XPathNavigator.
+ An XPath expression.
+ A set of XPathVariables.
+ An iterator over the nodes matching the specified expression.
+
+
+
+ Represents a variable in an XPath query.
+
+ The name must be foo in the constructor and $foo in the XPath query.
+
+
+
+ Initializes a new instance of the class with a name and a value.
+
+
+
+
+
+
+ Gets or sets the name of the variable.
+
+
+
+
+ Gets or sets the value of the variable.
+
+
+
+
diff --git a/Blog/bin/Umbraco.Examine.Linq.dll b/Blog/bin/Umbraco.Examine.Linq.dll
new file mode 100644
index 0000000..0347dc5
Binary files /dev/null and b/Blog/bin/Umbraco.Examine.Linq.dll differ
diff --git a/Blog/bin/Umbraco.Examine.Linq.pdb b/Blog/bin/Umbraco.Examine.Linq.pdb
new file mode 100644
index 0000000..e9a8ea1
Binary files /dev/null and b/Blog/bin/Umbraco.Examine.Linq.pdb differ
diff --git a/Blog/bin/Umbraco.Web.UI.dll b/Blog/bin/Umbraco.Web.UI.dll
new file mode 100644
index 0000000..2753acd
Binary files /dev/null and b/Blog/bin/Umbraco.Web.UI.dll differ
diff --git a/Blog/bin/Umbraco.Web.UI.xml b/Blog/bin/Umbraco.Web.UI.xml
new file mode 100644
index 0000000..717e0ad
--- /dev/null
+++ b/Blog/bin/Umbraco.Web.UI.xml
@@ -0,0 +1,1197 @@
+
+
+
+ Umbraco.Web.UI
+
+
+
+
+ pl_loadStarterKits control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rep_starterKits control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ LinkButton1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ LinkButton2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Returns the string for the package installer web service base url
+
+
+
+
+ Flag to show if we can connect to the repo or not
+
+
+
+
+ Form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Raises the event.
+
+ The object that contains the event data.
+
+
+
+ JsInclude control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ResetPlaceHolder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CurrentPasswordPlaceHolder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CurrentPasswordValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NewPasswordRequiredValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NewPasswordLengthValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Div1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ AccessError control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ FileName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ EndsWithValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PartialViewTemplate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Textbox1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sbmt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ FileName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ EndsWithValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PartialViewTemplate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CreateMacroCheckBox control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ MacroExistsValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Textbox2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ SubmitButton control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Validation to Check if Login Name Exists
+
+
+
+
+
+
+ Validation to Check if Member with email Exists
+
+
+
+
+
+
+ validationSummary control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ loginRequired control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ loginExistsCheck control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Login control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ emailRequired control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ emailExistsCheck control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ EmailValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Email control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Textbox1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sbmt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ProgBar1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ProgressBar1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ProgressBar2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ClientLoader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude6 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude11 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude12 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ container control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ This ensures that the SelectedPartialView txt box value is set correctly when the m_macro object's
+ ScriptingFile property contains a full virtual path beginning with the MacroPartials path
+
+
+
+
+
+
+
+ This changes the macro type to a PartialViewMacro if the SelectedPartialView txt box has a value.
+ This then also updates the file path saved for the partial view to be the full virtual path, not just the file name.
+
+
+
+
+
+
+
+
+ Populate the drop down list for partial view files
+
+
+
+
+ Get the list of partial view files in the ~/Views/MacroPartials folder and in all
+ folders of ~/App_Plugins/[PackageName]/Views/MacroPartials
+
+
+
+
+
+
+
+
+ Binds the drop down list but ensures that the macro param type exists if it doesn't the drop down will be left blank
+
+
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ SelectedPartialView control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PartialViewList control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Output control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ fb control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ StarterKitNotInstalled control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ph_starterkits control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ installationCompleted control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ InstallationDirectoryNotAvailable control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ChangeDocTypePane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ContentNamePropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ContentNameLabel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CurrentTypePropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CurrentTypeLabel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NewTypePropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NewDocumentTypeList control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NewDocumentTypeValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NewTemplatePropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NewTemplateList control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NotAvailablePlaceholder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ChangeDocTypePropertyMappingPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyMappingRepeater control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ SuccessPlaceholder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ SuccessMessage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertiesMappedMessage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ContentPublishedMessage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ValidationPlaceholder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ValidationError control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ SaveAndCancelPlaceholder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ SavePlaceholder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ValidateAndSave control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Sets the macro propery count if the macro object has been loaded
+
+
+
+ The macro property will only have been loaded on a post back from the first screen after selecting a macro, otherwise it will be zero.
+
+
+
+
+ Returns the number of macro properties defined on the macro found
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ProgBar1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ DocType control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ DocType control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ allowedTemplates control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ defaultTemplate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Configure the editor for partial view editing
+
+
+
+
+ Configure the editor for editing a template
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane8 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_source control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ editorSource control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_name control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PathPrefix control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NameTxt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_alias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ AliasTxt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_masterTemplate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ MasterTemplate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Returns the type of view being edited
+
+
+
+
+ This view is shared between different trees so we'll look for the query string
+
+
+
+
+ Returns the original file name that the editor was loaded with
+
+
+ this is used for editing a partial view
+
+
+
+
+ The type of MVC/Umbraco view the editor is editing
+
+
+
+
+ Head1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ClientLoader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ScriptManager1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JTree control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
diff --git a/Blog/bin/UmbracoExamine.dll b/Blog/bin/UmbracoExamine.dll
new file mode 100644
index 0000000..5baca4d
Binary files /dev/null and b/Blog/bin/UmbracoExamine.dll differ
diff --git a/Blog/bin/UmbracoExamine.xml b/Blog/bin/UmbracoExamine.xml
new file mode 100644
index 0000000..2034911
--- /dev/null
+++ b/Blog/bin/UmbracoExamine.xml
@@ -0,0 +1,785 @@
+
+
+
+ UmbracoExamine
+
+
+
+
+ An abstract provider containing the basic functionality to be able to query against
+ Umbraco data.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor to allow for creating an indexer at runtime
+
+
+
+
+
+
+
+
+ Used for unit tests
+
+
+
+
+ Setup the properties for the indexer from the provider settings
+
+
+
+
+
+
+ Used to aquire the internal searcher
+
+
+
+
+ override to check if we can actually initialize.
+
+
+ This check is required since the base examine lib will try to rebuild on startup
+
+
+
+
+ override to check if we can actually initialize.
+
+
+ This check is required since the base examine lib will try to rebuild on startup
+
+
+
+
+ override to check if we can actually initialize.
+
+
+ This check is required since the base examine lib will try to rebuild on startup
+
+
+
+
+ Returns true if the Umbraco application is in a state that we can initialize the examine indexes
+
+
+
+
+
+ Ensures that the node being indexed is of a correct type and is a descendent of the parent id specified.
+
+
+
+
+
+
+ Reindexes all supported types
+
+
+
+
+ Builds an xpath statement to query against Umbraco data for the index type specified, then
+ initiates the re-indexing of the data matched.
+
+
+
+
+
+ Returns an XDocument for the entire tree stored for the IndexType specified.
+
+ The xpath to the node.
+ The type of data to request from the data service.
+ Either the Content or Media xml. If the type is not of those specified null is returned
+
+
+
+ Adds all nodes with the given xPath root.
+
+ The x path.
+ The type.
+
+
+
+ If true, the IndexingActionHandler will be run to keep the default index up to date.
+
+
+
+
+ Determines if the manager will call the indexing methods when content is saved or deleted as
+ opposed to cache being updated.
+
+
+
+
+ The data service used for retreiving and submitting data to the cms
+
+
+
+
+ the supported indexable types
+
+
+
+
+ Extension methods for IndexSet
+
+
+
+
+ Convert the indexset to indexerdata.
+ This detects if there are no user/system fields specified and if not, uses the data service to look them
+ up and update the in memory IndexSet.
+
+
+
+
+
+
+
+ Returns a list of ALL properties names for all nodes defined in the data source
+
+
+
+
+
+ Returns a list of ALL system property names for all nodes defined in the data source
+
+
+
+
+
+ A Dto object for returning property aliases from PetaPoco
+
+
+
+
+ removes html markup from a string
+
+
+
+
+
+
+ Gets published content by xpath
+
+
+
+
+
+
+ This is quite an intensive operation...
+ get all root content, then get the XML structure for all children,
+ then run xpath against the navigator that's created
+
+
+
+
+
+
+ Check if the node is protected
+
+
+
+
+
+
+
+ Returns a list of all of the user defined property names in Umbraco
+
+
+
+
+
+ Returns a list of all system field names in Umbraco
+
+
+
+
+
+ Data service used to query for media
+
+
+
+
+ This is quite an intensive operation...
+ get all root media, then get the XML structure for all children,
+ then run xpath against the navigator that's created
+
+
+
+
+
+
+ The index types stored in the Lucene Index
+
+
+
+
+ The content index type
+
+
+ Is lower case because the Standard Analyzer requires lower case
+
+
+
+
+ The media index type
+
+
+ Is lower case because the Standard Analyzer requires lower case
+
+
+
+
+ The member index type
+
+
+ Is lower case because the Standard Analyzer requires lower case
+
+
+
+
+ This is only used for backward compatibility to get access to the umbraco.library object but this needs to be done
+ via reflection because of the circular reference we have between Umbraco.Web and UmbracoExamine.
+
+
+
+
+ Used to read data from local temp storage and write to both local storage and main storage
+
+
+
+ Returns true if a file with the given name exists.
+
+
+ Returns the time the named file was last modified.
+
+
+ Set the modified time of an existing file to now.
+
+
+ Removes an existing file in the directory.
+
+
+ Returns the length of a file in the directory.
+
+
+
+ Creates a new, empty file in the directory with the given name.
+ Returns a stream writing this file.
+
+
+
+
+ Returns a stream reading an existing file.
+
+
+
+
+ Creates an IndexInput for the file with the given name.
+
+
+
+
+ Ensure that any writes to this file are moved to
+ stable storage. Lucene uses this to properly commit
+ changes to the index, to prevent a machine/OS crash
+ from corrupting the index.
+
+
+
+
+ Return a string identifier that uniquely differentiates
+ this Directory instance from other Directory instances.
+ This ID should be the same if two Directory instances
+ (even in different JVMs and/or on different machines)
+ are considered "the same index". This is how locking
+ "scopes" to the right index.
+
+
+
+
+
+ If initialization fails, it will be disabled and then this will just wrap the 'real directory'
+
+
+
+
+ Attempts to create an index writer, it will retry on failure 5 times and on the last time will try to forcefully unlock the index files
+
+
+
+
+
+
+
+ Lock that wraps multiple locks
+
+
+
+
+ Attempts to obtain exclusive access and immediately return
+ upon success or failure.
+
+
+ true iff exclusive access is obtained
+
+
+
+
+ Releases exclusive access.
+
+
+
+
+ Returns true if the resource is currently locked. Note that one must
+ still call before using the resource.
+
+
+
+
+ Lock factory that wraps multiple factories
+
+
+
+
+ Custom indexer for members
+
+
+
+
+
+
+
+
+
+ Used to store the path of a content object
+
+
+
+
+ The prefix added to a field when it is duplicated in order to store the original raw value.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor to allow for creating an indexer at runtime
+
+
+
+
+
+
+
+
+
+ Constructor to allow for creating an indexer at runtime
+
+
+
+
+
+
+
+
+
+ Constructor to allow for creating an indexer at runtime
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A type that defines the type of index for each Umbraco field (non user defined fields)
+ Alot of standard umbraco fields shouldn't be tokenized or even indexed, just stored into lucene
+ for retreival after searching.
+
+
+
+
+ Set up all properties for the indexer based on configuration information specified. This will ensure that
+ all of the folders required by the indexer are created and exist. This will also create an instruction
+ file declaring the computer name that is part taking in the indexing. This file will then be used to
+ determine the master indexer machine in a load balanced environment (if one exists).
+
+ The friendly name of the provider.
+ A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.
+
+ The name of the provider is null.
+
+
+ The name of the provider has a length of zero.
+
+
+ An attempt is made to call on a provider after the provider has already been initialized.
+
+
+
+
+ This ensures that the special __Raw_ fields are indexed
+
+
+
+
+
+ Overridden for logging
+
+
+
+
+
+
+ Deletes a node from the index.
+
+
+ When a content node is deleted, we also need to delete it's children from the index so we need to perform a
+ custom Lucene search to find all decendents and create Delete item queues for them too.
+
+ ID of the node to delete
+
+
+
+ Overridden for logging.
+
+
+
+
+
+
+ Used to refresh the current IndexerData from the data in the DataService. This can be used
+ if there are more properties added/removed from the database
+
+
+
+
+ Override this method to strip all html from all user fields before raising the event, then after the event
+ ensure our special Path field is added to the collection
+
+
+
+
+
+ Called when a duplicate field is detected in the dictionary that is getting indexed.
+
+
+
+
+
+
+
+ Overridden to add the path property to the special fields to index
+
+
+
+
+
+
+ Creates an IIndexCriteria object based on the indexSet passed in and our DataService
+
+
+
+
+ If we cannot initialize we will pass back empty indexer data since we cannot read from the database
+
+
+
+
+ return the index policy for the field name passed in, if not found, return normal
+
+
+
+
+
+
+ Ensure that the content of this node is available for indexing (i.e. don't allow protected
+ content to be indexed when this is disabled).
+
+
+
+
+
+ By default this is false, if set to true then the indexer will include indexing content that is flagged as publicly protected.
+ This property is ignored if SupportUnpublishedContent is set to true.
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor to allow for creating an indexer at runtime
+
+
+
+
+
+
+
+
+ Constructor to allow for creating an indexer at runtime
+
+
+
+
+
+
+
+
+
+
+
+ Ensures that the'_searchEmail' is added to the user fields so that it is indexed - without having to modify the config
+
+
+
+
+
+
+ Reindex all members
+
+
+
+
+
+ Add the special __key and _searchEmail fields
+
+
+
+
+
+ The supported types for this indexer
+
+
+
+
+ Static methods to help query umbraco xml
+
+
+
+
+ Converts a content node to XDocument
+
+
+ true if data is going to be returned from cache
+
+
+ If the type of node is not a Document, the cacheOnly has no effect, it will use the API to return
+ the xml.
+
+
+
+
+ Converts a content node to Xml
+
+
+
+
+
+
+ An Examine searcher which uses Lucene.Net as the
+
+
+
+
+ Default constructor
+
+
+
+
+ Constructor to allow for creating an indexer at runtime
+
+
+
+
+
+
+ Constructor to allow for creating an indexer at runtime
+
+
+
+
+
+
+ Used for unit tests
+
+
+
+
+ Returns true if the Umbraco application is in a state that we can initialize the examine indexes
+
+
+
+
+
+ Override in order to set the nodeTypeAlias field name of the underlying SearchCriteria to __NodeTypeAlias
+
+
+
+
+
+
+
+ Returns a list of fields to search on, this will also exclude the IndexPathFieldName and node type alias
+
+
+
+
+
+ we override name because we need to manually set it if !CanInitialize()
+ since we cannot call base.Initialize in that case.
+
+
+
+
+ Methods to support Umbraco XSLT extensions.
+
+
+ XSLT extensions will ONLY work for provider that have a base class of BaseUmbracoIndexer
+
+
+
+
+ Uses the provider specified to search, returning an XPathNodeIterator
+
+
+
+
+
+
+
+
+
+ Uses the provider specified to search, returning an XPathNodeIterator
+
+ The search text.
+ if set to true [use wildcards].
+ Name of the provider.
+ Type of the index.
+
+
+
+
+ Uses the provider specified to search, returning an XPathNodeIterator
+
+
+
+
+
+
+
+
+ Uses the default provider specified to search, returning an XPathNodeIterator
+
+ The search query
+ Enable a wildcard search query
+ A node-set of the search results
+
+
+
+ Uses the default provider specified to search, returning an XPathNodeIterator
+
+ The search query
+ A node-set of the search results
+
+
+
+ Will perform a search against the media index type only
+
+
+
+
+
+
+
+
+ Will perform a search against the media index type only
+
+
+
+
+
+
+
+ Will perform a search against the media index type only
+
+
+
+
+
+
+ Searches the member only.
+
+ The search text.
+ if set to true [use wildcards].
+ Name of the provider.
+
+
+
+
+ Searches the member only.
+
+ The search text.
+ if set to true [use wildcards].
+
+
+
+
+ Searches the member only.
+
+ The search text.
+
+
+
+
+ Will perform a search against the content index type only
+
+
+
+
+
+
+
+
+ Will perform a search against the content index type only
+
+
+
+
+
+
+
+ Will perform a search against the content index type only
+
+
+
+
+
+
+ Gets the results as XML.
+
+ The results.
+
+
+
+
diff --git a/Blog/bin/UrlRewritingNet.UrlRewriter.dll b/Blog/bin/UrlRewritingNet.UrlRewriter.dll
new file mode 100644
index 0000000..0243091
Binary files /dev/null and b/Blog/bin/UrlRewritingNet.UrlRewriter.dll differ
diff --git a/Blog/bin/WebMatrix.Data.dll b/Blog/bin/WebMatrix.Data.dll
new file mode 100644
index 0000000..5f311f2
Binary files /dev/null and b/Blog/bin/WebMatrix.Data.dll differ
diff --git a/Blog/bin/WebMatrix.Data.xml b/Blog/bin/WebMatrix.Data.xml
new file mode 100644
index 0000000..72fe0c9
--- /dev/null
+++ b/Blog/bin/WebMatrix.Data.xml
@@ -0,0 +1,170 @@
+
+
+
+ WebMatrix.Data
+
+
+
+ Provides data for the event of the class.
+
+
+ Initializes a new instance of the class.
+ The connection that is associated with the event.
+
+
+ Gets the connection that is associated with the event.
+ The connection that was opened.
+
+
+ Provides methods and properties that are used to access and manage data that is stored in a database.
+
+
+ Closes an open database.
+
+
+ Gets the current connection to a database.
+ The connection.
+
+
+ Occurs when a new database connection is opened by a instance.
+
+
+ Releases all resources used by a instance.
+
+
+ Releases the unmanaged resources used by a instance and optionally releases the managed resources.
+ true to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+ Executes a non-query SQL statement.
+ The count of records affected by the SQL statement.
+ The SQL statement to execute.
+ (Optional) Parameters to pass to the SQL statement.
+
+ is null or empty.
+
+
+ Returns the identity column of the most recently inserted row.
+ The ID of the most recently inserted row.
+
+
+ Opens a connection to a database using the specified file name or using the named connection string.
+ The database instance.
+ The name associated with the database to open. can specify an .sdf or .mdf database file that is in the App_Data folder. (Do not include the file-name extension.) Alternatively, can specify the name of a connection string in the Web.config file.
+
+
+ Opens a connection to a database using the specified connection string.
+ The database instance.
+ The connection string that contains information that is used to connect to a database.
+
+ is null or empty.
+
+
+ Opens a connection to a database using a connection string and the specified provider.
+ The database instance.
+ The connection string that contains information that is used to connect to a database.
+ (Optional) The name of the .NET Framework data provider to use to connect to the data source.
+
+ is null or empty.
+
+
+ Executes a SQL query that returns a list of rows as the result.
+ The rows returned by the SQL query.
+ The SQL query to execute.
+ (Optional) Parameters to pass to the SQL query.
+
+
+ Executes a SQL query that returns a single row as the result.
+ The single row returned by the SQL query.
+ The SQL query to execute.
+ (Optional) Parameters to pass to the SQL query.
+
+
+ Executes a SQL query that returns a single scalar value as the result.
+ The scalar value returned by the SQL query.
+ The SQL query to execute.
+ (Optional) Parameters to pass to the SQL query.
+
+
+ Represents a data record by using a custom type descriptor and the capabilities of the Dynamic Language Runtime (DLR).
+
+
+ Returns a list that contains the name of each column in the instance.
+ A list that contains the name of each column.
+
+
+ Returns a list that contains the name of all dynamic members of the instance.
+ A list that contains the name of every dynamic member.
+
+
+ Returns the value of a column in the instance using the specified index.
+ The value of the specified column.
+
+
+ Returns the value of a column in the instance using the specified name.
+ The value of the specified column.
+
+
+ Returns a list of custom attributes for this instance of a component.
+
+ in all cases.
+
+
+ Returns the class name for this instance of a component.
+ null in all cases.
+
+
+ Returns the name for this instance of a component.
+ null in all cases.
+
+
+ Returns the type converter for this instance of a component.
+ null in all cases.
+
+
+ Returns the default event for this instance of a component.
+ null in all cases.
+
+
+ Returns the default property for this instance of a component.
+ null in all cases.
+
+
+ Returns an editor of the specified type for this instance of a component.
+ null in all cases.
+ The editor for this object. The value of this parameter is ignored by this implementation and does not affect the outcome of this method.
+
+
+ Returns the events for this instance of a component.
+
+ in all cases.
+
+
+ Returns the events for this instance of a component by using the specified filter.
+
+ in all cases.
+ An array that is used as a filter. The value of this parameter is ignored by this implementation and does not affect the outcome of this method.
+
+
+ Returns the properties for this instance of a component.
+ A collection that represents the properties for this component instance.
+
+
+ Returns the properties for this instance of a component by using the specified filter.
+ A collection that represents the properties for this component instance.
+ An array that is used as a filter. The value of this parameter is ignored by this implementation and does not affect the outcome of this method.
+
+
+ Returns the object that contains the specified property.
+ This instance.
+ The property to get the owner of.
+
+
+ Gets the value of a member using the specified name.
+ true in all cases.
+ Provides information about the get operation.
+ When this method returns, contains the value of the member, which can be null. This parameter is passed uninitialized.
+ The instance does not contain a member whose name is a case-insensitive match with the name that is specified by the parameter.
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/WebMatrix.WebData.dll b/Blog/bin/WebMatrix.WebData.dll
new file mode 100644
index 0000000..ffcfb42
Binary files /dev/null and b/Blog/bin/WebMatrix.WebData.dll differ
diff --git a/Blog/bin/WebMatrix.WebData.xml b/Blog/bin/WebMatrix.WebData.xml
new file mode 100644
index 0000000..2955fc2
--- /dev/null
+++ b/Blog/bin/WebMatrix.WebData.xml
@@ -0,0 +1,851 @@
+
+
+
+ WebMatrix.WebData
+
+
+
+ Represents an abstract class that is used to extend the membership system that is provided by the class.
+
+
+ When overridden in a derived class, instantiates a new instance of the class.
+
+
+ Activates a pending membership account.
+ true if the account is confirmed; otherwise, false.
+ A confirmation token to pass to the authentication provider.
+
+
+ Activates a pending membership account for the specified user.
+ true if the account is confirmed; otherwise, false.
+ The user name.
+ A confirmation token to pass to the authentication provider.
+
+
+ Creates a new user account using the specified user name and password.
+ A token that can be sent to the user to confirm the account.
+ The user name.
+ The password.
+
+
+ When overridden in a derived class, creates a new user account using the specified user name and password, optionally requiring that the new account must be confirmed before the account is available for use.
+ A token that can be sent to the user to confirm the account.
+ The user name.
+ The password.
+ (Optional) true to specify that the account must be confirmed; otherwise, false. The default is false.
+
+
+ When overridden in a derived class, creates a new OAuth membership account, or updates an existing OAuth Membership account.
+ The OAuth or OpenID provider.
+ The OAuth or OpenID provider user ID. This is not the user ID of the user account, but the user ID on the OAuth or Open ID provider.
+ The user name.
+
+
+ Creates a new user profile and a new membership account.
+ A token that can be sent to the user to confirm the user account.
+ The user name.
+ The password.
+
+
+ Creates a new user profile and a new membership account.
+ A token that can be sent to the user to confirm the user account.
+ The user name.
+ The password.
+ (Optional) true to specify that the user account must be confirmed; otherwise, false. The default is false.
+
+
+ When overridden in a derived class, creates a new user profile and a new membership account.
+ A token that can be sent to the user to confirm the user account.
+ The user name.
+ The password.
+ (Optional) true to specify that the user account must be confirmed; otherwise, false. The default is false.
+ (Optional) A dictionary that contains additional user attributes to store in the user profile. The default is null.
+
+
+ When overridden in a derived class, creates a new user profile and a new membership account.
+ A token that can be sent to the user to confirm the user account.
+ The user name.
+ The password.
+ (Optional) A dictionary that contains additional user attributes to store in the user profile. The default is null.
+
+
+ When overridden in a derived class, deletes the specified membership account.
+ true if the user account was deleted; otherwise, false.
+ The user name.
+
+
+ When overridden in a derived class, deletes the OAuth or OpenID account with the specified provider name and provider user ID.
+ The name of the OAuth or OpenID provider.
+ The OAuth or OpenID provider user ID. This is not the user ID of the user account, but the user ID on the OAuth or Open ID provider.
+
+
+ Deletes the specified OAuth token.
+ The token to delete.
+
+
+ Generates a password reset token that can be sent to a user in email.
+ A token to send to the user.
+ The user name.
+
+
+ When overridden in a derived class, generates a password reset token that can be sent to a user in email.
+ A token to send to the user.
+ The user name.
+ (Optional) The time, in minutes, until the password reset token expires. The default is 1440 (24 hours).
+
+
+ When overridden in a derived class, returns all OAuth membership accounts associated with the specified user name.
+ A list of all OAuth membership accounts associated with the specified user name.
+ The user name.
+
+
+ When overridden in a derived class, returns the date and time when the specified user account was created.
+ The date and time the account was created, or if the account creation date is not available.
+ The user name of the account.
+
+
+ When overridden in a derived class, returns the date and time when an incorrect password was most recently entered for the specified user account.
+ The date and time when an incorrect password was most recently entered for this user account, or if an incorrect password has not been entered for this user account.
+ The user name of the account.
+
+
+ Gets the OAuth token secret.
+ The OAuth token.
+ The OAuth token.
+
+
+ When overridden in a derived class, returns the date and time when the password was most recently changed for the specified membership account.
+ The date and time when the password was more recently changed for membership account, or if the password has never been changed for this user account.
+ The user name of the account.
+
+
+ When overridden in a derived class, returns the number of times that the password for the specified user account was incorrectly entered since the most recent successful login or since the user account was created.
+ The count of failed password attempts for the specified user account.
+ The user name of the account.
+
+
+ When overridden in a derived class, returns the user ID for the specified OAuth or OpenID provider and provider user ID.
+ The name of the OAuth or OpenID provider.
+ The OAuth or OpenID provider user ID. This is not the user ID of the user account, but the user ID on the OAuth or Open ID provider.
+
+
+ When overridden in a derived class, returns an ID for a user based on a password reset token.
+ The user ID.
+ The password reset token.
+
+
+ Returns the user name that is associated with the specified user ID.
+ The user name.
+ The user ID to get the name for.
+
+
+ Indicates whether the user has a local account.
+ true if the membership has a local account; otherwise, false.
+ The user ID.
+
+
+ When overridden in a derived class, returns a value that indicates whether the user account has been confirmed by the provider.
+ true if the user is confirmed; otherwise, false.
+ The user name.
+
+
+ Replaces the OAuth request token with access token.
+ The request token.
+ The access token.
+ The access token secret.
+
+
+ When overridden in a derived class, resets a password after verifying that the specified password reset token is valid.
+ true if the password was changed; otherwise, false.
+ A password reset token.
+ The new password.
+
+
+ Stores the OAuth request token.
+ The request token.
+ The request token secret.
+
+
+ Defines key names that override default settings in the <appSettings> section of the Web.config file.
+
+
+ The key to access the default login URL.
+
+
+ The key to access the login URL key.
+
+
+ The key to access the setting that preserves the term "login" instead of overriding it with "logon".
+
+
+ Represents an OAuth or OpenID account.
+
+
+ Initializes a new instance of the class by using the specified OAuth or Open ID provider and provider user ID.
+ The provider.
+ The provider user id.
+
+
+ Gets the OAuth or Open ID provider name.
+ The provider name.
+
+
+ Gets the OAuth or Open ID provider user ID.
+ The provider user ID.
+
+
+ Provides a registration point for the simple membership pre-application start code.
+
+
+ Registers the simple membership pre-application start code.
+
+
+ Provides support for website membership tasks, such as creating accounts, deleting accounts, and managing passwords.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using the specified membership provider.
+ The membership provider to use.
+
+
+ Gets or sets the name of the application.
+ The name of the application.
+
+
+ Gets or sets the for this provider.
+
+
+ Changes the password for the specified membership account.
+ true if the password is successfully changed; otherwise, false.
+ The user name.
+ The old password.
+ The new password.
+
+
+ Changes the password question and answer for the specified account.
+ true if the password question and answer are successfully changed; otherwise, false.
+ The user name.
+ The new password.
+ The security question that the user must answer in order to change the password.
+ The answer to the security question.
+
+
+ Activates a pending membership account.
+ true if the user account is confirmed; otherwise, false.
+ A confirmation token to pass to the authentication provider.
+ The class was not initialized using a call to the method.
+
+
+ Indicates whether the user account is confirmed.
+ true if the user account is confirmed; otherwise, false.
+ The username.
+ The account confirmation.
+
+
+ Creates a new user account by using the specified user name and password.
+ A token that can be sent to the user to confirm the user account.
+ The user name.
+ The password.
+ (Optional) true to specify that the user account must be confirmed; otherwise, false. The default is false.
+
+ is empty.-or- already has a user account.-or- is empty.-or- is longer than 128 characters.-or-A user record that corresponds to does not exist in the table (the user profile table).-or-The database operation failed.
+ The class was not initialized using a call to the method.
+
+
+ Creates a new OAuth membership account, or updates an existing OAuth Membership account.
+ The OAuth or OpenID provider.
+ The OAuth or OpenID provider user ID. This is not the user ID of the user account, but the user ID on the OAuth or Open ID provider.
+ The user name.
+ The class was not initialized using a call to the method.
+
+ is empty.-or-A user record that corresponds to does not exist in the table (the user profile table).-or-The database operation failed.
+
+
+ Adds the specified user to the membership database.
+ A object that is populated with the information for the newly created user account.
+ The user name for the new user account.
+ The password for the new user account.
+ The email address for the new user account.
+ The security question for the new user account.
+ The answer to the security question for the new user account.
+ true to indicate that the user account is approved to be validated; otherwise, false.
+ The unique identifier from the membership data source for the user account.
+ When this method returns, contains a enumeration value that indicates whether the user account was created successfully. This parameter is passed uninitiated.
+
+
+ Creates a new user profile and a new membership account.
+ A token that can be sent to the user to confirm the user account.
+ The user name.
+ The password.
+ (Optional) true to specify that the user account must be confirmed by using the method; otherwise, false. The default is false.
+ (Optional) A dictionary that contains additional key/value pair attributes that you can add to the data store as default values for new user profile. The key for each entry is the database column, and the value of each entry is the value for the column. The default is null.
+ The class was not initialized using a call to the method.
+ A membership account for this user name already exists in the membership database.
+
+
+ Deletes the specified membership account.
+ true if the user account was deleted; otherwise, false.
+ The user name.
+
+ is null or empty.
+ The class was not initialized using a call to the method.
+
+
+ Deletes the OAuth or OpenID account with the specified provider name and provider user ID.
+ The name of the OAuth or OpenID provider.
+ The OAuth or OpenID provider user ID. This is not the user ID of the user account, but the user ID on the OAuth or Open ID provider.
+ The class was not initialized using a call to the method.
+
+ is empty.-or-A user record that corresponds to does not exist in the table (the user profile table).-or-The database operation failed.
+
+
+ Deletes the specified OAuth token.
+ The token to delete.
+
+
+ Deletes the specified user account, and optionally deletes all profile data that is related to that user account.
+ true if the user account was deleted; otherwise, false.
+ The user name.
+ true to delete profile data that is related to the user, or false to retain data that is related to the user.
+
+ is null or empty.
+
+
+ Gets a value that indicates whether the membership provider lets users reset their passwords.
+ true if the membership provider supports password reset; otherwise, false. The default is true.
+
+
+ Gets a value that indicates whether the membership provider lets users retrieve their passwords.
+ true if the membership provider supports password retrieval; otherwise, false. The default is false.
+
+
+ Returns all of the user accounts whose email address matches the specified email address.
+ A collection that contains a page of user accounts starting at the page specified by .
+ The email address to search for.
+ The zero-based index of the page of results to return.
+ The size of the page of results to return.
+ When this method returns, contains the total number of matched user accounts.
+
+
+ Returns all of the user accounts whose name matches the specified user name.
+ A collection that contains a page of user accounts starting at the page specified by .
+ The user name to search for.
+ The zero-based index of the page of results to return.
+ The size of the page of results to return.
+ When this method returns, contains the total number of matched users.
+
+
+ Generates a password reset token that can be sent to a user in email.
+ A token to send to the user.
+ The user name.
+ (Optional) The time, in minutes, until the password reset token expires. The default is 1440 (24 hours).
+
+ is empty.
+ The database operation failed.
+ The class was not initialized using a call to the method.
+
+
+ Returns all OAuth membership accounts that are associated with the specified user name.
+ A list of all OAuth membership accounts that are associated with the specified user name.
+ The user name.
+ The class was not initialized using a call to the method.
+
+
+ Returns all of the user accounts in the data source.
+ A collection that contains a page of user accounts starting at the page specified by .
+ The zero-based index of the page of results to return.
+ The size of the page of results to return.
+ When this method returns, contains the total number of matched user accounts.
+
+
+ Returns the date and time when the specified user account was created.
+ The date and time on which the user account was created, or if the user account creation date is not available.
+ The user name of the account.
+ The user specified by does not have a user account.
+
+
+ Returns the date and time when an incorrect password was most recently entered for the specified user account.
+ The date and time when an incorrect password was most recently entered for this user account, or if an incorrect password has not been entered for this user account.
+ The user name of the account.
+
+
+ Returns the number of users who are currently accessing the application.
+ The number of users who are currently accessing the application.
+
+
+ Returns the OAuth token secret.
+ The OAuth token.
+ The token.
+
+
+ Returns the password for the specified user account from the data source.
+ The password for the specified user account.
+ The user to retrieve the password for.
+ The answer for the password security question.
+
+ is false.
+
+ does not match the security answer for the user account and is true.
+
+
+ Returns the date and time when the password was most recently changed for the specified membership account.
+ The date and time when the password was more recently changed for this account, or if the password has never been changed for this membership account.
+ The user name of the account.
+ The user specified by does not have a membership account.
+
+
+ Returns the number of times that the password for the specified user account was incorrectly entered since the most recent successful login or since the user account was created.
+ The count of failed password attempts for the specified user account, or -1 if the user specified by does not have a user account.
+ The user name of the account.
+
+
+ Returns information about the user account using the specified user ID, and optionally updates the timestamp of the most recent activity for the user account.
+ An object that is populated with the user account information, or null if is not found.
+ The ID for the user account to get information for. The ID is a value that is stored as an instance.
+ true to update the last-activity timestamp for the user account, or false to return user account information without updating the timestamp.
+
+
+ Returns information about the user account using the specified user name, and optionally updates the timestamp of the most recent activity for the user account.
+ An object that is populated with the user account information, or null if is not found.
+ The name of the user to get information for.
+ true to update the last-activity timestamp for the user account, or false to return user account information without updating the timestamp.
+
+
+ Returns the ID for a user based on the specified user name.
+ The user ID.
+ The user name.
+ The class was not initialized using a call to the method.
+
+
+ Returns the user ID for the specified OAuth or OpenID provider and provider user ID.
+ The user ID, or -1 if there is no user ID associated with the OAuth or Open ID provider user ID.
+ The name of the OAuth or OpenID provider.
+ The OAuth or OpenID provider user ID. This is not the user ID of the user account, but the user ID on the OAuth or Open ID provider.
+
+
+ Returns the ID for a user based on a password reset token.
+ The user ID, or -1 if there is no user ID associated with the specified password reset token.
+ The password reset token.
+ The class was not initialized using a call to the method.
+
+
+ Returns the user name that is associated with the specified email address.
+ The user name that is associated with the specified email address, or null if no match is found.
+ The email address to search for.
+
+
+ Returns the user name that is associated with the specified user ID.
+ The user name.
+ The user ID to get the name for.
+
+
+ Indicates whether the user has local account.
+ true if the user has local account; otherwise, false.
+ The user ID.
+
+
+ Initializes the provider.
+ The friendly name of the provider.
+ A collection of name/value pairs that represent provider-specific attributes.
+
+ is null.
+
+ contains an unrecognized attribute.
+
+
+ Returns a value that indicates whether the user account has been confirmed by the provider.
+ true if the user account has been confirmed; otherwise, false.
+ The user name.
+
+ is null or empty.
+ The class was not initialized using a call to the method.
+
+
+ Gets the number of invalid password or password-answer attempts that are allowed before the membership user is locked out.
+ The number of invalid password or password-answer attempts that are allowed before the membership user is locked out.
+
+
+ Gets the minimum number of special (non-alphanumeric) characters that a password must contain.
+ The minimum number of special characters that a password must contain.
+
+
+ Gets the minimum length that is required for a password.
+ The minimum length that is required for a password.
+
+
+ Gets the number of minutes during which the maximum number of invalid password or security-question answer attempts are allowed before the user account is locked out.
+ The number of minutes.
+
+
+ Gets a value that indicates the format for storing passwords.
+ One of the enumeration values that indicates the format.
+
+
+ Gets the regular expression that is used to evaluate password complexity.
+ The regular expression that is used to evaluate password complexity.
+
+
+ Replaces OAuth request token with access token.
+ The request token.
+ The access token.
+ The access token secret.
+
+
+ Gets a value that indicates whether the membership provider requires that the user answer a security question for password reset and retrieval.
+ true if a security-question answer is required; otherwise, false. The default is true.
+
+
+ Gets a value that indicates whether the membership provider requires a unique email address for each user name.
+ true if the membership provider requires a unique email address; otherwise, false. The default is true.
+
+
+ Resets the password for a user account to a new, automatically generated password.
+ The new password for the specified user account.
+ The user account to reset the password for.
+ The answer to the security question for the new user.
+
+ is false.
+
+ does not match the security answer for the user account in the membership table and is true.
+
+
+ Resets a password after verifying that the specified password reset token is valid.
+ true if the password was changed; otherwise, false.
+ A password reset token.
+ The new password.
+
+ is null or empty.
+ The class was not initialized using a call to the method.
+
+
+ Stores an OAuth request token.
+ The request token.
+ The request token secret.
+
+
+ Unlocks a user account so that the membership user can be validated.
+ true if the user account was unlocked; otherwise, false.
+ The user whose user account you want to unlock.
+
+
+ Updates user information.
+ An object that represents the user account to update and the information to update for that user account.
+
+
+ Gets or sets the name of the database column that contains user IDs.
+ The name of the database column that contains user IDs.
+
+
+ Gets or sets the name of the database column that contains user names.
+ The name of the database column that contains user names.
+
+
+ Gets or sets the name of the database table that contains user information.
+ The name of the database table that contains user information.
+
+
+ Verifies that the specified user account and password exist.
+ true if the specified user name and password exist, and if the account has been confirmed; otherwise, false.
+ The name of the user account to validate.
+ The password for the specified user.
+
+ or are null or empty.
+
+
+ Configures the behavior of SimpleMembershipProvider for the casing of user name queries.
+
+
+ Uses the SQL Upper function to normalize the casing of user names for a case-insensitive comparison. This is the default value.
+
+
+ Relies on the database's configured collation to normalize casing for the comparison of user names. User names are provided to the database exactly as entered by the user.
+
+
+ Provides basic role-management functionality.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class by using the specified role provider.
+ The previous role provider.
+
+
+ Adds the specified user names to the specified roles.
+ The user names to add.
+ The roles to add the names to.
+ One or more of the specified users already exists in one or more of the specified roles.
+
+
+ Gets or sets the name of the application to store and retrieve role information for.
+ The name of the application to store and retrieve role information for.
+
+
+ Gets or sets the for this provider.
+
+
+ Adds a new role.
+ The name of the role to create.
+ The role already exists.
+
+
+ Deletes the specified role.
+ true if the role was deleted; otherwise, false.
+ The name of the role to delete.
+ true to cause an exception to be thrown if one or more users are in . In that case, the specified role is not deleted.
+
+ has one or more members, and is true.
+
+
+ Returns all of the specified users who are in the specified role.
+ The names of all of the users where the user name matches and the user is in the specified role.
+ The role to search in.
+ The user name to search for.
+
+
+ Returns a list of all roles.
+ The names of all of the roles.
+
+
+ Returns a list of the roles that a specified user is in.
+ The names of all of the roles that the specified user is a member of.
+ The user to return a list of roles for.
+ The specified user does not have a membership account.
+
+
+ Returns the user names that are in the specified role.
+ The user names that are in the specified role.
+ The name of the role.
+
+
+ Returns a value that indicates whether the specified user is in the specified role.
+ true if the user is in the role; otherwise, false.
+ The user name.
+ The name of the role.
+
+
+ Removes the specified user names from the specified roles.
+ The user names to remove from the specified roles.
+ The role names to remove the specified user names from.
+ One or more of the specified roles do not exist.-or-One or more users are not in all of the specified roles.
+ The database operation failed.
+
+
+ Returns a value that indicates whether a specified role exists.
+ true if the role exists; otherwise, false.
+ The name of the role.
+
+
+ Gets the name of the database column that contains user IDs.
+ The name of the database column in the table that contains user IDs.
+
+
+ Gets the name of the database column that contains user names.
+ The name of the database column in the table that contains user names.
+
+
+ Gets the name of the database table that contains user information.
+ The name of the database table in the table that contains user information.
+
+
+ Provides security and authentication features for ASP.NET Web Pages applications, including the ability to create user accounts, log users in and out, reset or change passwords, and perform related tasks.
+
+
+ Changes the password for the specified user.
+ true if the password is successfully changed; otherwise, false.
+ The user name.
+ The current password for the user.
+ The new password.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Confirms that an account is valid and activates the account.
+ true if the account is confirmed; otherwise, false.
+ A confirmation token to pass to the authentication provider.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Confirms that an account for the specified user name is valid and activates the account.
+ true if the account is confirmed; otherwise, false.
+ The user name.
+ A confirmation token to pass to the authentication provider.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Creates a new membership account using the specified user name and password and optionally lets you specify that the user must explicitly confirm the account.
+ A token that can be sent to the user to confirm the account.
+ The user name.
+ The password.
+ (Optional) true to specify that the account must be confirmed by using the token return value; otherwise, false. The default is false.
+
+ is empty.-or- already has a membership account.-or- is empty.-or- is too long.-or-The database operation failed.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Creates a new user profile entry and a new membership account.
+ A token that can be sent to the user to confirm the user account.
+ The user name.
+ The password for the user.
+ (Optional) A dictionary that contains additional user attributes. The default is null.
+ (Optional) true to specify that the user account must be confirmed; otherwise, false. The default is false.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Gets the ID for the current user.
+ The ID for the current user.
+
+
+ Gets the user name for the current user.
+ The name of the current user.
+
+
+ Represents the key to the enableSimpleMembership value in the property.
+
+
+ Generates a password reset token that can be sent to a user in email.
+ A token to send to the user.
+ The user name.
+ (Optional) The time in minutes until the password reset token expires. The default is 1440 (24 hours).
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Returns the date and time when the specified membership account was created.
+ The date and time that the membership account was created, or if the account creation date is not available.
+ The user name for the membership account.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Returns the date and time when an incorrect password was most recently entered for the specified account.
+ The date and time when an incorrect password was most recently entered for this account, or if an incorrect password has not been entered for this account.
+ The user name of the membership account.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Returns the date and time when the password was most recently changed for the specified membership account.
+ The date and time when the password was most recently changed, or if the password has not been changed for this account.
+ The user name of the account.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Returns the number of times that the password for the specified account was incorrectly entered since the last successful login or since the membership account was created.
+ The count of failed password attempts for the specified account.
+ The user name of the account.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Returns the ID for a user based on the specified user name.
+ The user ID.
+ The user name.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Returns a user ID from a password reset token.
+ The user ID.
+ The password reset token.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Gets a value that indicates whether the current user has a user ID.
+ true if the user has a user ID; otherwise, false.
+
+
+ Gets a value that indicates whether the method has been called.
+ true if the initialization method has been called; otherwise, false.
+
+
+ Initializes the membership system by connecting to a database that contains user information and optionally creates membership tables if they do not already exist.
+ The name of the connection string for the database that contains user information. If you are using SQL Server Compact, this can be the name of the database file (.sdf file) without the .sdf file name extension.
+ The name of the database table that contains the user profile information.
+ The name of the database column that contains user IDs. This column must be typed as an integer (int).
+ The name of the database column that contains user names. This column is used to match user profile data to membership account data.
+ true to indicate that user profile and membership tables should be created if they do not exist; false to indicate that tables should not be created automatically. Although the membership tables can be created automatically, the database itself must already exist.
+
+
+
+ Initializes the membership system by connecting to a database that contains user information by using the specified membership or role provider, and optionally creates membership tables if they do not already exist.
+ The name of the connection string for the database that contains user information. If you are using SQL Server Compact, this can be the name of the database file (.sdf file) without the .sdf file name extension.
+ The name of the ADO.NET data provider. If you want to use Microsoft SQL Server, the overload is recommended.
+ The name of the database table that contains the user profile information.
+ The name of the database column that contains user IDs. This column must be typed as an integer (int).
+ The name of the database column that contains user names. This column is used to match user profile data to membership account data.
+ true to indicate that user profile and membership tables should be created automatically; false to indicate that tables should not be created automatically. Although the membership tables can be created automatically, the database itself must already exist.
+
+
+
+ Returns a value that indicates whether the specified membership account is temporarily locked because of too many failed password attempts in the specified number of seconds.
+ true if the membership account is locked; otherwise, false.
+ The user name of the membership account.
+ The number of password attempts the user is permitted before the membership account is locked.
+ The number of seconds to lock a user account after the number of password attempts exceeds the value in the parameter.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Returns a value that indicates whether the specified membership account is temporarily locked because of too many failed password attempts in the specified time span.
+ true if the membership account is locked; otherwise, false.
+ The user name of the membership account.
+ The number of password attempts the user is permitted before the membership account is locked.
+ The number of seconds to lock out a user account after the number of password attempts exceeds the value in the parameter.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Gets the authentication status of the current user.
+ true if the current user is authenticated; otherwise, false. The default is false.
+
+
+ Returns a value that indicates whether the user has been confirmed.
+ true if the user is confirmed; otherwise, false.
+ The user name.
+
+
+ Returns a value that indicates whether the user name of the logged-in user matches the specified user name.
+ true if the logged-in user name matches ; otherwise, false.
+ The user name to compare the logged-in user name to.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Logs the user in.
+ true if the user was logged in; otherwise, false.
+ The user name.
+ The password.
+ (Optional) true to specify that the authentication token in the cookie should be persisted beyond the current session; otherwise false. The default is false.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Logs the user out.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ If the user is not authenticated, sets the HTTP status to 401 (Unauthorized).
+
+
+ If the current user is not in all of the specified roles, sets the HTTP status code to 401 (Unauthorized).
+ The roles to check. The current user must be in all of the roles that are passed in this parameter.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ If the specified user is not logged on, sets the HTTP status to 401 (Unauthorized).
+ The ID of the user to compare.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ If the current user does not match the specified user name, sets the HTTP status to 401 (Unauthorized).
+ The name of the user to compare.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Resets a password by using a password reset token.
+ true if the password was changed; otherwise, false.
+ A password reset token.
+ The new password.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+ Returns a value that indicates whether the specified user exists in the membership database.
+ true if the exists in the user profile table; otherwise, false.
+ The user name.
+ The method was not called.-or-The method was not called.-or-The membership provider is not registered in the configuration of your site. For more information, contact your site's system administrator.
+
+
+
\ No newline at end of file
diff --git a/Blog/bin/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest b/Blog/bin/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
new file mode 100644
index 0000000..47bd4a0
--- /dev/null
+++ b/Blog/bin/amd64/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
@@ -0,0 +1,6 @@
+
+
+
+
+ Vy8CgQgbu3qH5JHTK0op4kR8114=QTJu3Gttpt8hhCktGelNeXj4Yp8=1ruqF7/L+m1tqnJVscaOtNRNHIE=
+
\ No newline at end of file
diff --git a/Blog/bin/amd64/Microsoft.VC90.CRT/README_ENU.txt b/Blog/bin/amd64/Microsoft.VC90.CRT/README_ENU.txt
new file mode 100644
index 0000000..fc38b36
Binary files /dev/null and b/Blog/bin/amd64/Microsoft.VC90.CRT/README_ENU.txt differ
diff --git a/Blog/bin/amd64/Microsoft.VC90.CRT/msvcr90.dll b/Blog/bin/amd64/Microsoft.VC90.CRT/msvcr90.dll
new file mode 100644
index 0000000..c95e1bf
Binary files /dev/null and b/Blog/bin/amd64/Microsoft.VC90.CRT/msvcr90.dll differ
diff --git a/Blog/bin/amd64/sqlceca40.dll b/Blog/bin/amd64/sqlceca40.dll
new file mode 100644
index 0000000..d5d4c20
Binary files /dev/null and b/Blog/bin/amd64/sqlceca40.dll differ
diff --git a/Blog/bin/amd64/sqlcecompact40.dll b/Blog/bin/amd64/sqlcecompact40.dll
new file mode 100644
index 0000000..ed061ad
Binary files /dev/null and b/Blog/bin/amd64/sqlcecompact40.dll differ
diff --git a/Blog/bin/amd64/sqlceer40EN.dll b/Blog/bin/amd64/sqlceer40EN.dll
new file mode 100644
index 0000000..e19eed9
Binary files /dev/null and b/Blog/bin/amd64/sqlceer40EN.dll differ
diff --git a/Blog/bin/amd64/sqlceme40.dll b/Blog/bin/amd64/sqlceme40.dll
new file mode 100644
index 0000000..c67fc9e
Binary files /dev/null and b/Blog/bin/amd64/sqlceme40.dll differ
diff --git a/Blog/bin/amd64/sqlceqp40.dll b/Blog/bin/amd64/sqlceqp40.dll
new file mode 100644
index 0000000..df44403
Binary files /dev/null and b/Blog/bin/amd64/sqlceqp40.dll differ
diff --git a/Blog/bin/amd64/sqlcese40.dll b/Blog/bin/amd64/sqlcese40.dll
new file mode 100644
index 0000000..af2de5e
Binary files /dev/null and b/Blog/bin/amd64/sqlcese40.dll differ
diff --git a/Blog/bin/businesslogic.dll b/Blog/bin/businesslogic.dll
new file mode 100644
index 0000000..d9c0530
Binary files /dev/null and b/Blog/bin/businesslogic.dll differ
diff --git a/Blog/bin/businesslogic.xml b/Blog/bin/businesslogic.xml
new file mode 100644
index 0000000..4069d1b
--- /dev/null
+++ b/Blog/bin/businesslogic.xml
@@ -0,0 +1,2613 @@
+
+
+
+ businesslogic
+
+
+
+
+ Class for handling all registered applications in Umbraco.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The application name.
+ The application alias.
+ The application icon.
+
+
+
+ Initializes a new instance of the class.
+
+ The name.
+ The alias.
+ The icon.
+ The sort order.
+
+
+
+ Creates a new applcation if no application with the specified alias is found.
+
+ The application name.
+ The application alias.
+ The application icon, which has to be located in umbraco/images/tray folder.
+
+
+
+ Makes the new.
+
+ The name.
+ The alias.
+ The icon.
+ The sort order.
+
+
+
+ Gets the application by its alias.
+
+ The application alias.
+
+
+
+
+ Deletes this instance.
+
+
+
+
+ Gets all applications registered in umbraco from the umbracoApp table..
+
+ Returns a Application Array
+
+
+
+ Stores all references to classes that are of type IApplication
+
+
+
+
+ Gets the SQL helper.
+
+ The SQL helper.
+
+
+
+ Gets or sets the application name.
+
+ The name.
+
+
+
+ Gets or sets the application alias.
+
+ The alias.
+
+
+
+ Gets or sets the application icon.
+
+ The application icon.
+
+
+
+ Gets or sets the sort order.
+
+
+ The sort order.
+
+
+
+
+ Identifies an application tree
+
+
+
+
+ Initializes a new instance of the class.
+
+ The alias.
+ The name.
+ The icon.
+ The sort order.
+
+
+
+ ApplicationBase provides an easy to use base class to install event handlers in umbraco.
+ Class inhiriting from ApplcationBase are automaticly registered and instantiated by umbraco on application start.
+ To use, inhirite the ApplicationBase Class and add an empty constructor.
+
+
+
+
+ A startup handler for putting the app config in the config file based on attributes found
+
+ ///
+ TODO: This is really not a very ideal process but the code is found here because tree plugins are in the Web project or the legacy business logic project.
+ Moving forward we can put the base tree plugin classes in the core and then this can all just be taken care of normally within the service.
+
+
+
+
+ Configure a few auto-mappings
+
+
+
+
+
+
+ This class is here so that we can provide lazy access to tree scanning for when it is needed
+
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Returns an enumerator that iterates through a collection.
+
+
+ An object that can be used to iterate through the collection.
+
+
+
+
+ ApplicationStartupHandler provides an easy to use base class to install event handlers in umbraco.
+ Class inhiriting from ApplicationStartupHandler are automaticly registered and instantiated by umbraco on application start.
+ To use, inhirite the ApplicationStartupHandler Class and add an empty constructor.
+
+
+
+
+ umbraco.BusinessLogic.ApplicationTree provides access to the application tree structure in umbraco.
+ An application tree is a collection of nodes belonging to one or more application(s).
+ Through this class new application trees can be created, modified and deleted.
+
+
+
+
+ Returns the CLR type based on it's assembly name stored in the config
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ if set to true [silent].
+ if set to true [initialize].
+ The sort order.
+ The application alias.
+ The tree alias.
+ The tree title.
+ The icon closed.
+ The icon opened.
+ Name of the assembly.
+ The tree type.
+ The default tree action.
+
+
+
+ Creates a new application tree.
+
+ if set to true [silent].
+ if set to true [initialize].
+ The sort order.
+ The application alias.
+ The alias.
+ The title.
+ The icon closed.
+ The icon opened.
+ Name of the assembly.
+ The type.
+ The action.
+
+
+
+ Saves this instance.
+
+
+
+
+ Deletes this instance.
+
+
+
+
+ Gets an ApplicationTree by it's tree alias.
+
+ The tree alias.
+ An ApplicationTree instance
+
+
+
+ Gets all applicationTrees registered in umbraco from the umbracoAppTree table..
+
+ Returns a ApplicationTree Array
+
+
+
+ Gets the application tree for the applcation with the specified alias
+
+ The application alias.
+ Returns a ApplicationTree Array
+
+
+
+ Gets the application tree for the applcation with the specified alias
+
+ The application alias.
+
+ Returns a ApplicationTree Array
+
+
+
+ Gets or sets a value indicating whether this is silent.
+
+ true if silent; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether this should initialize.
+
+ true if initialize; otherwise, false.
+
+
+
+ Gets or sets the sort order.
+
+ The sort order.
+
+
+
+ Gets the application alias.
+
+ The application alias.
+
+
+
+ Gets the tree alias.
+
+ The alias.
+
+
+
+ Gets or sets the tree title.
+
+ The title.
+
+
+
+ Gets or sets the icon closed.
+
+ The icon closed.
+
+
+
+ Gets or sets the icon opened.
+
+ The icon opened.
+
+
+
+ Gets or sets the name of the assembly.
+
+ The name of the assembly.
+
+
+
+ Gets or sets the tree type.
+
+ The type.
+
+
+
+ Gets or sets the default tree action.
+
+ The action.
+
+
+
+ A startup handler for dealing with trees
+
+
+
+
+ Configures automapper model mappings
+
+
+
+
+ The collection of available log types.
+
+
+
+
+ Used when new nodes are added
+
+
+
+
+ Used when nodes are saved
+
+
+
+
+ Used when nodes are opened
+
+
+
+
+ Used when nodes are deleted
+
+
+
+
+ Used when nodes are published
+
+
+
+
+ Used when nodes are send to publishing
+
+
+
+
+ Used when nodes are unpublished
+
+
+
+
+ Used when nodes are moved
+
+
+
+
+ Used when nodes are copied
+
+
+
+
+ Used when nodes are assígned a domain
+
+
+
+
+ Used when public access are changed for a node
+
+
+
+
+ Used when nodes are sorted
+
+
+
+
+ Used when a notification are send to a user
+
+
+
+
+ Used when a user logs into the umbraco back-end
+
+
+
+
+ Used when a user logs out of the umbraco back-end
+
+
+
+
+ Used when a user login fails
+
+
+
+
+ General system notification
+
+
+
+
+ System debugging notification
+
+
+
+
+ System error notification
+
+
+
+
+ Notfound error notification
+
+
+
+
+ Used when a node's content is rolled back to a previous version
+
+
+
+
+ Used when a package is installed
+
+
+
+
+ Used when a package is uninstalled
+
+
+
+
+ Used when a ping is send to/from the system
+
+
+
+
+ Used when a node is send to translation
+
+
+
+
+ Notification from a Scheduled task.
+
+
+
+
+ Use this log action for custom log messages that should be shown in the audit trail
+
+
+
+
+ Extension methods for the PluginTypeResolver
+
+
+
+
+ Returns all available IApplication in application
+
+
+
+
+
+
+ Returns all available ITrees in application that are attribute with TreeAttribute
+
+
+
+
+
+
+ Identifies an application tree
+
+
+
+
+ Initializes a new instance of the class.
+
+ The app alias.
+ The alias.
+ The title.
+ The icon closed.
+ The icon open.
+ The action.
+ if set to true [silent].
+ if set to true [initialize].
+ The sort order.
+
+
+
+ umbraco.BasePages.BasePage is the default page type for the umbraco backend.
+ The basepage keeps track of the current user and the page context. But does not
+ Restrict access to the page itself.
+ The keep the page secure, the umbracoEnsuredPage class should be used instead
+
+
+
+
+ The path to the umbraco root folder
+
+
+
+
+ The current user ID
+
+
+
+
+ The page timeout in seconds.
+
+
+
+
+ Gets the user id.
+
+ This is not used
+
+
+
+
+ Gets the currnet user's id.
+
+
+
+
+
+ Validates the user context ID.
+
+ This doesn't do anything
+
+
+
+
+ Validates the currently logged in user and ensures they are not timed out
+
+
+
+
+
+ Clears the login.
+
+
+
+
+ Logs a user in.
+
+ The user
+
+
+
+ Gets the user.
+
+
+
+
+
+ Ensures the page context.
+
+
+
+
+ Raises the event.
+
+ The object that contains the event data.
+
+
+
+ Override client target.
+
+
+
+
+ Gets the SQL helper.
+
+ The SQL helper.
+
+
+
+ Returns the current ApplicationContext
+
+
+
+
+ Returns a ServiceContext
+
+
+
+
+ Returns a DatabaseContext
+
+
+
+
+ Returns the current BasePage for the current request.
+ This assumes that the current page is a BasePage, otherwise, returns null;
+
+
+
+
+ Returns a UrlHelper
+
+
+ This URL helper is created without any route data and an empty request context
+
+
+
+
+ Returns a refernce of an instance of ClientTools for access to the pages client API
+
+
+
+
+ Gets or sets the umbraco user context ID.
+
+ The umbraco user context ID.
+
+
+
+ Gets the user.
+
+
+
+
+
+ a collection of available speechbubble icons
+
+
+
+
+ Save icon
+
+
+
+
+ Info icon
+
+
+
+
+ Error icon
+
+
+
+
+ Success icon
+
+
+
+
+ Warning icon
+
+
+
+
+ Renders the client side code necessary to interact with the Umbraco client side API.
+ Each method returns an instance of this class so you can chain calls together.
+
+
+
+
+ This removes all tree JSON data cached in the client browser.
+ Useful when you want to ensure that the tree is reloaded from live data.
+
+
+
+
+
+ Change applications
+
+
+
+
+
+ Refresh the entire administration console after a specified amount of time.
+
+
+
+
+
+
+ Refreshes the entire current tree
+
+
+
+
+
+ A reference to the umbraco UI component "speechbubble". The speechbubble appears in the lower right corner of the screen, notifying users of events
+
+ The speechbubble icon.
+ The speechbubble header.
+ The body text
+
+
+
+ Changes the content in the content frame to the specified URL
+
+
+
+
+
+ Reloads the content in the content frame if the specified URL is currently loaded
+
+
+
+
+
+ Shows the dashboard for the given application
+
+
+
+
+
+
+ Reloads the children of the current action node and selects the node that didn't exist there before.
+ If the client side system cannot determine which node is new, then no node is selected.
+
+
+ This is used by many create dialogs, however the sync method should be used based on the full path of the
+ node but because the current Umbraco implementation of ITask only returns a url to load, there's no way
+ to determine what the full path of the new child is.
+
+
+
+
+
+ Synchronizes the tree to the path specified.
+
+
+
+ If set to true, will ensure that the node to be synced has it's data
+ reloaded from the server. Otherwise, if the node already exists, the tree will simply sync to the node
+ that is already there.
+
+
+ This will work for any tree, however you would need to know the path of the node. Currently, media and content
+ are the only trees that store a path, however, if you were working in the template tree for example, a path to a
+ node could be "init,1090" and this method would still work.
+
+ Sync tree will works by syncing the active tree type. This can be specified explicitly by calling SetActiveTreeType.
+ This will allow developers to sync many trees in one application at one time if needed.
+
+
+
+
+
+
+
+ Reloads only the last node that the user interacted with via the context menu. To reload a specify node, use SyncTree.
+
+
+
+
+ If for whatever reason the client side system cannot just refresh the one node, the system will use jsTree's built in
+ refresh tool, this however won't allow for reselect or reloadChildren. Most trees will work with the single node
+ refresh but 3rd party tools may have poorly built tree data models.
+
+
+
+
+ When the application searches for a node, it searches for nodes in specific tree types.
+ If SyncTree is used, it will sync the tree nodes with the active tree type, therefore if
+ a developer wants to sync a specific tree, they can call this method to set the type to sync.
+
+
+ Each branch of a particular tree should theoretically be the same type, however, developers can
+ override the type of each branch in their BaseTree's but this is not standard practice. If there
+ are multiple types of branches in one tree, then only those branches that have the Active tree type
+ will be searched for syncing.
+
+
+
+
+
+
+ Closes the Umbraco dialog window if it is open
+
+ specify a value to return to add to the onCloseCallback method if one was specified in the OpenModalWindow method
+
+
+
+
+ Closes the umbraco dialog window if it is open
+
+
+
+
+
+ Opens a modal window
+
+
+
+
+
+
+
+
+
+ This will use the ScriptManager to register the script if one is available, otherwise will default to the ClientScript
+ class of the page.
+
+
+
+
+
+ Returns the string markup for the JavaScript that is rendered.
+ If referencing JavaScript scripts in the backend, this class should be used
+ in case future changes to the client code is change, this will remain intact.
+
+
+
+
+ UmbracoEnsuredPage is the standard protected page in the umbraco backend, and forces authentication.
+
+
+
+
+ Checks if the page exists outside of the /umbraco route, in which case the request will not have been authenticated for the back office
+ so we'll force authentication.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Validates the user for access to a certain application
+
+ The application alias.
+
+
+
+
+ Validates the user node tree permissions.
+
+ The path.
+ The action.
+
+
+
+
+ Raises the event to initialize the page.
+
+ An that contains the event data.
+
+
+
+ Gets/sets the app for which this page belongs to so that we can validate the current user's security against it
+
+
+ If no app is specified then all logged in users will have access to the page
+
+
+
+
+ If true then umbraco will force any window/frame to reload umbraco in the main window
+
+
+
+
+ Gets the current user.
+
+ The current user.
+
+
+
+ Used to assign a webforms page's security to a specific tree which will in turn check to see
+ if the current user has access to the specified tree's registered section
+
+
+
+
+ Exception class when an Umbraco user either has wrong credentials or insufficient permissions
+
+
+
+
+ The GlobalSettings Class contains general settings information for the entire Umbraco instance based on information from web.config appsettings
+
+
+
+
+ Saves a setting into the configuration file.
+
+ Key of the setting to be saved.
+ Value of the setting to be saved.
+
+
+
+ Requests the is in umbraco application directory structure.
+
+ The context.
+
+
+
+
+ Determines whether the specified URL is reserved or is inside a reserved path.
+
+ The URL to check.
+
+ true if the specified URL is reserved; otherwise, false.
+
+
+
+
+ Gets the reserved urls from web.config.
+
+ The reserved urls.
+
+
+
+ Gets the reserved paths from web.config
+
+ The reserved paths.
+
+
+
+ Gets the name of the content XML file.
+
+ The content XML.
+
+
+
+ Gets the path to the storage directory (/data by default).
+
+ The storage directory.
+
+
+
+ Gets the path to umbraco's root directory (/umbraco by default).
+
+ The path.
+
+
+
+ Gets the path to umbraco's client directory (/umbraco_client by default).
+ This is a relative path to the Umbraco Path as it always must exist beside the 'umbraco'
+ folder since the CSS paths to images depend on it.
+
+ The path.
+
+
+
+ Gets the database connection string
+
+ The database connection string.
+
+
+
+ Gets or sets the configuration status. This will return the version number of the currently installed umbraco instance.
+
+ The configuration status.
+
+
+
+ Gets the full path to root.
+
+ The fullpath to root.
+
+
+
+ Gets a value indicating whether umbraco is running in [debug mode].
+
+ true if [debug mode]; otherwise, false.
+
+
+
+ Gets a value indicating whether the current version of umbraco is configured.
+
+ true if configured; otherwise, false.
+
+
+
+ Gets the time out in minutes.
+
+ The time out in minutes.
+
+
+
+ Gets a value indicating whether umbraco uses directory urls.
+
+ true if umbraco uses directory urls; otherwise, false.
+
+
+
+ Returns a string value to determine if umbraco should skip version-checking.
+
+ The version check period in days (0 = never).
+
+
+
+ Gets the URL forbitten characters.
+
+ The URL forbitten characters.
+
+
+
+ Gets the URL space character.
+
+ The URL space character.
+
+
+
+ Gets the SMTP server IP-address or hostname.
+
+ The SMTP server.
+
+
+
+ Returns a string value to determine if umbraco should disbable xslt extensions
+
+ "true" if version xslt extensions are disabled, otherwise, "false"
+
+
+
+ Returns a string value to determine if umbraco should use Xhtml editing mode in the wysiwyg editor
+
+ "true" if Xhtml mode is enable, otherwise, "false"
+
+
+
+ Gets the default UI language.
+
+ The default UI language.
+
+
+
+ Gets the profile URL.
+
+ The profile URL.
+
+
+
+ Gets a value indicating whether umbraco should hide top level nodes from generated urls.
+
+
+ true if umbraco hides top level nodes from urls; otherwise, false.
+
+
+
+
+ Gets the current version.
+
+ The current version.
+
+
+
+ Gets the major version number.
+
+ The major version number.
+
+
+
+ Gets the minor version number.
+
+ The minor version number.
+
+
+
+ Gets the patch version number.
+
+ The patch version number.
+
+
+
+ Gets the version comment (like beta or RC).
+
+ The version comment.
+
+
+
+ Gets a value indicating whether umbraco should force a secure (https) connection to the backoffice.
+
+ true if [use SSL]; otherwise, false.
+
+
+
+ Gets the umbraco license.
+
+ The license.
+
+
+
+ Developer method to test if configuration settings are loaded properly.
+
+ true if succesfull; otherwise, false.
+
+
+
+ Structure that checks in logarithmic time
+ if a given string starts with one of the added keys.
+
+
+
+ Internal sorted list of keys.
+
+
+
+ Adds the specified new key.
+
+ The new key.
+
+
+
+ Checks if the given string starts with any of the added keys.
+
+ The target.
+ true if a key is found that matches the start of target
+
+ Runs in O(s*log(n)), with n the number of keys and s the length of target.
+
+
+
+ Comparator that tests if a string starts with another.
+ Not a real comparator, since it is not reflexive. (x==y does not imply y==x)
+
+
+ Default string comparer.
+
+
+ Gets an instance of the StartsWithComparator.
+
+
+
+ Tests if whole begins with all characters of part.
+
+ The part.
+ The whole.
+
+ Returns 0 if whole starts with part, otherwise performs standard string comparison.
+
+
+
+
+ Interface for internally handling CmsNodes.
+
+
+
+
+ This class can be used to monitor file changes and update accordingly. This is copied
+ from http://haacked.com/archive/2010/01/17/editable-routes.aspx and based on work in Dynamic Data
+
+
+
+
+ Validates if the current filepath matches a directory where the user is allowed to edit a file
+
+ filepath
+
+ true if valid, throws a FileSecurityException if not
+
+
+
+ Returns the path to the root of the application, by getting the path to where the assembly where this
+ method is included is present, then traversing until it's past the /bin directory. Ie. this makes it work
+ even if the assembly is in a /bin/debug or /bin/release folder
+
+
+
+
+
+ Summary description for Log.
+
+
+
+
+ Adds the specified log item to the log.
+
+ The log type.
+ The user adding the item.
+ The affected node id.
+ Comment.
+
+
+
+ Adds the specified log item to the Umbraco log no matter if an external logger has been defined.
+
+ The log type.
+ The user adding the item.
+ The affected node id.
+ Comment.
+
+
+
+ Adds the specified log item to the log without any user information attached.
+
+ The log type.
+ The affected node id.
+ Comment.
+
+
+
+ Adds a log item to the log immidiately instead of Queuing it as a work item.
+
+ The type.
+ The user id.
+ The node id.
+ The comment.
+
+
+
+ Gets a reader for the audit log.
+
+ The node id.
+ A reader for the audit log.
+
+
+
+ Gets a reader for the log for the specified types.
+
+ The type of log message.
+ The start date.
+ A reader for the log.
+
+
+
+ Gets a reader for the log of the specified node.
+
+ The node id.
+ A reader for the log.
+
+
+
+ Gets a reader for the log for the specified user.
+
+ The user.
+ The start date.
+ A reader for the log.
+
+
+
+ Gets a reader of specific for the log for specific types and a specified user.
+
+ The user.
+ The type of log message.
+ The since date.
+ A reader for the log.
+
+
+
+ Gets a reader of specific for the log for specific types and a specified user.
+
+ The user.
+ The type of log message.
+ The since date.
+ Number of rows returned
+ A reader for the log.
+
+
+
+ Summary description for MenuItemI.
+
+
+
+
+ The StateHelper class provides general helper methods for handling sessions, context, viewstate and cookies.
+
+
+
+
+ Gets the session value.
+
+
+ The key.
+
+
+
+
+ Gets the session value.
+
+
+ The context.
+ The key.
+
+
+
+
+ Gets the session value.
+
+
+ The context.
+ The key.
+
+
+
+
+ Sets a session value.
+
+ The key.
+ The value.
+
+
+
+ Sets the session value.
+
+ The context.
+ The key.
+ The value.
+
+
+
+ Sets the session value.
+
+ The context.
+ The key.
+ The value.
+
+
+
+ Gets the context value.
+
+
+ The key.
+
+
+
+
+ Gets the context value.
+
+
+ The context.
+ The key.
+
+
+
+
+ Gets the context value.
+
+
+ The context.
+ The key.
+
+
+
+
+ Sets the context value.
+
+ The key.
+ The value.
+
+
+
+ Sets the context value.
+
+ The context.
+ The key.
+ The value.
+
+
+
+ Sets the context value.
+
+ The context.
+ The key.
+ The value.
+
+
+
+ Gets the state bag.
+
+
+
+
+
+ Gets the view state value.
+
+
+ The key.
+
+
+
+
+ Gets a view-state value.
+
+
+ The bag.
+ The key.
+
+
+
+
+ Sets the view state value.
+
+ The key.
+ The value.
+
+
+
+ Sets the view state value.
+
+ The bag.
+ The key.
+ The value.
+
+
+
+ Determines whether a cookie has a value with a specified key.
+
+ The key.
+
+ true if the cookie has a value with the specified key; otherwise, false.
+
+
+
+
+ Gets the cookie value.
+
+ The key.
+
+
+
+
+ Sets the cookie value.
+
+ The key.
+ The value.
+
+
+
+ Sets the cookie value including the number of days to persist the cookie
+
+ The key.
+ The value.
+ How long the cookie should be present in the browser
+
+
+
+ Gets/sets the HttpContext object, this is generally used for unit testing. By default this will
+ use the HttpContext.Current
+
+
+
+
+ The ui class handles the multilingual text in the umbraco back-end.
+ Provides access to language settings and language files used in the umbraco back-end.
+
+
+
+
+ Returns translated UI text with a specific key based on the specified user's language settings
+
+ The key.
+ The user.
+
+
+
+
+ Returns translated UI text with a specific key based on the logged-in user's language settings
+
+ The key.
+
+
+
+
+ Returns translated UI text with a specific key and area, based on the specified users language settings
+
+ The area.
+ The key.
+ The user.
+
+
+
+
+ Returns translated UI text with a specific key and area, based on the logged-in users language settings
+
+ The area.
+ The key.
+
+
+
+
+ Returns translated UI text with a specific area and key. based on the specified users language settings and variables array passed to the method
+
+ The area.
+ The key.
+ The variables array.
+ The user.
+
+
+
+
+ Returns translated UI text with a specific key and area based on the specified users language settings and single variable passed to the method
+
+ The area.
+ The key.
+ The variable.
+ The u.
+
+
+
+
+ Returns translated UI text with a specific key based on the logged-in user's language settings
+
+ The key.
+
+
+
+
+ Returns translated UI text with a specific key and area based on the logged-in users language settings
+
+ The area.
+ The key.
+
+
+
+
+ Returns translated UI text with a specific key and area based on the logged-in users language settings and variables array send to the method.
+
+ The area.
+ The key.
+ The variables.
+
+
+
+
+ Returns translated UI text with a specific key and area matching the variable send to the method.
+
+ The area.
+ The key.
+ The variable.
+
+
+
+
+ Returns translated UI text with a specific key, area and language matching the variables send to the method.
+
+ The area (Optional)
+ The key (Required)
+ The variables (Optional)
+ The language (Optional)
+
+ This is the underlying call for all Text/GetText method calls
+
+
+
+ Gets the language file as a xml document.
+
+ The language.
+
+
+
+
+ Convert an array of strings to a dictionary of indicies -> values
+
+
+
+
+
+
+ The UmbracoSettings Class contains general settings information for the entire Umbraco instance based on information from the /config/umbracoSettings.config file
+
+
+
+
+ Selects a xml node in the umbraco settings config file.
+
+ The xpath query to the specific node.
+ If found, it returns the specific configuration xml node.
+
+
+
+ Gets the value of configuration xml node with the specified key.
+
+ The key.
+
+
+
+
+ Gets the umbraco settings document.
+
+ The _umbraco settings.
+
+
+
+ Gets a value indicating whether the media library will create new directories in the /media directory.
+
+
+ true if new directories are allowed otherwise, false.
+
+
+
+
+ Gets a value indicating whether logging is enabled in umbracoSettings.config (/settings/logging/enableLogging).
+
+ true if logging is enabled; otherwise, false.
+
+
+
+ Gets a value indicating whether logging happens async.
+
+ true if async logging is enabled; otherwise, false.
+
+
+
+ Gets the assembly of an external logger that can be used to store log items in 3rd party systems
+
+
+
+
+ Gets the type of an external logger that can be used to store log items in 3rd party systems
+
+
+
+
+ Long Audit Trail to external log too
+
+
+
+
+ Keep user alive as long as they have their browser open? Default is true
+
+
+
+
+ Show disabled users in the tree in the Users section in the backoffice
+
+
+
+
+ Gets a value indicating whether the logs will be auto cleaned
+
+ true if logs are to be automatically cleaned; otherwise, false
+
+
+
+ Gets the value indicating the log cleaning frequency (in miliseconds)
+
+
+
+
+ Gets the disabled log types.
+
+ The disabled log types.
+
+
+
+ Gets the package server url.
+
+ The package server url.
+
+
+
+ Gets a value indicating whether umbraco will use domain prefixes.
+
+ true if umbraco will use domain prefixes; otherwise, false.
+
+
+
+ This will add a trailing slash (/) to urls when in directory url mode
+ NOTICE: This will always return false if Directory Urls in not active
+
+
+
+
+ Gets a value indicating whether umbraco will use ASP.NET MasterPages for rendering instead of its propriatary templating system.
+
+ true if umbraco will use ASP.NET MasterPages; otherwise, false.
+
+
+
+ Gets a value indicating whether umbraco will attempt to load any skins to override default template files
+
+ true if umbraco will override templates with skins if present and configured false.
+
+
+
+ razor DynamicNode typecasting detects XML and returns DynamicXml - Root elements that won't convert to DynamicXml
+
+
+
+
+ Gets a value indicating whether umbraco will clone XML cache on publish.
+
+
+ true if umbraco will clone XML cache on publish; otherwise, false.
+
+
+
+
+ Gets a value indicating whether rich text editor content should be parsed by tidy.
+
+ true if content is parsed; otherwise, false.
+
+
+
+ Gets the encoding type for the tidyied content.
+
+ The encoding type as string.
+
+
+
+ Gets the property context help option, this can either be 'text', 'icon' or 'none'
+
+ The property context help option.
+
+
+
+ Whether to force safe aliases (no spaces, no special characters) at businesslogic level on contenttypes and propertytypes
+
+
+
+
+ File types that will not be allowed to be uploaded via the content/media upload control
+
+
+
+
+ Gets the allowed image file types.
+
+ The allowed image file types.
+
+
+
+ Gets the allowed script file types.
+
+ The allowed script file types.
+
+
+
+ Gets the duration in seconds to cache queries to umbraco library member and media methods
+ Default is 1800 seconds (30 minutes)
+
+
+
+
+ Gets the path to the scripts folder used by the script editor.
+
+ The script folder path.
+
+
+
+ Enabled or disable the script/code editor
+
+
+
+
+ Gets a value indicating whether umbraco will ensure unique node naming.
+ This will ensure that nodes cannot have the same url, but will add extra characters to a url.
+ ex: existingnodename.aspx would become existingnodename(1).aspx if a node with the same name is found
+
+ true if umbraco ensures unique node naming; otherwise, false.
+
+
+
+ Gets the notification email sender.
+
+ The notification email sender.
+
+
+
+ Gets a value indicating whether notification-emails are HTML.
+
+
+ true if html notification-emails are disabled; otherwise, false.
+
+
+
+
+ Gets the allowed attributes on images.
+
+ The allowed attributes on images.
+
+
+
+ Gets the scheduled tasks as XML
+
+ The scheduled tasks.
+
+
+
+ Gets a list of characters that will be replaced when generating urls
+
+ The URL replacement characters.
+
+
+
+ Whether to replace double dashes from url (ie my--story----from--dash.aspx caused by multiple url replacement chars
+
+
+
+
+ Gets a value indicating whether umbraco will use distributed calls.
+ This enables umbraco to share cache and content across multiple servers.
+ Used for load-balancing high-traffic sites.
+
+ true if umbraco uses distributed calls; otherwise, false.
+
+
+
+ Gets the ID of the user with access rights to perform the distributed calls.
+
+ The distributed call user.
+
+
+
+ Gets the html injected into a (x)html page if Umbraco is running in preview mode
+
+
+
+
+ Gets IP or hostnames of the distribution servers.
+ These servers will receive a call everytime content is created/deleted/removed
+ and update their content cache accordingly, ensuring a consistent cache on all servers
+
+ The distribution servers.
+
+
+
+ Gets HelpPage configurations.
+ A help page configuration specify language, user type, application, application url and
+ the target help page url.
+
+
+
+
+ Gets all repositories registered, and returns them as XmlNodes, containing name, alias and webservice url.
+ These repositories are used by the built-in package installer and uninstaller to install new packages and check for updates.
+ All repositories should have a unique alias.
+ All packages installed from a repository gets the repository alias included in the install information
+
+ The repository servers.
+
+
+
+ Gets a value indicating whether umbraco will use the viewstate mover module.
+ The viewstate mover will move all asp.net viewstate information to the bottom of the aspx page
+ to ensure that search engines will index text instead of javascript viewstate information.
+
+
+ true if umbraco will use the viewstate mover module; otherwise, false.
+
+
+
+
+ Tells us whether the Xml Content cache is disabled or not
+ Default is enabled
+
+
+
+
+ Check if there's changes to the umbraco.config xml file cache on disk on each request
+ Makes it possible to updates environments by syncing the umbraco.config file across instances
+ Relates to http://umbraco.codeplex.com/workitem/30722
+
+
+
+
+ If this is enabled, all Umbraco objects will generate data in the preview table (cmsPreviewXml).
+ If disabled, only documents will generate data.
+ This feature is useful if anyone would like to see how data looked at a given time
+
+
+
+
+ Whether to use the new 4.1 schema or the old legacy schema
+
+
+ true if yes, use the old node/data model; otherwise, false.
+
+
+
+
+ Tells us whether the Xml to always update disk cache, when changes are made to content
+ Default is enabled
+
+
+
+
+ Tells us whether to use a splash page while umbraco is initializing content.
+ If not, requests are queued while umbraco loads content. For very large sites (+10k nodes) it might be usefull to
+ have a splash page
+ Default is disabled
+
+
+
+
+ This configuration setting defines how to handle macro errors:
+ - Inline - Show error within macro as text (default and current Umbraco 'normal' behavior)
+ - Silent - Suppress error and hide macro
+ - Throw - Throw an exception and invoke the global error handler (if one is defined, if not you'll get a YSOD)
+
+ MacroErrorBehaviour enum defining how to handle macro errors.
+
+
+
+ This configuration setting defines how to show icons in the document type editor.
+ - ShowDuplicates - Show duplicates in files and sprites. (default and current Umbraco 'normal' behaviour)
+ - HideSpriteDuplicates - Show files on disk and hide duplicates from the sprite
+ - HideFileDuplicates - Show files in the sprite and hide duplicates on disk
+
+ MacroErrorBehaviour enum defining how to show icons in the document type editor.
+
+
+
+ Gets the default document type property used when adding new properties through the back-office
+
+ Configured text for the default document type property
+ If undefined, 'Textstring' is the default
+
+
+
+ Gets the settings file path
+
+
+
+
+ represents a Umbraco back end user
+
+
+
+
+ Initializes a new instance of the class.
+
+ The ID.
+
+
+
+ Initializes a new instance of the class.
+
+ The ID.
+ if set to true [no setup].
+
+
+
+ Initializes a new instance of the class.
+
+ The login.
+ The password.
+
+
+
+ Initializes a new instance of the class.
+
+ The login.
+
+
+
+ Used to persist object changes to the database.
+
+
+
+
+ Gets the password.
+
+
+
+
+
+ Determines whether this user is an admin.
+
+
+ true if this user is admin; otherwise, false.
+
+
+
+
+ Determines whether this user is the root (super user).
+
+
+ true if this user is root; otherwise, false.
+
+
+
+
+ Get the application which the user has access to as a List
+
+
+
+
+
+ Validates the users credentials.
+
+ The login name.
+ The password.
+
+
+
+
+ Validates the users credentials.
+
+ The login name.
+ The password.
+ if set to true [check for umbraco console access].
+
+
+
+
+ Gets all users
+
+
+
+
+
+ Gets the current user (logged in)
+
+ A user or null
+
+
+
+ Gets all users by email.
+
+ The email.
+
+
+
+
+ Gets all users by email.
+
+ The email.
+ match exact email address or partial email address.
+
+
+
+
+ Gets all users by login name.
+
+ The login.
+
+
+
+
+ Gets all users by login name.
+
+ The login.
+ whether to use a partial match
+
+
+
+
+ Create a new user.
+
+ The full name.
+ The login name.
+ The password.
+ The user type.
+
+
+
+ Creates a new user.
+
+ The name.
+ The lname.
+ The passw.
+ The email.
+ The ut.
+
+
+
+ Updates the name, login name and password for the user with the specified id.
+
+ The id.
+ The name.
+ The lname.
+ The email.
+ The ut.
+
+
+
+ Updates the membership provider properties
+
+ The id.
+
+
+
+
+
+
+ Gets the ID from the user with the specified login name and password
+
+ The login name.
+ The password.
+ a user ID
+
+
+
+ Gets the ID from the user with the specified login name
+
+ The login name.
+ a user ID
+
+
+
+ Deletes this instance.
+
+
+
+
+ Disables this instance.
+
+
+
+
+ Gets the users permissions based on a nodes path
+
+ The path.
+
+
+
+
+ Initializes the user node permissions
+
+
+
+
+ Gets a users notifications for a specified node path.
+
+ The node path.
+
+
+
+
+ Clears the internal hashtable containing cached information about notifications for the user
+
+
+
+
+ Initializes the notifications and caches them.
+
+
+
+
+ Clears the list of applications the user has access to, ensure to call Save afterwords
+
+
+
+
+ Clears the list of applications the user has access to.
+
+
+
+
+ Adds a application to the list of allowed applications, ensure to call Save() afterwords
+
+
+
+
+
+ Adds a application to the list of allowed applications
+
+ The app alias.
+
+
+
+ Flushes the user from cache.
+
+
+
+
+ Gets the user with a specified ID
+
+ The id.
+
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Gets or sets the users name.
+
+ The name.
+
+
+
+ Gets or sets the users email.
+
+ The email.
+
+
+
+ Gets or sets the users language.
+
+ The language.
+
+
+
+ Gets or sets the users password.
+
+ The password.
+
+
+
+ Gets the applications which the user has access to.
+
+ The users applications.
+
+
+
+ Gets or sets the users login name
+
+ The loginname.
+
+
+
+ Gets or sets the type of the user.
+
+ The type of the user.
+
+
+
+ Gets the user id.
+
+ The id.
+
+
+
+ Gets or sets a value indicating whether the user has access to the Umbraco back end.
+
+ true if the user has access to the back end; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether this is disabled.
+
+ true if disabled; otherwise, false.
+
+
+
+
+ Gets or sets the start media id.
+
+ The start media id.
+
+
+
+ Occurs when [saving].
+
+
+
+
+ Occurs when [new].
+
+
+
+
+ Occurs when [disabling].
+
+
+
+
+ Occurs when [deleting].
+
+
+
+
+ Occurs when [flushing from cache].
+
+
+
+
+ The save event handler
+
+
+
+
+ The new event handler
+
+
+
+
+ The disable event handler
+
+
+
+
+ The delete event handler
+
+
+
+
+ The Flush User from cache event handler
+
+
+
+
+ Represents a umbraco Usertype
+
+
+
+
+ Creates a new empty instance of a UserType
+
+
+
+
+ Creates a new instance of a UserType and attempts to
+ load it's values from the database cache.
+
+
+ If the UserType is not found in the existing ID list, then this object
+ will remain an empty object
+
+ The UserType id to find
+
+
+
+ Initializes a new instance of the class.
+
+ The user type id.
+ The name.
+
+
+
+ Creates a new instance of UserType with all parameters
+
+
+
+
+
+
+
+
+ Saves this instance.
+
+
+
+
+ Deletes this instance.
+
+
+
+
+ Load the data for the current UserType by it's id
+
+
+ Returns true if the UserType id was found
+ and the data was loaded, false if it wasn't
+
+
+
+ Creates a new user type
+
+
+
+
+
+
+
+ Gets the user type with the specied ID
+
+ The id.
+
+
+
+
+ Returns all UserType's
+
+
+
+
+
+ The cache storage for all user types
+
+
+
+
+ Gets or sets the user type alias.
+
+
+
+
+ Gets the name of the user type.
+
+
+
+
+ Gets the id the user type
+
+
+
+
+ Gets the default permissions of the user type
+
+
+
+
+ Returns an array of UserTypes
+
+
+
+
+ A TextWriter class based on the StringWriter that can support any encoding, not just UTF-16
+ as is the default of the normal StringWriter class
+
+
+
+
+ Initializes a new instance of the class.
+
+ The sb.
+ The enc.
+
+
+
+ Gets the in which the output is written.
+
+
+ The Encoding in which the output is written.
+
+
+
+ The built in JavaScriptSerializer does not allow you to export real JavaScript
+ objects, functions, etc... only string values which isn't always what you want.
+ See
+
+ Override the JavaScriptSerializer serialization process and look for any
+ custom "tags" strings such as a @ symbol which depicts that the string value
+ should really be a JSON value, therefore the output removes the double quotes.
+
+
+
+ If you want to output:
+ {"myFunction": function() {alert('hello');}}
+ The JavaScriptSerializer will not let you do this, it will render:
+ {"myFunction": "function() {alert('hello');}"}
+ which means that JavaScript will interpret it as a string.
+ This class allows you to output JavaScript objects, amongst other things.
+
+
+
+
+ method for a string to be converted to a json object.
+
+
+ A string formatted with a special prefix
+
+ This essentially just prefixes the string with a special key that we will use
+ to parse with later during serialization.
+
+
+
+
+ A generic class to inherit from or use by itself so that the serialize/deserialize methods are available to it
+
+
+
+
+ Generic Serialization method that will serialize object without the default namespaces:
+ http://www.w3.org/2001/XMLSchema
+ http://www.w3.org/2001/XMLSchema-instance
+ This also ensures that the returned XML is always encoded in UTF-8.
+
+
+
+
+
+
+
+
+ Threadsafe Singleton best practice design pattern template
+
+ Sample:
+
+ public class Demo
+ {
+ public static Form1 instance1
+ {
+ get
+ {
+ return Singleton{Form1}.Instance;
+ }
+ }
+ }
+
+ Any class that implements default constructor
+
+
+
+ The xmlHelper class contains general helper methods for working with xml in umbraco.
+
+
+
+
+ Imports a XML node from text.
+
+ The text.
+ The XML doc.
+
+
+
+
+ Opens a file as a XmlDocument.
+
+ The relative file path. ei. /config/umbraco.config
+ Returns a XmlDocument class
+
+
+
+ creates a XmlAttribute with the specified name and value
+
+ The xmldocument.
+ The name of the attribute.
+ The value of the attribute.
+ a XmlAttribute
+
+
+
+ Creates a text XmlNode with the specified name and value
+
+ The xmldocument.
+ The node name.
+ The node value.
+ a XmlNode
+
+
+
+ Creates a cdata XmlNode with the specified name and value
+
+ The xmldocument.
+ The node name.
+ The node value.
+ A XmlNode
+
+
+
+ Gets the value of a XmlNode
+
+ The XmlNode.
+ the value as a string
+
+
+
+ Determines whether the specified string appears to be XML.
+
+ The XML string.
+
+ true if the specified string appears to be XML; otherwise, false.
+
+
+
+
+ Splits the specified delimited string into an XML document.
+
+ The data.
+ The separator.
+ Name of the root.
+ Name of the element.
+ Returns an System.Xml.XmlDocument representation of the delimited string data.
+
+
+
+ Splits the specified delimited string into an XML document.
+
+ The XML document.
+ The delimited string data.
+ The separator.
+ Name of the root node.
+ Name of the element node.
+ Returns an System.Xml.XmlDocument representation of the delimited string data.
+
+
+
diff --git a/Blog/bin/cms.dll b/Blog/bin/cms.dll
new file mode 100644
index 0000000..9510498
Binary files /dev/null and b/Blog/bin/cms.dll differ
diff --git a/Blog/bin/cms.xml b/Blog/bin/cms.xml
new file mode 100644
index 0000000..7f25cbc
--- /dev/null
+++ b/Blog/bin/cms.xml
@@ -0,0 +1,6460 @@
+
+
+
+ cms
+
+
+
+
+ Actions and Actionhandlers are a key concept to umbraco and a developer whom wish to apply
+ businessrules whenever data is changed within umbraco, by implementing the IActionHandler
+ interface it's possible to invoke methods (foreign to umbraco) - this can be used whenever
+ there is a specific rule which needs to be applied to content.
+
+ The Action class itself has responsibility for registering actions and actionhandlers,
+ and contains methods which will be invoked whenever a change is made to ex. a document, media or member
+
+ An action/actionhandler will automatically be registered, using reflection
+ which is enabling thirdparty developers to extend the core functionality of
+ umbraco without changing the codebase.
+
+
+
+
+ This is used when an IAction or IActionHandler is installed into the system
+ and needs to be loaded into memory.
+
+
+ TODO: this shouldn't be needed... we should restart the app pool when a package is installed!
+
+
+
+
+ Jacascript for the contextmenu
+ Suggestion: this method should be moved to the presentation layer.
+
+
+ String representation
+
+
+
+ Returns a list of JavaScript file paths.
+
+
+
+
+
+ Javascript menuitems - tree contextmenu
+ Umbraco console
+
+ Suggestion: this method should be moved to the presentation layer.
+
+
+
+
+
+
+
+
+ An arraylist containing all javascript variables for the contextmenu in the tree
+
+
+
+ This method will return a list of IAction's based on a string list. Each character in the list may represent
+ an IAction. This will associate any found IActions based on the Letter property of the IAction with the character being referenced.
+
+
+ returns a list of actions that have an associated letter found in the action string list
+
+
+
+ Returns the string representation of the actions that make up the actions collection
+
+
+
+
+
+ Returns a list of IActions that are permission assignable
+
+
+
+
+
+ Check if the current IAction is using legacy javascript methods
+
+
+ false if the Iaction is incompatible with 4.5
+
+
+
+ Method to convert the old modal calls to the new ones
+
+
+
+
+
+
+ This class is used to manipulate IActions that are implemented in a wrong way
+ For instance incompatible trees with 4.0 vs 4.5
+
+
+
+
+ This action is invoked when a domain is being assigned to a document
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked upon viewing audittrailing on a document
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is used as a security constraint that grants a user the ability to view nodes in a tree
+ that has permissions applied to it.
+
+
+ This action should not be invoked. It is used as the minimum required permission to view nodes in the content tree. By
+ granting a user this permission, the user is able to see the node in the tree but not edit the document. This may be used by other trees
+ that support permissions in the future.
+
+
+
+
+ This action is invoked when the document type of a piece of content is changed
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when copying a document, media, member
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when a document, media, member is deleted
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when a document is disabled.
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when the trash can is emptied
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when exporting a document type
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when importing a document type
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked upon creation of a document, media, member
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked upon creation of a document
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked upon creation of a document
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when a notification is sent
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This permission is assigned to a node when there are no permissions assigned to the node.
+ This is used internally to assign no permissions to a node for a user and shouldn't be used in code.
+
+
+
+
+ This action is invoked upon creation of a document, media, member
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked upon creation of a document, media, member
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when a document is protected or unprotected
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when a document is being published
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when a user logs out
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when a node reloads its children
+ Concerns only the tree itself and thus you should not handle
+ this action from without umbraco.
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when all documents are being republished
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when rights are changed on a document
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when copying a document is being rolled back
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when a send to translate request occurs
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when children to a document, media, member is being sorted
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when children to a document is being sent to published (by an editor without publishrights)
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when a translation occurs
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when copying a document or media
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance)
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ Used simply to define context menu seperator items.
+ This should not be used directly in any code except for creating menus.
+
+
+
+
+ This action is invoked when a document is being unpublished
+
+
+
+
+ A public constructor exists ONLY for backwards compatibility in regards to 3rd party add-ons.
+ All Umbraco assemblies should use the singleton instantiation (this.Instance).
+ When this applicatio is refactored, this constuctor should be made private.
+
+
+
+
+ This action is invoked when the content item is to be restored from the recycle bin
+
+
+
+
+ The attribute to assign to any IAction objects.
+
+
+ This is purely used for compatibility reasons for old IActions used in v7 that haven't been upgraded to
+ the new format.
+
+
+
+
+ This constructor defines both the angular service and method name to use
+
+
+
+
+
+
+ This constructor will assume that the method name equals the type name of the action menu class
+
+
+
+
+
+ Base class that defines the methods, properties and events for all datatype controls.
+
+
+
+
+ The base datatype.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The base datatype.
+
+
+
+ Saves the data in this control.
+
+
+
+
+ Raises the event.
+
+ An object that contains the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Occurs when [on save].
+
+
+
+
+ Gets or sets the control.
+
+
+ The control.
+
+
+
+
+ Gets the value.
+
+
+ The value.
+
+
+
+
+ Gets a value indicating whether a label is shown
+
+
+ true if [show label]; otherwise, false.
+
+
+
+
+ Gets a value indicating whether the editor should be treated as a rich text editor.
+
+
+ true if [treat as rich text editor]; otherwise, false.
+
+
+
+
+ Gets the editor control.
+
+
+ The editor.
+
+
+
+
+ The save event handler
+
+ The instance containing the event data.
+
+
+
+ Default implementation of the IData interface that stores data inside the Umbraco database.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the data.
+
+
+
+ Initializes the object.
+
+ The init value.
+ The init property id.
+
+
+
+ This is here for performance reasons since in some cases we will have already resolved the value from the db
+ and want to just give this object the value so it doesn't go re-look it up from the database.
+
+
+
+
+
+
+ Loads the data value from the database.
+
+
+
+
+ Converts the data to XML.
+
+ The data.
+ The data as XML.
+
+
+
+ Creates a new value.
+
+ The property id.
+
+
+
+ Deletes this instance.
+
+
+
+
+ Gets or sets the value.
+
+ The value.
+
+
+
+ Gets or sets the property id.
+
+ The property id.
+
+
+
+ Gets the node id.
+
+ The node id.
+
+
+
+ Gets or sets a value indicating whether preview mode is switched on.
+ In preview mode, the setter saves to a temporary location
+ instead of persistent storage, which the getter also reads from on subsequent access.
+ Switching off preview mode restores the persistent value.
+
+ true if preview mode is switched on; otherwise, false.
+
+
+
+ Called to ensure we have a valid LoadedContentItem.
+
+
+
+
+
+ Gets/sets the loaded Conent object which we can resolve from other classes since this class sets it's properties
+
+
+
+
+ A simple class for storing predefined values on a datatype.
+ A prevalue contains a value, a unique key and sort order.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The id.
+ The sort order.
+ The value.
+
+
+
+ Initializes a new instance of the class.
+
+ The id.
+
+
+
+ Initializes a new instance of the class.
+
+ The data type id.
+ The value.
+
+
+
+ Create a new pre value with a value
+
+
+
+
+
+
+
+ Deletes a prevalue item
+
+
+
+
+ Saves this instance.
+
+
+
+
+ Initializes this instance.
+
+
+
+
+ Gets or sets the data type id.
+
+ The data type id.
+
+
+
+ Gets or sets the id.
+
+ The id.
+
+
+
+ Gets or sets the value.
+
+ The value.
+
+
+
+ Gets or sets the sort order.
+
+ The sort order.
+
+
+
+ Gets or sets the sort order.
+
+ The sort order.
+
+
+
+ Not implemented
+
+
+
+
+ Not implemented
+
+
+
+
+ Returns a collectino of MacroEngineLanguage objects, each of which describes a file extension and an associated macro engine
+
+
+
+ Until the macro engines are rewritten, this method explicitly ignores the PartialViewMacroEngine because this method
+ is essentially just used for any macro engine that stores it's files in the ~/macroScripts folder where file extensions
+ cannot overlap.
+
+
+
+
+ Returns a collectino of MacroEngineLanguage objects, each of which describes a file extension and an associated macro engine that
+ supports file extension lookups.
+
+
+
+ The PartialViewMacroEngine will never be returned in these results because it does not support searching by file extensions. See
+ the notes in the PartialViewMacroEngine regarding this.
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to <?xml version="1.0" encoding="utf-8"?>
+ <packages></packages>.
+
+
+
+
+ Initialize package install status object by specifying the internal id of the installation.
+ The id is specific to the local umbraco installation and cannot be used to identify the package in general.
+ Use the Package(Guid) constructor to check whether a package has been installed
+
+ The internal id.
+
+
+
+ This class implements the IPackageAction Interface, used to execute code when packages are installed.
+ All IPackageActions only takes a PackageName and a XmlNode as input, and executes based on the data in the xmlnode.
+
+
+
+
+
+ Action alias.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Undoes the addStringToHtml Execute() method, by removing the same string from the same template.
+
+ Name of the package.
+ The XML data.
+
+
+
+
+ Action alias.
+
+
+
+
+
+ This class implements the IPackageAction Interface, used to execute code when packages are installed.
+ All IPackageActions only takes a PackageName and a XmlNode as input, and executes based on the data in the xmlnode.
+
+
+
+
+ Allows a documentType to be created below another documentType.
+
+ Name of the package.
+ The XML data.
+
+
+
+ Returns true on success
+
+
+
+ This action has no undo.
+
+ Name of the package.
+ The XML data.
+
+
+
+
+ Action Alias.
+
+
+
+
+
+ This class implements the IPackageAction Interface, used to execute code when packages are installed.
+ All IPackageActions only takes a PackageName and a XmlNode as input, and executes based on the data in the xmlnode.
+
+
+
+
+ Executes the specified package action.
+
+ Name of the package.
+ The XML data.
+
+
+
+ True if executed succesfully
+
+
+
+ This action has no undo.
+
+ Name of the package.
+ The XML data.
+
+
+
+
+ Action alias
+
+
+
+
+
+ This class implements the IPackageAction Interface, used to execute code when packages are installed.
+ All IPackageActions only takes a PackageName and a XmlNode as input, and executes based on the data in the xmlnode.
+
+
+
+
+ Executes the specified package action.
+
+ Name of the package.
+ The XML data.
+
+
+
+ True if executed succesfully
+
+
+
+ This action has no undo.
+
+ Name of the package.
+ The XML data.
+
+
+
+
+ Action alias
+
+
+
+
+
+ Gets the SQL helper.
+
+ The SQL helper.
+
+
+
+ Removes a tag from the database, this will also remove all relations
+
+
+
+
+
+ Delete all tag associations for the node specified
+
+
+
+
+
+
+ Remove a single tag association
+
+
+
+
+
+
+
+ Gets the tags from node as ITag objects.
+
+ The node id.
+
+
+
+
+ Gets the tags from group as ITag objects.
+
+ The group.
+
+
+
+
+ Gets all the tags as ITag objects
+
+ The node id.
+
+
+
+
+ A collection of tasks.
+
+
+
+
+ Adds the specified new task.
+
+ The new task.
+
+
+
+ Gets the at the specified index.
+
+
+
+
+
+ A lightweight datastructure used to represent a version of a document
+
+
+
+
+ Initializes a new instance of the DocumentVersionList class.
+
+ Unique version id
+ Version createdate
+ Version name
+ Creator
+
+
+
+ The unique id of the version
+
+
+
+
+ The date of the creation of the version
+
+
+
+
+ The name of the document in the version
+
+
+
+
+ The user which created the version
+
+
+
+
+ A helper method to ensure that an Alias string doesn't contains any illegal characters
+ which is defined in a private constant 'ValidCharacters' in this class.
+ Conventions over configuration, baby. You can't touch this - MC Hammer!
+
+ The alias.
+ An alias guaranteed not to contain illegal characters
+
+
+
+ Extension methods for the PluginTypeResolver
+
+
+
+
+ Returns all available IActions in application
+
+
+
+
+
+
+ Returns all available IDataType in application
+
+
+
+
+
+
+ Returns all available IMediaFactory in application
+
+
+
+
+
+
+ Used to easily store and retrieve items from the cache.
+
+
+ This whole class will become obsolete, however one of the methods is still used that is not ported over to the new CacheHelper
+ class so that is why the class declaration is not marked obsolete.
+ We haven't migrated it because I don't know why it is needed.
+
+
+
+
+ Clears everything in umbraco's runtime cache, which means that not only
+ umbraco content is removed, but also other cache items from pages running in
+ the same application / website. Use with care :-)
+
+
+
+
+ Clears the item in umbraco's runtime cache with the given key
+
+ Key
+
+
+
+ Clears all objects in the System.Web.Cache with the System.Type name as the
+ input parameter. (using [object].GetType())
+
+ The name of the System.Type which should be cleared from cache ex "System.Xml.XmlDocument"
+
+
+
+ Clears all cache items that starts with the key passed.
+
+ The start of the key
+
+
+
+ Retrieve all cached items
+
+ A hastable containing all cacheitems
+
+
+
+ Not implemented yet
+
+
+
+
+ Not implemented yet
+
+
+
+
+ CMSNode class serves as the base class for many of the other components in the cms.businesslogic.xx namespaces.
+ Providing the basic hierarchical data structure and properties Text (name), Creator, Createdate, updatedate etc.
+ which are shared by most umbraco objects.
+
+ The child classes are required to implement an identifier (Guid) which is used as the objecttype identifier, for
+ distinguishing the different types of CMSNodes (ex. Documents/Medias/Stylesheets/documenttypes and so forth).
+
+
+
+
+ Get a count on all CMSNodes given the objecttype
+
+ The objecttype identifier
+
+ The number of CMSNodes of the given objecttype
+
+
+
+
+ Number of ancestors of the current CMSNode
+
+ The CMSNode Id
+
+ The number of ancestors from the given CMSNode
+
+
+
+
+ Returns the number of leaf nodes from the newParent id for a given object type
+
+
+
+
+
+
+
+ Method for checking if a CMSNode exits with the given Guid
+
+ Identifier
+ True if there is a CMSNode with the given Guid
+
+
+
+ Method for checking if a CMSNode exits with the given id
+
+ Identifier
+ True if there is a CMSNode with the given id
+
+
+
+ Retrieve a list of the unique id's of all CMSNodes given the objecttype
+
+ The objecttype identifier
+
+ A list of all unique identifiers which each are associated to a CMSNode
+
+
+
+
+ Retrieve a list of the node id's of all CMSNodes given the objecttype
+
+ The objecttype identifier
+
+ A list of all node ids which each are associated to a CMSNode
+
+
+
+
+ Retrieves the top level nodes in the hierarchy
+
+ The Guid identifier of the type of objects
+
+ A list of all top level nodes given the objecttype
+
+
+
+
+ Given the protected modifier the CMSNode.MakeNew method can only be accessed by
+ derived classes > who by definition knows of its own objectType.
+
+ The newParent CMSNode id
+ The objecttype identifier
+ Creator
+ The level in the tree hieararchy
+ The name of the CMSNode
+ The unique identifier
+
+
+
+
+ Retrieve a list of the id's of all CMSNodes given the objecttype and the first letter of the name.
+
+ The objecttype identifier
+ Firstletter
+
+ A list of all CMSNodes which has the objecttype and a name that starts with the given letter
+
+
+
+
+ Empty constructor that is not suported
+ ...why is it here?
+
+
+
+
+ Initializes a new instance of the class.
+
+ The id.
+
+
+
+ This is purely for a hackity hack hack hack in order to make the new Document(id, version) constructor work because
+ the Version property needs to be set on the object before setupNode is called, otherwise it never works! this allows
+ inheritors to set default data before setupNode() is called.
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The id.
+ if set to true [no setup].
+
+
+
+ Initializes a new instance of the class.
+
+ The unique ID.
+
+
+
+ Ensures uniqueness by id
+
+
+
+
+
+
+ Ensures uniqueness by id
+
+
+
+
+
+ An xml representation of the CMSNOde
+
+ Xmldocument context
+ If true the xml will append the CMSNodes child xml
+ The CMSNode Xmlrepresentation
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Moves the CMSNode from the current position in the hierarchy to the target
+
+ Target CMSNode id
+
+
+
+ Deletes this instance.
+
+
+
+
+ Returns all descendant nodes from this node.
+
+
+
+ This doesn't return a strongly typed IEnumerable object so that we can override in in super clases
+ and since this class isn't a generic (thought it should be) this is not strongly typed.
+
+
+
+
+ This allows inheritors to set the underlying text property without persisting the change to the database.
+
+
+
+
+
+ This is purely for a hackity hack hack hack in order to make the new Document(id, version) constructor work because
+ the Version property needs to be set on the object before setupNode is called, otherwise it never works!
+
+
+
+
+
+ Sets up the internal data of the CMSNode, used by the various constructors
+
+
+
+
+ Sets up the node for the content tree, this makes no database calls, just sets the underlying properties
+
+ The unique ID.
+ Type of the node object.
+ The level.
+ The newParent id.
+ The user id.
+ The path.
+ The text.
+ The create date.
+ if set to true [has children].
+
+
+
+ Updates the temp path for the content tree.
+
+ The path.
+
+
+
+ This needs to be synchronized since we are doing multiple sql operations in one method
+
+
+
+
+
+
+ Calls the subscribers of a cancelable event handler,
+ stopping at the event handler which cancels the event (if any).
+
+ Type of the event arguments.
+ The event to fire.
+ Sender of the event.
+ Event arguments.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Gets the default icon classes.
+
+ The default icon classes.
+
+
+
+ Gets the SQL helper.
+
+ The SQL helper.
+
+
+
+ Does the current CMSNode have any child nodes.
+
+
+ true if this instance has children; otherwise, false.
+
+
+
+
+ Determines if the node is in the recycle bin.
+ This is only relavent for node types that support a recyle bin (such as Document/Media)
+
+
+
+
+ Gets or sets the sort order.
+
+ The sort order.
+
+
+
+ Gets or sets the create date time.
+
+ The create date time.
+
+
+
+ Gets the creator
+
+ The user.
+
+
+
+ Gets the id.
+
+ The id.
+
+
+
+ Get the newParent id of the node
+
+
+
+
+ Given the hierarchical tree structure a CMSNode has only one newParent but can have many children
+
+ The newParent.
+
+
+
+ An comma separated string consisting of integer node id's
+ that indicates the path from the topmost node to the given node
+
+ The path.
+
+
+
+ Returns an integer value that indicates in which level of the
+ tree structure the given node is
+
+ The level.
+
+
+
+ All CMSNodes has an objecttype ie. Webpage, StyleSheet etc., used to distinguish between the different
+ object types for for fast loading children to the tree.
+
+ The type of the node object.
+
+
+
+ Besides the hierarchy it's possible to relate one CMSNode to another, use this for alternative
+ non-strict hierarchy
+
+ The relations.
+
+
+
+ Returns all tasks associated with this node
+
+
+
+
+ The basic recursive tree pattern
+
+ The children.
+
+
+
+ Retrieve all CMSNodes in the umbraco installation
+ Use with care.
+
+ The children of all object types.
+
+
+
+ Unique identifier of the CMSNode, used when locating data.
+
+
+
+
+ Human readable name/label
+
+
+
+
+ The menu items used in the tree view
+
+
+
+
+ Not implemented, always returns "about:blank"
+
+
+
+
+ The icon in the tree
+
+
+
+
+ The "open/active" icon in the tree
+
+
+
+
+ Occurs before a node is saved.
+
+
+
+
+ Occurs after a node is saved.
+
+
+
+
+ Occurs after a new node is created.
+
+
+
+
+ Occurs before a node is deleted.
+
+
+
+
+ Occurs after a node is deleted.
+
+
+
+
+ Occurs before a node is moved.
+
+
+
+
+ Occurs after a node is moved.
+
+
+
+
+ Content is an intermediate layer between CMSNode and class'es which will use generic data.
+
+ Content is a datastructure that holds generic data defined in its corresponding ContentType. Content can in some
+ sence be compared to a row in a database table, it's contenttype hold a definition of the columns and the Content
+ contains the data
+
+ Note that Content data in umbraco is *not* tablular but in a treestructure.
+
+
+
+
+
+ Retrive a list of Content sharing the ContentType
+
+ The ContentType
+ A list of Content objects sharing the ContentType defined.
+
+
+
+ Initialize a contentobject given a version.
+
+ The version identifier
+ The Content object from the given version
+
+
+
+ Used to persist object changes to the database. This ensures that the properties are re-loaded from the database.
+
+
+
+
+ Retrieve a Property given the alias
+
+ Propertyalias (defined in the documenttype)
+ The property with the given alias
+
+
+
+ Retrieve a property given the propertytype
+
+ PropertyType
+ The property with the given propertytype
+
+
+
+ Add a property to the Content
+
+ The PropertyType of the Property
+ The version of the document on which the property should be add'ed
+ The new Property
+
+
+
+ An Xmlrepresentation of a Content object.
+
+ Xmldocument context
+ If true, the Contents children are appended to the Xmlnode recursive
+ The Xmlrepresentation of the data on the Content object
+
+
+
+ Removes the Xml cached in the database - unpublish and cleaning
+
+
+
+
+ Generates the Content XmlNode
+
+
+
+
+
+ Deletes the current Content object, must be overridden in the child class.
+
+
+
+
+ This is purely for a hackity hack hack hack in order to make the new Document(id, version) constructor work because
+ the Version property needs to be set on the object before setupNode is called, otherwise it never works!
+
+
+
+
+
+ Sets up the ContentType property for this content item and sets the addition content properties manually.
+ If the ContentType property is not already set, then this will get the ContentType from Cache.
+
+
+
+
+
+
+
+
+ Creates a new Content object from the ContentType.
+
+
+
+
+
+ Method for creating a new version of the data associated to the Content.
+
+ The new version Id
+
+
+
+ Saves the XML document to the data source.
+
+ The XML Document.
+
+
+
+ Deletes all files and the folder that have been saved with this content item which are based on the Upload data
+ type. This is called when a media or content tree node is deleted.
+
+
+
+
+ Clears the locally loaded properties which forces them to be reloaded next time they requested
+
+
+
+
+ Makes sure that the properties are initialized. If they are already initialized, this does nothing.
+
+
+
+
+ Loads all properties from database into objects. If this method is re-called, it will re-query the database.
+
+
+ This optimizes sql calls. This will first check if all of the properties have been loaded. If not,
+ then it will query for all property types for the current version from the db. It will then iterate over each
+ cmdPropertyData row and store the id and propertyTypeId in a list for lookup later. Once the records have been
+ read, we iterate over the cached property types for this ContentType and create a new property based on
+ our stored list of proeprtyTypeIds. We then have a cached list of Property objects which will get returned
+ on all subsequent calls and is also used to return a property with calls to getProperty.
+
+
+
+
+ Optimized method for bulk deletion of properties´on a Content object.
+
+
+
+
+ Indication if the Content exists in at least one version.
+
+ Returns true if the Content has a version
+
+
+
+ The current Content objects ContentType, which defines the Properties of the Content (data)
+
+
+
+
+ The icon used in the tree - placed in this layer for performance reasons.
+
+
+ This is here for performance reasons only. If the _contentTypeIcon is manually set
+ then a database call is not made to initialize the ContentType.
+
+ The data layer has slightly changed in 4.1 so that for Document and Media, the ContentType
+ is automatically initialized with one SQL call when creating the documents/medias so using this
+ method or the ContentType.IconUrl property when accessing the icon from Media or Document
+ won't affect performance.
+
+
+
+
+ The createtimestamp on this version
+
+
+
+
+ Retrieve a list of generic properties of the content
+
+
+
+
+ Retrieve a list of generic properties of the content
+
+
+
+
+ Content is under version control, you are able to programatically create new versions
+
+
+
+
+ Summary description for ContentItem.
+
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Summary description for ContentItemType.
+
+
+
+
+ ContentTypes defines the datafields of Content objects of that type, it's similar to defining columns
+ in a database table, where the PropertyTypes on the ContentType each responds to a Column, and the Content
+ objects is similar to a row of data, where the Properties on the Content object corresponds to the PropertyTypes
+ on the ContentType.
+
+ Besides data definition, the ContentType also defines the sorting and grouping (in tabs) of Properties/Datafields
+ on the Content and which Content (by ContentType) can be created as child to the Content of the ContentType.
+
+
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The id.
+
+
+
+ Creates a new content type object manually.
+
+
+
+
+
+
+
+
+ This is like creating a ContentType node using optimized mode but this lets you set
+ all of the properties that are initialized normally from the database.
+ This is used for performance reasons.
+
+
+
+
+ Used for cache so we don't have to lookup column names all the time, this is actually only used for the ChildrenAsTable methods
+
+
+
+
+ Returns a content type's columns alias -> name mapping
+
+
+
+
+ This is currently only used for ChildrenAsTable methods, caching is moved here instead of in the app logic so we can clear the cache
+
+
+
+
+ Removes the static object cache
+
+
+
+
+
+ Removes the static object cache
+
+
+
+
+ Gets the type of the content.
+
+ The id.
+
+
+
+
+ Flushes the tab cache.
+
+ The tab id.
+
+
+
+ Creates a new ContentType
+
+ The CMSNode Id of the ContentType
+ The Alias of the ContentType
+ The Iconurl of Contents of this ContentType
+
+
+
+ Initializes a ContentType object given the Alias.
+
+ Alias of the content type
+
+ The ContentType with the corrosponding Alias
+
+
+
+
+ Helper method for getting the Tab id from a given PropertyType
+
+ The PropertyType from which to get the Tab Id
+ The Id of the Tab on which the PropertyType is placed
+
+
+
+ Used to rebuild all of the xml structures for content of the current content type in the cmsContentXml table
+
+
+
+
+ Returns all content ids associated with this content type
+
+
+
+ This will generally just return the content ids associated with this content type but in the case
+ of a DocumentType where we can have inherited types, this will return all content Ids that are of
+ this content type or any descendant types as well.
+
+
+
+
+ Rebuilds the xml structure for the content item by id
+
+
+
+ This is not thread safe
+
+
+
+
+ Clears all xml structures in the cmsContentXml table for the current content type
+
+
+
+
+ Clears the locally loaded tabs which forces them to be reloaded next time they requested
+
+
+
+
+ Gets the raw text.
+
+
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Retrieve a list of all ContentTypes
+
+ The list of all ContentTypes
+
+
+
+ Adding a PropertyType to the ContentType, will add a new datafield/Property on all Documents of this Type.
+
+ The DataTypeDefinition of the PropertyType
+ The Alias of the PropertyType
+ The userfriendly name
+
+
+
+ Adding a PropertyType to a Tab, the Tabs are primarily used for making the
+ editing interface more userfriendly.
+
+ The PropertyType
+ The Id of the Tab
+
+
+
+ Removing a PropertyType from the associated Tab
+
+ The PropertyType which should be freed from its tab
+
+
+
+ Creates a new Tab on the Content
+
+ Returns the Id of the new Tab
+
+
+
+
+ Releases all PropertyTypes on tab (this does not delete the PropertyTypes) and then Deletes the Tab
+
+ The Id of the Tab to be deleted.
+
+
+
+ Updates the caption of the Tab
+
+ The Id of the Tab to be updated
+ The new Caption
+
+
+
+ Updates the sort order of the Tab
+
+ The Id of the Tab to be updated
+ The new order number
+
+
+
+ Retrieve a PropertyType by it's alias
+
+ PropertyType alias
+ The PropertyType with the given Alias
+
+
+
+ Deletes the current ContentType
+
+
+
+
+ Set up the internal data of the ContentType
+
+
+
+
+ Flushes the cache.
+
+ The id.
+
+
+
+ The cache key used to cache the properties for the content type
+
+
+
+
+
+ Checks if we've loaded the virtual tabs into memory and if not gets them from the databse.
+
+
+
+
+ Loads the tabs into memory from the database and stores them in a local list for retreival
+
+
+
+
+ The Alias of the ContentType, is used for import/export and more human readable initialization see: GetByAlias
+ method.
+
+
+
+
+ A Content object is often (always) represented in the treeview in the Umbraco console, the ContentType defines
+ which Icon the Content of this type is representated with.
+
+
+
+
+ Get or Sets the Container status of the Content Type. A Container Content Type doesn't show its children in the tree,
+ but instead adds a tab when edited showing its children in a grid
+
+
+
+
+ Gets or sets the 'allow at root' boolean
+
+
+
+
+ Gets or sets the description.
+
+ The description.
+
+
+
+ Gets or sets the thumbnail.
+
+ The thumbnail.
+
+
+
+ Human readable name/label
+
+
+
+
+
+ The "datafield/column" definitions, a Content object of this type will have an equivalent
+ list of Properties.
+
+
+ Property types are are cached so any calls to this property will returne cached versions
+
+
+
+
+ Gets or sets the Master Content Type for inheritance of tabs and properties.
+
+ The ID of the Master Content Type
+
+
+
+ Retrieve a list of all Tabs on the current ContentType
+
+
+
+
+ The list of ContentType Id's that defines which Content (by ContentType) can be created as child
+ to the Content of this ContentType
+
+
+
+
+ An interface for the tabs, should be refactored
+
+
+
+
+ Gets a list of all PropertyTypes on the Tab for a given ContentType.
+
+ This includes properties inherited from master content types.
+ The unique identifier of the ContentType.
+ An array of PropertyType.
+
+
+
+ Gets a list of all PropertyTypes on the Tab for a given ContentType.
+
+ The unique identifier of the ContentType.
+ Indicates whether properties inherited from master content types should be included.
+ An array of PropertyType.
+
+
+
+ Gets a list if all PropertyTypes on the Tab for all ContentTypes.
+
+ An IEnumerable of all the PropertyTypes.
+
+
+
+ Method for moving the tab up
+
+
+
+
+ Method for retrieving the original, non processed name from the db
+
+ The original, non processed name from the db
+
+
+
+ Method for moving the tab down
+
+
+
+
+ Public identifier
+
+
+
+
+ The text on the tab
+
+
+
+
+ The sortorder of the tab
+
+
+
+
+ The contenttype
+
+
+
+
+ A tab is merely a way to organize data on a ContentType to make it more
+ human friendly
+
+
+
+
+ Initializes a new instance of the class.
+
+ The id.
+ The caption.
+ The sort order.
+ Type of the c.
+
+
+
+ Flushes the cache.
+
+ The id.
+
+
+
+
+ Deletes this instance.
+
+
+
+
+ Gets the tab caption by id.
+
+ The id.
+
+
+
+
+ Gets the tab caption by id.
+
+ The id.
+
+
+
+
+ Moves the Tab up
+
+
+
+
+ Moves the Tab down
+
+
+
+
+ Method for retrieving the original, non processed name from the db
+
+
+ The original, non processed name from the db
+
+
+
+
+ Fixes the tab order.
+
+
+
+
+ A list of PropertyTypes on the Tab
+
+
+
+
+ The sortorder of the tab
+
+
+
+
+
+ Public identifier
+
+
+
+
+
+ The text on the tab
+
+
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ A much easier way to build custom datatypes. Inherit from this class
+ and change Id and DataTypeName and then set the RenderControl property
+ to your .NET webcontrol to be displayed
+
+
+ Made by NH in flight SK 925 on his way to MIX09
+
+
+
+
+ This is used internally for performance reasons since we are querying for all of the data properties at once in the
+ DefaultData object, therefore, the DefaultDataObject will set these properties manually instead of incurring a bunch
+ of additional SQL calls.
+
+
+
+
+
+
+ Returns the DBType based on the row value in the dbType column of the cmsDataType
+
+
+
+
+
+
+ Returns the data column for the data base where the value resides based on the dbType
+
+
+
+
+
+
+ The data editor.
+
+
+
+
+ The stored data.
+
+
+
+
+ The prevalue editor.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets the data editor control that is the 'real' IDataEditor control.
+ Hook into the OnSave event in your inherited class' constructor and update the base.Data.Value property to save a value.
+
+ The data editor control.
+
+
+
+ Sets the RenderControl to the control that's rendered when editing.
+ This should be *your* control, so set this property to the WebControl that you're creating.
+
+
+ The render control.
+
+
+
+
+ Gets the data editor.
+
+
+ The data editor.
+
+
+
+
+ Gets the stored data.
+
+
+ The stored data.
+
+
+
+
+ Gets the prevalue editor.
+
+
+ The prevalue editor.
+
+
+
+
+ Gets the name of the datatype.
+
+
+ The name of the datatype.
+
+
+
+
+ Gets the unique id of the datatype.
+
+
+ The unique id of the datatype.
+
+
+
+
+ Datatypedefinitions is the basic buildingblocks of umbraco's documents/medias/members generic datastructure
+
+ A datatypedefinition encapsulates an object which implements the interface IDataType, and are used when defining
+ the properties of a document in the documenttype. This extra layer between IDataType and a documenttypes propertytype
+ are used amongst other for enabling shared prevalues.
+
+
+
+
+
+ Initialization of the datatypedefinition
+
+ Datattypedefininition id
+
+
+
+ Initialization of the datatypedefinition
+
+ Datattypedefininition id
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Retrieves a list of all datatypedefinitions
+
+ A list of all datatypedefinitions
+
+
+
+ Creates a new datatypedefinition given its name and the user which creates it.
+
+ The user who creates the datatypedefinition
+ The name of the DataTypeDefinition
+
+
+
+
+ Creates a new datatypedefinition given its name and the user which creates it.
+
+ The user who creates the datatypedefinition
+ The name of the DataTypeDefinition
+ Overrides the CMSnodes uniqueID
+
+
+
+
+ Retrieve a list of datatypedefinitions which share the same IDataType datatype
+
+ The unique id of the IDataType
+ A list of datatypedefinitions which are based on the IDataType specified
+
+
+
+ Analyzes an object to see if its basetype is umbraco.editorControls.DefaultData
+
+ The Data object to analyze
+ True if the basetype is the DefaultData class
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ The associated datatype, which delivers the methods for editing data, editing prevalues see: umbraco.interfaces.IDataType
+
+
+
+
+ Occurs when a data type is saved.
+
+
+
+
+ Occurs when [before delete].
+
+
+
+
+ Occurs when [after delete].
+
+
+
+
+ The default editor for editing the built-in pre values in umbraco
+
+ The DataType to be parsed
+ Whether to use the default text box
+
+
+
+ IDataType factory, handles the registering and retrieval of IDatatypes.
+
+ Then registering is done using reflection.
+
+
+
+
+ Retrieves the IDataType specified by it's unique ID
+
+ The IDataType id
+
+
+
+
+ Retrieves the IDataType specified by it's unique ID
+
+ The IDataType id
+
+
+
+
+ Retrieve a complete list of all registered IDataType's
+
+ A list of IDataType's
+
+
+
+ Any data type in umbraco can have PreValues, which is a simple Key/Value collection of items attached to a specific instance of the data type.
+
+
+
+
+ Gets the pre values collection.
+
+ The data type id.
+
+
+
+
+ Removes all prevalues with the specified data type definition id
+
+
+
+
+
+ Returns the number of prevalues for data type definition
+
+
+
+
+
+
+ Retrieve a list of toplevel DictionaryItems
+
+
+
+
+ A DictionaryItem is basically a key/value pair (key/language key/value) which holds the data
+ associated to a key in various language translations
+
+
+
+
+ Returns the default value based on the default language for this item
+
+
+
+
+
+ ensures events fire after setting proeprties
+
+
+
+
+ Returns the parent.
+
+
+
+
+ The primary key in the database
+
+
+
+
+ Returns or sets the key.
+
+
+
+
+ Name of the faulting macro.
+
+
+
+
+ Alias of the faulting macro.
+
+
+
+
+ Filename of the faulting macro.
+
+
+
+
+ Exception raised.
+
+
+
+
+ Gets or sets the desired behaviour when a matching macro causes an error. See
+ for definitions. By setting this in your event
+ you can override the default behaviour defined in UmbracoSettings.config.
+
+ Macro error behaviour enum.
+
+
+
+ The language class contains methods for creating and modifing installed languages.
+
+ A language is used internal in the umbraco console for displaying languagespecific text and
+ in the public website for language/country specific representation of ex. date/time, currencies.
+
+ Besides by using the built in Dictionary you are able to store language specific bits and pieces of translated text
+ for use in templates.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The id.
+
+
+
+ Empty constructor used to create a language object manually
+
+
+
+
+ Creates a new language given the culture code - ie. da-dk (denmark)
+
+ Culturecode of the language
+
+
+
+ Returns all installed languages
+
+
+
+ This will return a cached set of all languages. if the cache is not found it will create it.
+
+
+
+
+ Gets the language by its culture code, if no language is found, null is returned
+
+ The culture code.
+
+
+
+
+ Imports a language from XML
+
+ The XML data.
+
+
+
+
+ Ensures uniqueness by id
+
+
+
+
+
+
+ Ensures uniqueness by id
+
+
+
+
+
+ Used to persist object changes to the database
+
+
+
+
+ Deletes the current Language.
+
+ Notice: this can have various sideeffects - use with care.
+
+
+ You cannot delete the default language: en-US, this is installed by default and is required.
+
+
+
+
+ Converts the instance to XML
+
+ The xml document.
+
+
+
+
+ Gets the SQL helper.
+
+ The SQL helper.
+
+
+
+ Method for accessing all installed languagess
+
+
+
+
+ The id used by umbraco to identify the language
+
+
+
+
+ The culture code of the language: ie. Danish/Denmark da-dk
+
+
+
+
+ The user friendly name of the language/country
+
+
+
+
+ Occurs when a language is saved.
+
+
+
+
+ The save event handler
+
+
+
+
+ The new event handler
+
+
+
+
+ The delete event handler
+
+
+
+
+ Retrieves the value of a languagetranslated item given the key
+
+ Unique identifier
+ Umbraco languageid
+ The language translated text
+
+
+
+ returns True if there is a value associated to the unique identifier with the specified language
+
+ Unique identifier
+ Umbraco language id
+ returns True if there is a value associated to the unique identifier with the specified language
+
+
+
+ Updates the value of the language translated item, throws an exeption if the
+ key does not exist
+
+ Umbraco language id
+ Unique identifier
+ The new dictionaryvalue
+
+
+
+ Adds a new languagetranslated item to the collection
+
+
+ Umbraco languageid
+ Unique identifier
+
+
+
+
+ Removes all languagetranslated texts associated to the unique identifier.
+
+ Unique identifier
+
+
+
+ Removes all entries by language id.
+ Primary used when deleting a language from Umbraco.
+
+
+
+
+
+ Gets the SQL helper.
+
+ The SQL helper.
+
+
+
+ The Macro component are one of the umbraco essentials, used for drawing dynamic content in the public website of umbraco.
+
+ A Macro is a placeholder for either a xsl transformation, a custom .net control or a .net usercontrol.
+
+ The Macro is representated in templates and content as a special html element, which are being parsed out and replaced with the
+ output of either the .net control or the xsl transformation when a page is being displayed to the visitor.
+
+ A macro can have a variety of properties which are used to transfer userinput to either the usercontrol/custom control or the xsl
+
+
+
+
+
+ Macro initializer
+
+
+
+
+ Macro initializer
+
+ The id of the macro
+
+
+
+ Initializes a new instance of the class.
+
+ The alias.
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Deletes the current macro
+
+
+
+
+ Get an xmlrepresentation of the macro, used for exporting the macro to a package for distribution
+
+ Current xmldocument context
+ An xmlrepresentation of the macro
+
+
+
+ Creates a new macro given the name
+
+ Userfriendly name
+ The newly macro
+
+
+
+ Retrieve all macroes
+
+ A list of all macroes
+
+
+
+ Static contructor for retrieving a macro given an alias
+
+ The alias of the macro
+ If the macro with the given alias exists, it returns the macro, else null
+
+
+
+ id
+
+
+
+
+ If set to true, the macro can be inserted on documents using the richtexteditor.
+
+
+
+
+ The cache refreshrate - the maximum amount of time the macro should remain cached in the umbraco
+ runtime layer.
+
+ The macro caches are refreshed whenever a document is changed
+
+
+
+
+ The alias of the macro - are used for retrieving the macro when parsing the {?UMBRACO_MACRO}{/?UMBRACO_MACRO} element,
+ by using the alias instead of the Id, it's possible to distribute macroes from one installation to another - since the id
+ is given by an autoincrementation in the database table, and might be used by another macro in the foreing umbraco
+
+
+
+
+ The userfriendly name
+
+
+
+
+ If the macro is a wrapper for a custom control, this is the assemly name from which to load the macro
+
+ specified like: /bin/mydll (without the .dll extension)
+
+
+
+
+ The relative path to the usercontrol or the assembly type of the macro when using .Net custom controls
+
+
+ When using a user control the value is specified like: /usercontrols/myusercontrol.ascx (with the .ascx postfix)
+
+
+
+
+ The xsl file used to transform content
+
+ Umbraco assumes that the xslfile is present in the "/xslt" folder
+
+
+
+
+ This field is used to store the file value for any scripting macro such as python, ruby, razor macros or Partial View Macros
+
+
+ Depending on how the file is stored depends on what type of macro it is. For example if the file path is a full virtual path
+ starting with the ~/Views/MacroPartials then it is deemed to be a Partial View Macro, otherwise the file extension of the file
+ saved will determine which macro engine will be used to execute the file.
+
+
+
+
+ The python file used to be executed
+
+ Umbraco assumes that the python file is present in the "/python" folder
+
+
+
+
+ Gets or sets a value indicating whether [cache personalized].
+
+ true if [cache personalized]; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether the macro is cached for each individual page.
+
+ true if [cache by page]; otherwise, false.
+
+
+
+ Properties which are used to send parameters to the xsl/usercontrol/customcontrol of the macro
+
+
+
+
+ Occurs when a macro is saved.
+
+
+
+
+ The macro property is used by macroes to communicate/transfer userinput to an instance of a macro.
+
+ It contains information on which type of data is inputted aswell as the userinterface used to input data
+
+ A MacroProperty uses it's MacroPropertyType to define which underlaying component should be used when
+ rendering the MacroProperty editor aswell as which datatype its containing.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Constructor
+
+ Id
+
+
+
+ Deletes the current macroproperty
+
+
+
+
+ Retrieve a Xmlrepresentation of the MacroProperty used for exporting the Macro to the package
+
+ XmlDocument context
+ A xmlrepresentation of the object
+
+
+
+ Retieve all MacroProperties of a macro
+
+ Macro identifier
+ All MacroProperties of a macro
+
+
+
+ Creates a new MacroProperty on a macro
+
+ The macro
+ The alias of the property
+ Userfriendly MacroProperty name
+ The Alias of the parameter editor
+
+
+
+ The sortorder
+
+
+
+
+ This is not used for anything
+
+
+
+
+ The macro property alias
+
+
+
+
+ The userfriendly name
+
+
+
+
+ Gets the id.
+
+ The id.
+
+
+
+ Gets or sets the macro.
+
+ The macro.
+
+
+
+ The basetype which defines which component is used in the UI for editing content
+
+
+
+
+ The macro parameter editor alias used to render the editor
+
+
+
+
+ The MacroPropertyType class contains information on the assembly and class of the
+ IMacroGuiRendering component and basedatatype
+
+
+
+
+ Constructor
+
+ Identifier
+
+
+
+ Constructor
+
+ The alias of the MacroPropertyType
+
+
+
+ Identifier
+
+
+
+
+ The alias of the MacroPropertyType
+
+
+
+
+ The assembly (without the .dll extension) used to retrieve the component at runtime
+
+
+
+
+ The MacroPropertyType
+
+
+
+
+ The IMacroGuiRendering component (namespace.namespace.Classname)
+
+
+
+
+ Occurs when a macro is saved.
+
+
+
+
+ Occurs when a macro is saved.
+
+
+
+
+ Package actions are executed on packge install / uninstall.
+
+
+
+
+ Runs the package action with the specified action alias.
+
+ Name of the package.
+ The action alias.
+ The action XML.
+
+
+
+ Undos the package action with the specified action alias.
+
+ Name of the package.
+ The action alias.
+ The action XML.
+
+
+
+ This class implements the IPackageAction Interface, used to execute code when packages are installed.
+ All IPackageActions only takes a PackageName and a XmlNode as input, and executes based on the data in the xmlnode.
+
+
+
+
+
+ Undoes the action
+
+ Name of the package.
+ The XML data.
+
+
+
+
+ Action alias.
+
+
+
+
+
+ A utillity class for working with packager data.
+ It provides basic methods for adding new items to a package manifest, moving files and other misc.
+
+
+
+
+ Creates a package manifest containing name, license, version and other meta data.
+
+ The packinstance.
+ The xml document.
+
+
+
+
+ Converts an umbraco template to a package xml node
+
+ The template id.
+ The xml doc.
+
+
+
+
+ Converts a umbraco stylesheet to a package xml node
+
+ The ss id.
+ if set to true [incluce properties].
+ The doc.
+
+
+
+
+ Converts a macro to a package xml node
+
+ The macro id.
+ if set to true [append file].
+ The package directory.
+ The doc.
+
+
+
+
+ Appends a file to package manifest and copies the file to the correct folder.
+
+ The path.
+ The package directory.
+ The doc.
+
+
+
+ Determines whether the file is in the package manifest
+
+ The GUID.
+ The doc.
+
+ true if [is file in manifest]; otherwise, false.
+
+
+
+
+ Zips the package.
+
+ The path.
+ The save path.
+
+
+
+ The packager is a component which enables sharing of both data and functionality components between different umbraco installations.
+
+ The output is a .umb (a zip compressed file) which contains the exported documents/medias/macroes/documenttypes (etc.)
+ in a Xml document, along with the physical files used (images/usercontrols/xsl documents etc.)
+
+ Partly implemented, import of packages is done, the export is *under construction*.
+
+
+ Ruben Verborgh 31/12/2007: I had to change some code, I marked my changes with "DATALAYER".
+ Reason: @@IDENTITY can't be used with the new datalayer.
+ I wasn't able to test the code, since I'm not aware how the code functions.
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+ The name of the package
+ The version of the package
+ The url to a descriptionpage
+ The license under which the package is released (preferably GPL ;))
+ The url to a licensedescription
+ The original author of the package
+ The url to the Authors website
+ Umbraco version major
+ Umbraco version minor
+ Umbraco version patch
+ The readme text
+ The name of the usercontrol used to configure the package after install
+
+
+
+ Imports the specified package
+
+ Filename of the umbracopackage
+
+
+
+
+ Remove the temp installation folder
+
+
+
+
+
+
+ Reads the configuration of the package from the configuration xmldocument
+
+ The folder to which the contents of the package is extracted
+
+
+
+ This uses the old method of fetching and only supports the packages.umbraco.org repository.
+
+
+
+
+
+
+ Gets the name of the file in the specified path.
+ Corrects possible problems with slashes that would result from a simple concatenation.
+ Can also be used to concatenate paths.
+
+ The path.
+ Name of the file.
+ The name of the file in the specified path.
+
+
+
+ Indicates that the package contains assembly reference errors
+
+
+
+
+ List each assembly reference error
+
+
+
+
+ Indicates that the package contains legacy property editors
+
+
+
+
+ The xmldocument, describing the contents of a package.
+
+
+
+
+ A media represents a physical file and metadata on the file.
+
+ By inheriting the Content class it has a generic datafields which enables custumization
+
+
+
+
+ Contructs a media object given the Id
+
+ Identifier
+
+
+
+ Contructs a media object given the Id
+
+ Identifier
+
+
+
+ -
+
+
+
+
+ Creates a new Media
+
+ The name of the media
+ The type of the media
+ The user creating the media
+ The id of the folder under which the media is created
+
+
+
+
+ Retrieve a list of all toplevel medias and folders
+
+
+
+
+
+ Deletes all medias of the given type, used when deleting a mediatype
+
+ Use with care.
+
+
+
+
+
+ Overrides the moving of a object to a new location by changing its parent id.
+
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Moves the media to the trash
+
+
+
+
+ With either move the media to the trash or permanently remove it from the database.
+
+ flag to set whether or not to completely remove it from the database or just send to trash
+
+
+
+ Used internally to permanently delete the data from the database
+
+ returns true if deletion isn't cancelled
+
+
+
+ Used internally to move the node to the recyle bin
+
+ Returns true if the move was not cancelled
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Fires the after move to trash.
+
+ The instance containing the event data.
+
+
+
+ Retrieve a list of all medias underneath the current
+
+
+
+
+ Occurs when [before save].
+
+
+
+
+ Occurs when [after save].
+
+
+
+
+ Occurs when [new].
+
+
+
+
+ Occurs when [before delete].
+
+
+
+
+ Occurs when [after delete].
+
+
+
+
+ Occurs when [before delete].
+
+
+
+
+ Occurs when [after move to trash].
+
+
+
+
+ The save event handler
+
+
+
+
+ The new event handler
+
+
+
+
+ The delete event handler
+
+
+
+
+ The Move to trash event handler
+
+
+
+
+ The Mediatype
+
+ Due to the inheritance of the ContentType class,it enables definition of generic datafields on a Media.
+
+
+
+
+ Constructs a MediaTypeobject given the id
+
+ Id of the mediatype
+
+
+
+ Constructs a MediaTypeobject given the id
+
+ Id of the mediatype
+
+
+
+ Retrieve a MediaType by it's alias
+
+ The alias of the MediaType
+ The MediaType with the alias
+
+
+
+ Create a new Mediatype
+
+ The Umbraco user context
+ The name of the MediaType
+ The new MediaType
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Deletes the current MediaType and all created Medias of the type.
+
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Retrieve all MediaTypes in the umbraco installation
+
+
+
+
+ Occurs when [before save].
+
+
+
+
+ Occurs when [after save].
+
+
+
+
+ Occurs when [new].
+
+
+
+
+ Occurs when [before delete].
+
+
+
+
+ Occurs when [after delete].
+
+
+
+
+ The save event handler
+
+
+
+
+ The new event handler
+
+
+
+
+ The delete event handler
+
+
+
+
+ The Member class represents a member of the public website (not to be confused with umbraco users)
+
+ Members are used when creating communities and collaborative applications using umbraco, or if there are a
+ need for identifying or authentifying the visitor. (extranets, protected/private areas of the public website)
+
+ Inherits generic datafields from it's baseclass content.
+
+
+
+
+ Initializes a new instance of the Member class.
+
+ Identifier
+
+
+
+ Initializes a new instance of the Member class.
+
+ Identifier
+
+
+
+ Initializes a new instance of the Member class, with an option to only initialize
+ the data used by the tree in the umbraco console.
+
+ Identifier
+
+
+
+
+ Retrieves a list of members thats not start with a-z
+
+ array of members
+
+
+
+ Retrieves a list of members by the first letter in their name.
+
+ The first letter
+
+
+
+
+ Creates a new member
+
+ Membername
+ Member type
+ The umbraco usercontext
+ The new member
+
+
+
+ Creates a new member
+
+ Membername
+ Member type
+ The umbraco usercontext
+ The email of the user
+ The new member
+
+
+
+ Creates a new member
+
+ Membername
+ Member type
+ The umbraco usercontext
+ The email of the user
+ The new member
+
+
+
+ Retrieve a member given the loginname
+
+ Used when authentifying the Member
+
+ The unique Loginname
+ The member with the specified loginname - null if no Member with the login exists
+
+
+
+ Retrieve a Member given an email, the first if there multiple members with same email
+
+ Used when authentifying the Member
+
+ The email of the member
+ The member with the specified email - null if no Member with the email exists
+
+
+
+ Retrieve Members given an email
+
+ Used when authentifying a Member
+
+ The email of the member(s)
+ The members with the specified email
+
+
+
+ Retrieve a Member given the credentials
+
+ Used when authentifying the member
+
+ Member login
+ Member password
+ The member with the credentials - null if none exists
+
+
+
+ Helper method - checks if a Member with the LoginName exists
+
+ Member login
+ True if the member exists
+
+
+
+ Deletes all members of the membertype specified
+
+ Used when a membertype is deleted
+
+ Use with care
+
+ The membertype which are being deleted
+
+
+
+ Used to persist object changes to the database
+
+
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Xmlrepresentation of a member
+
+ The xmldocument context
+ Recursive - should always be set to false
+ A the xmlrepresentation of the current member
+
+
+
+ Deltes the current member
+
+
+
+
+ Sets the password for the user - ensure it is encrypted or hashed based on the active membership provider - you must
+ call Save() after using this method
+
+
+
+
+
+ Returns the currently stored password - this may be encrypted or hashed string depending on the active membership provider
+
+
+
+
+
+ Adds the member to group with the specified id
+
+ The id of the group which the member is being added to
+
+
+
+ Removes the member from the MemberGroup specified
+
+ The MemberGroup from which the Member is removed
+
+
+
+ Method is used when logging a member in.
+
+ Adds the member to the cache of logged in members
+
+ Uses cookiebased recognition
+
+ Can be used in the runtime
+
+ The member to log in
+
+
+
+ Method is used when logging a member in.
+
+ Adds the member to the cache of logged in members
+
+ Uses cookie or session based recognition
+
+ Can be used in the runtime
+
+ The member to log in
+ create a persistent cookie
+ Has no effect
+
+
+
+ Removes the member from the cache
+
+ Can be used in the public website
+
+ Member to remove
+
+
+
+ Removes the member from the cache
+
+ Can be used in the public website
+
+ Node Id of the member to remove
+
+
+
+ Deletes the member cookie from the browser
+
+ Can be used in the public website
+
+ Member
+
+
+
+ Deletes the member cookie from the browser
+
+ Can be used in the public website
+
+ The Node id of the member to clear
+
+
+
+ Retrieve a collection of members in the cache
+
+ Can be used from the public website
+
+ A collection of cached members
+
+
+
+ Retrieve a member from the cache
+
+ Can be used from the public website
+
+ Id of the member
+ If the member is cached it returns the member - else null
+
+
+
+ An indication if the current visitor is logged in
+
+ Can be used from the public website
+
+ True if the the current visitor is logged in
+
+
+
+ Gets the current visitors memberid
+
+ The current visitors members id, if the visitor is not logged in it returns 0
+
+
+
+ Get the current member
+
+ Returns the member, if visitor is not logged in: null
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ A list of all members in the current umbraco install
+
+ Note: is ressource intensive, use with care.
+
+
+
+
+ The members password, used when logging in on the public website
+
+
+
+
+ The loginname of the member, used when logging in
+
+
+
+
+ A list of groups the member are member of
+
+
+
+
+ The members email
+
+
+
+
+ Occurs when [before save].
+
+
+
+
+ The save event handler
+
+
+
+
+ The new event handler
+
+
+
+
+ The delete event handler
+
+
+
+
+ The add to cache event handler
+
+
+
+
+ The add group event handler
+
+
+
+
+ The remove group event handler
+
+
+
+
+ ONLY FOR INTERNAL USE.
+ This is needed due to a design flaw where the Umbraco membership provider is located
+ in a separate project referencing this project, which means we can't call special methods
+ directly on the UmbracoMemberShipMember class.
+ This is a helper implementation only to be able to use the encryption functionality
+ of the membership provides (which are protected).
+
+ ... which means this class should have been marked internal with a Friend reference to the other assembly right??
+
+
+
+
+ Membergroups are used for grouping Umbraco Members
+
+ A Member can exist in multiple groups.
+
+ It's possible to protect webpages/documents by membergroup.
+
+
+
+
+ Initialize a new object of the MemberGroup class
+
+ Membergroup id
+
+
+
+ Initialize a new object of the MemberGroup class
+
+ Membergroup id
+
+
+
+ Deltes the current membergroup
+
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Get a membergroup by it's name
+
+ Name of the membergroup
+ If a MemberGroup with the given name exists, it will return this, else: null
+
+
+
+ Create a new MemberGroup
+
+ The name of the MemberGroup
+ The creator of the MemberGroup
+ The new MemberGroup
+
+
+
+ Retrieve a list of all existing MemberGroups
+
+
+
+
+ Occurs when a language is saved.
+
+
+
+
+ The save event handler
+
+
+
+
+ The new event handler
+
+
+
+
+ The delete event handler
+
+
+
+ MemberType
+
+ Due to the inheritance of the ContentType class, it enables definition of generic datafields on a Members.
+
+
+
+ Initializes a new instance of the MemberType class.
+
+ MemberType id
+
+
+
+ Initializes a new instance of the MemberType class.
+
+ MemberType id
+
+
+
+ Rebuilds the xml structure for the member item by id
+
+
+
+ This is not thread safe
+
+
+
+
+ Get an true/false if the Member can edit the given data defined in the propertytype
+
+ Propertytype to edit
+ True if the Member can edit the data
+
+
+
+ Get an true/false if the given data defined in the propertytype, should be visible on the members profile page
+
+ Propertytype
+ True if the data should be displayed on the profilepage
+
+
+
+ Set if the member should be able to edit the data defined by its propertytype
+
+ PropertyType
+ True/False if Members of the type shoúld be able to edit the data
+
+
+
+ Set if the data should be displayed on members of this type's profilepage
+
+ PropertyType
+ True/False if the data should be displayed
+
+
+
+ Delete the current MemberType.
+
+ Deletes all Members of the type
+
+ Use with care
+
+
+
+
+ Used to persist object changes to the database
+
+
+
+
+ Get a MemberType by it's alias
+
+ The alias of the MemberType
+ The MemberType with the given Alias
+
+
+
+ Create a new MemberType
+
+ The name of the MemberType
+ Creator of the MemberType
+
+
+
+ Retrieve a list of all MemberTypes
+
+
+
+
+ Occurs when a language is saved.
+
+
+
+
+ The save event handler
+
+
+
+
+ The new event handler
+
+
+
+
+ The delete event handler
+
+
+
+
+ Handles the disposal of resources. Derived from abstract class which handles common required locking logic.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary description for Permission.
+
+
+
+
+ Private constructor, this class cannot be directly instantiated
+
+
+
+
+ Returns the permissions for a user
+
+
+
+
+
+
+ Returns the permissions for a node
+
+
+
+
+
+
+ Delets all permissions for the node/user combination
+
+
+
+
+
+
+ deletes all permissions for the user
+
+
+
+
+
+ delete all permissions for this node
+
+
+
+
+
+ Summary description for propertytype.
+
+
+
+
+ Returns all property types based on the data type definition
+
+
+
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Setting the tab id is not meant to be used directly in code. Use the ContentType SetTabOnPropertyType method instead
+ as that will handle all of the caching properly, this will not.
+
+
+ Setting the tab id to a negative value will actually set the value to NULL in the database
+
+
+
+
+ Property class encapsulates property factory, ensuring that the work
+ with umbraco generic properties stays nice and easy..
+
+
+
+
+ Constructor to create a new recycle bin
+
+
+
+
+
+
+ Constructor to create a new recycle bin based on RecycleBinType
+ Will automatically update internal nodeObjectType based on the RecycleBinType enum
+
+
+
+
+
+ Old constructor to create a content recycle bin
+
+
+
+
+
+ Get the number of items in the Recycle Bin
+
+ The number of all items in the Recycle Bin
+
+
+
+ If I smell, I'm not empty
+
+
+
+
+ Empties the trash can
+
+ a function to call whenever an item is removed from the bin
+
+
+
+ The types of Recycle Bins.
+
+
+ Each enum item represents the integer value of the node Id of the recycle bin in the database.
+
+
+
+
+ Summary description for Relation.
+
+
+
+
+ Used to persist object changes to the database
+
+
+
+
+ Summary description for RelationType.
+
+
+
+
+ Internal constructor to create a new relation type
+
+
+
+
+ Used to persist object changes to the databasey
+
+
+
+
+ Return all relation types
+
+
+
+
+
+ An umbraco task is currently only used with the translation workflow in umbraco. But is extendable to cover other taskbased system as well.
+ A task represent a simple job, it will always be assigned to a user, related to a node, and contain a comment about the task.
+ The user attached to the task can complete the task, and the author of the task can reopen tasks that are not complete correct.
+
+ Tasks can in umbraco be used for setting up simple workflows, and contains basic controls structures to determine if the task is completed or not.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The task id.
+
+
+
+ Deletes the current task.
+ Generally tasks should not be deleted and closed instead.
+
+
+
+
+ Saves this instance.
+
+
+
+
+ Returns all tasks by type
+
+
+
+
+
+
+ Get all tasks assigned to a node
+
+
+
+
+
+
+ Retrieves a collection of open tasks assigned to the user
+
+ The User who have the tasks assigned
+ If true both open and closed tasks will be returned
+ A collections of tasks
+
+
+
+ Retrieves a collection of open tasks assigned to the user
+
+ The User who have the tasks assigned
+ If true both open and closed tasks will be returned
+ A collections of tasks
+
+
+
+ Gets or sets the id.
+
+ The id.
+
+
+
+ Gets or sets a value indicating whether this is closed.
+
+ true if closed; otherwise, false.
+
+
+
+ Gets or sets the node.
+
+ The node.
+
+
+
+ Gets or sets the type.
+
+ The type.
+
+
+
+ Gets or sets the parent user.
+
+ The parent user.
+
+
+
+ Gets or sets the comment.
+
+ The comment.
+
+
+
+ Gets or sets the date.
+
+ The date.
+
+
+
+ Gets or sets the user.
+
+ The user.
+
+
+
+ Gets the SQL helper.
+
+ The SQL helper.
+
+
+
+ Deletes the current task type.
+ This will remove all tasks associated with this type
+
+
+
+
+ Returns all task types stored in the database
+
+
+
+
+
+ All tasks associated with this task type
+
+
+
+
+ Summary description for Template.
+
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Removes any references to this templates from child templates, documenttypes and documents
+
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Returns the file path for the current template
+
+
+
+
+ Occurs when [before save].
+
+
+
+
+ Occurs when [after save].
+
+
+
+
+ Occurs when [new].
+
+
+
+
+ Occurs when [before delete].
+
+
+
+
+ Occurs when [after delete].
+
+
+
+
+ The save event handler
+
+
+
+
+ The new event handler
+
+
+
+
+ The delete event handler
+
+
+
+
+ This Class implements the Difference Algorithm published in
+ "An O(ND) Difference Algorithm and its Variations" by Eugene Myers
+ Algorithmica Vol. 1 No. 2, 1986, p 251.
+
+ There are many C, Java, Lisp implementations public available but they all seem to come
+ from the same source (diffutils) that is under the (unfree) GNU public License
+ and cannot be reused as a sourcecode for a commercial application.
+ There are very old C implementations that use other (worse) algorithms.
+ Microsoft also published sourcecode of a diff-tool (windiff) that uses some tree data.
+ Also, a direct transfer from a C source to C# is not easy because there is a lot of pointer
+ arithmetic in the typical C solutions and i need a managed solution.
+ These are the reasons why I implemented the original published algorithm from the scratch and
+ make it avaliable without the GNU license limitations.
+ I do not need a high performance diff tool because it is used only sometimes.
+ I will do some performace tweaking when needed.
+
+ The algorithm itself is comparing 2 arrays of numbers so when comparing 2 text documents
+ each line is converted into a (hash) number. See DiffText().
+
+ Some chages to the original algorithm:
+ The original algorithm was described using a recursive approach and comparing zero indexed arrays.
+ Extracting sub-arrays and rejoining them is very performance and memory intensive so the same
+ (readonly) data arrays are passed arround together with their lower and upper bounds.
+ This circumstance makes the LCS and SMS functions more complicate.
+ I added some code to the LCS function to get a fast response on sub-arrays that are identical,
+ completely deleted or inserted.
+
+ The result from a comparisation is stored in 2 arrays that flag for modified (deleted or inserted)
+ lines in the 2 data arrays. These bits are then analysed to produce a array of Item objects.
+
+ Further possible optimizations:
+ (first rule: don't do it; second: don't do it yet)
+ The arrays DataA and DataB are passed as parameters, but are never changed after the creation
+ so they can be members of the class to avoid the paramter overhead.
+ In SMS is a lot of boundary arithmetic in the for-D and for-k loops that can be done by increment
+ and decrement of local variables.
+ The DownVector and UpVector arrays are alywas created and destroyed each time the SMS gets called.
+ It is possible to reuse tehm when transfering them to members of the class.
+ See TODO: hints.
+
+ diff.cs: A port of the algorythm to C#
+ Copyright (c) by Matthias Hertel, http://www.mathertel.de
+ This work is licensed under a BSD style license. See http://www.mathertel.de/License.aspx
+
+ Changes:
+ 2002.09.20 There was a "hang" in some situations.
+ Now I undestand a little bit more of the SMS algorithm.
+ There have been overlapping boxes; that where analyzed partial differently.
+ One return-point is enough.
+ A assertion was added in CreateDiffs when in debug-mode, that counts the number of equal (no modified) lines in both arrays.
+ They must be identical.
+
+ 2003.02.07 Out of bounds error in the Up/Down vector arrays in some situations.
+ The two vetors are now accessed using different offsets that are adjusted using the start k-Line.
+ A test case is added.
+
+ 2006.03.05 Some documentation and a direct Diff entry point.
+
+ 2006.03.08 Refactored the API to static methods on the Diff class to make usage simpler.
+ 2006.03.10 using the standard Debug class for self-test now.
+ compile with: csc /target:exe /out:diffTest.exe /d:DEBUG /d:TRACE /d:SELFTEST Diff.cs
+ 2007.01.06 license agreement changed to a BSD style license.
+ 2007.06.03 added the Optimize method.
+ 2007.09.23 UpVector and DownVector optimization by Jan Stoklasa ().
+
+
+
+
+ Find the difference in 2 texts, comparing by textlines, returns the result as Html.
+ If content has been removed, it will be marked up with a <del> html element.
+ If content has been added, it will be marked up with a <ins> html element
+
+ The old version of the string.
+ The new version of the string.
+
+
+
+
+ Find the difference in 2 texts, comparing by textlines.
+
+ A-version of the text (usualy the old one)
+ B-version of the text (usualy the new one)
+ Returns a array of Items that describe the differences.
+
+
+
+ Find the difference in 2 text documents, comparing by textlines.
+ The algorithm itself is comparing 2 arrays of numbers so when comparing 2 text documents
+ each line is converted into a (hash) number. This hash-value is computed by storing all
+ textlines into a common hashtable so i can find dublicates in there, and generating a
+ new number each time a new textline is inserted.
+
+ A-version of the text (usualy the old one)
+ B-version of the text (usualy the new one)
+ When set to true, all leading and trailing whitespace characters are stripped out before the comparation is done.
+ When set to true, all whitespace characters are converted to a single space character before the comparation is done.
+ When set to true, all characters are converted to their lowercase equivivalence before the comparation is done.
+ Returns a array of Items that describe the differences.
+
+
+
+ If a sequence of modified lines starts with a line that contains the same content
+ as the line that appends the changes, the difference sequence is modified so that the
+ appended line and not the starting line is marked as modified.
+ This leads to more readable diff sequences when comparing text files.
+
+ A Diff data buffer containing the identified changes.
+
+
+
+ Find the difference in 2 arrays of integers.
+
+ A-version of the numbers (usualy the old one)
+ B-version of the numbers (usualy the new one)
+ Returns a array of Items that describe the differences.
+
+
+
+ This function converts all textlines of the text into unique numbers for every unique textline
+ so further work can work only with simple numbers.
+
+ the input text
+ This extern initialized hashtable is used for storing all ever used textlines.
+ ignore leading and trailing space characters
+ a array of integers.
+
+
+
+ This is the algorithm to find the Shortest Middle Snake (SMS).
+
+ sequence A
+ lower bound of the actual range in DataA
+ upper bound of the actual range in DataA (exclusive)
+ sequence B
+ lower bound of the actual range in DataB
+ upper bound of the actual range in DataB (exclusive)
+ a vector for the (0,0) to (x,y) search. Passed as a parameter for speed reasons.
+ a vector for the (u,v) to (N,M) search. Passed as a parameter for speed reasons.
+ a MiddleSnakeData record containing x,y and u,v
+
+
+
+ This is the divide-and-conquer implementation of the longes common-subsequence (LCS)
+ algorithm.
+ The published algorithm passes recursively parts of the A and B sequences.
+ To avoid copying these arrays the lower and upper bounds are passed while the sequences stay constant.
+
+ sequence A
+ lower bound of the actual range in DataA
+ upper bound of the actual range in DataA (exclusive)
+ sequence B
+ lower bound of the actual range in DataB
+ upper bound of the actual range in DataB (exclusive)
+ a vector for the (0,0) to (x,y) search. Passed as a parameter for speed reasons.
+ a vector for the (u,v) to (N,M) search. Passed as a parameter for speed reasons.
+
+
+ Scan the tables of which lines are inserted and deleted,
+ producing an edit script in forward order.
+
+ dynamic array
+
+
+ details of one difference.
+
+
+ Start Line number in Data A.
+
+
+ Start Line number in Data B.
+
+
+ Number of changes in Data A.
+
+
+ Number of changes in Data B.
+
+
+
+ Shortest Middle Snake Return Data
+
+
+
+ Data on one input file being compared.
+
+
+
+ Number of elements (lines).
+
+
+ Buffer of numbers that will be compared.
+
+
+
+ Array of booleans that flag for modified data.
+ This is the result of the diff.
+ This means deletedA in the first Data or inserted in the second Data.
+
+
+
+
+ Initialize the Diff-Data buffer.
+
+ reference to the buffer
+
+
+
+ Summary description for Access.
+
+
+
+
+ Document represents a webpage,
+ type (umbraco.cms.businesslogic.web.DocumentType)
+
+ Pubished Documents are exposed to the runtime/the public website in a cached xml document.
+
+
+
+
+ Constructs a new document
+
+ Id of the document
+ true if the data shouldn't loaded from the db
+
+
+
+ Initializes a new instance of the Document class.
+ You can set an optional flag noSetup, used for optimizing for loading nodes in the tree,
+ therefor only data needed by the tree is initialized.
+
+ Id of the document
+ true if the data shouldn't loaded from the db
+
+
+
+ Initializes a new instance of the Document class to a specific version, used for rolling back data from a previous version
+ of the document.
+
+ The id of the document
+ The version of the document
+
+
+
+ Initializes a new instance of the Document class.
+
+ The id of the document
+
+
+
+ Initialize the document
+
+ The id of the document
+
+
+
+ Initializes a Document object with one SQL query instead of many
+
+
+
+
+
+
+ Internal initialization of a legacy Document object using the new IUmbracoEntity object
+
+
+
+
+
+
+ Internal initialization of a legacy Document object using the new IContent object
+
+
+
+
+
+ This is used to cache the child documents of Document when the children property
+ is accessed or enumerated over, this will save alot of database calls.
+
+
+
+
+ Imports (create) a document from a xmlrepresentation of a document, used by the packager
+
+ The id to import to
+ Creator of the new document
+ Xmlsource
+
+
+
+ Creates a new document
+
+ The name (.Text property) of the document
+ The documenttype
+ The usercontext under which the action are performed
+ The id of the parent to the document
+ The newly created document
+
+
+
+ Check if a node is a document
+
+
+
+
+
+
+ Used to get the firstlevel/root documents of the hierachy
+
+ Root documents
+
+
+
+ Deletes all documents of a type, will be invoked if a documenttype is deleted.
+
+ Note: use with care: this method can result in wast amount of data being deleted.
+
+ The type of which documents should be deleted
+
+
+
+ Performance tuned method for use in the tree
+
+ The parentdocuments id
+
+
+
+
+ This will clear out the cmsContentXml table for all Documents (not media or members) and then
+ rebuild the xml for each Docuemtn item and store it in this table.
+
+
+ This method is thread safe
+
+
+
+
+ Retrieve a list of documents with an expirationdate greater than today
+
+ A list of documents with expirationdates than today
+
+
+
+ Retrieve a list of documents with with releasedate greater than today
+
+ Retrieve a list of documents with with releasedate greater than today
+
+
+
+ Saves and executes handlers and events for the Send To Publication action.
+
+ The User
+
+
+
+ Saves and Publishes a document.
+ A xmlrepresentation of the document and its data are exposed to the runtime data
+ (an xmlrepresentation is added -or updated if the document previously are published) ,
+ this will lead to a new version of the document being created, for continuing editing of
+ the data.
+
+ The usercontext under which the action are performed
+
+
+
+ Publishing a document
+ A xmlrepresentation of the document and its data are exposed to the runtime data
+ (an xmlrepresentation is added -or updated if the document previously are published) ,
+ this will lead to a new version of the document being created, for continuing editing of
+ the data.
+
+ The usercontext under which the action are performed
+ True if the publishing succeed. Possible causes for not publishing is if an event aborts the publishing
+
+ This method needs to be marked with [MethodImpl(MethodImplOptions.Synchronized)]
+ because we execute multiple queries affecting the same data, if two thread are to do this at the same time for the same node we may have problems
+
+
+
+
+ Rollbacks a document to a previous version, this will create a new version of the document and copy
+ all of the old documents data.
+
+ The usercontext under which the action are performed
+ The unique Id of the version to roll back to
+
+
+
+ Recursive publishing.
+
+ Envoking this method will publish the documents and all children recursive.
+
+ The usercontext under which the action are performed
+
+
+
+ Used to persist object changes to the database.
+
+
+
+
+ Do not use! only used internally in order to get the published status until we upgrade everything to use the new API
+
+
+
+
+
+
+ Saves and publishes a document
+
+ The usercontext under which the action are performed
+
+
+
+
+ Pending changes means that there have been property/data changes since the last published version.
+ This is determined by the comparing the version date to the updated date. if they are different by more than 2 seconds,
+ then this is considered a change.
+
+
+
+
+
+ Used for rolling back documents to a previous version
+
+ Previous published versions of the document
+
+
+
+ Returns the published version of this document
+
+ The published version of this document
+
+
+
+
+
+ Returns a breadcrumlike path for the document like: /ancestorname/ancestorname
+
+
+
+ Overrides the moving of a object to a new location by changing its parent id.
+
+
+
+
+ Creates a new document of the same type and copies all data from the current onto it. Due to backwards compatibility we can't return
+ the new Document, but it's included in the CopyEventArgs.Document if you subscribe to the AfterCopy event
+
+ The parentid where the document should be copied to
+ The usercontext under which the action are performed
+
+
+
+ Creates a new document of the same type and copies all data from the current onto it. Due to backwards compatibility we can't return
+ the new Document, but it's included in the CopyEventArgs.Document if you subscribe to the AfterCopy event
+
+
+
+
+
+
+
+ Puts the current document in the trash
+
+
+
+
+ With either move the document to the trash or permanently remove it from the database.
+
+ flag to set whether or not to completely remove it from the database or just send to trash
+
+
+
+ Returns all decendants of the current document
+
+
+
+
+
+ Refreshes the xml, used when publishing data on a document which already is published
+
+ The source xmldocument
+ The previous xmlrepresentation of the document
+
+
+
+ Creates an xmlrepresentation of the document and saves it to the database
+
+
+
+
+
+ A xmlrepresentaion of the document, used when publishing/exporting the document,
+
+ Optional: Recursive get childdocuments xmlrepresentation
+
+ The xmldocument
+ Recursive add of childdocuments
+
+
+
+
+ Populate a documents xmlnode
+
+ Xmldocument context
+ The node to fill with data
+ If true the documents childrens xmlrepresentation will be appended to the Xmlnode recursive
+
+
+
+ This is a specialized method which literally just makes sure that the sortOrder attribute of the xml
+ that is stored in the database is up to date.
+
+
+
+
+ Method to remove an assigned template from a document
+
+
+
+
+ This needs to be synchronized since we're doing multiple sql operations in the single method
+
+
+
+
+
+ Used internally to permanently delete the data from the database
+
+ returns true if deletion isn't cancelled
+
+
+
+ Used internally to move the node to the recyle bin
+
+ Returns true if the move was not cancelled
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Fires the after move to trash.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Gets a value indicating whether the document was constructed for the optimized mode
+
+ true if the document is working in the optimized mode; otherwise, false.
+
+
+
+ The id of the user whom created the document
+
+
+
+
+ Gets the user who created the document.
+
+ The creator.
+
+
+
+ Gets the writer.
+
+ The writer.
+
+
+
+ Gets or sets a value indicating whether the document is published.
+
+ A document can be published yet not visible, because of one or more of its
+ parents being unpublished. Use PathPublished to get a value indicating whether
+ the node and all its parents are published, and therefore whether the node is visible.
+
+
+
+ Gets a value indicating whether the document and all its parents are published.
+
+
+
+
+ The date of the last update of the document
+
+
+
+
+ A datestamp which indicates when a document should be published, used in automated publish/unpublish scenarios
+
+
+
+
+ A datestamp which indicates when a document should be unpublished, used in automated publish/unpublish scenarios
+
+
+
+
+ The id of the template associated to the document
+
+ When a document is created, it will get have default template given by it's documenttype,
+ an editor is able to assign alternative templates (allowed by it's the documenttype)
+
+ You are always able to override the template in the runtime by appending the following to the querystring to the Url:
+
+ ?altTemplate=[templatealias]
+
+
+
+
+ A collection of documents imidiately underneath this document ie. the childdocuments
+
+
+
+
+ Occurs when [before save].
+
+
+
+
+ Occurs when [after save].
+
+
+
+
+ Occurs when [new].
+
+
+
+
+ Occurs when [before delete].
+
+
+
+
+ Occurs when [after delete].
+
+
+
+
+ Occurs when [before delete].
+
+
+
+
+ Occurs when [after move to trash].
+
+
+
+
+ Occurs when [before publish].
+
+
+
+
+ Occurs when [after publish].
+
+
+
+
+ Occurs when [before publish].
+
+
+
+
+ Occurs when [after publish].
+
+
+
+
+ Occurs when [before un publish].
+
+
+
+
+ Occurs when [after un publish].
+
+
+
+
+ Occurs when [before copy].
+
+
+
+
+ Occurs when [after copy].
+
+
+
+
+ Occurs when [before roll back].
+
+
+
+
+ Occurs when [after roll back].
+
+
+
+
+ The save event handler
+
+
+
+
+ The New event handler
+
+
+
+
+ The delete event handler
+
+
+
+
+ The publish event handler
+
+
+
+
+ The Send To Publish event handler
+
+
+
+
+ The unpublish event handler
+
+
+
+
+ The copy event handler
+
+
+
+
+ The rollback event handler
+
+
+
+
+ The Move to trash event handler
+
+
+
+
+ Summary description for DocumentType.
+
+
+
+
+ Generates the complete (simplified) XML DTD
+
+ The DTD as a string
+
+
+
+ This will return all PUBLISHED content Ids that are of this content type or any descendant types as well.
+
+
+
+ This will also work if we have multiple child content types (if one day we support that)
+
+
+
+
+ Rebuilds the xml structure for the content item by id
+
+
+
+ This is not thread safe
+
+
+
+
+ Clears all xml structures in the cmsContentXml table for the current content type and any of it's descendant types
+
+
+ This is not thread safe.
+ This will also work if we have multiple child content types (if one day we support that)
+
+
+
+
+
+
+ Throws an exception if trying to delete a document type that is assigned as a master document type
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Gets/sets the allowed templates for this document type.
+
+
+
+
+ Occurs when [before save].
+
+
+
+
+ Occurs when [after save].
+
+
+
+
+ Occurs when [new].
+
+
+
+
+ Occurs when [before delete].
+
+
+
+
+ Occurs when [after delete].
+
+
+
+
+ The save event handler
+
+
+
+
+ The New event handler
+
+
+
+
+ The delete event handler
+
+
+
+
+ Summary description for Domain.
+
+
+
+
+ Empty ctor used for unit tests to create a custom domain
+
+
+
+
+ Occurs when a macro is saved.
+
+
+
+
+ Gets a value indicating whether the domain is a wildcard domain.
+
+ A value indicating whether the domain is a wildcard domain.
+
+
+
+ Summary description for StyleSheet.
+
+
+
+
+ Used to persist object changes to the database. In Version3.0 it's just a stub for future compatibility
+
+
+
+
+ Sets up the internal data of the CMSNode, used by the various constructors
+
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Sort order does nothing for Stylesheets
+
+
+
+
+ Sort order does nothing for Stylesheets
+
+
+
+
+ Gets or sets the create date time.
+
+ The create date time.
+
+
+
+ Human readable name/label
+
+
+
+
+ Occurs when [before save].
+
+
+
+
+ Occurs when [after save].
+
+
+
+
+ Occurs when [new].
+
+
+
+
+ Occurs when [before delete].
+
+
+
+
+ Occurs when [after delete].
+
+
+
+
+ The save event handler
+
+
+
+
+ The new event handler
+
+
+
+
+ The delete event handler
+
+
+
+
+ Sets up the internal data of the CMSNode, used by the various constructors
+
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Human readable name/label
+
+
+
+
+ Occurs when [before save].
+
+
+
+
+ Occurs when [after save].
+
+
+
+
+ Occurs when [new].
+
+
+
+
+ Occurs when [before delete].
+
+
+
+
+ Occurs when [after delete].
+
+
+
+
+ The save event handler
+
+
+
+
+ The new event handler
+
+
+
+
+ The delete event handler
+
+
+
+
+ This Class implements the Difference Algorithm published in
+ "An O(ND) Difference Algorithm and its Variations" by Eugene Myers
+ Algorithmica Vol. 1 No. 2, 1986, p 251.
+
+ The algorithm itself is comparing 2 arrays of numbers so when comparing 2 text documents
+ each line is converted into a (hash) number. See DiffText().
+
+ diff.cs: A port of the algorithm to C#
+ Copyright (c) by Matthias Hertel, http://www.mathertel.de
+ This work is licensed under a BSD style license. See http://www.mathertel.de/License.aspx
+
+
+
+
+ Find the difference in 2 texts, comparing by textlines.
+
+ A-version of the text (usualy the old one)
+ B-version of the text (usualy the new one)
+ Returns a array of Items that describe the differences.
+
+
+
+ Find the difference in 2 texts, comparing by textlines.
+ This method uses the DiffInt internally by 1st converting the string into char codes
+ then uses the diff int method
+
+ A-version of the text (usualy the old one)
+ B-version of the text (usualy the new one)
+ Returns a array of Items that describe the differences.
+
+
+
+ Find the difference in 2 text documents, comparing by textlines.
+ The algorithm itself is comparing 2 arrays of numbers so when comparing 2 text documents
+ each line is converted into a (hash) number. This hash-value is computed by storing all
+ textlines into a common hashtable so i can find dublicates in there, and generating a
+ new number each time a new textline is inserted.
+
+ A-version of the text (usualy the old one)
+ B-version of the text (usualy the new one)
+ When set to true, all leading and trailing whitespace characters are stripped out before the comparation is done.
+ When set to true, all whitespace characters are converted to a single space character before the comparation is done.
+ When set to true, all characters are converted to their lowercase equivivalence before the comparation is done.
+ Returns a array of Items that describe the differences.
+
+
+
+ Diffs the char codes.
+
+ A text.
+ if set to true [ignore case].
+
+
+
+
+ If a sequence of modified lines starts with a line that contains the same content
+ as the line that appends the changes, the difference sequence is modified so that the
+ appended line and not the starting line is marked as modified.
+ This leads to more readable diff sequences when comparing text files.
+
+ A Diff data buffer containing the identified changes.
+
+
+
+ Find the difference in 2 arrays of integers.
+
+ A-version of the numbers (usualy the old one)
+ B-version of the numbers (usualy the new one)
+ Returns a array of Items that describe the differences.
+
+
+
+ This function converts all textlines of the text into unique numbers for every unique textline
+ so further work can work only with simple numbers.
+
+ the input text
+ This extern initialized hashtable is used for storing all ever used textlines.
+ ignore leading and trailing space characters
+ a array of integers.
+
+
+
+ This is the algorithm to find the Shortest Middle Snake (SMS).
+
+ sequence A
+ lower bound of the actual range in DataA
+ upper bound of the actual range in DataA (exclusive)
+ sequence B
+ lower bound of the actual range in DataB
+ upper bound of the actual range in DataB (exclusive)
+ a vector for the (0,0) to (x,y) search. Passed as a parameter for speed reasons.
+ a vector for the (u,v) to (N,M) search. Passed as a parameter for speed reasons.
+ a MiddleSnakeData record containing x,y and u,v
+
+
+
+ This is the divide-and-conquer implementation of the longes common-subsequence (LCS)
+ algorithm.
+ The published algorithm passes recursively parts of the A and B sequences.
+ To avoid copying these arrays the lower and upper bounds are passed while the sequences stay constant.
+
+ sequence A
+ lower bound of the actual range in DataA
+ upper bound of the actual range in DataA (exclusive)
+ sequence B
+ lower bound of the actual range in DataB
+ upper bound of the actual range in DataB (exclusive)
+ a vector for the (0,0) to (x,y) search. Passed as a parameter for speed reasons.
+ a vector for the (u,v) to (N,M) search. Passed as a parameter for speed reasons.
+
+
+ Scan the tables of which lines are inserted and deleted,
+ producing an edit script in forward order.
+
+ dynamic array
+
+
+ details of one difference.
+
+
+ Start Line number in Data A.
+
+
+ Start Line number in Data B.
+
+
+ Number of changes in Data A.
+
+
+ Number of changes in Data B.
+
+
+
+ Shortest Middle Snake Return Data
+
+
+
+ Data on one input file being compared.
+
+
+
+ Number of elements (lines).
+
+
+ Buffer of numbers that will be compared.
+
+
+
+ Array of booleans that flag for modified data.
+ This is the result of the diff.
+ This means deletedA in the first Data or inserted in the second Data.
+
+
+
+
+ Initialize the Diff-Data buffer.
+
+ reference to the buffer
+
+
+
+ Notifications are a part of the umbraco workflow.
+ A notification is created every time an action on a node occurs and a umbraco user has subscribed to this specific action on this specific node.
+ Notifications generates an email, which is send to the subscribing users.
+
+
+
+
+ Private constructor as this object should not be allowed to be created currently
+
+
+
+
+ Sends the notifications for the specified user regarding the specified node and action.
+
+ The node.
+ The user.
+ The action.
+
+
+
+ Returns the notifications for a user
+
+
+
+
+
+
+ Returns the notifications for a node
+
+
+
+
+
+
+ Deletes notifications by node
+
+
+
+
+
+ Delete notifications by user
+
+
+
+
+
+ Delete notifications by user and node
+
+
+
+
+
+
+ Creates a new notification
+
+ The user.
+ The node.
+ The action letter.
+
+
+
+ Updates the notifications.
+
+ The user.
+ The node.
+ The notifications.
+
+
+
+ Gets the SQL helper.
+
+ The SQL helper.
+
+
+
+ Summary description for url.
+
+
+
+
+ Utility method for checking for valid proxy urls or redirect urls to prevent Open Redirect security issues
+
+ The url to validate
+ The url of the current local domain (to ensure we can validate if the requested url is local without dependency on the request)
+ True if it's an allowed url
+
+
+
+ Summary description for xhtml.
+
+
+
+
diff --git a/Blog/bin/controls.dll b/Blog/bin/controls.dll
new file mode 100644
index 0000000..086d73a
Binary files /dev/null and b/Blog/bin/controls.dll differ
diff --git a/Blog/bin/controls.xml b/Blog/bin/controls.xml
new file mode 100644
index 0000000..fec931f
--- /dev/null
+++ b/Blog/bin/controls.xml
@@ -0,0 +1,185 @@
+
+
+
+ controls
+
+
+
+
+ Constructor, set defaults.
+
+
+
+
+ If item has been selected or stored, this will query the db for its title
+
+
+
+
+ Just like GetItemTitle, except returns the full path (breadcrumbs) of the node
+
+
+
+
+ Outputs the JavaScript instances used to make this control work
+
+
+
+
+ Registers the required JS classes required to make this control work
+
+
+
+
+ Create the native .net child controls for this control
+
+
+
+
+ Registers the JavaScript required for the control to function and hides/shows controls depending on it's properties
+
+
+
+
+
+ Wraps the hidden vield value
+
+
+
+
+ Need to specify the tree picker url (iframe)
+
+
+
+
+ The title to specify for the picker window
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to /// <reference path="/umbraco_client/Application/NamespaceManager.js" />
+
+ Umbraco.Sys.registerNamespace("Umbraco.Controls");
+
+ (function($) {
+ Umbraco.Controls.TreePicker = function(clientId, label, itemIdValueClientID, itemTitleClientID, itemPickerUrl, width, height, showHeader, umbracoPath) {
+ var obj = {
+ _itemPickerUrl: itemPickerUrl,
+ _webServiceUrl: umbracoPath + "/webservices/legacyAjaxCalls.asmx/GetNodeBreadcrumbs",
+ _label: label,
+ _wid [rest of string was truncated]";.
+
+
+
+
+ This class will generate the URLs for iframe tree pages.
+ Generally used to get the a tree picker url.
+
+
+ This was created in 4.1 so that this helper class can be exposed to other assemblies since
+ it only existed in the presentation assembly in previous versions
+
+
+
+
+ Returns the url for servicing the xml tree request based on the parameters specified on this class.
+
+ Tree service url as a string
+
+
+
+ Static method to return the tree service url with the specified parameters
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the url for initializing the tree based on the parameters specified on this class
+
+
+
+
+
+ static method to return the tree init url with the specified parameters
+
+
+
+
+
+
+
+
+
+
+
+
+ Returns the url for the tree picker (used on modal windows) based on the parameters specified on this class
+
+
+
+
+ Returns the url for the tree picker (used on modal windows) based on the parameters specified on this class
+
+
+
+
+ Generates the URL parameters for the tree service.
+
+ the base url (i.e. tree.aspx)
+
+
+
+
+ Used to load in all client dependencies for Umbraco.
+ Ensures that both UmbracoClient and UmbracoRoot paths are added to the loader.
+
+
+
+
+ Set the defaults
+
+
+
+
+ Client ID is different if the code editor is turned on/off
+
+
+
+
+ Inserts a new web control into the scrolling menu
+
+
+ The additional width to extend the scrolling menu by if the control being inserted is wider than the standard
+
+
+
+ Finds the index of the n-th Splitter in this Menu
+
+
+ The index of the n-th Splitter, or -1 if the number of Splitters is smaller than n
+
+
+
diff --git a/Blog/bin/interfaces.dll b/Blog/bin/interfaces.dll
new file mode 100644
index 0000000..2bfa6a3
Binary files /dev/null and b/Blog/bin/interfaces.dll differ
diff --git a/Blog/bin/interfaces.xml b/Blog/bin/interfaces.xml
new file mode 100644
index 0000000..41a6107
--- /dev/null
+++ b/Blog/bin/interfaces.xml
@@ -0,0 +1,271 @@
+
+
+
+ interfaces
+
+
+
+
+ Interface for created applications in the umbraco backoffice
+
+
+
+
+ Any class that implements this interface will be instantiated at application startup
+
+
+ NOTE: It is not recommended to use this interface and instead use IApplicationEventHandler
+ and bind to any custom events in the OnApplicationInitialized method.
+
+
+
+
+ Summary description for IDataFieldWithButtons.
+
+
+
+
+ The IDataEditor is part of the IDataType interface for creating new data types in the umbraco backoffice.
+ The IDataEditor represents the editing UI for the Data Type.
+
+
+
+
+ Saves this instance.
+
+
+
+
+ Gets a value indicating whether a label is shown
+
+ true if [show label]; otherwise, false.
+
+
+
+ Gets a value indicating whether the editor should be treated as a rich text editor.
+
+
+ true if [treat as rich text editor]; otherwise, false.
+
+
+
+
+ Gets the editor control
+
+ The editor.
+
+
+
+ Summary description for ITask.
+
+
+
+
+ Summary description for ActionI.
+
+
+
+
+ A path to a supporting JavaScript file for the IAction. A script tag will be rendered out with the reference to the JavaScript file.
+
+
+
+
+ The IcacheRefresher Interface is used for loadbalancing.
+
+
+
+
+
+ Internal interface used to decorate any IData that can be optimized when exporting
+ XML like in the packaging service. Instead of relying on the IData to go get the value
+ from the db, any IData that implements this can have it's value set from the packaging service.
+
+
+
+
+ The IData is part of the IDataType interface for creating new data types in the umbraco backoffice.
+ The IData represents the actual value entered by the user.
+
+
+
+
+ Converts the data to XML.
+
+ The data.
+ The data as XML.
+
+
+
+ Creates a new value
+
+ The property id.
+
+
+
+ Deletes this instance.
+
+
+
+
+ Gets or sets the property id.
+
+ The property id.
+
+
+
+ Gets or sets the value.
+
+ The value.
+
+
+
+ The IDataPrevalue interface is part of the IDataType interface for creating new data types in the umbraco backoffice.
+ The IDataPrevalue represents the editing UI for adding prevalues to the datatype.
+
+
+
+
+ Saves this instance.
+
+
+
+
+ Gets the editor control.
+
+ The editor.
+
+
+
+ The IDataType is a interface used for adding a new Data type to the umbraco backoffice.
+ It consists of IdataEditor which provides the Editing UI, the IDataPrevalue which provides prevalues and th their editing UI
+ And finally it contains IData which manages the actual data in the Data Type
+
+
+
+
+ Gets the id.
+
+ The id.
+
+
+
+ Gets the name of the data type.
+
+ The name of the data type.
+
+
+
+ Gets the data editor.
+
+ The data editor.
+
+
+
+ Gets the prevalue editor.
+
+ The prevalue editor.
+
+
+
+ Gets the data.
+
+ The data.
+
+
+
+ Gets or sets the data type definition id.
+
+ The data type definition id.
+
+
+
+ Gets or sets a value indicating whether preview mode is switched on.
+ In preview mode, the setter saves to a temporary location
+ instead of persistent storage, which the getter also reads from on subsequent access.
+ Switching off preview mode restores the persistent value.
+
+ true if preview mode is switched on; otherwise, false.
+
+
+
+ Summary description for IMacroGuiRendering.
+
+
+
+
+ Gets or sets the value.
+
+ The value.
+
+
+
+ Gets a value indicating whether a caption is shown
+
+ true if [show caption]; otherwise, false.
+
+
+
+ IMenuElement is an interface for items in the umbraco backoffice panel menu
+
+
+
+
+ Gets the name of the element.
+
+ The name of the element.
+
+
+
+ Gets the element id pre fix.
+
+ The element id pre fix.
+
+
+
+ Gets the element class.
+
+ The element class.
+
+
+
+ Gets the width of the extra menu.
+
+ The width of the extra menu.
+
+
+
+ Summary description for INotFoundHandler.
+
+
+
+
+ Interface for created application trees in the umbraco backoffice
+
+
+
+
+ Renders the specified tree.
+
+ The tree.
+
+
+
+ Renders the client side script associatied with the tree.
+
+ The javascript.
+
+
+
+ Sets the tree id.
+
+ The id.
+
+
+
+ Sets the applicatin alias.
+
+ The app.
+
+
+
diff --git a/Blog/bin/log4net.dll b/Blog/bin/log4net.dll
new file mode 100644
index 0000000..9a78444
Binary files /dev/null and b/Blog/bin/log4net.dll differ
diff --git a/Blog/bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll b/Blog/bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll
new file mode 100644
index 0000000..4aca434
Binary files /dev/null and b/Blog/bin/roslyn/Microsoft.Build.Tasks.CodeAnalysis.dll differ
diff --git a/Blog/bin/roslyn/Microsoft.CSharp.Core.targets b/Blog/bin/roslyn/Microsoft.CSharp.Core.targets
new file mode 100644
index 0000000..65629e5
--- /dev/null
+++ b/Blog/bin/roslyn/Microsoft.CSharp.Core.targets
@@ -0,0 +1,135 @@
+
+
+
+
+ $(NoWarn);1701;1702
+
+
+
+
+ $(NoWarn);2008
+
+
+
+
+
+
+
+
+
+
+ $(AppConfig)
+
+
+ $(IntermediateOutputPath)$(TargetName).compile.pdb
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+ <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />
+
+
+
+
+
diff --git a/Blog/bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll b/Blog/bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll
new file mode 100644
index 0000000..c01c29f
Binary files /dev/null and b/Blog/bin/roslyn/Microsoft.CodeAnalysis.CSharp.dll differ
diff --git a/Blog/bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll b/Blog/bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll
new file mode 100644
index 0000000..a48642f
Binary files /dev/null and b/Blog/bin/roslyn/Microsoft.CodeAnalysis.VisualBasic.dll differ
diff --git a/Blog/bin/roslyn/Microsoft.CodeAnalysis.dll b/Blog/bin/roslyn/Microsoft.CodeAnalysis.dll
new file mode 100644
index 0000000..c216197
Binary files /dev/null and b/Blog/bin/roslyn/Microsoft.CodeAnalysis.dll differ
diff --git a/Blog/bin/roslyn/Microsoft.VisualBasic.Core.targets b/Blog/bin/roslyn/Microsoft.VisualBasic.Core.targets
new file mode 100644
index 0000000..4dc93e3
--- /dev/null
+++ b/Blog/bin/roslyn/Microsoft.VisualBasic.Core.targets
@@ -0,0 +1,133 @@
+
+
+
+ <_NoWarnings Condition=" '$(WarningLevel)' == '0' ">true
+ <_NoWarnings Condition=" '$(WarningLevel)' == '1' ">false
+
+
+
+
+ $(IntermediateOutputPath)$(TargetName).compile.pdb
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+ <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />
+
+
+
+
+
diff --git a/Blog/bin/roslyn/System.Collections.Immutable.dll b/Blog/bin/roslyn/System.Collections.Immutable.dll
new file mode 100644
index 0000000..888e914
Binary files /dev/null and b/Blog/bin/roslyn/System.Collections.Immutable.dll differ
diff --git a/Blog/bin/roslyn/System.Reflection.Metadata.dll b/Blog/bin/roslyn/System.Reflection.Metadata.dll
new file mode 100644
index 0000000..a3ac7a2
Binary files /dev/null and b/Blog/bin/roslyn/System.Reflection.Metadata.dll differ
diff --git a/Blog/bin/roslyn/VBCSCompiler.exe b/Blog/bin/roslyn/VBCSCompiler.exe
new file mode 100644
index 0000000..b2dceff
Binary files /dev/null and b/Blog/bin/roslyn/VBCSCompiler.exe differ
diff --git a/Blog/bin/roslyn/VBCSCompiler.exe.config b/Blog/bin/roslyn/VBCSCompiler.exe.config
new file mode 100644
index 0000000..8b14258
--- /dev/null
+++ b/Blog/bin/roslyn/VBCSCompiler.exe.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Blog/bin/roslyn/csc.exe b/Blog/bin/roslyn/csc.exe
new file mode 100644
index 0000000..44c3c41
Binary files /dev/null and b/Blog/bin/roslyn/csc.exe differ
diff --git a/Blog/bin/roslyn/vbc.exe b/Blog/bin/roslyn/vbc.exe
new file mode 100644
index 0000000..bc98748
Binary files /dev/null and b/Blog/bin/roslyn/vbc.exe differ
diff --git a/Blog/bin/umbraco.DataLayer.dll b/Blog/bin/umbraco.DataLayer.dll
new file mode 100644
index 0000000..eb41ab1
Binary files /dev/null and b/Blog/bin/umbraco.DataLayer.dll differ
diff --git a/Blog/bin/umbraco.DataLayer.xml b/Blog/bin/umbraco.DataLayer.xml
new file mode 100644
index 0000000..65cc4a5
--- /dev/null
+++ b/Blog/bin/umbraco.DataLayer.xml
@@ -0,0 +1,2192 @@
+
+
+
+ umbraco.DataLayer
+
+
+
+
+ The DataLayerHelper class is the main interface to the data layer.
+
+
+
+ Name of the property that identifies the SQL helper type.
+
+
+ Name of the default data layer, that is used when nothing is specified.
+
+
+ Format used when the SQL helper is qualified by its simple name, instead of the full class name.
+
+
+
+ Creates a SQL helper for the specified connection string.
+
+ The connection string containing the SQL helper type.
+ A new SQL helper.
+ This method will change to allow the addition of external SQL helpers.
+
+
+
+ Interface for an extension to an .
+
+
+
+
+ Called when ExecuteScalar is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+
+ Called when ExecuteNonQuery is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+
+ Called when ExecuteReader is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+
+ Called when ExecuteXmlReader is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+
+ Extension to that logs all executed commands to a stream.
+
+
+
+
+ Abstract base class for an SQL helper extension.
+ Implements all methods with an empty body.
+ You will find it convenient to use this class as a base for most extensions,
+ because you only have to override the functions you actually use.
+
+
+
+
+ Called when ExecuteScalar is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+
+ Called when ExecuteNonQuery is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+
+ Called when ExecuteReader is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+
+ Called when ExecuteXmlReader is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+ Format of a line in the log file.
+
+
+ Stream to which the commands are logged.
+
+
+ Parser used to inline query parameters.
+
+
+
+ Initializes a new instance of the class.
+
+ The input stream to which the commands will be logged.
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the file in which the commands will be logged.
+
+
+
+ Releases unmanaged resources and performs other cleanup operations before the
+ is reclaimed by garbage collection.
+
+
+
+
+ Called when ExecuteScalar is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+
+ Called when ExecuteNonQuery is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+
+ Called when ExecuteReader is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+
+ Called when ExecuteXmlReader is executed.
+
+ The SQL helper.
+ The command text.
+ The SQL parameters.
+
+
+
+ Appends a command to the log stream.
+
+ The SQL helper executing the command.
+ The command text.
+ The parameters.
+
+
+
+ Class that adds extensions to an existing SQL helper.
+
+ Decorator design pattern.
+
+
+
+ Interface of a module that interacts with a certain type of SQL database.
+
+
+
+
+ Creates a new parameter for use with this specific implementation of ISqlHelper.
+
+ Name of the parameter.
+ Value of the parameter.
+ A new parameter of the correct type.
+ Abstract factory pattern
+
+
+
+ Escapes a string for use in an SQL query.
+
+ The value.
+ The escaped value.
+ You should use parameters instead.
+
+
+
+ Creates a concatenation fragment for use in an SQL query.
+
+ The values that need to be concatenated
+ The SQL query fragment.
+ SQL Server uses a+b, MySql uses concat(a,b), Oracle uses a||b...
+
+
+
+ Executes a command and returns the number of rows affected.
+
+ The command text.
+ The parameters.
+ The number of rows affected by the command.
+ If a data source error occurs.
+
+
+
+ Executes a command and returns a records reader containing the results.
+
+ The command text.
+ The parameters.
+ A data reader containing the results of the command.
+ If a data source error occurs.
+
+
+
+ Executes a command that returns a single value.
+
+ The type of the value.
+ The command text.
+ The parameters.
+ The return value of the command.
+ If a data source error occurs.
+
+
+
+ Executes a command that returns an XML value.
+
+ The command text.
+ The parameters.
+ An XML reader containing the return value.
+ If a data source error occurs.
+
+
+
+ Gets the connection string.
+
+ The connection string.
+
+
+
+ Gets the Umbraco utility associated with this SQL helper.
+
+ The utilities.
+
+
+ SQL helper this SqlHelperExtender extends.
+
+
+ Extensions that are currently in use.
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+ The extensions.
+
+
+
+ Adds the extension to the extension chain.
+
+ The extension.
+
+
+
+ Removes an extension from the extension chain.
+
+ The extension.
+
+
+
+ Creates a new parameter for use with this specific implementation of ISqlHelper.
+
+ Name of the parameter.
+ Value of the parameter.
+ A new parameter of the correct type.
+ Abstract factory pattern
+
+
+
+ Creates a concatenation fragment for use in an SQL query.
+
+ The values that need to be concatenated
+ The SQL query fragment.
+ SQL Server uses a+b, MySql uses concat(a,b), Oracle uses a||b...
+
+
+
+ Escapes a string for use in an SQL query.
+
+ The text to be escaped.
+ The escaped value.
+ You should use SQL parameters instead.
+
+
+
+ Executes a command and returns the number of rows affected.
+
+ The command text.
+ The parameters.
+
+ The number of rows affected by the command.
+
+
+
+
+ Executes a command and returns a records reader containing the results.
+
+ The command text.
+ The parameters.
+
+ A data reader containing the results of the command.
+
+
+
+
+ Executes a command that returns a single value.
+
+ The type of the value.
+ The command text.
+ The parameters.
+ The return value of the command.
+ If a data source error occurs.
+
+
+
+ Executes a command that returns an XML value.
+
+ The command text.
+ The parameters.
+
+ An XML reader containing the return value.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Gets the connection string.
+
+ The connection string.
+
+
+
+ Gets the Umbraco utility associated with this SQL helper.
+
+ The utilities.
+
+
+
+ Represents an object that reads record data from a result set.
+
+
+
+
+ Advances to the next record.
+
+
+ true if there are more records; otherwise, false.
+
+
+
+
+ Closes the reader.
+
+
+
+
+ Determines whether a field with the specified field name exists in the record.
+ The field can still contain a null value.
+
+ Name of the field.
+ true if the specified field exists; otherwise, false.
+
+
+
+ Determines whether the specified field is null.
+
+ Name of the field.
+ true if the specified field is null; otherwise, false.
+
+
+
+ Gets the specified field value.
+
+ The field type.
+ Name of the field.
+
+
+
+
+ Gets the value of the specified field.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a bool.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a byte.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a DateTime.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a decimal.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a double.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a float.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a Guid.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a short.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as an int.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a long.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a string.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets a value indicating whether this instance has records.
+
+ true if this instance has records; otherwise, false.
+
+
+
+ Interface for an that wraps around a .
+
+ Data type of the wrapped parameter.
+
+
+
+ Interface for a parameter of a data layer instruction.
+
+
+
+
+ Gets the name of the parameter.
+
+ The name of the parameter.
+
+
+
+ Gets the value of the parameter.
+
+ The value of the parameter.
+
+
+
+ Gets the original parameter.
+
+ The original parameter.
+
+
+
+ Exception generated in an SQL helper.
+
+
+
+
+ Represents an exception that is generated in an Umbraco module.
+
+ This should be moved out of the data layer for general use.
+
+
+ The Umbraco component that generated the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+ The inner exception.
+
+
+
+ Gets the Umbraco component that generated the exception.
+
+ The component.
+
+
+
+ Gets a message that describes the current exception.
+
+ The error message that explains the reason for the exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The method where the exception occurred.
+ The command text. Only used in debug mode.
+ The command parameters. Only used in debug mode.
+ The inner exception.
+
+ *Never* place the command text inside the exception message,
+ since the message could be shown on a level with lower security.
+ Especially dangerous with faulty command texts (code injection),
+ or commands with inline parameters. (information leak)
+ (So there's another reason to use real parameters.)
+
+
+
+
+ Database installer for an MySql data source.
+
+
+
+
+ Base class for installers that use an ISqlHelper as data source.
+
+ The SQL helper type.
+
+
+
+ Base class for utilities that use an ISqlHelper as data source.
+
+ The SQL helper type.
+
+
+ SQL helper the utility uses as data source.
+
+
+
+ Initializes the with the specified SQL helper.
+
+ The SQL helper.
+
+
+
+ Gets the SQL helper.
+
+ The SQL helper.
+
+
+
+ Interface for a utility that helps installing an Umbraco data source.
+
+
+
+
+ Installs the latest version into the data source.
+
+
+ If installing or upgrading is not supported.
+
+
+
+ Gets the current data source version.
+
+ The current version.
+
+
+
+ Gets the latest available version.
+
+ The latest version.
+
+
+
+ Gets a value indicating whether this installer can connect to the data source.
+
+
+ true if the installer can connect; otherwise, false.
+
+
+
+
+ Gets a value indicating whether the data source is empty and ready for installation.
+
+
+ true if the data source is empty; otherwise, false.
+
+
+
+
+ Gets a value indicating whether the data source has an up to date version.
+
+
+ true if the data source is up to date; otherwise, false.
+
+
+
+
+ Gets a value indicating whether the installer can upgrade the data source.
+
+
+ true if the installer can upgrade the data source; otherwise, false.
+
+ Empty data sources can't be upgraded, just installed.
+
+
+ The latest available version this installer provides.
+
+
+ The currently installed database version, null if undetermined.
+
+
+ Regular expression that finds multiline block comments.
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+ The latest available version.
+
+
+
+ Installs the latest version into the data source.
+
+
+ If installing or upgrading is not supported.
+
+
+
+ Determines the current version of the SQL data source,
+ by attempting to select a certain field from a certain table.
+ The specifications are retrieved using the VersionSpecs property.
+
+ The current version of the SQL data source
+
+
+
+ Executes a list of semicolon separated statements.
+ Statements starting with
+
+ The statements.
+
+
+
+ Gets the current data source version.
+
+ The current version.
+
+
+
+ Gets the latest available version.
+
+ The latest version.
+
+
+
+ Gets a value indicating whether this installer can connect to the data source.
+
+
+ true if the installer can connect; otherwise, false.
+
+
+
+
+ Gets a value indicating whether the data source is empty and ready for installation.
+
+
+ true if the data source is empty; otherwise, false.
+
+
+
+
+ Gets a value indicating whether the data source has an up to date version.
+
+
+ true if the data source is up to date; otherwise, false.
+
+
+
+
+ Gets a value indicating whether the installer can upgrade the data source.
+
+
+ true if the installer can upgrade the data source; otherwise, false.
+
+ Empty data sources can't be upgraded, just installed.
+
+
+
+ Gets the version specification for evaluation by DetermineCurrentVersion.
+ Only first matching specification is taken into account.
+
+ The version specifications.
+
+
+ The latest database version this installer supports.
+
+
+ The specifications to determine the database version.
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ Converts the SQL command to the MySQL 4.x dialect.
+
+ The SQL in MySQL 5+ dialect.
+ The SQL in MySQL 4.x dialect.
+
+
+
+ Gets the MySQL major version number.
+
+ The MySQL major version number
+
+
+
+ Gets a value indicating whether the installer can upgrade the data source.
+
+
+ true if the installer can upgrade the data source; otherwise, false.
+
+ Empty data sources can't be upgraded, just installed.
+
+
+
+ Gets the version specification for evaluation by DetermineCurrentVersion.
+ Only first matching specification is taken into account.
+
+ The version specifications.
+
+
+
+ Returns the sql to do a full install
+
+
+
+
+ Returns the sql to do an upgrade
+
+
+
+
+ Object that performs parsing tasks on a MySQL command.
+
+
+
+
+ Object that performs parsing tasks on an SQL command.
+
+
+
+ Original tokens for query token replacement.
+
+
+ Destination tokens for query token replacement.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class
+ that performs the specified token translation.
+
+ The original tokens.
+ The new tokens, each token corresponds with the item of
+ srcTokens at the same index.
+
+
+
+ Parses the query, performing provider specific changes.
+
+ The query.
+ The modified query.
+
+ The default implementation returns the original query.
+ Overriding classes can change this behavior.
+
+
+
+
+ Replaces parameters in a query by their values.
+
+ The command text.
+ The parameters.
+ The query, with parameter placeholders replaced by their values.
+
+
+ Replaces tokens before or after identifiers in a query string.
+ The original query.
+ The query with replaced identifier tokens.
+ Assumes a correct query.
+
+
+
+ Uppercases the identifiers in the query, leaving strings untouched.
+
+ The query.
+ The query with uppercased identifiers.
+
+
+ Searches the position in a query where a string is terminated.
+ The query to search.
+ The position of the opening quote of the string.
+ The position of termination quote of the string.
+
+ Assumes a correct query, 0<startPos<query.Length-1 and query[startPos]=='\''.
+ (because the function is optimized for speed)
+
+ If the query is incorrect,
+ startPos not in ]0,query.Length-1[ or query[startPos]!='\''.
+
+
+
+ Gets the character strings are surrounded with.
+
+ The string delimiter.
+
+
+
+ Gets the param character parameters start with.
+
+ The parameter starting token.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Parses the query, performing provider specific changes.
+
+ The query.
+ The modified query.
+
+ Uppercases identifiers and replaces their tokens.
+
+
+
+
+ Utility for an MySql data source.
+
+
+
+
+ Base class providing access to various Umbraco utilities
+ that operate on data layer level.
+
+
+
+
+
+ Interface for classes providing access to various Umbraco utilities
+ that operate on data layer level.
+
+
+
+
+ Creates an installer.
+
+ The installer.
+
+
+
+ Creates a table utility.
+
+ The table utility
+
+
+ SQL helper the utility uses as data source.
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ Creates an installer.
+
+ The default installer.
+
+
+
+ Creates a table utility.
+
+ The table utility
+
+
+
+ Gets the SQL helper.
+
+ The SQL helper.
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ Creates an installer.
+
+ The MySql installer.
+
+
+
+ SQL Server implementation of .
+
+
+
+
+ Default implementation of the interface.
+
+ The type of SQL helper.
+
+
+
+ Interface for a tool that provides access to the tables of a data source.
+
+
+
+
+ Determines whether the table with the specified name exists.
+
+ The name.
+ true if the table exists; otherwise, false.
+
+
+
+ Gets the table with the specified name.
+
+ The name.
+ The table, or null if no table with that name exists.
+
+
+
+ Creates the table with the specified name.
+
+ The name.
+ The table.
+
+
+
+ Saves or updates the table.
+
+ The table to be saved.
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ Determines whether the table with the specified name exists.
+
+ The name.
+ true if the table exists; otherwise, false.
+
+
+
+ Gets the table with the specified name.
+
+ The name.
+ The table, or null if no table with that name exists.
+
+
+
+ Saves or updates the table.
+
+ The table to be saved.
+
+
+
+ Creates the table with the specified name.
+
+ The name.
+ The table.
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ Gets the table with the specified name.
+
+ The name.
+ The table, or null if no table with that name exists.
+
+
+
+ Saves or updates the table.
+
+ The table to be saved.
+
+
+
+ Creates the table in the data source.
+
+ The table.
+
+
+
+ Creates a new column in the table.
+
+ The table.
+ The field used to create the column.
+
+
+
+ Gets the .Net type corresponding to the specified database data type.
+
+ The data type reader.
+ The .Net type
+
+
+
+ Gets the database type corresponding to the field, complete with field properties.
+
+ The field.
+ The database type.
+
+
+
+ Gets the name of the database type, without field properties.
+
+ The field.
+
+
+
+
+ Database installer for an SQL Server data source.
+
+
+
+ The latest database version this installer supports.
+
+
+ The specifications to determine the database version.
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ Gets a value indicating whether the installer can upgrade the data source.
+
+
+ true if the installer can upgrade the data source; otherwise, false.
+
+ Empty data sources can't be upgraded, just installed.
+
+
+
+ Gets the version specification for evaluation by DetermineCurrentVersion.
+ Only first matching specification is taken into account.
+
+ The version specifications.
+
+
+
+ Returns the sql to do a full install
+
+
+
+
+ Returns the sql to do an upgrade
+
+
+
+
+ Utility for an SQL Server data source.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The SQL helper.
+
+
+
+ Creates an installer.
+
+ The SQL Server installer.
+
+
+
+ Creates a table utility.
+
+ The table utility
+
+
+
+ This trims all white spaces from beginning and end of the string and removes any line breaks (repacing with a space)
+
+
+
+
+
+
+ Enum of all Umbraco components
+
+
+
+ Unknown component
+
+
+ Business logic component
+
+
+ CMS component
+
+
+ Controls component
+
+
+ Data layer component
+
+
+ Editor controls component
+
+
+ Presentation component
+
+
+ Providers component
+
+
+
+ Version number of an Umbraco database.
+
+
+
+ Database connection unsuccessful.
+
+
+ Empty database, connection successful.
+
+
+ Umbraco version 3.0.
+
+
+ Umbraco version 4.0.
+
+
+ Umbraco version 4.1.
+
+
+ Umbraco version 4.8.
+
+
+
+ A triple (Field, Table, Version) meaning:
+ if a SELECT statement of Field FROM Table succeeds,
+ the database version is at least Version.
+
+
+ This also supports checking for a value in a table.
+
+
+
+ The SQL statament to execute in order to test for the specified version
+
+
+ An integer identifying the expected row count from the Sql statement
+
+
+ The minimum version number of a database that contains the specified field.
+
+
+
+ Initializes a new instance of the struct.
+
+ The sql statement to execute.
+ The version.
+
+
+
+ Initializes a new instance of the struct.
+
+ The sql statement to execute.
+ The expected row count.
+ The version.
+
+
+
+ Default implementation of the interface.
+
+
+
+
+ Interface for classes that represent a table field.
+
+
+
+
+ Determines whether the field has the specified property.
+
+ The property.
+ true if the field has the property; otherwise, false.
+
+
+
+ Gets the name of the field.
+
+ The name.
+
+
+
+ Gets the data type of the field.
+
+ The field data type.
+
+
+
+ Gets a value indicating the field size.
+
+ The size.
+
+
+
+ Gets the properties.
+
+ The properties.
+
+
+
+ Initializes a new instance of the class.
+
+ The name.
+ Type of the data.
+ The size of the field.
+ The properties.
+
+
+
+ Determines whether the field has the specified property.
+
+ The property.
+ true if the field has the property; otherwise, false.
+
+
+
+ Returns a that represents the current .
+
+
+ A that represents the current .
+
+
+
+
+ Gets the name of the field.
+
+ The name.
+
+
+
+ Gets the data type of the field.
+
+ The field data type.
+
+
+
+ Gets the properties.
+
+ The properties.
+
+
+
+ Gets a value indicating the field size.
+
+ The size.
+
+
+
+ Default implementation of the interface.
+
+
+
+
+ Interface for classes that represent a data source table.
+
+
+
+
+ Adds the field to the table.
+
+ The field.
+
+
+
+ Creates a new field.
+
+ The name.
+ The field data type.
+ A new field.
+
+
+
+ Creates a new field.
+
+ The name.
+ The field data type.
+ The properties.
+ A new field.
+
+
+
+ Creates a new field.
+
+ The name.
+ The field data type.
+ The size.
+ A new field.
+
+
+
+ Creates a new field.
+
+ The name.
+ The field data type.
+ The size.
+ The properties.
+ A new field.
+
+
+
+ Finds the field with the specified name.
+
+ The name.
+ The field, or null if a field with the specified name doesn't exist.
+
+
+
+ Finds the first field satisfiying the matcher.
+
+ The matcher.
+ The first field found, or null if no field matches.
+
+
+
+ Finds all fields satisfiying the matcher.
+
+ The matcher.
+ A list of all matching fields.
+
+
+
+ Gets the name of the table.
+
+ The name of the table.
+
+
+ List of table fields.
+
+
+
+ Initializes a new instance of the class.
+
+ The table name.
+
+
+
+ Adds the field to the table.
+
+ The field.
+
+
+
+ Creates a new field.
+
+ The name.
+ The field data type.
+ A new field.
+
+
+
+ Creates a new field.
+
+ The name.
+ The field data type.
+ The properties.
+ A new field.
+
+
+
+ Creates a new field.
+
+ The name.
+ The field data type.
+ The size.
+ A new field.
+
+
+
+ Creates a new field.
+
+ The name.
+ The field data type.
+ The size.
+ The properties.
+ A new field.
+
+
+
+ Finds the field with the specified name.
+
+ The name.
+ The field, or null if a field with the specified name doesn't exist.
+
+
+
+ Finds the first field satisfiying the matcher.
+
+ The matcher.
+
+ The first field found, or null if no field matches.
+
+
+
+
+ Finds all fields satisfiying the matcher.
+
+ The matcher.
+ A list of all matching fields.
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Returns an enumerator that iterates through a collection.
+
+
+ An object that can be used to iterate through the collection.
+
+
+
+
+ Returns a that represents the current .
+
+
+ A that represents the current .
+
+
+
+
+ Gets the name of the table.
+
+ The name of the table.
+
+
+
+ Properties for a table field.
+
+
+
+
+ No special properties.
+
+
+
+
+ The field cannot be null.
+
+
+
+
+ The field is an identity field.
+
+
+
+
+ Class that adapts a MySql.Data.MySqlClient.MySqlDataReader to a RecordsReaderAdapter.
+
+
+
+
+ Class that adapts a generic data reader to an IRecordsReader.
+
+ The data reader class
+
+
+ Wrapped data reader.
+
+
+
+ Initializes a new instance of the class.
+
+ The data reader.
+
+
+
+ Releases unmanaged resources and performs other cleanup operations before the
+ is reclaimed by garbage collection.
+
+
+
+
+ Closes the data reader.
+
+
+
+
+ Advances to the next record.
+
+
+ true if there are more records; otherwise, false.
+
+
+
+
+ Gets the value of the specified field.
+
+ The field type.
+ Name of the field.
+ The value of the specified field
+
+
+
+ Gets the value of the specified field as a bool.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a byte.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a DateTime.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a decimal.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a double.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a float.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a Guid.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a short.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as an int.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a long.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field as a string.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Gets the value of the specified field.
+
+ Name of the field.
+ The value of the field.
+ No column with the specified name was found.
+
+
+
+ Determines whether the specified field is null.
+
+ Name of the field.
+
+ true if the specified field is null; otherwise, false.
+
+
+
+
+ Determines whether a field with the specified field name exists in the record.
+ The field can still contain a null value.
+
+ Name of the field.
+
+ true if the specified field exists; otherwise, false.
+
+
+
+
+ Returns the index of the field with the specified name.
+
+ The name of the field.
+ The index of the field.
+
+
+
+ Returns an enumerator that iterates through the records.
+
+
+ An object that can be used to iterate through records.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing,
+ or resetting unmanaged resources.
+
+
+
+
+ Releases unmanaged and - optionally - managed resources.
+
+ true to release both managed and unmanaged resources;
+ false to release only unmanaged resources.
+
+
+ Gets the internal data reader.
+ The data reader.
+
+
+ Gets the internal data reader.
+ The data reader.
+ Obsolete. You should NOT try to close or dispose the RawDataReader,
+ but instead close or dispose this RecordsReaderAdapter.
+ Inheriting classes can call the protected DataReader property.
+
+
+
+ Gets the depth of nesting of the current row.
+
+ The depth of nesting of the current row.
+
+
+
+ Gets a value indicating whether this instance is closed.
+
+ true if this instance is closed; otherwise, false.
+
+
+
+ Gets a value indicating whether this instance has records.
+
+
+ true if this instance has records; otherwise, false.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The data reader.
+
+
+
+ Gets a value indicating whether this instance has records.
+
+
+ true if this instance has records; otherwise, false.
+
+
+
+
+ Sql Helper for a MySQL 5.0 database.
+
+
+
+
+ Abstract base class for SQL helpers that use parameters implementing IDataParameter.
+
+ SQL parameter data type.
+
+
+ The connection string that provides access to the SQL database.
+
+
+ Utility that provides access to complex database actions.
+
+
+
+ Initializes a new instance of the class.
+
+ The connection string.
+
+
+
+ Initializes a new instance of the class.
+
+ The connection string, cannot be null.
+ The utility, a default utility will be used if null.
+
+
+
+ Releases unmanaged resources and performs other cleanup operations before the
+ is reclaimed by garbage collection.
+
+
+
+
+ Performs necessary conversion on the SQL command prior to its execution.
+
+ The command text.
+ The original command text. Inheriting classes can change this behavior.
+
+
+
+ Performs necessary conversion on the parameters prior to its execution.
+
+ The parameters. Expected to be of type IParameterContainer.
+ The parameters, converted to the raw types of their containers.
+
+
+ Converts the scalar value to the given type.
+ Desired type of the value.
+ A scalar returned by ExecuteScalar.
+ The scalar, converted to type T.
+
+
+
+ Creates a concatenation fragment for use in an SQL query.
+
+ The values that need to be concatenated
+ The SQL query fragment.
+ SQL Server uses a+b, MySql uses concat(a,b), Oracle uses a||b...
+
+
+
+ Escapes a string for use in an SQL query.
+
+ The value.
+ The escaped value.
+ You should use SQL parameters instead.
+
+
+
+ Creates a new parameter for use with this specific implementation of ISqlHelper.
+
+ Name of the parameter.
+ Value of the parameter.
+ A new parameter of the correct type.
+ Abstract factory pattern
+
+
+
+ Executes a command that returns a single value.
+
+ The type of the value.
+ The command text.
+ The parameters.
+ The return value of the command.
+ If a data source error occurs.
+
+
+
+ Executes a command and returns the number of rows affected.
+
+ The command text.
+ The parameters.
+
+ The number of rows affected by the command.
+
+ If a data source error occurs.
+
+
+
+ Executes a command and returns a records reader containing the results.
+
+ The command text.
+ The parameters.
+
+ A data reader containing the results of the command.
+
+ If a data source error occurs.
+
+
+
+ Executes a command that returns an XML value.
+
+ The command text.
+ The parameters.
+
+ An XML reader containing the return value.
+
+ If a data source error occurs.
+
+
+
+ Executes a command that returns a single value.
+
+ The command text.
+ The parameters.
+ The return value of the command.
+
+
+
+ Executes a command and returns the number of rows affected.
+
+ The command text.
+ The parameters.
+
+ The number of rows affected by the command.
+
+
+
+
+ Executes a command and returns a records reader containing the results.
+
+ The command text.
+ The parameters.
+
+ A data reader containing the results of the command.
+
+
+
+
+ Executes a command that returns an XML value.
+
+ The command text.
+ The parameters.
+
+ An XML reader containing the return value.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Gets the connection string that provides access to the SQL database.
+
+ The connection string that provides access to the SQL database.
+
+
+
+ Gets the Umbraco utility associated with this SQL helper.
+
+ The utilities.
+
+
+ SQL parser that replaces the SQL-Server specific tokens by their MySQL equivalent.
+
+
+ Initializes a new instance of the class.
+ The connection string.
+
+
+
+ Creates a new parameter for use with this specific implementation of ISqlHelper.
+
+ Name of the parameter.
+ Value of the parameter.
+ A new parameter of the correct type.
+ Abstract factory pattern
+
+
+ Converts a the command before executing.
+ The command text.
+ The original command text.
+
+
+ Executes a command that returns a single value.
+ The command text.
+ The parameters.
+ The return value of the command.
+
+
+ Executes a command and returns the number of rows affected.
+ The command text.
+ The parameters.
+
+ The number of rows affected by the command.
+
+
+
+ Executes a command and returns a records reader containing the results.
+ The command text.
+ The parameters.
+
+ A data reader containing the results of the command.
+
+
+
+ Converts the scalar value to the given type.
+ Desired type of the value.
+ A scalar returned by ExecuteScalar.
+ The scalar, converted to type T.
+
+
+
+ Creates a concatenation fragment for use in an SQL query.
+
+ The values that need to be concatenated
+ The SQL query fragment.
+ SQL Server uses a+b, MySql uses concat(a,b), Oracle uses a||b...
+
+
+
+ Parameter class for the MySqlHelper.
+
+
+
+
+ Generic class adapter to ISqlParameterContainer for parameters implementing IDataParameter.
+
+ SQL parameter data type
+
+
+ The original parameter.
+
+
+
+ Initializes a new instance of the class.
+
+ The raw parameter.
+
+
+
+ Gets the name of the parameter.
+
+ The name of the parameter.
+
+
+
+ Gets the value of the parameter.
+
+ The value of the parameter.
+
+
+
+ Gets the wrapped parameter.
+
+ The wrapped parameter.
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the parameter.
+ Value of the parameter.
+
+
+
+ Changes the parameter name to the MySQL equivalent.
+
+ The name of the parameter, preceded by an at sign.
+ The name of the parameter, preceded by a question mark.
+
+
+
+ Class that adapts a SqlDataReader.SqlDataReader to a RecordsReaderAdapter.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The data reader.
+
+
+
+ Gets a value indicating whether this instance has records.
+
+
+ true if this instance has records; otherwise, false.
+
+
+
+
+ Sql Helper for an SQL Server database.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The connection string.
+
+
+
+ Creates a new parameter for use with this specific implementation of ISqlHelper.
+
+ Name of the parameter.
+ Value of the parameter.
+ A new parameter of the correct type.
+ Abstract factory pattern
+
+
+
+ Executes a command that returns a single value.
+
+ The command text.
+ The parameters.
+ The return value of the command.
+
+
+
+ Executes a command and returns the number of rows affected.
+
+ The command text.
+ The parameters.
+
+ The number of rows affected by the command.
+
+
+
+
+ Executes a command and returns a records reader containing the results.
+
+ The command text.
+ The parameters.
+
+ A data reader containing the results of the command.
+
+
+
+
+ Parameter class for the SqlServerHelper.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the parameter.
+ Value of the parameter.
+
+
+
diff --git a/Blog/bin/umbraco.MacroEngines.dll b/Blog/bin/umbraco.MacroEngines.dll
new file mode 100644
index 0000000..5c7a083
Binary files /dev/null and b/Blog/bin/umbraco.MacroEngines.dll differ
diff --git a/Blog/bin/umbraco.MacroEngines.xml b/Blog/bin/umbraco.MacroEngines.xml
new file mode 100644
index 0000000..1a37d2e
--- /dev/null
+++ b/Blog/bin/umbraco.MacroEngines.xml
@@ -0,0 +1,109 @@
+
+
+
+ umbraco.MacroEngines
+
+
+
+
+ Extension methods for the PluginTypeResolver
+
+
+
+
+ Returns all available IMacroGuiRendering in application
+
+
+
+
+
+
+ This ensures that the RTE renders with HtmlString encoding and also ensures that the macro contents in it
+ render properly too.
+
+
+
+
+ Checks if the object is DynamicXml or DynamicNull and ensures that we return the legacy class not the new one
+ as we want this class to always ensure we're dealing with the legacy classes
+
+
+
+
+
+
+ This callback is used only so we can set it dynamically for use in unit tests
+
+
+
+
+ Returns the value from the property result and ensure it is filtered through the razor data type converters
+
+
+ The value result for the property
+ true if getting the property data was successful
+
+
+
+ Checks if the owner list is null and attempts to create it if there is a parent.
+
+ Successful if the owners list is not null, false if the owners list could not be created and remains null
+
+
+
+ Internal constructor used for unit tests
+
+
+
+
+
+
+
+ An empty HtmlHelper with a blank ViewContext, used only to access some htmlHelper extension methods
+
+
+
+
+ Stub Build Provider If Want To Implement Anything Advanced In The Future
+ Also Allows Us To Register Build Provider In Medium Trust
+
+
+
+
+ Creates A Temporary Razor File
+
+
+
+
+ Creates Inline Razor File
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to <?xml version="1.0"?>
+ <configuration>
+
+ <configSections>
+ <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+ <section name="page [rest of string was truncated]";.
+
+
+
+
diff --git a/Blog/bin/umbraco.dll b/Blog/bin/umbraco.dll
new file mode 100644
index 0000000..2aa5eee
Binary files /dev/null and b/Blog/bin/umbraco.dll differ
diff --git a/Blog/bin/umbraco.editorControls.dll b/Blog/bin/umbraco.editorControls.dll
new file mode 100644
index 0000000..b126963
Binary files /dev/null and b/Blog/bin/umbraco.editorControls.dll differ
diff --git a/Blog/bin/umbraco.editorControls.xml b/Blog/bin/umbraco.editorControls.xml
new file mode 100644
index 0000000..88fc125
--- /dev/null
+++ b/Blog/bin/umbraco.editorControls.xml
@@ -0,0 +1,3421 @@
+
+
+
+ umbraco.editorControls
+
+
+
+
+ Abstract class for the PreValue Editor.
+ Specifically designed to serialize/deserialize the options as JSON.
+
+
+
+
+ Abstract class for the PreValue Editor.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Saves this instance.
+
+
+
+
+ Raises the event.
+
+ An object that contains the event data.
+
+
+
+ Renders the HTML opening tag of the control to the specified writer. This method is used primarily by control developers.
+
+ A that represents the output stream to render HTML content on the client.
+
+
+
+ Renders the HTML closing tag of the control into the specified writer. This method is used primarily by control developers.
+
+ A that represents the output stream to render HTML content on the client.
+
+
+
+ Gets the editor.
+
+ The editor.
+
+
+
+ The underlying base data-type.
+
+
+
+
+ An object to temporarily lock writing to the database.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the data.
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the data.
+ Type of the database field.
+
+
+
+ Gets the PreValue options for the data-type.
+
+ The type of the resulting object.
+
+ Returns the options for the PreValue Editor
+
+
+
+
+ Saves the data-type PreValue options.
+
+
+
+
+ Abstract class for the Prevalue Editor options.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ if set to true [load defaults].
+
+
+
+
+
+
+
+
+ value stored by a datatype instance
+
+
+
+
+ configuration options for this datatype, as defined by the PreValueEditor
+
+
+
+
+ Literal used to render status (Enabled || Disabled)
+ this datatype is only enabled and active if it can find the property alias on the current node (as defined in PreValueEditor) and
+ the relation type parent object type (or child if reverse index used) matches the object type of the current node which this datatype is on
+
+
+
+
+ Initializes a new instance of PickerRelationsDataEditor
+
+ data stored by this instance of this datatype (not currently used)
+ configuration options for this datatype as set by the PreValueEditor
+
+
+
+ Creates the child controls
+
+
+
+
+
+
+
+
+
+
+ Called by Umbraco when saving the node, this datatype doens't do anythign here, but with an event handler instead,
+ as needs to know the saved values of a sibling pickerProperty
+
+
+
+
+ returns a string "Property '[propertyAlias]' with RelationType '[relationTypeName]"
+
+
+
+
+
+ returns the UmbracoObjectType associated as defined by the supplied relation type, and if reverse indexing has been enabled
+
+ associated RealationType
+
+
+
+
+ Check to see if the content id side of the relation type is valid (doesn't check the node picker id side)
+
+ Type of the content object (content/ media or member)
+ Type of the relation.
+
+ true if [is content object type valid] [the specified content object type]; otherwise, false.
+
+
+
+
+ Gets a value indicating whether this is an RTE - this Property expected by Umbraco
+
+
+
+
+ Gets a value indicating whether the label should be shown when editing - this Property exected by Umbraco
+
+
+
+
+ Gets the DataEditor - Property expected by Umbraco
+
+
+
+
+ Gets the id of the current (content || media || member) node on which this datatype is a property
+
+
+
+
+ Gets the UmbracoObjectType on which this datatype is a property of
+
+
+
+
+ This datatype will render a CheckBoxList where the options are defined by an XPath expression,
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the name of the data type.
+
+ The name of the data type.
+
+
+
+ Gets the id.
+
+ The id.
+
+
+
+ Lazy load the associated PreValueEditor instance,
+ this is constructed supplying 'this'
+
+
+
+
+ Lazy load the assocated DataEditor,
+ this is constructed supplying the data value stored by the PreValueEditor, and also the configuration settings of the PreValueEditor
+
+
+
+
+ Lazy load an empty DefaultData object, this is used to pass data between the PreValueEditor and the DataEditor
+
+
+
+
+ Event handler that will convert a CSV into Relations
+
+
+
+
+ Initializes a new instance of PickerRelationsEventHandler,
+ hooks into the after event of saving a Content node, Media item or a Member
+
+
+
+
+ Event after all properties have been saved
+
+
+
+
+
+
+ Clears any existing relations when deleting a node with a PickerRelations datatype
+
+ The sender.
+ The instance containing the event data.
+
+
+
+ Delete all relations using the content node for a given RelationType
+
+
+
+
+ NOT USED ATM
+
+
+
+
+
+
+ id sourced from the Content / Media / Member
+ id sourced from the Picker
+ if true, reverses the parentId and child Id
+ JSON string with id of Picker Relations property instance
+
+
+
+ Data Class, used to store the configuration options for the PickerRelationsPreValueEditor
+
+
+
+
+ Initializes an instance of PickerRelationsOptions
+
+
+
+
+ Alias of the pickerProperty to get a csv value of IDs from //TODO: a known format for xml fragments would be good too
+
+
+
+
+ The Id of the RelationType to use
+
+
+
+
+ only relevant with parent-child
+
+
+
+
+ if true then the property is hidden
+
+
+
+
+ This PreValueEditor will require an XPath expression to define the nodes to pick as CheckBox options,
+ TODO: [HR] min / max selections ?
+ Uses the shared JsonPreValueEditor as nice way of lightweight serializing a config data class object into a single DB field
+
+
+
+
+ Prepopulated Umbraco Propery Picker, lists all aliases (could refine this by asking for the context in which this relation wire-up will
+ be used, and then only listing the aliases for that context)
+
+
+
+
+ RequiredFieldValidator for the ProperyAliasPicker
+
+
+
+
+ drop down list of all relation types
+
+
+
+
+ RequiredFieldValidator for the RelationType DropDownList
+
+
+
+
+ If a parent to child relation type is selected, then this checkbox will indicate the direction to use,
+ with reverse indexing the parents are the nodes selected via the picker, and the nodeID on which the
+ this datatype is used, become the child nodes
+
+
+
+
+ if selected, then the property on the data editor is hidden (it's only used as a label)
+
+
+
+
+ Data object used to define the configuration status of this PreValueEditor
+
+
+
+
+ Currently selected RelationType
+
+
+
+
+ Initialize a new instance of PickerRelationsPreValueEditor
+
+ PickerRelationsDataType
+
+
+
+ Creates all of the controls and assigns all of their properties
+
+
+
+
+
+
+
+
+
+
+ Saves the pre value data to Umbraco
+
+
+
+
+ Used to remove styling from the built in pickerProperty alias picker DropDownList
+
+
+
+
+
+ Replaces the base class writer and instead uses the shared uComponents extension method, to inject consistant markup
+
+
+
+
+
+ Lazy load the options data object that represents the current state of this datatypes configuration
+
+
+
+
+ Lazy load currently selected RelationType
+
+
+
+
+ A base tree picker class that has all of the functionality built in for an IDataEditor
+
+
+
+
+ Summary description for colorPicker.
+
+
+
+
+ Summary description for ColorPickerDataType.
+
+
+
+
+ Overrides the object to return the value as XML.
+
+
+
+
+ The separators to split the delimited string.
+
+
+
+
+ Name for the root node.
+
+
+
+
+ Name for the element/node that contains the value.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the data.
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the data.
+ Name of the root.
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the data.
+ Name of the root.
+ Name of the element.
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the data.
+ Name of the root.
+ Name of the element.
+ The separator.
+
+
+
+ Converts the data value to XML.
+
+ The data to convert to XML.
+ Returns the data value as an XmlNode
+
+
+
+ Defines the Guids for all the DataTypes; e.g. quick access to 3rd-party developers.
+
+
+
+
+ Guid for the MultiNodeTreePicker data-type.
+
+
+
+
+ Guid for the MultipleTextstring data-type.
+
+
+
+
+ Guid for the PickerRelations (previoulsy uComponents: MultiPickerRelations)
+
+
+
+
+ Guid for the Slider data-type.
+
+
+
+
+ Guid for the XPathCheckBoxList data-type.
+
+
+
+
+ Guid for the XPathDropDownList data-type.
+
+
+
+
+ Summary description for DataTypeDatefieldMultiple.
+
+
+
+
+ Summary description for DateDataType.
+
+
+
+
+ Summary description for DateData.
+
+
+
+
+ Summary description for dateField.
+
+
+
+
+ Summary description for cms.businesslogic.datatype.DefaultDataKeyValue.
+
+
+
+
+ Gets the values of from cmsDataTypePreValues table by id and puts them into a CDATA section
+
+
+
+
+
+
+ The default editor for editing the built-in pre values in umbraco
+
+ The DataType to be parsed
+ Whether to use the default text box
+
+
+
+ For backwards compatibility, should be replaced in your extension with the constructor that
+ uses the BaseDataType from the cms.businesslogic.datatype namespace
+
+ The DataType to be parsed (note: the BaseDataType from editorControls is obsolete)
+ Whether to use the default text box
+
+
+
+ Summary description for dictionaryPicker.
+
+
+
+
+ Summary description for dictionaryPickerDataType.
+
+
+
+
+ Summary description for ColorPickerDataType.
+
+
+
+
+ Summary description for ColorPickerDataType.
+
+
+
+
+ Summary description for DataTypeFolderbrowser.
+
+
+
+
+ Summary description for folderBrowser.
+
+
+
+
+ Store data as string XML (overridden by ToXMl to store "real" XML
+ XML format:
+
+
+
+
+
+
+
+ Serialize configuration to:
+ uploadPropertyAlias,generateImages,quality,showLabel|presetTemplateName,targetWidth,targetHeight,keepAspect;
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to function initImageCropper(imageId, jsonId, rawId) {
+ $(function() {
+ $('.header a').click(function() {
+ initJcrop(imageId, jsonId, rawId); // if other tab
+ });
+ $('#' + imageId).ready(function() {
+ setTimeout('initJcrop("' + imageId + '","' + jsonId + '","' + rawId + '")',100);
+ //initJcrop(imageId, jsonId, rawId); // if first tab
+ });
+ });
+ }
+
+ function initJcrop(imageId, jsonId, rawId) {
+
+ if ($('#' + imageId).height() > 0) {
+ if ($('.img' + imageId + '.ic-cr [rest of string was truncated]";.
+
+
+
+
+
+ Looks up a localized string similar to /**
+ * jquery.Jcrop.js v0.9.8
+ * jQuery Image Cropping Plugin
+ * @author Kelly Hallman <khallman@gmail.com>
+ * Copyright (c) 2008-2009 Kelly Hallman - released under MIT License {{{
+ *
+ * Permission is hereby granted, free of charge, to any person
+ * obtaining a copy of this software and associated documentation
+ * files (the "Software"), to deal in the Software without
+ * restriction, including without limitation the rights to use,
+ * copy, modify, merge, publish, distribute, sublicense, and/or s [rest of string was truncated]";.
+
+
+
+
+ Looks up a localized string similar to /*
+ http://www.JSON.org/json2.js
+ 2008-11-19
+
+ Public Domain.
+
+ NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
+
+ See http://www.JSON.org/js.html
+
+ This file creates a global JSON object containing two methods: stringify
+ and parse.
+
+ JSON.stringify(value, replacer, space)
+ value any JavaScript value, usually an object or array.
+
+ replacer an optional parameter that determines how object
+ values are st [rest of string was truncated]";.
+
+
+
+
+ Summary description for KeyValuePrevalueEditor.
+
+
+
+
+ Summary description for DataTypeNoEdit.
+
+
+
+
+ Summary description for dropdownMultiple.
+
+
+
+
+ Summary description for ColorPickerDataType.
+
+
+
+
+ Summary description for ColorPickerDataType.
+
+
+
+
+ Renders a from based on the properties of the macro
+
+
+
+
+ Add a new TableRow to the table. with two cells that holds the Caption and the form element
+
+
+
+
+
+
+ Builds an Umbraco Macro tag if a user selected a macro
+
+
+
+
+
+ Constructor
+
+
+
+
+
+ Initializes controls
+
+
+
+
+
+ Initialize the form
+
+
+
+
+
+ Returns the selected Macro's in a comma separated string
+
+
+
+
+ Save settings
+
+
+
+
+ Reference to the datatype
+
+
+
+
+ Reference to the editor
+
+
+
+
+ Summary description for mediaChooser.
+
+
+
+
+ Renders the required media picker javascript
+
+
+
+
+ sets the modal width/height based on properties
+
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to /// <reference path="/umbraco_client/Application/NamespaceManager.js" />
+
+ Umbraco.Sys.registerNamespace("Umbraco.Controls");
+
+ (function($) {
+ Umbraco.Controls.MediaChooser = function(label, mediaIdValueClientID, previewContainerClientID, imgViewerClientID, mediaTitleClientID, mediaPickerUrl, width, height, umbracoPath) {
+ return {
+ _mediaPickerUrl: mediaPickerUrl,
+ _webServiceUrl: umbracoPath + "/webservices/legacyAjaxCalls.asmx/GetNodeName",
+ _label: labe [rest of string was truncated]";.
+
+
+
+
+ Summary description for memberPicker.
+
+
+
+
+ Render this control to the output parameter specified.
+
+ The HTML writer to write out to
+
+
+
+ BaseTree extensions for MultiNodeTreePicker.
+
+
+
+
+ Determines if it needs to render a null tree based on the start node id and returns true if it is the case.
+
+
+
+
+
+
+
+
+
+ Used to determine the start node id while taking into account a user's security
+
+
+
+
+
+
+
+
+ Returns the data type id for the current base tree
+
+
+ The data type definition id is persisted between request as a query string.
+ This is used to retrieve values from the cookie which are easier persisted values
+ than trying to append everything to custom query strings.
+
+
+
+
+
+
+ return the xpath statement stored in the cookie for this control id
+
+
+
+
+
+
+
+ Returns the xpath filter from the cookie for the current data type
+
+
+
+
+
+
+
+ Helper method to return the persisted cookied value for the tree
+
+
+
+
+
+
+
+
+
+ This will return the normal service url based on id but will also ensure that the data type definition id is passed through as the nodeKey param
+
+ The tree.
+ The id.
+ The data type def id.
+
+
+ We only need to set the custom source to pass in our extra NodeKey data.
+ By default the system will use one or the other: Id or NodeKey, in this case
+ we are sort of 'tricking' the system and we require both.
+ Umbraco allows you to theoretically pass in any source as long as it meets the standard
+ which means you can pass around any arbitrary data to your trees in the form of a query string,
+ though it's just a bit convoluted to do so.
+
+
+
+
+ FilteredContentTree for the MultiNodeTreePicker
+
+
+
+
+ Initializes a new instance of the class.
+
+ The app.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The start node id determined by the defined id and by the user's defined id
+
+
+
+
+ Creates the root node.
+
+ The root node.
+
+
+
+ Called when [render node].
+
+ The x node.
+ The doc.
+
+
+
+ Returns the Document object of the starting node for the current User. This ensures
+ that the Document object is only instantiated once.
+
+
+
+
+ Returns the Document object of the starting node that is defined in the prevalue editor. This ensures
+ that the Document object is only instantiated once.
+
+
+
+
+ Determines the allowed start node id based on the users start node id and the
+ defined start node id in the data type.
+
+
+
+
+ FilteredMediaTree for the MultiNodeTreePicker.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The app.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The start node id determined by the defined id and by the user's defined id
+
+
+
+
+ Creates the root node.
+
+ The root node.
+
+
+
+ Called when [before node render].
+
+ The sender.
+ The node.
+ The instance containing the event data.
+
+
+
+ Returns the Media object of the starting node for the current User. This ensures
+ that the Media object is only instantiated once.
+
+
+
+
+ Returns the Media object of the starting node that is defined in the prevalue editor. This ensures
+ that the Media object is only instantiated once.
+
+
+
+
+ Determines the allowed start node id based on the users start node id and the
+ defined start node id in the data type.
+
+
+
+
+ A helper class to store and retrieve cookie values for the MNTP cookie.
+
+
+ The cookie is used to persist values from the client to the server since
+ it is much more complicated to try to persist these values between ajax request,
+ given the tree's current architecture.
+
+
+
+
+ XPath filter
+
+
+
+
+ XPath filter type
+
+
+
+
+ Start node
+
+
+
+
+ Start node xpath expression type
+
+
+
+
+ Start node select type
+
+
+
+
+ Start node xpath expression
+
+
+
+
+ Current editing node id
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to The maximum number of items that are allowed to be selected by a content editor. If an unlimited number of node selections should be allowed, then enter -1 as the value.
+
+
+
+
+ Looks up a localized string similar to The minimum number of items that are allowed to be selected by a content editor..
+
+
+
+
+ Looks up a localized string similar to Nodes can be selected from a parent node (Node Picker) or by an XPath expression. NOTE:When using an XPath expression, only published nodes can be shown..
+
+
+
+
+ Looks up a localized string similar to If enabled and 'media' is selected as the tree type then a thumbnail will be rendered for each item selected..
+
+
+
+
+ Looks up a localized string similar to If enabled will show an information icon next to each node selected. When the icon is clicked, a tooltip is shown displaying the nodes extended properties..
+
+
+
+
+ Looks up a localized string similar to Define the starting node that should be rendered for the picker. This will ensure that the correct security measures are in place by checking the defined start node ID for the user accessing the picker. In some cases, if the user is not able to view the node, then the picker will render an error message..
+
+
+
+
+ Looks up a localized string similar to You can specify to store the data in Umbraco as comma separated or as XML. By default it is stored as XML which makes it easier to use the saved value in XSLT, however, storing it as comma separated makes it easier to work with the data using the API such as Node factory..
+
+
+
+
+ Looks up a localized string similar to This XPath expression is used to select a starting node and depends on the XPath expression type chosen (global or from current). IMPORTANT: This XPath expression should be written to match ONE node, if the expression matches more than one node, then the first node matched will be used as the start node..
+
+
+
+
+ Looks up a localized string similar to The XPath expression that is evaluated to match a start node can be evaluated at a global tree level, or matched from the current node being edited..
+
+
+
+
+ Looks up a localized string similar to An xpath filter to match nodes that will be either enabled or disabled from being clicked (depending on what is selected for the XPath filter type). This XPath filter is for one node only so it should be formatted to select only one node. The XML to XPath against is the same as the Umbraco XML for one node.<br/><br/>Example: /*[name()='myNodeType' or name()='yourNodeType'] <br/><br/>The above would make all nodes of types: myNodeType or yourNodeType not selectable in the tree.
+
+
+
+
+ Looks up a localized string similar to Should the XPath filter match nodes to enable nodes or disable nodes. If Enable is selected, this means that only nodes that match the XPath filter will be allowed to be selected in the tree picker and vise versa for Disabled.
+
+
+
+
+ Looks up a localized string similar to Node Picker.
+
+
+
+
+ Looks up a localized string similar to XPath Expression.
+
+
+
+
+ Looks up a localized string similar to From Current.
+
+
+
+
+ Looks up a localized string similar to Global.
+
+
+
+
+ Looks up a localized string similar to Disable.
+
+
+
+
+ Looks up a localized string similar to Enable.
+
+
+
+
+ Looks up a localized string similar to Pixel height of the tree control box.
+
+
+
+
+ Looks up a localized string similar to Maximum node selections.
+
+
+
+
+ Looks up a localized string similar to Minimum node selections.
+
+
+
+
+ Looks up a localized string similar to Node selection type.
+
+
+
+
+ Looks up a localized string similar to Select tree type.
+
+
+
+
+ Looks up a localized string similar to Show tooltip for selected item.
+
+
+
+
+ Looks up a localized string similar to Show thumbnails for media items?.
+
+
+
+
+ Looks up a localized string similar to Start node ID.
+
+
+
+
+ Looks up a localized string similar to Data as CSV or XML? .
+
+
+
+
+ Looks up a localized string similar to XPath expression.
+
+
+
+
+ Looks up a localized string similar to XPath type.
+
+
+
+
+ Looks up a localized string similar to XPath filter.
+
+
+
+
+ Looks up a localized string similar to XPath filter type.
+
+
+
+
+ Looks up a localized string similar to Please enter a pixel value between 1 - 999.
+
+
+
+
+ Looks up a localized string similar to Please enter only numbers.
+
+
+
+
+ Looks up a localized string similar to The highlighted Multi Node Tree Picker property requires a minimum node selection of {0}.
+
+
+
+
+ Looks up a localized string similar to Please enter only numbers.
+
+
+
+
+ Looks up a localized string similar to A relative xpath expression cannot start with "/" or "//".
+
+
+
+
+ The user interface to display to the content editor
+
+
+
+
+ This adds our filtered tree definition to the TreeDefinitionCollection at runtime
+ instead of having to declare it in the database
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Initialize the control, make sure children are created
+
+ An object that contains the event data.
+
+
+
+ Add the resources (sytles/scripts)
+
+
+
+
+
+ Creates the child controls for this control
+
+
+
+
+ Ensure the repeater is data bound
+
+
+
+
+ Event handler for the selected node repeater.
+ This will fill in all of the text values, icons, etc.. for nodes based on their ID.
+
+
+
+
+
+
+ set the nodekey to the id of this datatype
+
+
+ this is how get the xpath out of the cookie to know how the tree knows how to filter things.
+ generally the nodekey is used for a string id, but we'll use it for something different.
+
+
+
+
+
+ Override render to control the exact output of what is rendered this includes instantiating the jquery plugin
+
+ The object that receives the server control content.
+
+ Generally i don't like to do this but there's a few div's, etc... to render so this makes more sense.
+
+
+
+
+ converts a list of Ids to the XDocument structure
+
+ The value.
+
+
+
+
+ this will render the tooltip object on the page so long as another
+ one hasn't already been registered. There should only be one tooltip.
+
+
+
+
+ This will update the multi-node tree picker data which is used to store
+ the xpath data and xpath match type for this control id.
+
+ The xpath.
+
+ This will save the data into a cookie and also into the request cookie. It must save
+ it to both locations in case the request cookie has been changed and the request cookie
+ is different than the response cookie.
+
+
+
+
+ A reference path to where the icons are actually stored as compared to where the tree themes folder is
+
+
+
+
+ This is used for validation purposes only, see the [ValidationProperty("Value")] attribute above.
+
+
+
+
+ gets/sets the value based on an array of IDs selected
+
+
+
+
+ get/set the value for the selected nodes in xml format
+
+
+
+
+ The property name being edited with the current data editor. This is used for the min items validation statement.
+
+
+
+
+ The tree type alias to render
+
+
+
+
+ An xpath filter to match nodes that will be disabled from being clicked
+
+
+
+
+ The minimum amount of nodes that can be selected
+
+
+
+
+ The maximum amount of nodes that can be selected
+
+
+
+
+ The start node id
+
+
+
+
+ The start node selection type
+
+
+
+
+ The xpath expression type to select the start node when the StartNodeSelectionType is XPath
+
+
+
+
+ The XPath expression to use to determine the start node when the StartNodeSelectionType is XPath
+
+
+
+
+ Gets or sets a value indicating whether [show tool tips].
+
+ true if [show tool tips]; otherwise, false.
+ Shows/Hides the tooltip info bubble.
+
+
+
+ The XPathFilterType to match
+
+
+
+
+ Gets or sets a value indicating whether [show thumbnails for media].
+
+
+ true if [show thumbnails for media]; otherwise, false.
+
+ Whether or not to show thumbnails for media
+
+
+
+ A list of media type names that can have thumbnails (i.e. 'image')
+
+
+
+
+ This is set by the data type and allows us to save a cookie value
+ for persistence for the data type.
+
+
+
+
+ The height of the tree control box in pixels
+
+
+
+
+ Multi-node tree picker data type
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ The internal tree picker control to render
+
+
+
+
+ Internal pre value editor to render
+
+
+
+
+ Initialize the tree, here's where we can set some initial properties for the tree
+
+
+
+
+
+
+ Set the data source for the editor
+
+
+
+
+
+
+ Handle the saving event, need to give data to Umbraco
+
+ The source of the event.
+ The instance containing the event data.
+
+
+
+ Helper method to ensure the pesistence cookie is cleared.
+ This is used on app startup and after editing the pre-value editor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Value indicating whether to store as comma separated or Xml
+
+
+
+
+ return a custom pre value editor
+
+
+
+
+ The pre-value editor for the multi node tree picker.
+
+
+
+
+ The control height text box
+
+
+
+
+
+
+
+
+
+ The start node id content picker
+
+
+
+
+ The start node id media picker
+
+
+
+
+ XPath expression type radio button list
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Text box for maximum amount of items
+
+
+
+
+ Text box for minimum amount of items
+
+
+
+
+ Minimum items validator
+
+
+
+
+ Validator for validating relative xpath expressions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the data.
+
+
+
+ Override on init to ensure child controls
+
+ An object that contains the event data.
+
+
+
+ Ensures the css to render this control is included.
+ Binds the saved value to the drop down.
+
+
+
+
+
+ Creates child controls for this control
+
+
+
+
+ Helper method to add a server side pre value row
+
+
+
+
+
+ Using server side syntax because of the post backs and because i don't want to manage the view state manually
+
+
+
+
+ Hides/Shows controls based on the selection of other controls
+
+
+
+
+
+ render our own custom markup
+
+ The object that receives the server control content.
+
+
+
+ Lazy loads the prevalues for this data type
+
+
+
+
+
+ Saves data to Umbraco
+
+
+
+
+ Helper method to save/create pre value values in the db
+
+
+
+
+
+
+
+ Generic method to return a strongly typed object from the pre value bucket
+
+
+
+
+
+
+
+
+
+ The chosen tree type to render
+
+
+
+
+ An xpath filter to disable nodes to be selectable
+
+
+
+
+ The number of nodes this picker will support picking
+
+
+
+
+ The minimum number of nodes this picker will support picking
+
+
+
+
+ A boolean value indicating whether or not to show the informational tool tips
+
+
+
+
+ Value to check if the data should be stored as CSV or XML
+
+
+
+
+ The XPath expression used when the node type selection is Xpath
+
+
+
+
+ The type of xpath expression used for the xpathexpressiontext if using an xpath node selection
+
+
+
+
+ The type of selection type to use for the start node
+
+
+
+
+ The type of xpath filter applied
+
+
+
+
+ The start node id used when the node selection is a picker
+
+
+
+
+ A boolean value indicating whether or not to show the thumbnails for media
+
+
+
+
+ Returns the control height in pixels
+
+
+
+
+ returns this as it's own editor
+
+
+
+
+ Used to determine the index number of where the property is saved in the pre values repository
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The item template for the selected items repeater
+
+
+
+
+ Creates the template for the repeater item
+
+
+
+
+
+ XmlTreeNode extensions for the MultiNodeTreePicker.
+
+
+
+
+ Determines if the node should be clickable based on the xpath given
+
+ The node.
+ The xpath.
+ The type.
+ The XML.
+
+
+
+ An enumerator for the XPath expression.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ An enumerator for the XPath filter, for either enable/disable.
+
+
+
+
+ Disables the XPath filter.
+
+
+
+
+ Enables the XPath filter.
+
+
+
+
+ The MultipleTextstring control sets a character limit on a TextBox.
+
+
+
+
+ Field for the list of values.
+
+
+
+
+ The HiddenField to store the selected values.
+
+
+
+
+ Initialize the control, make sure children are created
+
+ An object that contains the event data.
+
+
+
+ Add the resources (sytles/scripts)
+
+ The object that contains the event data.
+
+
+
+ Raises the event.
+
+ An object that contains the event data.
+
+
+
+ Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
+
+
+
+
+ Sends server control content to a provided object, which writes the content to be rendered on the client.
+
+ The object that receives the server control content.
+
+
+
+ Gets or sets the options.
+
+ The options.
+
+
+
+ Gets the value of IsValid.
+
+ Returns 'Valid' if valid, otherwise an empty string.
+
+
+
+ Gets or sets the values.
+
+ The values.
+
+
+
+ Data Editor for the Multiple Textstring data type.
+
+
+
+
+ The control for the Multiple Textstring data-editor.
+
+
+
+
+ The Data object for the data-type.
+
+
+
+
+ The PreValue Editor for the data-type.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Handles the Init event of the control.
+
+ The source of the event.
+ The instance containing the event data.
+
+
+
+ Saves the data for the editor control.
+
+ The instance containing the event data.
+
+
+
+ Gets the id of the data-type.
+
+ The id of the data-type.
+
+
+
+ Gets the name of the data type.
+
+ The name of the data type.
+
+
+
+ Gets the data for the data-type.
+
+ The data for the data-type.
+
+
+
+ Gets the prevalue editor.
+
+ The prevalue editor.
+
+
+
+ The options for the Multiple Textstring data-type.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ if set to true [load defaults].
+
+
+
+ Gets or sets the maximum.
+
+ The maximum.
+
+
+
+ Gets or sets the minimum.
+
+ The minimum.
+
+
+
+ The PreValue Editor for the Multiple Textstring data-type.
+
+
+
+
+ The TextBox control for the maximum value of the control.
+
+
+
+
+ The TextBox control for the minimum value of the control.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the data.
+
+
+
+ Saves this instance.
+
+
+
+
+ Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
+
+
+
+
+ Raises the event.
+
+ The object that contains the event data.
+
+
+
+ Renders the contents of the control to the specified writer. This method is used primarily by control developers.
+
+ A that represents the output stream to render HTML content on the client.
+
+
+
+ Summary description for DataInteger.
+
+
+
+
+ Summary description for IDataTypenteger.
+
+
+
+
+ The setter ensures that only valid integers are saved - this is to prevent invalid types from being saved into an int db field
+
+
+
+
+ Summary description for pagePicker.
+
+
+
+
+ Summary description for PagePickerDataType.
+
+
+
+
+ Extension methods for the Prevalue Editor
+
+
+
+
+ Adds the prevalue controls.
+
+ The collection.
+ The controls.
+
+
+
+ Adds the prevalue row heading.
+
+ The writer.
+ The heading.
+
+
+
+ Adds a new row to the Prevalue Editor.
+
+ The HtmlTextWriter.
+ The label for the field.
+ The controls for the field.
+
+
+
+ Adds a new row to the Prevalue Editor, (with an optional description).
+
+ The HtmlTextWriter.
+ The label for the field.
+ The description for the field.
+ The controls for the field.
+
+
+
+ Summary description for propertyTypePicker.
+
+
+
+
+ Summary description for ColorPickerDataType.
+
+
+
+
+ Allows for the extraction of the link ID for the selected node of the
+ PagePicker (aka content picker) class for integration of the PagePicker
+ in another datatype.
+ This class replaces the database linkup that normally holds the data and
+ stores the data locally in memory and allows for easy access to the
+ data (after the IDataEditor has performed a save()).
+ This class was not designed for, but might work equally well for other datatypes.
+
+
+
+
+ Internal logic for validation controls to detect whether or not it's valid (has to be public though)
+
+ Am I valid?
+
+
+
+ Extension methods for embedded resources
+
+
+
+
+ Registers the embedded client resource.
+
+ The control.
+ Name of the resource.
+ The type.
+
+
+
+ Registers the embedded client resource.
+
+ The control.
+ The resource container.
+ Name of the resource.
+ The type.
+
+
+
+ Registers the embedded client resource.
+
+ The page.
+ The type containing the embedded resource
+ Name of the resource.
+ The type.
+
+
+
+ Summary description for simpleEditor.
+
+
+
+
+ Summary description for simpleEditorDataType.
+
+
+
+
+ The jQuery UI Slider control.
+
+
+
+
+ Initialize the control, make sure children are created
+
+ An object that contains the event data.
+
+
+
+ Add the resources (sytles/scripts)
+
+ The object that contains the event data.
+
+
+
+ Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
+
+
+
+
+ Sends server control content to a provided object, which writes the content to be rendered on the client.
+
+ The object that receives the server control content.
+
+
+
+ Gets or sets the slider options.
+
+ The slider options.
+
+
+
+ Gets or sets the text.
+
+ The text value.
+
+
+
+ Gets or sets the TextBox control that contains the value(s) of the slider.
+
+ The text box control.
+
+
+
+ Gets or sets the HtmlGenericControl control for the slider <div> tag.
+
+ The div slider control.
+
+
+
+ A jQuery UI Slider data-type for Umbraco.
+
+
+
+
+ The SliderControl.
+
+
+
+
+ The PreValue Editor for the data-type.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Handles the Init event of the m_Placeholder control.
+
+ The source of the event.
+ The instance containing the event data.
+
+
+
+ Saves the editor control value.
+
+ The instance containing the event data.
+
+
+
+ Gets the id of the data-type.
+
+ The id of the data-type.
+
+
+
+ Gets the name of the data type.
+
+ The name of the data type.
+
+
+
+ Gets the prevalue editor.
+
+ The prevalue editor.
+
+
+
+ The options for the Slider data-type.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ if set to true [loads defaults].
+
+
+
+ Gets or sets a value indicating whether [enable range].
+
+ true if [enable range]; otherwise, false.
+
+
+
+ Gets or sets a value indicating whether [enable step].
+
+ true if [enable step]; otherwise, false.
+
+
+
+ Gets or sets the max value.
+
+ The max value.
+
+
+
+ Gets or sets the min value.
+
+ The min value.
+
+
+
+ Gets or sets the orientation.
+
+ The orientation.
+
+
+
+ Gets or sets the range value.
+
+ The range value.
+
+
+
+ Gets or sets the step.
+
+ The step.
+
+
+
+ Gets or sets the value.
+
+ The value.
+
+
+
+ Gets or sets the second value.
+
+ The second value.
+
+
+
+ Gets or sets the Database Storage Type
+
+
+
+
+ The PreValue Editor for the Slider data-type.
+
+
+
+
+ The DropDownList for the database data-type.
+
+
+
+
+ The CheckBox control to enable the range for the slider.
+
+
+
+
+ The CheckBox control to enable incremental steps for the slider.
+
+
+
+
+ The TextBox control for the minimum value of the slider.
+
+
+
+
+ The TextBox control for the maximum value of the slider.
+
+
+
+
+ The DropDownList control for the orientation of the slider.
+
+
+
+
+ The DropDownList control for the range value.
+
+
+
+
+ The TextBox control for the incremental step value.
+
+
+
+
+ The TextBox control for the first value input.
+
+
+
+
+ The TextBox control for the second value input.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the data.
+
+
+
+ Saves the data-type PreValue options.
+
+
+
+
+ Raises the event.
+
+ An object that contains the event data.
+
+
+
+ Creates child controls for this control
+
+
+
+
+ Raises the event.
+
+ The object that contains the event data.
+
+
+
+ Renders the contents of the control to the specified writer. This method is used primarily by control developers.
+
+ A that represents the output stream to render HTML content on the client.
+
+
+
+ Toggles the fields.
+
+
+
+
+ Gets everything (content, media, members) in Umbraco with the specified tags.
+ It returns the found nodes as:
+
+ ...
+ ...
+ etc...
+
+
+ Commaseparated tags.
+
+ A XpathNodeIterator
+
+
+
+
+ Gets all content nodes in Umbraco with the specified tag.
+ It returns the found nodes as:
+
+ ...
+ ...
+ etc...
+
+
+ Commaseparated tags.
+
+ A XpathNodeIterator
+
+
+
+
+ Returns all members (does not care about groups and types) in Umbraco with the specified tag.
+ It returns the found nodes as:
+
+ ...
+ ...
+ etc...
+
+
+ Comma separated tags.
+
+ A XpathNodeIterator
+
+
+
+
+ Returns all media nodes in Umbraco with the specified tag.
+ It returns the found nodes as:
+
+ ...
+ ...
+ etc...
+
+
+ Commaseparated tags.
+
+ A XpathNodeIterator
+
+
+
+
+
+
+
+ Gets the tags from node as ITag objects.
+
+ The node id.
+
+
+
+
+ Gets the tags from group as ITag objects.
+
+ The group.
+
+
+
+
+ Gets all the tags as ITag objects
+
+ The node id.
+
+
+
+
+ Description of ConfigSection.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description of GzipCompressor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description of HttpHandler.
+
+
+
+
+ Description of IAction.
+
+
+
+
+
+
+
+
+
+
+ Request context.
+
+
+
+ Description of JSON.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description of JSONReader.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description of JSONWriter.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Adds sub nodes to the ListControl object passed into the method, based on the Content node passed in
+
+ The node whos sub nodes are to be added to the ListControl
+ The level of the current node
+ Boolean determining if grand children should be displayed as well
+ The ListControl the nodes must be added to
+ String representing the documentTypeAlias that should be filtered for. If empty no filter is applied
+
+
+
+ Sets up the autocomplete functionality
+
+
+
+
+ Internal logic for validation controls to detect whether or not it's valid (has to be public though)
+
+ Am I valid?
+
+
+
+ Validates and clears the filter input from errorneous entries
+
+ The filter string to be validated
+ A validated filtered comma separated string
+
+
+
+ Summary description for DataTypeUploadField.
+
+
+
+
+ Always returns an uploadField control
+
+
+
+
+ Always returns FileHandlerData
+
+
+
+
+ Checks if the file is valid based on our dissallowed file types
+
+
+
+
+
+
+ Render this control to the output parameter specified.
+
+ The HTML writer to write out to
+
+
+
+ Internal logic for validation controls to detect whether or not it's valid (has to be public though)
+
+ Am I valid?
+
+ This is used for the required and regex validation of a document type's property
+
+
+
+
+ Overrides the object to return the value as XML.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Type of the data.
+
+
+
+ Converts the data value to XML.
+
+ The data to convert to XML.
+
+
+
+
+ Renders a CheckBoxList using with option nodes obtained by an XPath expression
+
+
+
+
+ Field for the data.
+
+
+
+
+ Field for the options.
+
+
+
+
+ Field for the checkbox list.
+
+
+
+
+ Initializes a new instance of XPathCheckBoxListDataEditor
+
+
+
+
+
+
+ Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
+
+
+
+
+ Raises the event.
+
+ The object that contains the event data.
+
+
+
+ Called by Umbraco when saving the node
+
+
+
+
+ Gets a value indicating whether [treat as rich text editor].
+
+
+ true if [treat as rich text editor]; otherwise, false.
+
+
+
+
+ Gets a value indicating whether [show label].
+
+ true if [show label]; otherwise, false.
+
+
+
+ Gets the editor.
+
+ The editor.
+
+
+
+ This datatype will render a CheckBoxList where the options are defined by an XPath expression,
+
+
+
+
+ Field for the preValueEditor.
+
+
+
+
+ Field for the dataEditor.
+
+
+
+
+ Field for the data.
+
+
+
+
+ Field for the options.
+
+
+
+
+ Gets the options.
+
+ The options.
+
+
+
+ Gets the name of the data type.
+
+ The name of the data type.
+
+
+
+ Gets the id.
+
+ The id.
+
+
+
+ Lazy load the associated PreValueEditor instance,
+ this is constructed supplying 'this'
+
+
+
+
+ Lazy load the assocated DataEditor,
+ this is constructed supplying the data value stored by the PreValueEditor, and also the configuration settings of the PreValueEditor
+
+
+
+
+ Lazy load an empty DefaultData object, this is used to pass data between the PreValueEditor and the DataEditor
+
+
+
+
+ DataType configuration options for the XPath CheckBoxList
+
+
+
+
+ string guid for either a node, media or member
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the guid as a string representing either a Document, Media or Member
+
+
+
+
+ Gets or sets the XPath string used to get the Nodes, Media or Members
+
+
+
+
+ Defaults to true, where the property value will be stored as an Xml Fragment, else if false, a Csv will be stored
+
+
+
+
+ Defaults to true, where property value stored is NodeIds, else if false, then value stored is the Node Names
+
+
+
+
+ Gets the UmbracoObjectType from the stored string guid
+
+ a Document, Media or Member
+
+
+
+ This PreValueEditor will require an XPath expression to define the nodes to pick as CheckBox options,
+ TODO: [HR] min / max selections ?
+ Uses the shared JsonPreValueEditor as nice way of lightweight serializing a config data class object into a single DB field
+
+
+
+
+ Radio buttons to select type of node to pick from: Content / Media / Members
+
+
+
+
+ TextBox control to get the XPath expression
+
+
+
+
+ RequiredFieldValidator to ensure an XPath expression has been entered
+
+
+
+
+ Server side validation of XPath expression
+
+
+
+
+ Store an Xml fragment or a Csv
+
+
+
+
+ Select Node IDs or Node Names as the values to store
+
+
+
+
+ Data object used to define the configuration status of this PreValueEditor
+
+
+
+
+ Initialize a new instance of XPathCheckBoxlistPreValueEditor
+
+ XPathCheckBoxListDataType
+
+
+
+ Creates all of the controls and assigns all of their properties
+
+
+
+
+ Raises the event.
+
+ The object that contains the event data.
+
+
+
+ Will run the entered XPath expression to ensure it's valid
+
+ xPathCustomValidator
+
+
+
+
+ Saves the pre value data to Umbraco
+
+
+
+
+ Replaces the base class writer and instead uses the shared uComponents extension method, to inject consistant markup
+
+
+
+
+
+ Gets the options data object that represents the current state of this datatypes configuration
+
+
+
+
+ XPath configurabale DropDownList Data Type
+
+
+
+
+ Field for the data.
+
+
+
+
+ Field for the options.
+
+
+
+
+ Field for the CustomValidator.
+
+
+
+
+ Field for the DropDownList.
+
+
+
+
+ Initializes a new instance of XPathCheckBoxListDataEditor
+
+
+
+
+
+
+ Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
+
+
+
+
+ Raises the event.
+
+ The object that contains the event data.
+
+
+
+ Called by Umbraco when saving the node
+
+
+
+
+ Gets a value indicating whether [treat as rich text editor].
+
+
+ true if [treat as rich text editor]; otherwise, false.
+
+
+
+
+ Gets a value indicating whether [show label].
+
+ true if [show label]; otherwise, false.
+
+
+
+ Gets the editor.
+
+ The editor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the name of the data type.
+
+ The name of the data type.
+
+
+
+ Gets the id.
+
+ The id.
+
+
+
+ Lazy load the associated PreValueEditor instance,
+ this is constructed supplying 'this'
+
+
+
+
+ Lazy load the assocated DataEditor,
+ this is constructed supplying the data value stored by the PreValueEditor, and also the configuration settings of the PreValueEditor
+
+
+
+
+ Lazy load an empty DefaultData object, this is used to pass data between the PreValueEditor and the DataEditor
+
+
+
+
+ Initializes an instance of XPathDropDownListOptions
+
+
+
+
+
+
+
+
+
+ XPath string used to get Nodes to be used as CheckBox options in a CheckBoxList
+
+
+
+
+ Defaults to true, where property value is a csv of NodeIds, else if false, then csv of Node names is stored
+
+
+
+
+ Gets the UmbracoObjectType from the stored string guid
+
+ a Document, Media or Member
+
+
+
+ Radio buttons to select type of node to pick from: Content / Media / Members
+
+
+
+
+ TextBox control to get the XPath expression
+
+
+
+
+ RequiredFieldValidator to ensure an XPath expression has been entered
+
+
+
+
+ Server side validation of XPath expression
+
+
+
+
+ Drop Down List to pick either Node Name or Node Id
+
+
+
+
+ Data object used to define the configuration status of this PreValueEditor
+
+
+
+
+ Initialize a new instance of XPathCheckBoxlistPreValueEditor
+
+ XPathCheckBoxListDataType
+
+
+
+ Creates all of the controls and assigns all of their properties
+
+
+
+
+
+
+
+
+
+
+ Will run the entered XPath expression to ensure it returns a collection
+
+ xPathCustomValidator
+
+
+
+
+ Saves the pre value data to Umbraco
+
+
+
+
+ Replaces the base class writer and instead uses the shared uComponents extension method, to inject consistant markup
+
+
+
+
+
+ Gets the options data object that represents the current state of this datatypes configuration
+
+
+
+
+ Generates a radiolist of yes and no for boolean fields
+
+
+
+
+ Render this control to the output parameter specified.
+
+ The HTML writer to write out to
+
+
+
+ Summary description for YesNoDataType.
+
+
+
+
diff --git a/Blog/bin/umbraco.providers.dll b/Blog/bin/umbraco.providers.dll
new file mode 100644
index 0000000..5e6b523
Binary files /dev/null and b/Blog/bin/umbraco.providers.dll differ
diff --git a/Blog/bin/umbraco.providers.xml b/Blog/bin/umbraco.providers.xml
new file mode 100644
index 0000000..56ba080
--- /dev/null
+++ b/Blog/bin/umbraco.providers.xml
@@ -0,0 +1,821 @@
+
+
+
+ umbraco.providers
+
+
+
+
+ Adds some event handling
+
+
+
+
+ Custom Membership Provider for Umbraco Members (User authentication for Frontend applications NOT umbraco CMS)
+
+
+
+
+ Initializes the provider.
+
+ The friendly name of the provider.
+ A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.
+ The name of the provider is null.
+ An attempt is made to call
+ on a provider after the provider
+ has already been initialized.
+ The name of the provider has a length of zero.
+
+
+
+ Processes a request to update the password for a membership user.
+
+ The user to update the password for.
+ This property is ignore for this provider
+ The new password for the specified user.
+
+ true if the password was updated successfully; otherwise, false.
+
+
+
+
+ Processes a request to update the password question and answer for a membership user.
+
+ The user to change the password question and answer for.
+ The password for the specified user.
+ The new password question for the specified user.
+ The new password answer for the specified user.
+
+ true if the password question and answer are updated successfully; otherwise, false.
+
+
+
+
+ Adds a new membership user to the data source.
+
+
+ The user name for the new user.
+ The password for the new user.
+ The e-mail address for the new user.
+ The password question for the new user.
+ The password answer for the new user
+ Whether or not the new user is approved to be validated.
+ The unique identifier from the membership data source for the user.
+ A enumeration value indicating whether the user was created successfully.
+
+ A object populated with the information for the newly created user.
+
+
+
+
+ Removes a user from the membership data source.
+
+ The name of the user to delete.
+
+ TODO: This setting currently has no effect
+
+
+ true if the user was successfully deleted; otherwise, false.
+
+
+
+
+ Gets a collection of membership users where the e-mail address contains the specified e-mail address to match.
+
+ The e-mail address to search for.
+ The index of the page of results to return. pageIndex is zero-based.
+ The size of the page of results to return.
+ The total number of matched users.
+
+ A collection that contains a page of pageSize objects beginning at the page specified by pageIndex.
+
+
+
+
+ Gets a collection of membership users where the user name contains the specified user name to match.
+
+ The user name to search for.
+ The index of the page of results to return. pageIndex is zero-based.
+ The size of the page of results to return.
+ The total number of matched users.
+
+ A collection that contains a page of pageSize objects beginning at the page specified by pageIndex.
+
+
+
+
+ Gets a collection of all the users in the data source in pages of data.
+
+ The index of the page of results to return. pageIndex is zero-based.
+ The size of the page of results to return.
+ The total number of matched users.
+
+ A collection that contains a page of pageSize objects beginning at the page specified by pageIndex.
+
+
+
+
+ Gets the number of users currently accessing the application.
+
+
+ The number of users currently accessing the application.
+
+
+
+
+ Gets the password for the specified user name from the data source.
+
+ The user to retrieve the password for.
+ The password answer for the user.
+
+ The password for the specified user name.
+
+
+
+
+ Gets information from the data source for a user. Provides an option to update the last-activity date/time stamp for the user.
+
+ The name of the user to get information for.
+ true to update the last-activity date/time stamp for the user; false to return user information without updating the last-activity date/time stamp for the user.
+
+ A object populated with the specified user's information from the data source.
+
+
+
+
+ Gets information from the data source for a user based on the unique identifier for the membership user. Provides an option to update the last-activity date/time stamp for the user.
+
+ The unique identifier for the membership user to get information for.
+ true to update the last-activity date/time stamp for the user; false to return user information without updating the last-activity date/time stamp for the user.
+
+ A object populated with the specified user's information from the data source.
+
+
+
+
+ Gets the user name associated with the specified e-mail address.
+
+ The e-mail address to search for.
+
+ The user name associated with the specified e-mail address. If no match is found, return null.
+
+
+
+
+ Resets a user's password to a new, automatically generated password.
+
+ The user to reset the password for.
+ The password answer for the specified user (not used with Umbraco).
+
+ The new password for the specified user.
+
+
+
+ Clears a lock so that the membership user can be validated.
+
+ The membership user to clear the lock status for.
+
+ true if the membership user was successfully unlocked; otherwise, false.
+
+
+
+
+ Updates e-mail and potentially approved status, lock status and comment on a user.
+
+ A object that represents the user to update and the updated information for the user.
+
+
+
+ Verifies that the specified user name and password exist in the data source.
+
+ The name of the user to validate.
+ The password for the specified user.
+
+ true if the specified username and password are valid; otherwise, false.
+
+
+
+
+ Encodes the password.
+
+ The password.
+ The encoded password.
+
+
+
+ Unencode password.
+
+ The encoded password.
+ The unencoded password.
+
+
+
+ Converts to membership user.
+
+ The m.
+
+
+
+
+ Converts to membership user.
+
+ The m.
+
+
+
+
+ Override to maintain backwards compatibility with 0 required non-alphanumeric chars
+
+
+
+
+ Override to maintain backwards compatibility with only 4 required length
+
+
+
+
+ Override to maintain backwards compatibility
+
+
+
+
+ For backwards compatibility, this provider supports this option
+
+
+
+
+ Returns the collection of settings property values for the current umbraco member.
+
+ A describing the current application use.
+ A containing the settings property group whose values are to be retrieved.
+
+ A containing the values for the specified settings property group.
+
+
+
+
+ Sets the values of the specified group of property settings for the current umbraco member.
+
+ A describing the current application usage.
+ A representing the group of property settings to set.
+
+
+
+ A role provider for members
+
+
+
+
+ Initializes the provider.
+
+ The friendly name of the provider.
+ A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.
+ The name of the provider is null.
+ An attempt is made to call
+ on a provider
+ after the provider has already been initialized.
+ The name of the provider has a length of zero.
+
+
+
+ Adds the specified user names to the specified roles for the configured applicationName.
+
+ A string array of user names to be added to the specified roles.
+ A string array of the role names to add the specified user names to.
+
+
+
+ Adds a new role to the data source for the configured applicationName.
+
+ The name of the role to create.
+
+
+
+ Removes a role from the data source for the configured applicationName.
+
+ The name of the role to delete.
+ If true, throw an exception if roleName has one or more members and do not delete roleName.
+
+ true if the role was successfully deleted; otherwise, false.
+
+
+
+
+ Gets an array of user names in a role where the user name contains the specified user name to match.
+
+ The role to search in.
+ The user name to search for.
+
+ A string array containing the names of all the users where the user name matches usernameToMatch and the user is a member of the specified role.
+
+
+
+
+ Gets a list of all the roles for the configured applicationName.
+
+
+ A string array containing the names of all the roles stored in the data source for the configured applicationName.
+
+
+
+
+ Gets a list of the roles that a specified user is in for the configured applicationName.
+
+ The user to return a list of roles for.
+
+ A string array containing the names of all the roles that the specified user is in for the configured applicationName.
+
+
+
+
+ Gets a list of users in the specified role for the configured applicationName.
+
+ The name of the role to get the list of users for.
+
+ A string array containing the names of all the users who are members of the specified role for the configured applicationName.
+
+
+
+
+ Gets a value indicating whether the specified user is in the specified role for the configured applicationName.
+
+ The user name to search for.
+ The role to search in.
+
+ true if the specified user is in the specified role for the configured applicationName; otherwise, false.
+
+
+
+
+ Removes the specified user names from the specified roles for the configured applicationName.
+
+ A string array of user names to be removed from the specified roles.
+ A string array of role names to remove the specified user names from.
+
+
+
+ Gets a value indicating whether the specified role name already exists in the role data source for the configured applicationName.
+
+ The name of the role to search for in the data source.
+
+ true if the role name already exists in the data source for the configured applicationName; otherwise, false.
+
+
+
+
+ Gets or sets the name of the application to store and retrieve role information for.
+
+
+ The name of the application to store and retrieve role information for.
+
+
+
+ Security Helper Methods
+
+
+
+
+ Gets the boolean value.
+
+ The config.
+ Name of the value.
+ if set to true [default value].
+
+
+
+
+ Checks the array parameter.
+
+ The param.
+ if set to true [check for null].
+ if set to true [check if empty].
+ if set to true [check for commas].
+ Size of the max.
+ Name of the param.
+
+
+
+ Checks the parameter.
+
+ The param.
+ if set to true [check for null].
+ if set to true [check if empty].
+ if set to true [check for commas].
+ Size of the max.
+ Name of the param.
+
+
+
+ Checks the password parameter.
+
+ The param.
+ Size of the max.
+ Name of the param.
+
+
+
+ Gets the name of the default app.
+
+
+
+
+
+ Gets the int value.
+
+ The config.
+ Name of the value.
+ The default value.
+ if set to true [zero allowed].
+ The max value allowed.
+
+
+
+
+ Validates the parameter.
+
+ The param.
+ if set to true [check for null].
+ if set to true [check if empty].
+ if set to true [check for commas].
+ Size of the max.
+
+
+
+
+ Validates the password parameter.
+
+ The param.
+ Size of the max.
+
+
+
+
+ Custom Membership Provider for Umbraco Users (User authentication for Umbraco Backend CMS)
+
+
+
+
+ Processes a request to update the password for a membership user.
+
+ The user to update the password for.
+ The current password for the specified user.
+ The new password for the specified user.
+
+ true if the password was updated successfully; otherwise, false.
+
+
+
+
+ Processes a request to update the password question and answer for a membership user.
+
+ The user to change the password question and answer for.
+ The password for the specified user.
+ The new password question for the specified user.
+ The new password answer for the specified user.
+
+ true if the password question and answer are updated successfully; otherwise, false.
+
+
+
+
+ Adds a new membership user to the data source.
+
+ The user name for the new user.
+ The password for the new user.
+ The e-mail address for the new user.
+ The password question for the new user.
+ The password answer for the new user
+ Whether or not the new user is approved to be validated.
+ The unique identifier from the membership data source for the user.
+ A enumeration value indicating whether the user was created successfully.
+
+ A object populated with the information for the newly created user.
+
+
+
+
+ Removes a user from the membership data source.
+
+ The name of the user to delete.
+ true to delete data related to the user from the database; false to leave data related to the user in the database.
+
+ true if the user was successfully deleted; otherwise, false.
+
+
+
+
+ Gets a collection of membership users where the e-mail address contains the specified e-mail address to match.
+
+ The e-mail address to search for.
+ The index of the page of results to return. pageIndex is zero-based.
+ The size of the page of results to return.
+ The total number of matched users.
+
+ A collection that contains a page of pageSize objects beginning at the page specified by pageIndex.
+
+
+
+
+ Gets a collection of membership users where the user name contains the specified user name to match.
+
+ The user name to search for.
+ The index of the page of results to return. pageIndex is zero-based.
+ The size of the page of results to return.
+ The total number of matched users.
+
+ A collection that contains a page of pageSize objects beginning at the page specified by pageIndex.
+
+
+
+
+ Gets a collection of all the users in the data source in pages of data.
+
+ The index of the page of results to return. pageIndex is zero-based.
+ The size of the page of results to return.
+ The total number of matched users.
+
+ A collection that contains a page of pageSize objects beginning at the page specified by pageIndex.
+
+
+
+
+ Gets the number of users currently accessing the application.
+
+
+ The number of users currently accessing the application.
+
+
+
+
+ Gets the password for the specified user name from the data source. This is - for security - not
+ supported for Umbraco Users and an exception will be thrown
+
+ The user to retrieve the password for.
+ The password answer for the user.
+
+ The password for the specified user name.
+
+
+
+
+ Gets information from the data source for a user. Provides an option to update the last-activity date/time stamp for the user.
+
+ The name of the user to get information for.
+ true to update the last-activity date/time stamp for the user; false to return user information without updating the last-activity date/time stamp for the user.
+
+ A object populated with the specified user's information from the data source.
+
+
+
+
+ Gets information from the data source for a user based on the unique identifier for the membership user. Provides an option to update the last-activity date/time stamp for the user.
+
+ The unique identifier for the membership user to get information for.
+ true to update the last-activity date/time stamp for the user; false to return user information without updating the last-activity date/time stamp for the user.
+
+ A object populated with the specified user's information from the data source.
+
+
+
+
+ Gets the user name associated with the specified e-mail address.
+
+ The e-mail address to search for.
+
+ The user name associated with the specified e-mail address. If no match is found, return null.
+
+
+
+
+ Resets a user's password to a new, automatically generated password.
+
+ The user to reset the password for.
+ The password answer for the specified user.
+ The new password for the specified user.
+
+
+
+ Clears a lock so that the membership user can be validated.
+
+ The membership user to clear the lock status for.
+
+ true if the membership user was successfully unlocked; otherwise, false.
+
+
+
+
+ Updates information about a user in the data source.
+
+ A object that represents the user to update and the updated information for the user.
+
+
+
+ Verifies that the specified user name and password exist in the data source.
+
+ The name of the user to validate.
+ The password for the specified user.
+
+ true if the specified username and password are valid; otherwise, false.
+
+
+
+
+ Encodes the password.
+
+ The password.
+ The encoded password.
+
+
+
+ Unencode password.
+
+ The encoded password.
+ The unencoded password.
+
+
+
+ Converts to membership user.
+
+ The user.
+
+
+
+
+ Override to maintain backwards compatibility with 0 required non-alphanumeric chars
+
+
+
+
+ Override to maintain backwards compatibility with only 4 required length
+
+
+
+
+ Override to maintain backwards compatibility
+
+
+
+
+ For backwards compatibility, this provider supports this option
+
+
+
+
+ Wrapper for the umbraco.BusinessLogic.User class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the provider.
+ The name.
+ The provider user key.
+ The email.
+ The password question.
+ The comment.
+ if set to true [is approved].
+ if set to true [is locked out].
+ The creation date.
+ The last login date.
+ The last activity date.
+ The last password changed date.
+ The last lockout date.
+ The full name.
+ The language.
+ Type of the user.
+
+
+
+ Gets or sets the full name.
+
+ The full name.
+
+
+
+ Gets or sets the language.
+
+ The language.
+
+
+
+ Gets or sets the type of the user.
+
+ The type of the user.
+
+
+
+ Custom Roles Provider for Umbraco
+
+
+
+
+ Initializes the provider.
+
+ The friendly name of the provider.
+ A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.
+ The name of the provider is null.
+ An attempt is made to call
+ on a provider
+ after the provider has already been initialized.
+ The name of the provider has a length of zero.
+
+
+
+ Adds the specified user names to the specified roles for the configured applicationName.
+
+ A string array of user names to be added to the specified roles.
+ A string array of the role names to add the specified user names to.
+
+
+
+ Adds a new role to the data source for the configured applicationName.
+
+ The name of the role to create.
+
+
+
+ Removes a role from the data source for the configured applicationName.
+
+ The name of the role to delete.
+ If true, throw an exception if roleName has one or more members and do not delete roleName.
+
+ true if the role was successfully deleted; otherwise, false.
+
+
+
+
+ Gets an array of user names in a role where the user name contains the specified user name to match.
+
+ The role to search in.
+ The user name to search for.
+
+ A string array containing the names of all the users where the user name matches usernameToMatch and the user is a member of the specified role.
+
+
+
+
+ Gets a list of all the roles for the configured applicationName.
+
+
+ A string array containing the names of all the roles stored in the data source for the configured applicationName.
+
+
+
+
+ Gets a list of the roles that a specified user is in for the configured applicationName.
+
+ The user to return a list of roles for.
+
+ A string array containing the names of all the roles that the specified user is in for the configured applicationName.
+
+
+
+
+ Gets a list of users in the specified role for the configured applicationName.
+
+ The name of the role to get the list of users for.
+
+ A string array containing the names of all the users who are members of the specified role for the configured applicationName.
+
+
+
+
+ Gets a value indicating whether the specified user is in the specified role for the configured applicationName.
+
+ The user name to search for.
+ The role to search in.
+
+ true if the specified user is in the specified role for the configured applicationName; otherwise, false.
+
+
+
+
+ Removes the specified user names from the specified roles for the configured applicationName.
+
+ A string array of user names to be removed from the specified roles.
+ A string array of role names to remove the specified user names from.
+
+
+
+ Gets a value indicating whether the specified role name already exists in the role data source for the configured applicationName.
+
+ The name of the role to search for in the data source.
+
+ true if the role name already exists in the data source for the configured applicationName; otherwise, false.
+
+
+
+
+ Gets or sets the name of the application to store and retrieve role information for.
+
+
+ The name of the application to store and retrieve role information for.
+
+
+
diff --git a/Blog/bin/umbraco.xml b/Blog/bin/umbraco.xml
new file mode 100644
index 0000000..25d9ab2
--- /dev/null
+++ b/Blog/bin/umbraco.xml
@@ -0,0 +1,29997 @@
+
+
+
+ umbraco
+
+
+
+
+ This will restart the application pool
+
+
+
+
+
+
+ Used to boot up the server messenger once the application succesfully starts
+
+
+
+
+ An abstract controller that automatically checks if any request is a non-GET and if the
+ resulting message is INotificationModel in which case it will append any Event Messages
+ currently in the request.
+
+
+
+
+ An abstract API controller that only supports JSON and all requests must contain the correct csrf header
+
+
+ Inheriting from this controller means that ALL of your methods are JSON methods that are called by Angular,
+ methods that are not called by Angular or don't contain a valid csrf header will NOT work.
+
+
+
+
+ A base controller that ensures all requests are authorized - the user is logged in.
+
+
+ This controller will also append a custom header to the response if the user is logged in using forms authentication
+ which indicates the seconds remaining before their timeout expires.
+
+
+
+
+ The base class for auto-routed API controllers for Umbraco
+
+
+
+
+ The base class for API controllers that expose Umbraco services - THESE ARE NOT AUTO ROUTED
+
+
+
+
+ Tries to retrieve the current HttpContext if one exists.
+
+
+
+
+
+ Tries to retrieve the current HttpContext if one exists.
+
+
+
+
+
+ Returns an ILogger
+
+
+
+
+ Returns a ProfilingLogger
+
+
+
+
+ Returns the current ApplicationContext
+
+
+
+
+ Returns a ServiceContext
+
+
+
+
+ Returns a DatabaseContext
+
+
+
+
+ Returns an UmbracoHelper object
+
+
+
+
+ Returns the current UmbracoContext
+
+
+
+
+ Returns the WebSecurity instance
+
+
+
+
+ Returns the MemberHelper instance
+
+
+
+
+ Useful for debugging
+
+
+
+
+ Returns the currently logged in Umbraco User
+
+
+
+
+ HtmlHelper extensions for the back office
+
+
+
+
+ Outputs a script tag containing the bare minimum (non secure) server vars for use with the angular app
+
+
+
+
+ The post url used to sign in with external logins - this can change depending on for what service the external login is service.
+ Example: normal back office login or authenticating upgrade login
+
+
+
+ These are the bare minimal server variables that are required for the application to start without being authenticated,
+ we will load the rest of the server vars after the user is authenticated.
+
+
+
+
+ Used to render the script that will pass in the angular externalLoginInfo service on page load
+
+
+
+
+
+
+
+ Model to give to the front-end to collect the information for each step
+
+
+
+
+ The view model used to render the view, by default is null but can be populated
+
+
+
+
+ Defines what order this step needs to execute on the server side since the
+ steps might be shown out of order on the front-end
+
+
+
+
+ Defines the step model type on the server side so we can bind it
+
+
+
+
+ The step execution method
+
+
+
+
+
+
+ Determines if this step needs to execute based on the current state of the application and/or install process
+
+
+
+
+
+ Defines the step model type on the server side so we can bind it
+
+
+
+
+ The step execution method
+
+
+
+
+
+
+ Determines if this step needs to execute based on the current state of the application and/or install process
+
+
+
+
+
+ This is used to add custom localized messages/strings to the response for the app to use for localized UI purposes.
+
+
+
+
+ This is used to add custom localized messages/strings to the response for the app to use for localized UI purposes.
+
+
+
+
+ Provide an abstract base class for IPublishedContent implementations.
+
+
+
+
+ Provide an abstract base class for IPublishedContent implementations.
+
+ This base class does which (a) consitently resolves and caches the Url, (b) provides an implementation
+ for this[alias], and (c) provides basic content set management.
+
+
+
+ Gets a property identified by its alias.
+
+ The property alias.
+ The property identified by the alias.
+
+ If no property with the specified alias exists, returns null.
+ The returned property may have no value (ie HasValue is false).
+ The alias is case-insensitive.
+
+
+
+
+ Gets a property identified by its alias.
+
+ The property alias.
+ A value indicating whether to navigate the tree upwards until a property with a value is found.
+ The property identified by the alias.
+
+ Navigate the tree upwards and look for a property with that alias and with a value (ie HasValue is true).
+ If found, return the property. If no property with that alias is found, having a value or not, return null. Otherwise
+ return the first property that was found with the alias but had no value (ie HasValue is false).
+ The alias is case-insensitive.
+
+
+
+
+ Gets the url of the content.
+
+
+ If this content is Content, the url that is returned is the one computed by the NiceUrlProvider, otherwise if
+ this content is Media, the url returned is the value found in the 'umbracoFile' property.
+
+
+
+
+ Gets the parent of the content.
+
+
+
+
+ Gets the children of the content.
+
+ Children are sorted by their sortOrder.
+
+
+
+ Gets the properties of the content.
+
+
+
+
+ Gets the value of a property identified by its alias.
+
+ The property alias.
+ The value of the property identified by the alias.
+
+ If GetProperty(alias) is null then returns null else return GetProperty(alias).Value.
+ So if the property has no value, returns the default value for that property type.
+ This one is defined here really because we cannot define index extension methods, but all it should do is:
+ var p = GetProperty(alias); return p == null ? null : p.Value; and nothing else.
+ The recursive syntax (eg "_title") is _not_ supported here.
+ The alias is case-insensitive.
+
+
+
+
+ A marker interface to designate that a controller will be used for Umbraco front-end requests and/or route hijacking
+
+
+
+
+ A custom ActionMethodSelector which will ensure that the RenderMvcController.Index(RenderModel model) action will be executed
+ if the
+
+
+
+
+ Determines whether the action method selection is valid for the specified controller context.
+
+
+ true if the action method selection is valid for the specified controller context; otherwise, false.
+
+ The controller context.Information about the action method.
+
+
+
+ A filter to check for the csrf token based on Angular's standard approach
+
+
+ Code derived from http://ericpanorel.net/2013/07/28/spa-authentication-and-csrf-mvc4-antiforgery-implementation/
+
+ If the authentication type is cookie based, then this filter will execute, otherwise it will be disabled
+
+
+
+
+ Stores the instance of EventMessages in the current request so all events will share the same instance
+
+
+
+
+ Represents a latched background task.
+
+ Latched background tasks can suspend their execution until
+ a condition is met. However if the tasks runner has to terminate,
+ latched background tasks can be executed immediately, depending on
+ the value returned by RunsOnShutdown.
+
+
+
+ Represents a background task.
+
+
+
+
+ Runs the background task.
+
+
+
+
+ Runs the task asynchronously.
+
+ A cancellation token.
+ A instance representing the execution of the background task.
+ The background task cannot run asynchronously.
+
+
+
+ Indicates whether the background task can run asynchronously.
+
+
+
+
+ Gets a wait handle on the task condition.
+
+ The task is not latched.
+
+
+
+ Gets a value indicating whether the task is latched.
+
+ Should return false as soon as the condition is met.
+
+
+
+ Gets a value indicating whether the task can be executed immediately if the task runner has to terminate.
+
+
+
+
+ Implements IBackgroundTask.Run().
+
+
+
+
+ Implements IBackgroundTask.RunAsync().
+
+
+
+
+ Indicates whether the background task can run asynchronously.
+
+
+
+
+ Options used to configure auto-linking external OAuth providers
+
+
+
+
+ The default User Type alias to use for auto-linking users
+
+
+
+
+ The default allowed sections to use for auto-linking users
+
+
+
+
+ For private external auth providers such as Active Directory, which when set to true will automatically
+ create a local user if the external provider login was successful.
+
+ For public auth providers this should always be false!!!
+
+
+
+
+ The default Culture to use for auto-linking users
+
+
+
+
+ A callback executed during account auto-linking and before the user is persisted
+
+
+
+
+
+ If a flag is set on the context to force renew the ticket, this will do it
+
+
+
+
+ This handler doesn't actually do any auth so we return null;
+
+
+
+
+
+ Gets the ticket from the request
+
+
+
+
+
+ This will check if the token exists in the request to force renewal
+
+
+
+
+
+ This middleware is used simply to force renew the auth ticket if a flag to do so is found in the request
+
+
+
+
+ Custom middleware to return the remaining seconds the user has before they are logged out
+
+
+ This is quite a custom request because in most situations we just want to return the seconds and don't want
+ to renew the auth ticket, however if KeepUserLoggedIn is true, then we do want to renew the auth ticket for
+ this request!
+
+
+
+
+ Wrapper class for OEmbed response
+
+
+
+
+ Gets the HTML.
+
+ The response html
+
+
+
+ Used to display a custom view in the back office if developers choose to implement their own custom 2 factor authentication
+
+
+
+
+ Nasty little hack to get httpcontextbase from an owin context
+
+
+
+
+
+
+ This will set a an authenticated IPrincipal to the current request given the IUser object
+
+
+
+
+
+
+
+ This will set a an authenticated IPrincipal to the current request given the IUser object
+
+
+
+
+
+
+
+ The default way to configure OWIN for Umbraco
+
+
+ The startup type is specified in appSettings under owin:appStartup
+
+
+
+
+ Used to retrieve the Umbraco context
+
+
+ TODO: We could expose this to make working with UmbracoContext easier if we were to use it throughout the codebase
+
+
+
+
+ Gets or sets the Parent Id of the Relation (Source)
+
+
+
+
+ Gets or sets the Child Id of the Relation (Destination)
+
+
+
+
+ Gets or sets the for the Relation
+
+
+
+
+ Gets or sets a comment for the Relation
+
+
+
+
+ Utility class for working with strings and HTML in views
+
+
+ The UmbracoHelper uses this class for it's string methods
+
+
+
+
+ Replaces text line breaks with html line breaks
+
+ The text.
+ The text with text line breaks replaced with html linebreaks ( )
+
+
+
+ Gets or sets the Name of the RelationType
+
+
+
+
+ Gets or sets the Alias of the RelationType
+
+
+
+
+ Gets or sets a boolean indicating whether the RelationType is Bidirectional (true) or Parent to Child (false)
+
+
+
+
+ Gets or sets the Parents object type id
+
+ Corresponds to the NodeObjectType in the umbracoNode table
+
+
+
+ Gets or sets the Childs object type id
+
+ Corresponds to the NodeObjectType in the umbracoNode table
+
+
+
+ Gets the culture that would be selected to render a specified content,
+ within the context of a specified current request.
+
+ The content.
+ The request Uri.
+ The culture that would be selected to render the content.
+
+
+
+ Gets the culture that would be selected to render a specified content,
+ within the context of a specified current request.
+
+ An instance.
+ An implementation.
+ An implementation.
+ An implementation.
+ The content identifier.
+ The content path.
+ The request Uri.
+ The culture that would be selected to render the content.
+
+
+
+ Query methods used for accessing content dynamically in templates
+
+
+
+
+ Searches content
+
+
+
+
+
+
+
+
+ Searhes content
+
+
+
+
+
+
+
+ Returns all content that is tagged with the specified tag value and optional tag group
+
+
+
+
+
+
+
+ Returns all content that has been tagged with any tag in the specified group
+
+
+
+
+
+
+ Returns all Media that is tagged with the specified tag value and optional tag group
+
+
+
+
+
+
+
+ Returns all Media that has been tagged with any tag in the specified group
+
+
+
+
+
+
+ Get every tag stored in the database (with optional group)
+
+
+
+
+ Get all tags for content items (with optional group)
+
+
+
+
+
+
+ Get all tags for media items (with optional group)
+
+
+
+
+
+
+ Get all tags for member items (with optional group)
+
+
+
+
+
+
+ Returns all tags attached to a property by entity id
+
+
+
+
+
+
+
+
+ Returns all tags attached to an entity (content, media or member) by entity id
+
+
+
+
+
+
+
+ Query methods used for accessing strongly typed content in templates
+
+
+
+
+ Searches content
+
+
+
+
+
+
+
+
+ Searhes content
+
+
+
+
+
+
+
+ Methods used to render umbraco components as HTML in templates
+
+
+
+
+ Renders the template for the specified pageId and an optional altTemplateId
+
+
+ If not specified, will use the template assigned to the node
+
+
+
+
+ Renders the macro with the specified alias.
+
+ The alias.
+
+
+
+
+ Renders the macro with the specified alias, passing in the specified parameters.
+
+ The alias.
+ The parameters.
+
+
+
+
+ Renders the macro with the specified alias, passing in the specified parameters.
+
+ The alias.
+ The parameters.
+
+
+
+
+
+
+
+ A legacy INode that wraps IPublishedContent
+
+
+
+
+ A legacy IProperty that wraps IPublishedProperty
+
+
+
+
+ Will ensure that client-side cache does not occur by sending the correct response headers
+
+
+
+
+ This is here to support compatibility with both MVC4 and MVC5
+
+
+
+
+ Wraps a Task within an object that gives access to its GetAwaiter method and Status
+ property while ensuring that it cannot be modified in any way.
+
+
+
+
+ Initializes a new instance of the class with a Task.
+
+ The task.
+
+
+
+ Gets an awaiter used to await the task.
+
+ An awaiter instance.
+
+
+
+ Gets the TaskStatus of the task.
+
+ The current TaskStatus of the task.
+
+
+
+ Extension methods for UrlHelper
+
+
+
+
+ Returns the base path (not including the 'action') of the MVC controller "SaveFileController"
+
+
+
+
+
+
+ Returns the base path (not including the 'action') of the MVC controller "BulkPublishController"
+
+
+
+
+
+
+ Returns the base path (not including the 'action') of the MVC controller "CoreStringsController"
+
+ The url helper.
+ The base path of the controller.
+
+
+
+ Manages a queue of tasks of type and runs them in the background.
+
+ The type of the managed tasks.
+ The task runner is web-aware and will ensure that it shuts down correctly when the AppDomain
+ shuts down (ie is unloaded).
+
+
+
+ Defines a service managing a queue of tasks of type and running them in the background.
+
+ The type of the managed tasks.
+ The interface is not complete and exists only to have the contravariance on T.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The name of the runner.
+
+
+
+
+ Initializes a new instance of the class with a set of options.
+
+ The set of options.
+
+
+
+
+ Initializes a new instance of the class with a set of options.
+
+ The name of the runner.
+ The set of options.
+
+
+
+
+ Adds a task to the queue.
+
+ The task to add.
+ The task runner has completed.
+
+
+
+ Tries to add a task to the queue.
+
+ The task to add.
+ true if the task could be added to the queue; otherwise false.
+ Returns false if the runner is completed.
+
+
+
+ Starts the tasks runner, if not already running.
+
+ Is invoked each time a task is added, to ensure it is going to be processed.
+ The task runner has completed.
+
+
+
+ Starts the tasks runner, if not already running.
+
+ Must be invoked within lock(_locker) and with _isCompleted being false.
+
+
+
+ Shuts the taks runner down.
+
+ True for force the runner to stop.
+ True to wait until the runner has stopped.
+ If is false, no more tasks can be queued but all queued tasks
+ will run. If it is true, then only the current one (if any) will end and no other task will run.
+
+
+
+ Runs background tasks for as long as there are background tasks in the queue, with an asynchronous operation.
+
+ The supporting .
+ A cancellation token.
+ The asynchronous operation.
+
+
+
+ Runs a background task asynchronously.
+
+ The background task.
+ A cancellation token.
+ The asynchronous operation.
+
+
+
+ Requests a registered object to unregister.
+
+ true to indicate the registered object should unregister from the hosting
+ environment before returning; otherwise, false.
+
+ "When the application manager needs to stop a registered object, it will call the Stop method."
+ The application manager will call the Stop method to ask a registered object to unregister. During
+ processing of the Stop method, the registered object must call the HostingEnvironment.UnregisterObject method.
+
+
+
+
+ Gets the number of tasks in the queue.
+
+
+
+
+ Gets a value indicating whether a task is currently running.
+
+
+
+
+ Gets a value indicating whether the runner has completed and cannot accept tasks anymore.
+
+
+
+
+ Gets the running task as an immutable object.
+
+ There is no running task.
+
+ Unless the AutoStart option is true, there will be no running task until
+ a background task is added to the queue. Unless the KeepAlive option is true, there
+ will be no running task when the queue is empty.
+
+
+
+
+ Gets an awaitable used to await the runner running operation.
+
+ An awaitable instance.
+ Used to wait until the runner is no longer running (IsRunning == false),
+ though the runner could be started again afterwards by adding tasks to it.
+
+
+
+ Gets an awaitable used to await the runner.
+
+ An awaitable instance.
+ Used to wait until the runner is terminated.
+
+
+
+
+ An that works by messaging servers via web services.
+
+
+ This binds to appropriate umbraco events in order to trigger the FlushBatch() calls
+
+
+
+
+ Extension methods for the cache helper
+
+
+
+
+ Outputs and caches a partial view in MVC
+
+
+
+
+
+
+ used to cache the partial view, this key could change if it is cached by page or by member
+
+
+
+
+
+ Clears the cache for partial views
+
+
+
+
+
+ Handles Application cache invalidation/refreshing
+
+
+
+
+ Handles Application tree cache invalidation/refreshing
+
+
+
+
+ A cache refresher to ensure content type cache is updated when content types change - this is applicable to content, media and member types
+
+
+ This is not intended to be used directly in your code
+
+
+
+
+ Converts the json to a JsonPayload object
+
+
+
+
+
+
+ Converts a content type to a jsonPayload object
+
+
+ if the item was deleted
+
+
+
+
+ Creates the custom Json payload used to refresh cache amongst the servers
+
+ specify false if this is an update, otherwise true if it is a deletion
+
+
+
+
+
+ Refreshes the cache using the custom jsonPayload provided
+
+
+
+
+
+ This clears out all cache associated with a content type
+
+
+
+ The cache that is required to be cleared when a content type is updated is as follows:
+ - ApplicationCache (keys to clear):
+ -- CacheKeys.PropertyTypeCacheKey + propertyType.Id (each property type assigned)
+ -- CacheKeys.ContentTypePropertiesCacheKey + contentType.Id
+ - ContentType.RemoveFromDataTypeCache (clears static object/dictionary cache)
+ - InMemoryCacheProvider.Current.Clear();
+ - RoutesCache.Clear();
+
+
+
+
+ Clears cache for an individual IContentTypeBase object
+
+
+
+ See notes for the other overloaded ClearContentTypeCache for
+ full details on clearing cache.
+
+
+ Return true if the alias of the content type changed
+
+
+
+
+ Clears the cache for any content type with the specified Ids
+
+ true if the entity was deleted, false if it is just an update
+
+
+
+
+ A cache refresher to ensure member cache is updated when members change
+
+
+
+
+ Converts the json to a JsonPayload object
+
+
+
+
+
+
+ Creates the custom Json payload used to refresh cache amongst the servers
+
+
+
+
+
+
+ Converts a macro to a jsonPayload object
+
+
+
+
+
+
+ A cache refresher to ensure the dictionary cache is refreshed when dictionary change
+
+
+
+
+ Represents the entry point into Umbraco's distributed cache infrastructure.
+
+
+
+ The distributed cache infrastructure ensures that distributed caches are
+ invalidated properly in load balancing environments.
+
+
+ Distribute caches include static (in-memory) cache, runtime cache, front-end content cache, Examine/Lucene indexes
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Notifies the distributed cache of specifieds item invalidation, for a specified .
+
+ The type of the invalidated items.
+ The unique identifier of the ICacheRefresher.
+ A function returning the unique identifier of items.
+ The invalidated items.
+
+ This method is much better for performance because it does not need to re-lookup object instances.
+
+
+
+
+ Notifies the distributed cache of a specified item invalidation, for a specified .
+
+ The unique identifier of the ICacheRefresher.
+ The unique identifier of the invalidated item.
+
+
+
+ Notifies the distributed cache of a specified item invalidation, for a specified .
+
+ The unique identifier of the ICacheRefresher.
+ The unique identifier of the invalidated item.
+
+
+
+ Notifies the distributed cache, for a specified .
+
+ The unique identifier of the ICacheRefresher.
+ The notification content.
+
+
+
+ Notifies the distributed cache of a global invalidation for a specified .
+
+ The unique identifier of the ICacheRefresher.
+
+
+
+ Notifies the distributed cache of a specified item removal, for a specified .
+
+ The unique identifier of the ICacheRefresher.
+ The unique identifier of the removed item.
+
+
+
+ Notifies the distributed cache of specifieds item removal, for a specified .
+
+ The type of the removed items.
+ The unique identifier of the ICacheRefresher.
+ A function returning the unique identifier of items.
+ The removed items.
+
+ This method is much better for performance because it does not need to re-lookup object instances.
+
+
+
+
+ Gets the static unique instance of the class.
+
+ The static unique instance of the class.
+ Exists so that extension methods can be added to the distributed cache.
+
+
+
+ Extension methods for
+
+
+
+
+ Class which listens to events on business level objects in order to invalidate the cache amongst servers when data changes
+
+
+
+
+ Refreshes the xml cache for a single node by removing it
+
+
+
+
+ Refreshes the xml cache for all nodes
+
+
+
+
+ Refreshes the xml cache for nodes in list
+
+
+
+
+ Refreshes the xml cache for a single node
+
+
+
+
+ Handles cache refreshing for when content is trashed
+
+
+
+
+ This is for the unpublished page refresher - the entity will be unpublished before being moved to the trash
+ and the unpublished event will take care of remove it from any published caches
+
+
+
+
+ Handles cache refreshing for when content is copied
+
+
+
+
+ When an entity is copied new permissions may be assigned to it based on it's parent, if that is the
+ case then we need to clear all user permissions cache.
+
+
+
+
+ Handles cache refreshing for when content is deleted (not unpublished)
+
+
+
+
+
+
+ Handles cache refreshing for when content is saved (not published)
+
+
+
+
+ When an entity is saved we need to notify other servers about the change in order for the Examine indexes to
+ stay up-to-date for unpublished content.
+
+ When an entity is created new permissions may be assigned to it based on it's parent, if that is the
+ case then we need to clear all user permissions cache.
+
+
+
+
+ Fires when a langauge is deleted
+
+
+
+
+
+
+ Fires when a langauge is saved
+
+
+
+
+
+
+ Fires when a media type is deleted
+
+
+
+
+
+
+ Fires when a content type is deleted
+
+
+
+
+
+
+ Fires when a member type is deleted
+
+
+
+
+
+
+ Fires when a media type is saved
+
+
+
+
+
+
+ Fires when a content type is saved
+
+
+
+
+
+
+ Fires when a member type is saved
+
+
+
+
+
+
+ Removes cache for template
+
+
+
+
+
+
+ Refresh cache for template
+
+
+
+
+
+
+ A cache refresher to ensure language cache is refreshed when languages change
+
+
+
+
+ A cache refresher to ensure language cache is refreshed when languages change
+
+
+
+
+ A cache refresher to ensure macro cache is updated when members change
+
+
+ This is not intended to be used directly in your code and it should be sealed but due to legacy code we cannot seal it.
+
+
+
+
+ Converts the json to a JsonPayload object
+
+
+
+
+
+
+ Creates the custom Json payload used to refresh cache amongst the servers
+
+
+
+
+
+
+ Creates the custom Json payload used to refresh cache amongst the servers
+
+
+
+
+
+
+ Creates the custom Json payload used to refresh cache amongst the servers
+
+
+
+
+
+
+ Converts a macro to a jsonPayload object
+
+
+
+
+
+
+ Converts a macro to a jsonPayload object
+
+
+
+
+
+
+ Converts a macro to a jsonPayload object
+
+
+
+
+
+
+ A cache refresher to ensure media cache is updated
+
+
+ This is not intended to be used directly in your code and it should be sealed but due to legacy code we cannot seal it.
+
+
+
+
+ Converts the json to a JsonPayload object
+
+
+
+
+
+
+ Creates the custom Json payload used to refresh cache amongst the servers
+
+
+
+
+
+
+
+ Converts a macro to a jsonPayload object
+
+
+
+
+
+
+
+ A cache refresher to ensure member cache is updated when members change
+
+
+ This is not intended to be used directly in your code and it should be sealed but due to legacy code we cannot seal it.
+
+
+
+
+ Converts the json to a JsonPayload object
+
+
+
+
+
+
+ Creates the custom Json payload used to refresh cache amongst the servers
+
+
+
+
+
+
+ Converts a macro to a jsonPayload object
+
+
+
+
+
+
+ PageCacheRefresher is the standard CacheRefresher used by Load-Balancing in Umbraco.
+
+
+ If Load balancing is enabled (by default disabled, is set in umbracoSettings.config) PageCacheRefresher will be called
+ everytime content is added/updated/removed to ensure that the content cache is identical on all load balanced servers
+
+
+
+
+ Refreshes all nodes in umbraco.
+
+
+
+
+ Refreshes the cache for the node with specified id
+
+ The id.
+
+
+
+ Removes the node with the specified id from the cache
+
+ The id.
+
+
+
+ Gets the unique identifier of the CacheRefresher.
+
+ The unique identifier.
+
+
+
+ Gets the name of the CacheRefresher
+
+ The name.
+
+
+
+ A cache refresher to ensure stylesheet cache is refreshed when stylesheets change
+
+
+
+
+ A cache refresher to ensure stylesheet property cache is refreshed when stylesheet properties change
+
+
+
+
+ A cache refresher to ensure template cache is updated when members change
+
+
+ This is not intended to be used directly in your code and it should be sealed but due to legacy code we cannot seal it.
+
+
+
+
+ A cache refresher used for non-published content, this is primarily to notify Examine indexes to update and to refresh the RuntimeCacheRefresher
+
+
+
+
+ Converts the json to a JsonPayload object
+
+
+
+
+
+
+ Implement the IJsonCacheRefresher so that we can bulk delete the cache based on multiple IDs for when the recycle bin is emptied
+
+
+
+
+
+ Handles User cache invalidation/refreshing
+
+
+
+
+ Used only to invalidate the user permissions cache
+
+
+ The UserCacheRefresher will also clear a user's permissions cache, this refresher is for invalidating only permissions
+ for users/content, not the users themselves.
+
+
+
+
+ Handles User type cache invalidation/refreshing
+
+
+
+
+ The API controller used for editing content
+
+
+
+
+ Checks if the current user's cookie is valid and if so returns OK or a 400 (BadRequest)
+
+
+
+
+
+ Returns the currently logged in Umbraco user
+
+
+
+ We have the attribute [SetAngularAntiForgeryTokens] applied because this method is called initially to determine if the user
+ is valid before the login screen is displayed. The Auth cookie can be persisted for up to a day but the csrf cookies are only session
+ cookies which means that the auth cookie could be valid but the csrf cookies are no longer there, in that case we need to re-set the csrf cookies.
+
+
+
+
+ Logs a user in
+
+
+
+
+
+ Logs the current user out
+
+
+
+
+
+ The base controller that all Presentation Add-in controllers should inherit from
+
+
+
+
+ A base class for all plugin controllers to inherit from
+
+
+
+
+ stores the metadata about plugin controllers
+
+
+
+
+ Default constructor
+
+
+
+
+
+ Returns the metadata for a PluginController
+
+
+
+
+
+
+ Useful for debugging
+
+
+
+
+ Returns the MemberHelper instance
+
+
+
+
+ Returns an UmbracoHelper object
+
+
+
+
+ Returns an ILogger
+
+
+
+
+ Returns a ProfilingLogger
+
+
+
+
+ Returns the current UmbracoContext
+
+
+
+
+ Returns the current ApplicationContext
+
+
+
+
+ Returns a ServiceContext
+
+
+
+
+ Returns a DatabaseContext
+
+
+
+
+ Returns the metadata for this instance
+
+
+
+
+ Default constructor
+
+
+
+
+
+ Empty constructor, uses Singleton to resolve the UmbracoContext
+
+
+
+
+ Redirects to the Umbraco page with the given id
+
+
+
+
+
+
+ Redirects to the Umbraco page with the given id and passes provided querystring
+
+
+
+
+
+
+
+ Redirects to the Umbraco page with the given id and passes provided querystring
+
+
+
+
+
+
+
+ Redirects to the Umbraco page with the given id
+
+
+
+
+
+
+ Redirects to the Umbraco page with the given id and passes provided querystring
+
+
+
+
+
+
+
+ Redirects to the Umbraco page with the given id and passes provided querystring
+
+
+
+
+
+
+
+ Redirects to the currently rendered Umbraco page
+
+
+
+
+
+ Redirects to the currently rendered Umbraco page and passes provided querystring
+
+
+
+
+
+
+ Redirects to the currently rendered Umbraco page and passes provided querystring
+
+
+
+
+
+
+ Redirects to the currently rendered Umbraco URL
+
+
+
+ this is useful if you need to redirect
+ to the current page but the current page is actually a rewritten URL normally done with something like
+ Server.Transfer.
+
+
+
+
+ Returns the currently rendered Umbraco page
+
+
+
+
+
+ we need to recursively find the route definition based on the parent view context
+
+
+
+ We may have Child Actions within Child actions so we need to recursively look this up.
+ see: http://issues.umbraco.org/issue/U4-1844
+
+
+
+
+ Gets the current page.
+
+
+
+
+ The API controller used for editing content
+
+
+ This controller is decorated with the UmbracoApplicationAuthorizeAttribute which means that any user requesting
+ access to ALL of the methods on this controller will need access to the content application.
+
+
+
+
+ An abstract base controller used for media/content (and probably members) to try to reduce code replication.
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Maps the dto property values to the persisted model
+
+
+
+
+
+
+ A helper method to attempt to get the instance from the request storage if it can be found there,
+ otherwise gets it from the callback specified
+
+
+
+
+
+ This is useful for when filters have alraedy looked up a persisted entity and we don't want to have
+ to look it up again.
+
+
+
+
+ Returns true if the action passed in means we need to create something new
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Return content for the specified ids
+
+
+
+
+
+
+ Gets the content json for the content id
+
+
+
+
+
+
+ Gets an empty content item for the
+
+
+
+
+ If this is a container type, we'll remove the umbContainerView tab for a new item since
+ it cannot actually list children if it doesn't exist yet.
+
+
+
+
+ Gets the Url for a given node ID
+
+
+
+
+
+
+ Gets the children for the content id passed in
+
+
+
+
+
+ Saves content
+
+
+
+
+
+ Publishes a document with a given ID
+
+
+
+
+ The CanAccessContentAuthorize attribute will deny access to this method if the current user
+ does not have Publish access to this node.
+
+
+
+
+
+ Moves an item to the recycle bin, if it is already there then it will permanently delete it
+
+
+
+
+ The CanAccessContentAuthorize attribute will deny access to this method if the current user
+ does not have Delete access to this node.
+
+
+
+
+ Empties the recycle bin
+
+
+
+ attributed with EnsureUserPermissionForContent to verify the user has access to the recycle bin
+
+
+
+
+ Change the sort order for media
+
+
+
+
+
+
+ Change the sort order for media
+
+
+
+
+
+
+ Copies a content item and places the copy as a child of a given parent Id
+
+
+
+
+
+
+ Unpublishes a node with a given Id and returns the unpublished entity
+
+
+
+
+
+
+ Checks if the user is currently in preview mode and if so will update the preview content for this item
+
+
+
+
+
+ Maps the dto property values to the persisted model
+
+
+
+
+
+ Ensures the item can be moved/copied to the new location
+
+
+
+
+
+
+ Performs a permissions check for the user to check if it has access to the node based on
+ start node and/or permissions for the node
+
+ The storage to add the content item to so it can be reused
+
+
+
+ The content to lookup, if the contentItem is not specified
+
+ Specifies the already resolved content item to check against
+
+
+
+
+ Checks if the user has access to post a content item based on whether it's being created or saved.
+
+
+
+
+ Am abstract API controller providing functionality used for dealing with content and media types
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ A utility class for determine dashboard security
+
+
+
+
+ The API controller used for editing data types
+
+
+ This controller is decorated with the UmbracoApplicationAuthorizeAttribute which means that any user requesting
+ access to ALL of the methods on this controller will need access to the developer application.
+
+
+
+
+ Gets the content json for the content id
+
+
+
+
+ Permission is granted to this method if the user has access to any of these trees: DataTypes, Content or Media
+
+
+
+
+ Deletes a data type wth a given ID
+
+
+
+
+
+
+ Returns the pre-values for the specified property editor
+
+
+ The data type id for the pre-values, -1 if it is a new data type
+
+
+
+
+ Saves the data type
+
+
+
+
+
+
+ An action filter that wires up the persisted entity of the DataTypeSave model and validates the whole request
+
+
+
+
+ This allows for calling GetById/GetByIds with a GUID... so it will automatically route to GetByKey/GetByKeys
+
+
+
+
+ This get's applied to the EntityController in order to have a custom IHttpActionSelector assigned to it
+
+
+ NOTE: It is SOOOO important to remember that you cannot just assign this in the 'initialize' method of a webapi
+ controller as it will assign it GLOBALLY which is what you def do not want to do.
+
+
+
+
+ A controller used to return images for media
+
+
+
+
+ Gets the big thumbnail image for the media id
+
+
+
+
+ If there is no media, image property or image file is found then this will return not found.
+
+
+
+
+ Gets the big thumbnail image for the original image path
+
+
+
+
+ If there is no original image is found then this will return not found.
+
+
+
+
+ Gets a resized image for the media id
+
+
+
+
+
+ If there is no media, image property or image file is found then this will return not found.
+
+
+
+
+ Gets a resized image for the image at the given path
+
+
+
+
+
+ If there is no media, image property or image file is found then this will return not found.
+
+
+
+
+ Gets a resized image - if the requested max width is greater than the original image, only the original image will be returned.
+
+
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Disables the user with the given user id
+
+
+
+
+
+ The basic data type information
+
+
+
+
+ This is the unique Id stored in the database - but could also be the unique id for a custom membership provider
+
+
+
+
+ This will only be populated for some entities like macros
+
+
+
+
+ The path of the entity
+
+
+
+
+ A collection of extra data that is available for this specific entity/entity type
+
+
+
+
+ Whether or not this is a system data type, in which case it cannot be deleted
+
+
+
+
+ Used for basic member information
+
+
+
+
+ A model representing a basic content item with properties
+
+
+
+
+ A model representing a basic content item
+
+
+
+
+ The real persisted content object
+
+
+
+
+ The DTO object used to gather all required content data including data type information etc... for use with validation
+
+
+ We basically use this object to hydrate all required data from the database into one object so we can validate everything we need
+ instead of having to look up all the data individually.
+
+
+
+
+ A model representing a member list to be displayed in the back office
+
+
+
+
+ Defines the tabs containing display properties
+
+
+
+
+ Override the properties property to ensure we don't serialize this
+ and to simply return the properties based on the properties in the tabs collection
+
+
+ This property cannot be set
+
+
+
+
+ This is used for validation of a content item.
+
+
+ A content item can be invalid but still be saved. This occurs when there's property validation errors, we will
+ still save the item but it cannot be published. So we need a way of returning validation errors as well as the
+ updated model.
+
+
+
+
+ The name of the content type
+
+
+
+
+ Indicates if the content is configured as a list view container
+
+
+
+
+ This is used to add custom localized messages/strings to the response for the app to use for localized UI purposes.
+
+
+
+
+ This is used for validation of a content item.
+
+
+ A content item can be invalid but still be saved. This occurs when there's property validation errors, we will
+ still save the item but it cannot be published. So we need a way of returning validation errors as well as the
+ updated model.
+
+ NOTE: The ProperCase is important because when we return ModeState normally it will always be proper case.
+
+
+
+
+ The API controller used for building content queries within the template
+
+
+
+
+ Gets a list of all content types
+
+
+
+
+
+ Returns a collection of allowed properties.
+
+
+
+
+ Returns a collection of constraint conditions that can be used in the query
+
+
+
+
+ A model representing a content base item to be saved
+
+
+
+
+ The action to perform when saving this content item
+
+
+
+
+ A model representing a media item to be saved
+
+
+
+
+ Initialized a new instance of the class with properties.
+
+ The properties
+ Properties must be detached or nested properties ie their property type must be detached or nested.
+ Such a detached content can be part of a published property value.
+
+
+
+ Used for steps to be able to return a json structure back to the UI
+
+
+
+
+ An internal in-memory status tracker for the current installation
+
+
+
+
+ This step is purely here to show the button to commence the upgrade
+
+
+
+
+ This is the first UI step for a brand new install
+
+
+ By default this will show the user view which is the most basic information to configure a new install, but if an install get's interupted because of an
+ error, etc... and the end-user refreshes the installer then we cannot show the user screen because they've already entered that information so instead we'll
+ display a simple continue installation view.
+
+
+
+
+ Return a custom view model for this step
+
+
+
+
+ A controller for the installation process regarding packages
+
+
+ Currently this is used for web services however we should/could eventually migrate the whole installer to MVC as it
+ is a bit of a mess currently.
+
+
+
+
+ Empty action, useful for retrieving the base url for this controller
+
+
+
+
+
+ Connects to the repo, downloads the package and creates the manifest
+
+
+
+
+
+
+ Installs the files in the package
+
+
+
+
+
+ Ensures the app pool is restarted
+
+
+
+
+
+ Checks if the app pool has completed restarted
+
+
+
+
+
+ Installs the business logic portion of the package after app restart
+
+
+
+
+
+ Cleans up the package installation
+
+
+
+
+
+ Returned to the UI for each installation step that is completed
+
+
+
+
+ The UI view to show when this step executes, by default no views are shown for the completion of a step unless explicitly specified.
+
+
+
+
+ The view model to return to the UI if this step is returning a view (optional)
+
+
+
+
+ Model containing all the install steps for setting up the UI
+
+
+
+
+ The object returned from each installation step
+
+
+
+
+ Data that is persisted to the installation file which can be used from other installation steps
+
+
+
+
+ The UI view to show when this step executes, by default no views are shown for the completion of a step unless explicitly specified.
+
+
+
+
+ The view model to return to the UI if this step is returning a view (optional)
+
+
+
+
+ A flag to notify the installer that this step performs an app pool restart, this can be handy to know since if the current
+ step is performing a restart, we cannot 'look ahead' to see if the next step can execute since we won't know until the app pool
+ is restarted.
+
+
+
+
+ An area registration for back office components
+
+
+
+
+ Create the routes for the area
+
+
+
+ By using the context to register the routes it means that the area is already applied to them all
+ and that the namespaces searched for the controllers are ONLY the ones specified.
+
+
+
+
+ Gets the install setup
+
+
+
+
+
+ Does the install
+
+
+
+
+
+ We'll peek ahead and check if it's RequiresExecution is returning true. If it
+ is not, we'll dequeue that step and peek ahead again (recurse)
+
+
+
+
+
+
+
+
+
+ Check if the step requires execution
+
+
+
+
+
+
+
+ Returns the current UmbracoContext
+
+
+
+
+ The MVC Installation controller
+
+
+ NOTE: All views must have their full paths as we do not have a custom view engine for the installation views!
+
+
+
+
+ Ensures authorization occurs for the installer if it has already completed. If install has not yet occured
+ then the authorization is successful
+
+
+
+
+ THIS SHOULD BE ONLY USED FOR UNIT TESTS
+
+
+
+
+
+ Ensures that the user must be logged in or that the application is not configured just yet.
+
+
+
+
+
+
+ Override to redirect instead of throwing an exception
+
+
+
+
+
+ Represents a search result by entity type
+
+
+
+
+ An abstract model representing a content item that can be contained in a list view
+
+
+
+
+
+
+ Property indicating if this item is part of a list view parent
+
+
+
+
+ Property for the entity's individual tree node URL
+
+
+ This is required if the item is a child of a list view since the tree won't actually be loaded,
+ so the app will need to go fetch the individual tree node in order to be able to load it's action list (menu)
+
+
+
+
+ An object representing the property type validation settings
+
+
+
+
+ Extension methods for the PartialViewMacroModel object
+
+
+
+
+ Attempt to get a Macro parameter from a PartialViewMacroModel and return a default value otherwise
+
+
+
+
+ Parameter value if available, the default value that was passed otherwise.
+
+
+
+ Attempt to get a Macro parameter from a PartialViewMacroModel
+
+
+
+ Parameter value if available, the default value for the type otherwise.
+
+
+
+ A base model containing a value to indicate to Umbraco where to redirect to after Posting if
+ a developer doesn't want the controller to redirect to the current Umbraco page - which is the default.
+
+
+
+
+ The path to redirect to when update is successful, if not specified then the user will be
+ redirected to the current Umbraco page
+
+
+
+
+ Creates a detached published property.
+
+ A published property type.
+ The property data raw value.
+ A value indicating whether to evaluate the property value in previewing context.
+ A detached published property holding the value.
+
+
+
+ Maps a collection of Property to a collection of IPublishedProperty for a specified collection of PublishedPropertyType.
+
+ The published property types.
+ The properties.
+ A mapping function.
+ A collection of IPublishedProperty corresponding to the collection of PublishedPropertyType
+ and taking values from the collection of Property.
+ Ensures that all conversions took place correctly.
+
+
+
+ Used for authorizing scheduled tasks
+
+
+
+
+ THIS SHOULD BE ONLY USED FOR UNIT TESTS
+
+
+
+
+
+ Used to return the full value that needs to go in the Authorization header
+
+
+
+
+
+
+ Ensures that the user must be in the Administrator or the Install role
+
+
+
+
+
+
+ Redirects to the current URL rendering an Umbraco page including it's query strings
+
+
+ This is useful if you need to redirect
+ to the current page but the current page is actually a rewritten URL normally done with something like
+ Server.Transfer. It is also handy if you want to persist the query strings.
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+ Overridden to ensure that the value is validated
+
+
+
+
+
+ Useful when returning a custom value editor when your property editor is attributed, it ensures the attribute
+ values are copied across to your custom value editor.
+
+
+
+
+ Ensures macro syntax is parsed for the macro container which will work when getting the field
+ values in any way (i.e. dynamically, using Field(), or IPublishedContent)
+
+
+
+
+ A controller used for type-ahead values for tags
+
+
+ DO NOT inherit from UmbracoAuthorizedJsonController since we don't want to use the angularized
+ json formatter as it causes probs.
+
+
+
+
+ Exposes a member object as IPublishedContent
+
+
+
+
+ A published property base that uses a raw object value
+
+
+
+
+ Gets the raw value of the property.
+
+
+
+
+ Represents the model for the current rendering page in Umbraco
+
+
+
+
+ Constructor specifying both the IPublishedContent and the CultureInfo
+
+
+
+
+
+
+ Constructor to set the IPublishedContent and the CurrentCulture is set by the UmbracoContext
+
+
+
+
+
+ Returns the current IPublishedContent object
+
+
+
+
+ Returns the current Culture assigned to the page being rendered
+
+
+
+
+ Constructor specifying both the IPublishedContent and the CultureInfo
+
+
+
+
+
+
+ Constructor to set the IPublishedContent and the CurrentCulture is set by the UmbracoContext
+
+
+
+
+
+ Returns the current IPublishedContent object
+
+
+
+
+ Custom json result using newtonsoft json.net
+
+
+
+
+ Minifies the result for the JavaScriptResult
+
+
+ Only minifies in release mode
+
+
+
+
+ Minify the result if in release mode
+
+
+
+
+
+ Used for custom routed pages that are being integrated with the Umbraco data but are not
+ part of the umbraco request pipeline. This allows umbraco macros to be able to execute in this scenario.
+
+
+ This is inspired from this discussion:
+ http://our.umbraco.org/forum/developers/extending-umbraco/41367-Umbraco-6-MVC-Custom-MVC-Route?p=3
+
+ which is based on custom routing found here:
+ http://shazwazza.com/post/Custom-MVC-routing-in-Umbraco
+
+
+
+
+ Constructor - can be used for testing
+
+
+
+
+
+
+
+ A constructor used to set an explicit content Id to the PublishedContentRequest that will be created
+
+
+
+
+
+ A constructor used to set the data token key name that contains a reference to a PublishedContent instance
+
+
+
+
+
+ Constructor - can be used for testing
+
+
+
+
+
+
+
+ This assigns the published content to the request, developers can override this to specify
+ any other custom attributes required.
+
+
+
+
+
+
+ Exposes the UmbracoContext
+
+
+
+
+ Exposes an UmbracoHelper
+
+
+
+
+ The View that umbraco front-end views inherit from
+
+
+
+
+ Ensure that the current view context is added to the route data tokens so we can extract it if we like
+
+
+ Currently this is required by mvc macro engines
+
+
+
+
+ This will detect the end /body tag and insert the preview badge if in preview mode
+
+
+
+
+
+ Returns the current UmbracoContext
+
+
+
+
+ Returns the current ApplicationContext
+
+
+
+
+ Returns the current PublishedContentRequest
+
+
+
+
+ Gets an UmbracoHelper
+
+
+ This constructs the UmbracoHelper with the content model of the page routed to
+
+
+
+
+ Returns the MemberHelper instance
+
+
+
+
+ Returns the content as a dynamic object
+
+
+
+
+ The API controller used for getting log history
+
+
+
+
+ API controller to deal with Macro data
+
+
+
+
+ Gets the macro parameters to be filled in for a particular macro
+
+
+
+ Note that ALL logged in users have access to this method because editors will need to isnert macros into rte (content/media/members) and it's used for
+ inserting into templates/views/etc... it doesn't expose any sensitive data.
+
+
+
+
+
+ Gets a rendered macro as html for rendering in the rich text editor.
+ Using HTTP POST instead of GET allows for more parameters to be passed as it's not dependant on URL-length limitations like GET.
+ The method using GET is kept to maintain backwards compatibility
+
+
+
+
+
+
+ An API controller used for dealing with content types
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Returns all member types
+
+
+
+
+ Adds the cookie response if it was successful
+
+
+ A filter is required because we are returning an object from the get method and not an HttpResponseMessage
+
+
+
+
+ Returns the configuration of the membership provider used to configure change password editors
+
+
+
+
+
+
+ A model representing the data required to set a member/user password depending on the provider installed.
+
+
+
+
+ The password value
+
+
+ This
+
+
+
+
+ The old password - used to change a password when: EnablePasswordRetrieval = false
+
+
+
+
+ Set to true if the password is to be reset - only valid when: EnablePasswordReset = true
+
+
+
+
+ The password answer - required for reset when: RequiresQuestionAndAnswer = true
+
+
+
+
+ This is filled in on the server side if the password has been reset/generated
+
+
+
+
+ A generic model supporting notifications, this is useful for returning any model type to include notifications from api controllers
+
+
+
+
+
+ The generic value
+
+
+
+
+ The notifications
+
+
+
+
+ The API controller used for retrieving available stylesheets
+
+
+
+
+ A model representing a model for moving or copying
+
+
+
+
+ The Id of the node to move or copy to
+
+
+
+
+ The id of the node to move or copy
+
+
+
+
+ Boolean indicating whether copying the object should create a relation to it's original
+
+
+
+
+ Boolean indicating whether copying the object should be recursive
+
+
+
+
+ Represents a macro parameter with an editor
+
+
+
+
+ The editor view to render for this parameter
+
+
+
+
+ The configuration for this parameter editor
+
+
+
+
+ Since we don't post this back this isn't currently really used on the server side
+
+
+
+
+ A model representing a member to be displayed in the back office
+
+
+
+
+ This is used to indicate how to map the membership provider properties to the save model, this mapping
+ will change if a developer has opted to have custom member property aliases specified in their membership provider config,
+ or if we are editing a member that is not an Umbraco member (custom provider)
+
+
+
+
+ A model representing a member to be saved
+
+
+
+
+ Represents the type's of Umbraco entities that can be resolved from the EntityController
+
+
+
+
+ Domain
+
+
+
+
+ Language
+
+
+
+
+ User
+
+
+
+
+ Macro
+
+
+
+
+ Document
+
+
+
+
+ Media
+
+
+
+
+ Member Type
+
+
+
+
+ Template
+
+
+
+
+ Member Group
+
+
+
+
+ Content Item
+
+
+
+
+ "Media Type
+
+
+
+
+ Document Type
+
+
+
+
+ Stylesheet
+
+
+
+
+ Member
+
+
+
+
+ Data Type
+
+
+
+
+ Property Type
+
+
+
+
+ Property Group
+
+
+
+
+ Defines audit trail log types
+
+
+
+
+ Used when new nodes are added
+
+
+
+
+ Used when nodes are saved
+
+
+
+
+ Used when nodes are opened
+
+
+
+
+ Used when nodes are deleted
+
+
+
+
+ Used when nodes are published
+
+
+
+
+ Used when nodes are send to publishing
+
+
+
+
+ Used when nodes are unpublished
+
+
+
+
+ Used when nodes are moved
+
+
+
+
+ Used when nodes are copied
+
+
+
+
+ Used when nodes are assígned a domain
+
+
+
+
+ Used when public access are changed for a node
+
+
+
+
+ Used when nodes are sorted
+
+
+
+
+ Used when a notification are send to a user
+
+
+
+
+ Used when a node's content is rolled back to a previous version
+
+
+
+
+ Used when a package is installed
+
+
+
+
+ Used when a package is uninstalled
+
+
+
+
+ Used when a node is send to translation
+
+
+
+
+ Declares model mappings for macros.
+
+
+
+
+ Declares model mappings for members.
+
+
+
+
+ Maps the generic tab with custom properties for content
+
+
+
+
+
+ If this is a new entity and there is an approved field then we'll set it to true by default.
+
+
+
+
+ Returns the login property display field
+
+
+
+
+
+
+ If the membership provider installed is the umbraco membership provider, then we will allow changing the username, however if
+ the membership provider is a custom one, we cannot allow chaning the username because MembershipProvider's do not actually natively
+ allow that.
+
+
+
+
+ This ensures that the custom membership provider properties are not mapped - these property values are controller by the membership provider
+
+
+ Because these properties don't exist on the form, if we don't remove them for this map we'll get validation errors when posting data
+
+
+
+
+ A custom tab/property resolver for members which will ensure that the built-in membership properties are or arent' displayed
+ depending on if the member type has these properties
+
+
+ This also ensures that the IsLocked out property is readonly when the member is not locked out - this is because
+ an admin cannot actually set isLockedOut = true, they can only unlock.
+
+
+
+
+ Creates the tabs collection with properties assigned for display models
+
+
+
+
+ Maps properties on to the generic properties tab
+
+
+
+
+ Any additional custom properties to assign to the generic properties tab.
+
+
+
+ The generic properties tab is mapped during AfterMap and is responsible for
+ setting up the properties such as Created date, updated date, template selected, etc...
+
+
+
+
+ Adds the container (listview) tab to the document
+
+
+
+ This must be either 'content' or 'media'
+
+
+
+
+ A resolver to map the provider field aliases
+
+
+
+
+ A model representing an attempt at changing a password
+
+
+
+
+ The error affiliated with the failing password changes, null if changing was successful
+
+
+
+
+ If the password was reset, this is the value it has been changed to
+
+
+
+
+ Pre-value editor used to create a list of items
+
+
+ This pre-value editor is shared with editors like drop down, checkbox list, etc....
+
+
+
+
+ Creates the pre-value fields
+
+
+
+
+
+ The editor is expecting a json array for a field with a key named "items" so we need to format the persisted values
+ to this format to be used in the editor.
+
+
+
+
+
+
+
+ Formats the prevalue as a dictionary (as we need to return not just the value, but also the sort-order, to the client)
+
+ The prevalue to format
+ Dictionary object containing the prevalue formatted with the field names as keys and the value of those fields as the values
+
+
+
+ Need to format the delimited posted string to individual values
+
+
+
+
+ A string/string dictionary since all values that need to be persisted in the database are strings.
+
+
+ This is mostly because we want to maintain compatibility with v6 drop down property editors that store their prevalues in different db rows.
+
+
+
+
+ A custom validator to ensure that all values in the list are unique
+
+
+
+
+ We're going to bind to the MediaService Saving event so that we can populate the umbracoFile size, type, etc... label fields
+ if we find any attached to the current media item.
+
+
+ I think this kind of logic belongs on this property editor, I guess it could exist elsewhere but it all has to do with the cropper.
+
+
+
+
+ Creates our custom value editor
+
+
+
+
+
+ Ensures any files associated are removed
+
+
+
+
+
+ Ensures any files associated are removed
+
+
+
+
+
+ After the content is copied we need to check if there are files that also need to be copied
+
+
+
+
+
+
+ Overrides the deserialize value so that we can save the file accordingly
+
+
+ This is value passed in from the editor. We normally don't care what the editorValue.Value is set to because
+ we are more interested in the files collection associated with it, however we do care about the value if we
+ are clearing files. By default the editorValue.Value will just be set to the name of the file (but again, we
+ just ignore this and deal with the file collection in editorValue.AdditionalData.ContainsKey("files") )
+
+
+ The current value persisted for this property. This will allow us to determine if we want to create a new
+ file path or use the existing file path.
+
+
+
+
+
+ Creates a pre value editor instance
+
+
+
+
+
+ This ensures the multiPicker pre-val is set based on the maxNumber of nodes set
+
+
+
+
+
+ Due to compatibility with 7.0.0 the multiPicker pre-val might already exist in the db, but we've removed that setting in 7.0.1 so we need to detect it and if it is
+ there, then we'll set the maxNumber to '1'
+
+
+
+
+ Indicates that the property editor requires this asset be loaded when the back office is loaded
+
+
+ This wraps a CDF asset
+
+
+
+
+ Returns a CDF file reference
+
+
+
+
+ A controller used for the embed dialog
+
+
+
+
+ The API controller used for getting entity objects, basic name, icon, id representation of umbraco objects that are based on CMSNode
+
+
+ Some objects such as macros are not based on CMSNode
+
+
+
+
+ Searches for results based on the entity type
+
+
+
+
+ A starting point for the search, generally a node id, but for members this is a member type alias
+
+
+
+
+
+ Searches for all content that the user is allowed to see (based on their allowed sections)
+
+
+
+
+ Even though a normal entity search will allow any user to search on a entity type that they may not have access to edit, we need
+ to filter these results to the sections they are allowed to edit since this search function is explicitly for the global search
+ so if we showed entities that they weren't allowed to edit they would get errors when clicking on the result.
+
+ The reason a user is allowed to search individual entity types that they are not allowed to edit is because those search
+ methods might be used in things like pickers in the content editor.
+
+
+
+
+ Gets the path for a given node ID
+
+
+
+
+
+
+
+ Gets an entity by it's unique id if the entity supports that
+
+
+
+
+
+
+
+ Gets an entity by a xpath query
+
+
+
+
+
+
+
+
+ Searches for results based on the entity type
+
+
+
+
+ A starting point for the search, generally a node id, but for members this is a member type alias
+
+
+
+
+
+ Returns a collection of entities for media based on search results
+
+
+
+
+
+
+ Returns a collection of entities for media based on search results
+
+
+
+
+
+
+ Returns a collection of entities for content based on search results
+
+
+
+
+
+
+ Gets the result for the entity list based on the type
+
+
+ A string where filter that will filter the results dynamically with linq - optional
+ the parameters to fill in the string where filter - optional
+
+
+
+
+ Executes the post filter against a collection of objects
+
+
+
+
+
+
+
+
+
+ Checks if the user has access to post a content item based on whether it's being created or saved.
+
+
+
+
+ This controller is decorated with the UmbracoApplicationAuthorizeAttribute which means that any user requesting
+ access to ALL of the methods on this controller will need access to the member application.
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Returns a display node with a list view to render members
+
+
+
+
+
+
+ Gets the content json for the member
+
+
+
+
+
+
+ Gets an empty content item for the
+
+
+
+
+
+
+ Saves member
+
+
+
+
+
+ Maps the property values to the persisted entity
+
+
+
+
+
+ Update the membership user using the membership provider (for things like email, etc...)
+ If a password change is detected then we'll try that too.
+
+
+
+ If the password has been reset then this method will return the reset/generated password, otherwise will return null.
+
+
+
+
+ Re-fetches the database data to map to the PersistedContent object and re-assigns the already mapped the posted properties so that the display object is up-to-date
+
+
+
+ This is done during an update if the membership provider has changed some underlying data - we need to ensure that our model is consistent with that data
+
+
+
+
+ Following a refresh of member data called during an update if the membership provider has changed some underlying data,
+ we don't want to lose the provided, and potentiallly changed, username
+
+
+
+
+
+
+ This is going to create the user with the membership provider and check for validation
+
+
+
+
+
+ Depending on if the Umbraco membership provider is active or not, the process differs slightly:
+
+ * If the umbraco membership provider is used - we create the membership user first with the membership provider, since
+ it's the umbraco membership provider, this writes to the umbraco tables. When that is complete we re-fetch the IMember
+ model data from the db. In this case we don't care what the provider user key is.
+ * If we're using a non-umbraco membership provider - we check if there is a 'Member' member type - if so
+ we create an empty IMember instance first (of type 'Member'), this gives us a unique ID (GUID)
+ that we then use to create the member in the custom membership provider. This acts as the link between Umbraco data and
+ the custom membership provider data. This gives us the ability to eventually have custom membership properties but still use
+ a custom memberhip provider. If there is no 'Member' member type, then we will simply just create the membership provider member
+ with no link to our data.
+
+ If this is successful, it will go and re-fetch the IMember from the db because it will now have an ID because the Umbraco provider
+ uses the umbraco data store - then of course we need to re-map it to the saved property values.
+
+
+
+
+ Permanently deletes a member
+
+
+
+
+
+
+
+ Returns the currently configured membership scenario for members in umbraco
+
+
+
+
+
+ Controller to back the User.Resource service, used for fetching user data when already authenticated. user.service is currently used for handling authentication
+
+
+
+
+ Returns the configuration for the backoffice user membership provider - used to configure the change password dialog
+
+
+
+
+
+ Changes the users password
+
+
+
+ If the password is being reset it will return the newly reset password, otherwise will return an empty value
+
+
+
+
+ Represents a data type that is being edited
+
+
+
+
+ The alias of the property editor
+
+
+
+
+ This is used to add custom localized messages/strings to the response for the app to use for localized UI purposes.
+
+
+
+
+ The action to perform when saving this data type
+
+
+ If either of the Publish actions are specified an exception will be thrown.
+
+
+
+
+ The real persisted data type
+
+
+
+
+ The PropertyEditor assigned
+
+
+
+
+ Defines a pre value editable field for a data type
+
+
+
+
+ Defines a pre value editable field for a data type
+
+
+
+
+ The key to store the pre-value against
+
+
+
+
+ The value stored for the pre-value field
+
+
+
+
+ The name to display for this pre-value field
+
+
+
+
+ The description to display for this pre-value field
+
+
+
+
+ Specifies whether to hide the label for the pre-value
+
+
+
+
+ The view to render for the field
+
+
+
+
+ Defines an available property editor to be able to select for a data type
+
+
+
+
+ Gets the DataTypeDatabaseType from the selected property editor for the data type
+
+
+
+
+ Configure's model mappings for Data types
+
+
+
+
+ Maps pre-values in the dictionary to the values for the fields
+
+
+
+
+
+
+ A property editor to allow multiple checkbox selection of pre-defined items.
+
+
+ Due to remaining backwards compatible, this stores the id of the checkbox items in the database
+ as INT and we have logic in here to ensure it is formatted correctly including ensuring that the string value is published
+ in cache and not the int ID.
+
+
+
+
+ Return a custom pre-value editor
+
+
+
+ We are just going to re-use the ValueListPreValueEditor
+
+
+
+
+ We need to override the value editor so that we can ensure the string value is published in cache and not the integer ID value.
+
+
+
+
+
+ Return a custom pre-value editor
+
+
+
+ ColorListPreValueEditor uses the ValueListPreValueEditor with a custom view and controller.
+
+
+
+
+ CUstom value editor so we can serialize with the correct date format (excluding time)
+ and includes the date validator
+
+
+
+
+ Overridden because we ONLY support Date + Time format
+
+
+
+
+ Used to validate if the value is a valid date/time
+
+
+
+
+ A property editor to allow multiple selection of pre-defined items
+
+
+ Due to maintaining backwards compatibility this data type stores the value as a string which is a comma separated value of the
+ ids of the individual items so we have logic in here to deal with that.
+
+
+
+
+ A property editor to allow multiple selection of pre-defined items
+
+
+ Due to maintaining backwards compatibility this data type stores the value as a string which is a comma separated value of the
+ ids of the individual items so we have logic in here to deal with that.
+
+
+
+
+ A property editor to allow the individual selection of pre-defined items.
+
+
+ Due to remaining backwards compatible, this stores the id of the drop down item in the database which is why it is marked
+ as INT and we have logic in here to ensure it is formatted correctly including ensuring that the string value is published
+ in cache and not the int ID.
+
+
+
+
+ A property editor to allow the individual selection of pre-defined items.
+
+
+ Due to remaining backwards compatible, this stores the id of the drop down item in the database which is why it is marked
+ as INT and we have logic in here to ensure it is formatted correctly including ensuring that the INT ID value is published
+ in cache and not the string value.
+
+
+
+
+ Return a custom pre-value editor
+
+
+
+
+
+ We need to override the value editor so that we can ensure the string value is published in cache and not the integer ID value.
+
+
+
+
+
+ A pre-value editor for the 'drop down list multiple' property editor that ensures that 'multiple' is saved for the config in the db but is not
+ rendered as a pre-value field.
+
+
+ This is mostly to maintain backwards compatibility with old property editors. Devs can now simply use the Drop down property editor and check the multiple pre-value checkbox
+
+
+
+
+ Always
+
+
+
+
+
+
+
+ Overridden to ensure that the value is validated
+
+
+
+
+
+ A custom pre-value editor class to deal with the legacy way that the pre-value data is stored.
+
+
+
+
+ A custom pre-value editor class to deal with the legacy way that the pre-value data is stored.
+
+
+
+
+ Need to change how we persist the values so they are compatible with the legacy way we store values
+
+
+
+
+
+
+
+ Need to deal with the legacy way of storing pre-values and turn them into nice values for the editor
+
+
+
+
+
+
+
+ Custom value editor so we can format the value for the editor and the database
+
+
+
+
+ The value passed in from the editor will be an array of simple objects so we'll need to parse them to get the string
+
+
+
+
+
+ We will also check the pre-values here, if there are more items than what is allowed we'll just trim the end
+
+
+
+
+ We are actually passing back an array of simple objects instead of an array of strings because in angular a primitive (string) value
+ cannot have 2 way binding, so to get around that each item in the array needs to be an object with a string.
+
+
+
+
+
+
+ The legacy property editor saved this data as new line delimited! strange but we have to maintain that.
+
+
+
+
+ Custom value editor to handle posted json data and to return json data for the multiple selected items as well as ensuring
+ that the multiple selected int IDs are published to cache as a delimited string (values)
+
+
+ This is re-used by editors such as the multiple drop down list or check box list
+
+
+
+
+ A custom value editor for any property editor that stores a pre-value int id so that we can ensure that the 'value' not the ID get's put into cache
+
+
+ This is required for legacy/backwards compatibility, otherwise we'd just store the string version and cache the string version without
+ needing additional lookups.
+
+
+
+
+ Need to lookup the pre-values and put the string version in cache, not the ID (which is what is stored in the db)
+
+
+
+
+
+
+
+
+ If publishing ids, we don't need to do anything, otherwise we need to look up the pre-values and get the string values
+
+
+
+
+
+
+
+
+ Override so that we can return a json array to the editor for multi-select values
+
+
+
+
+
+
+
+
+ When multiple values are selected a json array will be posted back so we need to format for storage in
+ the database which is a comma separated ID value
+
+
+
+
+
+
+
+ A property editor to allow the individual selection of pre-defined items.
+
+
+ Due to remaining backwards compatible, this stores the id of the item in the database which is why it is marked
+ as INT and we have logic in here to ensure it is formatted correctly including ensuring that the INT ID value is published
+ in cache and not the string value.
+
+
+
+
+ ApiController to provide RTE configuration with available plugins and commands from the RTE config
+
+
+
+
+ Used to dynamically change the tag group and storage type based on the pre-values
+
+
+
+
+ Override to supply the default group
+
+
+
+
+ This needs to return IEnumerable{string}
+
+
+
+
+
+
+
+ Returns the validator used for the required field validation which is specified on the PropertyType
+
+
+ This will become legacy as soon as we implement overridable pre-values.
+
+ The default validator used is the RequiredValueValidator but this can be overridden by property editors
+ if they need to do some custom validation, or if the value being validated is a json object.
+
+
+
+
+ Custom validator to validate a required value against an empty json value
+
+
+ This is required because the Tags property editor is not of type 'JSON', it's just string so the underlying
+ validator does not validate against an empty json string
+
+
+
+
+ Validates a null value or an empty json value
+
+
+
+
+
+
+
+
+
+ Custom value editor to mark it as readonly
+
+
+
+
+ This editor is for display purposes only, any values bound to it will not be saved back to the database
+
+
+
+
+ Chuck all the values into one field so devs can see what is stored there - we want this in case we've converted a legacy proeprty editor over to a label
+ we should still show the pre-values stored for the data type.
+
+
+
+
+
+
+
+ A class used to query for published content, media items
+
+
+
+
+ Constructor used to return results from the caches
+
+
+
+
+
+
+ Constructor used to wrap the ITypedPublishedContentQuery and IDynamicPublishedContentQuery objects passed in
+
+
+
+
+
+
+ Searches content
+
+
+
+
+
+
+
+
+ Searhes content
+
+
+
+
+
+
+
+ Searches content
+
+
+
+
+
+
+
+
+ Searhes content
+
+
+
+
+
+
+
+ Provides extension methods for getting ImageProcessor Url from the core Image Cropper property editor
+
+
+
+
+ Gets the ImageProcessor Url by the crop alias (from the "umbracoFile" property alias) on the IPublishedContent item
+
+
+ The IPublishedContent item.
+
+
+ The crop alias e.g. thumbnail
+
+
+ The ImageProcessor.Web Url.
+
+
+
+
+ Gets the ImageProcessor Url by the crop alias using the specified property containing the image cropper Json data on the IPublishedContent item.
+
+
+ The IPublishedContent item.
+
+
+ The property alias of the property containing the Json data e.g. umbracoFile
+
+
+ The crop alias e.g. thumbnail
+
+
+ The ImageProcessor.Web Url.
+
+
+
+
+ Gets the ImageProcessor Url from the IPublishedContent item.
+
+
+ The IPublishedContent item.
+
+
+ The width of the output image.
+
+
+ The height of the output image.
+
+
+ Property alias of the property containing the Json data.
+
+
+ The crop alias.
+
+
+ Quality percentage of the output image.
+
+
+ The image crop mode.
+
+
+ The image crop anchor.
+
+
+ Use focal point, to generate an output image using the focal point instead of the predefined crop
+
+
+ Use crop dimensions to have the output image sized according to the predefined crop sizes, this will override the width and height parameters>.
+
+
+ Add a serialised date of the last edit of the item to ensure client cache refresh when updated
+
+
+ The further options.
+
+
+ Use a dimension as a ratio
+
+
+ If the image should be upscaled to requested dimensions
+
+
+ The .
+
+
+
+
+ Gets the ImageProcessor Url from the image path.
+
+
+ The image url.
+
+
+ The width of the output image.
+
+
+ The height of the output image.
+
+
+ The Json data from the Umbraco Core Image Cropper property editor
+
+
+ The crop alias.
+
+
+ Quality percentage of the output image.
+
+
+ The image crop mode.
+
+
+ The image crop anchor.
+
+
+ Use focal point to generate an output image using the focal point instead of the predefined crop if there is one
+
+
+ Use crop dimensions to have the output image sized according to the predefined crop sizes, this will override the width and height parameters
+
+
+ Add a serialised date of the last edit of the item to ensure client cache refresh when updated
+
+
+ The further options.
+
+
+ Use a dimension as a ratio
+
+
+ If the image should be upscaled to requested dimensions
+
+
+ The .
+
+
+
+
+ This url provider is used purely to deal with umbraco custom routes that utilize UmbracoVirtualNodeRouteHandler and will return
+ the URL returned from the current PublishedContentRequest.PublishedContent (virtual node) if the request is in fact a virtual route and
+ the id that is being requested matches the id of the current PublishedContentRequest.PublishedContent.
+
+
+
+
+ Provides urls.
+
+
+
+
+ Gets the nice url of a published content.
+
+ The Umbraco context.
+ The published content id.
+ The current absolute url.
+ The url mode.
+ The url for the published content.
+
+ The url is absolute or relative depending on mode and on current.
+ If the provider is unable to provide a url, it should return null.
+
+
+
+
+ Gets the other urls of a published content.
+
+ The Umbraco context.
+ The published content id.
+ The current absolute url.
+ The other urls for the published content.
+
+ Other urls are those that GetUrl would not return in the current context, but would be valid
+ urls for the node in other contexts (different domain for current request, umbracoUrlAlias...).
+
+
+
+
+ This will simply return the URL that is returned by the assigned IPublishedContent if this is a custom route
+
+
+
+
+
+
+
+
+
+ This always returns null because this url provider is used purely to deal with Umbraco custom routes with
+ UmbracoVirtualNodeRouteHandler, we really only care about the normal URL so that RedirectToCurrentUmbracoPage() works
+ with SurfaceControllers
+
+
+
+
+
+
+
+
+ Gets the URLs for the content item
+
+
+
+
+
+ Use this when displaying URLs, if there are errors genertaing the urls the urls themselves will
+ contain the errors.
+
+
+
+
+ Provides options to the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value indicating whether the running task should be a long-running,
+ coarse grained operation.
+
+
+
+
+ Gets or sets a value indicating whether the running task should block and wait
+ on the queue, or end, when the queue is empty.
+
+
+
+
+ Gets or sets a value indicating whether the running task should start immediately
+ or only once a task has been added to the queue.
+
+
+
+
+ Gets or sets a value indicating whether the running task should be preserved
+ once completed, or reset to null. For unit tests.
+
+
+
+
+ Gets or sets a value indicating whether the runner should register with (and be
+ stopped by) the hosting. Otherwise, something else should take care of stopping
+ the runner. True by default.
+
+
+
+
+ Provides a base class for recurring background tasks.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The task runner.
+ The delay.
+ The period.
+ The task will repeat itself periodically. Use this constructor to create a new task.
+
+
+
+ Implements IBackgroundTask.Run().
+
+ Classes inheriting from RecurringTaskBase must implement PerformRun.
+
+
+
+ Implements IBackgroundTask.RunAsync().
+
+ Classes inheriting from RecurringTaskBase must implement PerformRun.
+
+
+
+ Runs the background task.
+
+ A value indicating whether to repeat the task.
+
+
+
+ Runs the task asynchronously.
+
+ A cancellation token.
+ A instance representing the execution of the background task,
+ and returning a value indicating whether to repeat the task.
+
+
+
+ Sets the OWIN logger to use Umbraco's logging system
+
+
+
+
+
+ Configure Default Identity User Manager for Umbraco
+
+
+
+
+
+
+
+ Configure a custom UserStore with the Identity User Manager for Umbraco
+
+
+
+
+
+
+
+
+ Configure a custom BackOfficeUserManager for Umbraco
+
+
+
+
+
+
+
+ Ensures that the UmbracoBackOfficeAuthenticationMiddleware is assigned to the pipeline
+
+
+
+
+
+
+
+ Ensures that the cookie middleware for validating external logins is assigned to the pipeline with the correct
+ Umbraco back office configuration
+
+
+
+
+
+
+
+ Used during the External authentication process to assign external sign-in options
+ that are used by the Umbraco authentication process.
+
+
+
+
+
+
+ Used during the External authentication process to retrieve external sign-in options
+ that have been set with SetExternalAuthenticationOptions
+
+
+
+
+
+ Configures the properties of the authentication description instance for use with Umbraco back office
+
+
+
+
+
+ This is important if the identity provider is to be able to authenticate when upgrading Umbraco. We will try to extract this from
+ any options passed in via reflection since none of the default OWIN providers inherit from a base class but so far all of them have a consistent
+ name for the 'CallbackPath' property which is of type PathString. So we'll try to extract it if it's not found or supplied.
+
+ If a value is extracted or supplied, this will be added to an internal list which the UmbracoModule will use to allow the request to pass
+ through without redirecting to the installer.
+
+
+
+
+ Extracts login info out of an external identity
+
+
+
+ key that will be used to find the userId to verify
+
+ the value expected to be found using the xsrfKey in the AuthenticationResult.Properties
+ dictionary
+
+
+
+
+
+ Extracts login info out of an external identity
+
+
+
+
+
+
+
+ A custom cookie manager that is used to read the cookie from the request.
+
+
+ Umbraco's back office cookie needs to be read on two paths: /umbraco and /install and /base therefore we cannot just set the cookie path to be /umbraco,
+ instead we'll specify our own cookie manager and return null if the request isn't for an acceptable path.
+
+
+
+
+ Explicitly implement this so that we filter the request
+
+
+
+
+
+
+
+ Determines if we should authenticate the request
+
+
+
+
+
+
+ We auth the request when:
+ * it is a back office request
+ * it is an installer request
+ * it is a /base request
+ * it is a preview request
+
+
+
+
+ Custom secure format that uses the old FormsAuthentication format
+
+
+
+
+ Unprotects the cookie
+
+
+
+
+
+
+ Umbraco auth cookie options
+
+
+
+
+ After upgrade we clear out the csrf tokens
+
+
+
+
+ Base class that can be used to run code after the migration runner has executed
+
+
+
+
+ Attach to event on starting
+
+
+
+
+
+
+ Ensure this is run when not configured
+
+
+
+
+ Ensure this is run when not configured
+
+
+
+
+ This will execute after upgrading to remove any xml cache for media that are currently in the bin
+
+
+ This will execute for specific versions -
+
+ * If current is less than or equal to 7.0.0
+
+
+
+
+ Creates the built in list view data types
+
+
+
+
+ When upgrading version 7.3 the migration MigrateStylesheetDataToFile will execute but we don't want to overwrite the developers
+ files during the migration since other parts of the migration might fail. So once the migration is complete, we'll then copy over the temp
+ files that this migration created over top of the developer's files. We'll also create a backup of their files.
+
+
+
+
+ Subscribes to the relavent events in order to send out notifications
+
+
+
+
+ A class that exposes methods used to query tag data in views
+
+
+
+
+ Constructor for wrapping ITagQuery, see http://issues.umbraco.org/issue/U4-6899
+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Returns all content that is tagged with the specified tag value and optional tag group
+
+
+
+
+
+
+
+ Returns all content that has been tagged with any tag in the specified group
+
+
+
+
+
+
+ Returns all Media that is tagged with the specified tag value and optional tag group
+
+
+
+
+
+
+
+ Returns all Media that has been tagged with any tag in the specified group
+
+
+
+
+
+
+ Get every tag stored in the database (with optional group)
+
+
+
+
+ Get all tags for content items (with optional group)
+
+
+
+
+
+
+ Get all tags for media items (with optional group)
+
+
+
+
+
+
+ Get all tags for member items (with optional group)
+
+
+
+
+
+
+ Returns all tags attached to a property by entity id
+
+
+
+
+
+
+
+
+ Returns all tags attached to an entity (content, media or member) by entity id
+
+
+
+
+
+
+
+ Indicates that a tree is a core tree and shouldn't be treated as a plugin tree
+
+
+ This ensures that umbraco will look in the umbraco folders for views for this tree
+
+
+
+
+ The base controller for all tree requests
+
+
+
+
+ A base controller reference for non-attributed trees (un-registered). Developers should inherit from
+ TreeController.
+
+
+
+
+ The method called to render the contents of the tree structure
+
+
+
+ All of the query string parameters passed from jsTree
+
+
+ We are allowing an arbitrary number of query strings to be pased in so that developers are able to persist custom data from the front-end
+ to the back end to be used in the query for model data.
+
+
+
+
+ Returns the menu structure for the node
+
+
+
+
+
+
+
+ Returns the root node for the tree
+
+
+
+
+
+
+ The action called to render the contents of the tree structure
+
+
+
+ All of the query string parameters passed from jsTree
+
+ JSON markup for jsTree
+
+ We are allowing an arbitrary number of query strings to be pased in so that developers are able to persist custom data from the front-end
+ to the back end to be used in the query for model data.
+
+
+
+
+ The action called to render the menu for a tree node
+
+
+
+
+
+
+
+ Helper method to create a root model for a tree
+
+
+
+
+
+ Helper method to create tree nodes
+
+
+
+
+
+
+
+
+
+ Helper method to create tree nodes
+
+
+
+
+
+
+
+
+
+
+ Helper method to create tree nodes
+
+
+
+
+
+
+
+
+
+
+
+ Helper method to create tree nodes and automatically generate the json url
+
+
+
+
+
+
+
+
+
+
+
+ Helper method to create tree nodes and automatically generate the json url
+
+
+
+
+
+
+
+
+
+
+
+
+ The AdditionalData of a node is always populated with the query string data, this method performs this
+ operation and ensures that special values are not inserted or that duplicate keys are not added.
+
+
+
+
+
+
+ If the request is for a dialog mode tree
+
+
+
+
+
+
+ The name to display on the root node
+
+
+
+
+ Gets the current tree alias from the attribute assigned to it.
+
+
+
+
+ An event that allows developers to modify the tree node collection that is being rendered
+
+
+ Developers can add/remove/replace/insert/update/etc... any of the tree items in the collection.
+
+
+
+
+ An event that allows developer to modify the root tree node that is being rendered
+
+
+
+
+ An event that allows developers to modify the meun that is being rendered
+
+
+ Developers can add/remove/replace/insert/update/etc... any of the tree items in the collection.
+
+
+
+
+ The name to display on the root node
+
+
+
+
+ Gets the current tree alias from the attribute assigned to it.
+
+
+
+
+ Inheritors can override this method to modify the file node that is created.
+
+
+
+
+
+ Inheritors can override this method to modify the folder node that is created.
+
+
+
+
+
+ The method called to render the contents of the tree structure
+
+
+
+ All of the query string parameters passed from jsTree
+
+
+ We are allowing an arbitrary number of query strings to be pased in so that developers are able to persist custom data from the front-end
+ to the back end to be used in the query for model data.
+
+
+
+
+ Returns the menu structure for the node
+
+
+
+
+
+
+
+ This attribute is used purely to maintain some compatibility with legacy webform tree pickers
+
+
+ This allows us to attribute new trees with their legacy counterparts and when a legacy tree is loaded this will indicate
+ on the new tree which legacy tree to load (it won't actually render using the new tree)
+
+
+
+
+ Gets an individual tree node
+
+
+
+
+
+
+
+ The tree node id that the menu is rendering for
+
+
+
+
+ The menu being rendered
+
+
+
+
+ Represents the refresh node menu item
+
+
+
+
+ A menu item that represents some JS that needs to execute when the menu item is clicked.
+
+
+ These types of menu items are rare but they do exist. Things like refresh node simply execute
+ JS and don't launch a dialog.
+
+ Each action menu item describes what angular service that it's method exists in and what the method name is.
+
+ An action menu item must describe the angular service name for which it's method exists. It may also define what the
+ method name is that will be called in this service but if one is not specified then we will assume the method name is the
+ same as the Type name of the current action menu class.
+
+
+
+
+ A context menu item
+
+
+
+
+ Used as a key for the AdditionalData to specify a specific dialog title instead of the menu title
+
+
+
+
+ Used to specify the URL that the dialog will launch to in an iframe
+
+
+
+
+ Used to specify the angular view that the dialog will launch
+
+
+
+
+ Used to specify the js method to execute for the menu item
+
+
+
+
+ Used to specify an angular route to go to for the menu item
+
+
+
+
+ Sets the menu item to navigate to the specified angular route path
+
+
+
+
+
+ Adds the required meta data to the menu item so that angular knows to attempt to call the Js method.
+
+
+
+
+
+ Sets the menu item to display a dialog based on an angular view path
+
+
+
+
+
+
+ Sets the menu item to display a dialog based on a url path in an iframe
+
+
+
+
+
+
+ Puts a dialog title into the meta data to be displayed on the dialog of the menu item (if there is one)
+ instead of the menu name
+
+
+
+
+
+ Configures the menu item to launch a URL with the specified action (dialog or new window)
+
+
+
+
+
+
+ A dictionary to support any additional meta data that should be rendered for the node which is
+ useful for custom action commands such as 'create', 'copy', etc...
+
+
+ We will also use the meta data collection for dealing with legacy menu items (i.e. for loading custom URLs or
+ executing custom JS).
+
+
+
+
+ Ensures a menu separator will exist before this menu item
+
+
+
+
+ A custom menu list
+
+
+ NOTE: We need a sub collection to the MenuItemCollection object due to how json serialization works.
+
+
+
+
+ Adds a menu item
+
+
+ The text to display for the menu item, will default to the IAction alias if not specified
+
+
+
+ Adds a menu item
+
+
+
+
+ The text to display for the menu item, will default to the IAction alias if not specified
+
+
+
+
+
+ Adds a menu item
+
+ The text to display for the menu item, will default to the IAction alias if not specified
+
+
+
+
+ Adds a menu item with a key value pair which is merged to the AdditionalData bag
+
+
+
+
+ The text to display for the menu item, will default to the IAction alias if not specified
+
+
+
+
+ Adds a menu item with a dictionary which is merged to the AdditionalData bag
+
+
+
+ /// The text to display for the menu item, will default to the IAction alias if not specified
+
+
+
+
+
+
+
+
+ The text to display for the menu item, will default to the IAction alias if not specified
+
+
+
+
+
+ Checks if the IAction type passed in is attributed with LegacyActionMenuItemAttribute and if so
+ ensures that the correct action metadata is added.
+
+
+
+
+
+
+ The method called to render the contents of the tree structure
+
+
+
+ All of the query string parameters passed from jsTree
+
+
+ We are allowing an arbitrary number of query strings to be pased in so that developers are able to persist custom data from the front-end
+ to the back end to be used in the query for model data.
+
+
+
+
+ Returns the menu structure for the node
+
+
+
+
+
+
+
+ Get all dependencies declared on property editors
+
+
+
+
+
+
+
+ This will use CDF to optimize the asset file collection
+
+
+
+
+
+ Return the asset URLs that should be loaded, if the application is in debug mode then the URLs returned will be the same as the ones
+ passed in with the CDF version query strings appended so cache busting works correctly.
+
+
+
+
+ Processes all found manifest files and outputs yepnope.injectcss calls for all css files found in all manifests
+
+
+
+
+ Parses the CssResources.Main and returns a yepnop.injectCss format
+
+
+
+
+
+
+ A custom renderer that only outputs a dependency path instead of script tags - for use with the js loader with yepnope
+
+
+
+
+ Used to delimit each dependency so we can split later
+
+
+
+
+
+ Summary description for GenericProperty.
+
+
+
+
+ Constructor
+
+
+
+
+ DeleteButton2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ FullHeader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ DeleteButton control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Header control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tbName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tbAlias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ddlTypes control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ddlTab control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ checkMandatory control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel5 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tbValidation control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ validationLink control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel6 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tbDescription control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Defines whether the property can be edited in the UI
+
+
+
+
+ Defines whether the property's name can be edited in the UI
+
+
+
+
+ rename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ scriptType control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CreateMacroCheckBox control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sbmt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for language.
+
+
+
+
+ pp1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Cultures control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sbmt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ UpdatePanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ filetype control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ template control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ createMacro control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sbmt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Textbox1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ The base UI 'tasks' for the create dialog and delete processes
+
+
+
+
+ An abstract class that is used to implement all secure ITasks
+
+
+ In the near future we will overhaul how create dialogs work and how deletions work as well. In the meantime
+ if you ever need to create an ITask you should just inherit from this class and do not manually implement
+ ITask or ITaskReturnUrl. If you do, you MUST also implement IAppTask which associates an ITask to an app
+ so we can validate the current user's security with the implementation. If you do not do this then your
+ implementation will not be secure. It means that if someone is logged in and doesn't have access to a
+ specific app, they'd still be able to execute code to create/delete for any ITask regardless of what app
+ they have access to.
+
+
+
+
+ This is used for anything that is assigned to an app
+
+
+ Currently things that need to be assigned to an app in order for user security to work are:
+ dialogs, ITasks, editors
+
+
+
+
+ Returns the app alias that this element belongs to
+
+
+
+
+ Base class first performs authentication for the current app before proceeding
+
+
+
+
+
+ Base class first performs authentication for the current app before proceeding
+
+
+
+
+
+ Checks if the currently assigned user has access to the assigned app
+
+
+
+
+
+ Gets/sets the user object for this Task
+
+
+ accessible by inheritors but can only be set internally
+
+
+
+
+ Implemented explicitly as we don't want to expose this
+
+
+
+
+ Summary description for xslt.
+
+
+
+
+ rename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ xsltTemplate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ createMacro control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Textbox1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sbmt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for packager.
+
+
+
+
+ Perform the 'Finished' action of the installer
+
+
+
+
+
+
+
+ Perform the 'Refresh' action of the installer
+
+
+
+
+
+
+
+
+ Runs Post refresh actions such reloading the correct tree nodes, etc...
+
+
+
+
+ Runs Post install actions such as clearning any necessary cache, reloading the correct tree nodes, etc...
+
+
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ fb control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_upload control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel9 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ file1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ButtonLoadPackage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ progbar1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_authenticate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tb_email control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tb_password control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Button1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_acceptLicense control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_acceptLicenseInner control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ LabelName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel5 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ LabelAuthor control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ LabelMore control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel6 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ LabelLicense control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ acceptCheckbox control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel8 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ readme control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_unsecureFiles control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_files control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_macroConflicts control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ltrMacroAlias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_templateConflicts control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ltrTemplateAlias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_stylesheetConflicts control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ltrStylesheetNames control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ _progbar1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ButtonInstall control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_installing control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ progBar2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lit_installStatus control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_optional control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_success control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_viewInstalledPackage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lit_authorUrl control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tempFile control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ processState control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for cruds.
+
+
+
+
+ pane_form control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ feedback1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PlaceHolder1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ panel_buttons control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Button1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Handles loading of the packager application into the developer application tree
+
+
+
+
+ All ITree's should inherit from BaseTree.
+
+
+
+
+ All Trees rely on the properties of an ITreeService interface. This has been created to avoid having trees
+ dependant on the HttpContext
+
+
+
+
+ The NodeKey is a string representation of the nodeID. Generally this is used for tree's whos node's unique key value is a string in instead
+ of an integer such as folder names.
+
+
+
+
+ Renders out any JavaScript methods that may be required for tree functionality. Generally used to load the editor page when
+ a user clicks on a tree node.
+
+
+
+
+
+ This will call the new Render method which works using a typed XmlTree object instead of the untyped XmlDocument object.
+ This can still be overriden but is only for backwards compatibility.
+
+
+
+
+
+ Classes need to override thid method to create the nodes for the XmlTree
+
+
+
+
+
+ Initializes the class if it hasn't been done already
+
+
+
+
+ This method creates the Root node definition for the tree.
+ Inheritors must override this method to create their own definition.
+
+
+
+
+
+ This method creates the IAction list for the tree's root node.
+ Inheritors can override this method to create their own Context menu.
+
+
+
+
+
+ This method creates the AllowedActions IAction list for the tree's nodes.
+ Inheritors can override this method to create their own Context menu.
+
+
+
+
+
+ A helper method to re-generate the root node for the current tree.
+
+
+
+
+
+ This method can initialize the ITreeService parameters for this class with another ITreeService object.
+ This method could be used for Dependency Injection.
+
+
+
+
+
+ Returns the tree service url to render the tree
+
+
+
+
+
+ Returns the tree service url to return the tree xml structure from the root node
+
+
+
+
+
+ Returns the tree service url to return the tree xml structure from the node passed in
+
+
+
+
+
+
+ Returns the tree service url to return the tree xml structure based on a string node key.
+
+
+
+
+
+
+ Returns the tree service url to render the tree in dialog mode
+
+
+
+
+
+ Returns the tree service url to render tree xml structure from the node passed in, in dialog mode.
+
+
+
+
+
+
+ Returns the serialized data for the nodeId passed in.
+
+
+ This may not work with ITrees that don't support the BaseTree structure with TreeService.
+ If a tree implements other query string data to make it work, this may not function since
+ it only relies on the 3 parameters.
+
+
+
+
+
+
+
+ Returns a boolean value indicating if the ITree passed in is an extension of BaseTree.
+ This is used to preserve backwards compatibility previous to version 5.
+
+
+
+
+
+
+ Converts an ITree into a BaseTree. This is used for Legacy trees that don't inherit from BaseTree already.
+
+
+
+
+
+
+
+
+
+
+
+ Returns the default actions for a root node
+
+
+
+
+
+ Returns the tree header title. If the alias isn't found in the language files, then it will
+ return the title stored in the umbracoAppTree table.
+
+
+
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Returns the node definition of the root node for this tree
+
+
+
+
+ By default the init actions that are allowed for all trees are Create, Reload Nodes.
+ These are the menu items that show up in the context menu for the root node of the current tree.
+ Should be used in conjunction with the RootNode property
+
+
+
+
+ The actions that are allowed to be performed on this tree. These are the items that may show up on the
+ context menu for a given node.
+
+
+
+
+ The tree alias name. By default, if a BaseTree is instantiated by it's TreeDefinition, then the TreeAlias will be
+ the name defined in the database. Inheritors can override this property to set the TreeAlias to whatever they choose.
+
+
+
+
+ By default the start node id will be -1 which will return all of the nodes
+
+
+
+
+ The NodeKey is a string representation of the nodeID. Generally this is used for tree's whos node's unique key value is a string in instead
+ of an integer such as folder names.
+
+
+
+
+ The ID of the node to render. This is generally set before calling the render method of the tree. If it is not set then the
+ StartNodeID property is used as the node ID to render.
+
+
+
+
+ Provides easy access to the ServiceContext
+
+
+
+
+ Returns true if there are subscribers to either BeforeTreeRender or AfterTreeRender
+
+
+
+
+ Event that is raised once actions are assigned to nodes
+
+
+
+
+ Renders the Javascript.
+
+ The javascript.
+
+
+
+ Renders the specified tree item.
+
+ The tree.
+
+
+
+ Sets the id.
+
+ The id.
+
+
+
+ Sets the app.
+
+ The app.
+
+
+
+ This is the background task runner that persists the xml file to the file system
+
+
+ This is used so that all file saving is done on a web aware worker background thread and all logic is performed async so this
+ process will not interfere with any web requests threads. This is also done as to not require any global locks and to ensure that
+ if multiple threads are performing publishing tasks that the file will be persisted in accordance with the final resulting
+ xml structure since the file writes are queued.
+
+
+
+
+ Methods used to render umbraco components as HTML in templates
+
+
+ Used by UmbracoHelper
+
+
+
+
+ Renders the template for the specified pageId and an optional altTemplateId
+
+
+ If not specified, will use the template assigned to the node
+
+
+
+
+ Renders the macro with the specified alias.
+
+ The alias.
+
+
+
+
+ Renders the macro with the specified alias, passing in the specified parameters.
+
+ The alias.
+ The parameters.
+
+
+
+
+ Renders the macro with the specified alias, passing in the specified parameters.
+
+ The alias.
+ The parameters.
+
+
+
+
+ Renders the macro with the specified alias, passing in the specified parameters.
+
+ The alias.
+ The parameters.
+ The legacy umbraco page object that is required for some macros
+
+
+
+
+ Renders the macro with the specified alias, passing in the specified parameters.
+
+ The macro.
+ The parameters.
+ The legacy umbraco page object that is required for some macros
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This will format the JSON output for use with AngularJs's approach to JSON Vulnerability attacks
+
+
+ See: http://docs.angularjs.org/api/ng.$http (Security considerations)
+
+
+
+
+ This will prepend the special chars to the stream output that angular will strip
+
+
+
+
+
+
+
+
+
+
+ Applying this attribute to any webapi controller will ensure that it only contains one json formatter compatible with the angular json vulnerability prevention.
+
+
+
+
+ Binds the content model to the controller action for the posted multi-part Post
+
+
+
+
+ Constructor
+
+
+
+
+
+ Builds the model from the request contents
+
+
+
+
+
+
+
+
+ we will now assign all of the values in the 'save' model to the DTO object
+
+
+
+
+
+
+ Constructor
+
+
+
+
+ Returns an IMember instance used to bind values to and save (depending on the membership scenario)
+
+
+
+
+
+
+ Gets an instance of IMember used when creating a member
+
+
+
+
+ Depending on whether a custom membership provider is configured this will return different results.
+
+
+
+
+ This will remove all of the special membership provider properties which were required to display the property editors
+ for editing - but the values have been mapped back ot the MemberSave object directly - we don't want to keep these properties
+ on the IMember because they will attempt to be persisted which we don't want since they might not even exist.
+
+
+
+
+
+ Custom validation helper so that we can exclude the Member.StandardPropertyTypeStubs from being validating for existence
+
+
+
+
+ A validation helper class used with ContentItemValidationFilterAttribute to be shared between content, media, etc...
+
+
+
+
+ If any severe errors occur then the response gets set to an error and execution will not continue. Property validation
+ errors will just be added to the ModelState.
+
+
+
+
+ Ensure the content exists
+
+
+
+
+
+
+
+ Ensure all of the ids in the post are valid
+
+
+
+
+
+
+
+ This validates that all of the posted properties exist on the persisted entity
+
+
+
+
+
+
+
+
+ Validates the data for each property
+
+
+
+
+
+ All property data validation goes into the modelstate with a prefix of "Properties"
+
+
+
+
+ We need to manually validate a few things here like email and login to make sure they are valid and aren't duplicates
+
+
+
+
+
+
+
+ A helper class to deal with csrf prevention with angularjs and webapi
+
+
+
+
+ The cookie name that is used to store the validation value
+
+
+
+
+ The cookie name that is set for angular to use to pass in to the header value for "X-XSRF-TOKEN"
+
+
+
+
+ The header name that angular uses to pass in the token to validate the cookie
+
+
+
+
+ Returns 2 tokens - one for the cookie value and one that angular should set as the header value
+
+
+
+
+ .Net provides us a way to validate one token with another for added security. With the way angular works, this
+ means that we need to set 2 cookies since angular uses one cookie value to create the header value, then we want to validate
+ this header value against our original cookie value.
+
+
+
+
+ Validates the header token against the validation cookie value
+
+
+
+
+
+
+
+ Validates the headers/cookies passed in for the request
+
+
+
+
+
+
+
+ Automatically checks if any request is a non-GET and if the
+ resulting message is INotificationModel in which case it will append any Event Messages
+ currently in the request.
+
+
+
+
+ Clears the angular csrf cookie if the request was successful
+
+
+
+
+ This allows for Action based auth attributes to override Class based auth attributes if they are specified
+
+
+ This attribute can be applied at the class level and will indicate to any class level auth attribute that inherits from OverridableAuthorizationAttribute
+
+
+
+
+ Quickly split filters into different types
+
+
+
+
+ Abstract auth filter class that can be used to enable overriding class auth filters at the action level
+
+
+ To enable a class auth filter to be overridden by an action auth filter the EnableOverrideAuthorizationAttribute can be applied
+ to the class.
+
+
+
+
+ If the controller has an EnabledOverrideAuthorizationAttribute attribute specified and the action has any AuthorizeAttribute
+ specified then use the action's auth attribute instead of this one
+
+ The context.
+ The context parameter is null.
+
+
+
+ A filter to set the csrf cookie token based on angular conventions
+
+
+
+
+ Ensures that the current user has access to the application for which the specified tree(s) belongs
+
+
+ This would allow a tree to be moved between sections
+
+
+
+
+ Can be used by unit tests to enable/disable this filter
+
+
+
+
+ Constructor to set authorization to be based on a tree alias for which application security will be applied
+
+
+ If the user has access to the application that the treeAlias is specified in, they will be authorized.
+ Multiple trees may be specified.
+
+
+
+
+ If umbracoUseSSL property in web.config is set to true, this filter will redirect any http access to https.
+
+
+
+
+ If umbracoUseSSL is true and we have a non-HTTPS request, handle redirect.
+
+ Filter context
+
+
+
+ Check to see if HTTPS is currently being used if umbracoUseSSL is true.
+
+ Filter context
+
+
+
+ A filter to check for the csrf token based on Angular's standard approach
+
+
+ Code derived from http://ericpanorel.net/2013/07/28/spa-authentication-and-csrf-mvc4-antiforgery-implementation/
+
+ If the authentication type is cookie based, then this filter will execute, otherwise it will be disabled
+
+
+
+
+ This method will go an execute the authorization filters for the controller action, if any fail
+ it will return their response, otherwise we'll return null.
+
+
+
+
+
+ This method is how you execute a chain of filters, it needs to recursively call in to itself as the continuation for the next filter in the chain
+
+
+
+
+
+
+
+
+
+ Used to convert the format of a DateTime object when serializing
+
+
+
+
+ A model representing a new sort order for a content/media item
+
+
+
+
+ The parent Id of the nodes being sorted
+
+
+
+
+ An array of integer Ids representing the sort order
+
+
+ Of course all of these Ids should be at the same level in the heirarchy!!
+
+
+
+
+ An API controller used for dealing with content types
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Gets all user defined properties.
+
+
+
+
+
+ Returns the allowed child content type objects for the content item id passed in
+
+
+
+
+
+ The API controller used for dealing with legacy content
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ This will perform the delete operation for legacy items which include any item that
+ has functionality included in the ui.xml structure.
+
+
+
+
+
+ A readonly member profile model
+
+
+
+
+ The member's real name
+
+
+
+
+ The member's member type alias
+
+
+
+
+ The list of member properties
+
+
+ Adding items to this list on the front-end will not add properties to the member in the database.
+
+
+
+
+ A custom model binder for MVC because the default ctor performs a lookup!
+
+
+
+
+ The model representing the status of a logged in member
+
+
+
+
+ Creates a new empty LoginStatusModel
+
+
+
+
+
+ This will construct a new LoginStatusModel and perform a lookup for hte curently logged in member
+
+
+
+
+ The name of the member
+
+
+
+
+ The username of the member
+
+
+
+
+ The email of the member
+
+
+
+
+ True, if the member is currently logged in
+
+
+
+
+ Provides extension methods for IPublishedProperty.
+
+
+
+
+ A simple representation of an Umbraco property
+
+
+
+
+ This attribute can be used for when child actions execute and will automatically merge in the viewdata from the parent context to the
+ child action result.
+
+
+ This will retain any custom viewdata put into the child viewdata if the same key persists in the parent context's view data. You can always still
+ access the parent's view data normally.
+ This just simplifies working with ChildActions and view data.
+
+ NOTE: This does not mean that the parent context's view data will be merged before the action executes, if you need access to the parent context's view
+ data during controller execution you can access it normally.
+
+ NOTE: This recursively merges in all ParentActionViewContext ancestry in case there's child actions inside of child actions.
+
+
+
+
+ Merge in the parent context's view data if this is a child action when the result is being executed
+
+
+
+
+
+ Recursively merges in each parent view context into the target
+
+
+
+
+
+
+ Merges the source view data into the destination view data
+
+
+
+
+
+
+ Provides an implementation of that runs legacy INotFoundHandler in "last chance" situation.
+
+
+
+
+ Provides a method to try to find and assign an Umbraco document to a PublishedContentRequest.
+
+
+
+
+ Tries to find and assign an Umbraco document to a PublishedContentRequest.
+
+ The PublishedContentRequest.
+ A value indicating whether an Umbraco document was found and assigned.
+ Optionally, can also assign the template or anything else on the document request, although that is not required.
+
+
+
+ Tries to find and assign an Umbraco document to a PublishedContentRequest.
+
+ The PublishedContentRequest.
+ A value indicating whether an Umbraco document was found and assigned.
+
+
+
+ Creates a new empty RegisterModel
+
+
+
+
+
+ Returns the member properties
+
+
+
+
+ The member type alias to use to register the member
+
+
+
+
+ The members real name
+
+
+
+
+ The members password
+
+
+
+
+ The username of the model, if UsernameIsEmail is true then this is ignored.
+
+
+
+
+ Flag to determine if the username should be the email address, if true then the Username property is ignored
+
+
+
+
+ Specifies if the member should be logged in if they are succesfully created
+
+
+
+
+ Default is true to create a persistent cookie if LoginOnSuccess is true
+
+
+
+
+ A custom model binder for MVC because the default ctor performs a lookup!
+
+
+
+
+ An API controller used for dealing with media types
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Returns the allowed child content type objects for the content item id passed in
+
+
+
+
+
+ A helper class for handling Members
+
+
+
+
+ Returns true if the current membership provider is the Umbraco built-in one.
+
+
+
+
+
+ Updates the currently logged in members profile
+
+
+
+ The updated MembershipUser object
+
+
+
+
+ Registers a new member
+
+
+
+
+ true to log the member in upon successful registration
+
+
+
+
+
+ A helper method to perform the validation and logging in of a member - this is simply wrapping standard membership provider and asp.net forms auth logic.
+
+
+
+
+
+
+
+ Logs out the current member
+
+
+
+
+ Returns the currently logged in member as IPublishedContent
+
+
+
+
+
+ Returns the currently logged in member id, -1 if they are not logged in
+
+
+
+
+
+ Creates a new profile model filled in with the current members details if they are logged in which allows for editing
+ profile properties
+
+
+
+
+
+ Creates a model to use for registering new members with custom member properties
+
+
+
+
+
+
+ Returns the login status model of the currently logged in member, if no member is logged in it returns null;
+
+
+
+
+
+ Check if a member is logged in
+
+
+
+
+
+ Returns true or false if the currently logged in member is authorized based on the parameters provided
+
+
+
+
+
+
+
+
+
+ Changes password for a member/user given the membership provider name and the password change model
+
+
+
+
+
+
+
+
+ Changes password for a member/user given the membership provider and the password change model
+
+
+
+
+
+
+
+
+ Updates a membership user with all of it's writable properties
+
+
+
+
+
+
+
+
+
+ Returns successful if the membershipuser required updating, otherwise returns failed if it didn't require updating.
+
+
+
+
+ Returns the currently logged in IMember object - this should never be exposed to the front-end since it's returning a business logic entity!
+
+
+
+
+
+ Returns the currently logged in username
+
+
+
+
+ The API controller used for using the list of sections
+
+
+
+
+ This will check if any properties of the model are attributed with the RequiredForPersistenceAttribute attribute and if they are it will
+ check if that property validates, if it doesn't it means that the current model cannot be persisted because it doesn't have the necessary information
+ to be saved.
+
+
+
+
+ This is normally used for things like content creating when the name is empty since we cannot actually create a content item when the name is empty.
+ This is similar but different from the standard Required validator since we still allow content to be saved when validation fails but there are some
+ content fields that are absolutely mandatory for creating/saving.
+
+
+
+
+ Extension methods used to check/set cookie values
+
+
+ This should 100% supercede the StateManager.Cookies
+
+
+
+
+ Removes the cookie from the request and the response if it exists
+
+
+
+
+
+
+ Does a preview cookie exist ?
+
+
+
+
+
+
+ Does a preview cookie exist ?
+
+
+
+
+
+
+ Does a cookie exist with the specified key ?
+
+
+
+
+
+
+
+ Is there a cookie with the key supplied and does it have a value that is not empty
+
+
+
+
+
+
+
+ The action associated with saving a content item
+
+
+
+
+ Saves the content item, no publish
+
+
+
+
+ Creates a new content item
+
+
+
+
+ Saves and publishes the content item
+
+
+
+
+ Creates and publishes a new content item
+
+
+
+
+ Saves and sends publish notification
+
+
+
+
+ Creates and sends publish notification
+
+
+
+
+ A basic version of a content type
+
+
+ Generally used to return the minimal amount of data about a content type
+
+
+
+
+ Returns true if the icon represents a CSS class instead of a file path
+
+
+
+
+ Returns the icon file path if the icon is not a class, otherwise returns an empty string
+
+
+
+
+ Returns true if the icon represents a CSS class instead of a file path
+
+
+
+
+ Returns the icon file path if the icon is not a class, otherwise returns an empty string
+
+
+
+
+ A model representing a content item to be displayed in the back office
+
+
+
+
+ Represents a section (application) in the back office
+
+
+
+
+ Represents a tab in the UI
+
+
+
+
+ A basic structure the represents a user
+
+
+
+
+ The MD5 lowercase hash of the email which can be used by gravatar
+
+
+
+
+ Gets/sets the number of seconds for the user's auth ticket to expire
+
+
+
+
+ A list of sections the user is allowed to view.
+
+
+
+
+
+ Converts the FormCollection to a dictionary
+
+
+
+
+
+
+ Returns the value of a mandatory item in the FormCollection
+
+
+
+
+
+
+
+ Checks if the collection contains the key
+
+
+
+
+
+
+
+ Returns the object based in the collection based on it's key. This does this with a conversion so if it doesn't convert a null object is returned.
+
+
+
+
+
+
+
+
+ Creates a base generic ContentPropertyBasic from a Property
+
+
+
+
+
+ Assigns the PropertyEditor, Id, Alias and Value to the property
+
+
+
+
+
+
+ Creates a ContentPropertyDisplay from a Property
+
+
+
+
+ Creates a ContentPropertyDto from a Property
+
+
+
+
+ A mapper which declares how to map content properties. These mappings are shared among media (and probably members) which is
+ why they are in their own mapper
+
+
+
+
+ Maps the Creator for content
+
+
+
+
+ Declares model mappings for media.
+
+
+
+
+ Defines mappings for content/media/members type mappings
+
+
+
+
+ Declares how model mappings for content
+
+
+
+
+ Maps the generic tab with custom properties for content
+
+
+
+
+
+
+
+
+
+ Gets the published date value for the IContent object
+
+
+
+
+
+
+
+ Creates the list of action buttons allowed for this user - Publish, Send to publish, save, unpublish returned as the button's 'letter'
+
+
+
+
+ Maps the Owner for IContentBase
+
+
+
+
+
+ We're going to bind to the MediaService Saving event so that we can populate the umbracoFile size, type, etc... label fields
+ if we find any attached to the current media item.
+
+
+ I think this kind of logic belongs on this property editor, I guess it could exist elsewhere but it all has to do with the upload field.
+
+
+
+
+ Creates our custom value editor
+
+
+
+
+
+ Ensures any files associated are removed
+
+
+
+
+
+ Ensures any files associated are removed
+
+
+
+
+
+ After the content is copied we need to check if there are files that also need to be copied
+
+
+
+
+
+
+ A custom pre-val editor to ensure that the data is stored how the legacy data was stored in
+
+
+
+
+ Format the persisted value to work with our multi-val editor.
+
+
+
+
+
+
+
+ Take the posted values and convert them to a semi-colon separated list so that its backwards compatible
+
+
+
+
+
+
+
+ The editor for the file upload property editor
+
+
+
+
+ Overrides the deserialize value so that we can save the file accordingly
+
+
+ This is value passed in from the editor. We normally don't care what the editorValue.Value is set to because
+ we are more interested in the files collection associated with it, however we do care about the value if we
+ are clearing files. By default the editorValue.Value will just be set to the name of the file (but again, we
+ just ignore this and deal with the file collection in editorValue.AdditionalData.ContainsKey("files") )
+
+
+ The current value persisted for this property. This will allow us to determine if we want to create a new
+ file path or use the existing file path.
+
+
+
+
+
+ Create a custom value editor
+
+
+
+
+
+ A custom value editor to ensure that macro syntax is parsed when being persisted and formatted correctly for display in the editor
+
+
+
+
+ override so that we can hide the label based on the pre-value
+
+
+
+
+
+ Format the data for the editor
+
+
+
+
+
+
+
+
+ Format the data for persistence
+
+
+
+
+
+
+
+ Gets an individual tree node
+
+
+
+
+
+
+
+ Gets the tree nodes for the given id
+
+
+
+
+
+
+
+ Returns true or false if the current user has access to the node based on the user's allowed start node (path) access
+
+
+
+
+
+
+
+ Ensures the recycle bin is appended when required (i.e. user has access to the root and it's not in dialog mode)
+
+
+
+
+
+ This method is overwritten strictly to render the recycle bin, it should serve no other purpose
+
+
+
+
+ Before we make a call to get the tree nodes we have to check if they can actually be rendered
+
+
+
+
+
+ Currently this just checks if it is a container type, if it is we cannot render children. In the future this might check for other things.
+
+
+
+
+ Checks if the menu requested is for the recycle bin and renders that, otherwise renders the result of PerformGetMenuForNode
+
+
+
+
+
+
+
+ Based on the allowed actions, this will filter the ones that the current user is allowed
+
+
+
+
+
+
+
+ Determins if the user has access to view the node/document
+
+ The Document to check permissions against
+ A list of MenuItems that the user has permissions to execute on the current document
+ By default the user must have Browse permissions to see the node in the Content tree
+
+
+
+
+ Returns the
+
+
+
+
+ Returns true if the recycle bin has items in it
+
+
+
+
+ Returns the user's start node for this tree
+
+
+
+
+ Creates a tree node for a content item based on an UmbracoEntity
+
+
+
+
+
+
+
+
+ Returns true or false if the current user has access to the node based on the user's allowed start node (path) access
+
+
+
+
+
+
+
+ The attribute to assign to any ActionMenuItem objects.
+
+
+
+
+ This constructor defines both the angular service and method name to use
+
+
+
+
+
+
+ This constructor will assume that the method name equals the type name of the action menu class
+
+
+
+
+
+ Specifies the action to take for a menu item when a URL is specified
+
+
+
+
+ A startup handler for putting the tree config in the config file based on attributes found
+
+
+ TODO: This is really not a very ideal process but the code is found here because tree plugins are in the Web project or the legacy business logic project.
+ Moving forward we can put the base tree plugin classes in the core and then this can all just be taken care of normally within the service.
+
+
+
+
+ This class is here so that we can provide lazy access to tree scanning for when it is needed
+
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ Returns an enumerator that iterates through a collection.
+
+
+ An object that can be used to iterate through the collection.
+
+
+
+
+ This is used to output JSON from legacy trees
+
+
+
+
+ Converts the legacy tree data to the new format
+
+
+
+
+ This is used by any legacy services that require rendering a BaseTree, if a new controller tree is detected it will try to invoke it's legacy predecessor.
+
+
+
+
+
+
+
+ Gets the menu item collection from a legacy tree node based on it's parent node's child collection
+
+ The node id
+ The node collection that contains the node id
+
+
+
+
+
+ Gets the menu item collection from a legacy tree node
+
+
+
+
+
+
+
+ This will look at the legacy IAction's JsFunctionName and convert it to a confirmation dialog view if possible
+
+
+
+
+
+
+
+ This will look at a legacy IAction's JsFunctionName and convert it to a URL if possible.
+
+
+
+
+
+
+
+
+
+ Converts a legacy XmlTreeNode to a new TreeNode
+
+
+
+
+
+
+ The current query strings for the request - this is used to append the query strings to the menu URL of the item being rendered since the menu
+ actually belongs to this same node (request) the query strings need to exist so the menu can be rendered in some cases.
+
+
+
+
+
+
+ A class used to render the legacy JS requirements for trees and IActions.
+
+
+
+
+ If any legacy tree requires any JS rendering then we will compile a JS output of the combination.
+
+
+
+
+
+ Returns a string with javascript proxy methods for IActions that are using old javascript
+
+
+
+
+
+ A menu item collection for a given tree node
+
+
+
+
+ Sets the default menu item alias to be shown when the menu is launched - this is optional and if not set then the menu will just be shown normally.
+
+
+
+
+ The list of menu items
+
+
+ We require this so the json serialization works correctly
+
+
+
+
+ Represents the refresh node menu item
+
+
+
+
+ The string representation of the ID, used for Web responses
+
+
+
+
+ The name/title of the search result item
+
+
+
+
+ The rank of the search result
+
+
+
+
+ Description/Synopsis of the item
+
+
+
+
+ A special tree node that represents the section root node for any section.
+
+
+ This is required to return the tree data for a given section. Some sections may only contain one tree which means it's section
+ root should also display a menu, whereas other sections have multiple trees and the section root shouldn't display a menu.
+
+ The section root also contains an explicit collection of children.
+
+
+
+
+ Represents a model in the tree
+
+
+ TreeNode is sealed to prevent developers from adding additional json data to the response
+
+
+
+
+ Internal constructor, to create a tree node use the CreateTreeNode methods of the TreeApiController.
+
+
+ The parent id for the current node
+
+
+
+
+
+ A flag to set whether or not this node has children
+
+
+
+
+ The tree nodetype which refers to the type of node rendered in the tree
+
+
+
+
+ Optional: The Route path for the editor for this node
+
+
+ If this is not set, then the route path will be automatically determined by: {section}/edit/{id}
+
+
+
+
+ The JSON url to load the nodes children
+
+
+
+
+ The JSON url to load the menu from
+
+
+
+
+ Returns true if the icon represents a CSS class instead of a file path
+
+
+
+
+ Returns the icon file path if the icon is not a class, otherwise returns an empty string
+
+
+
+
+ A list of additional/custom css classes to assign to the node
+
+
+
+
+ This will go and get the root node from a controller tree by executing the tree's GetRootNode method
+
+
+
+
+
+
+ This ensures that authorization filters are applied to the sub request
+
+
+
+
+ Identifies an application tree
+
+
+
+
+ Initializes a new instance of the class.
+
+ The app alias.
+ The alias.
+ The title.
+ The icon closed.
+ The icon open.
+ if set to true [initialize].
+ The sort order.
+
+
+
+ Legacy tree node's assign a JS method callback for when an item is clicked, this method facilitates that.
+
+
+
+
+
+
+ Sets the node style to show that it is currently protected publicly
+
+
+
+
+
+ Sets the node style to show that it is currently protected publicly
+
+
+
+
+
+ Sets the node style to show that it is currently locked / non-deletable
+
+
+
+
+
+ Sets the node style to show that it is has unpublished versions (but is currently published)
+
+
+
+
+
+ Sets the node style to show that it is is not published
+
+
+
+
+
+ Common query string parameters used for tree query strings
+
+
+
+
+ Returns the tree nodes for an application
+
+ The application to load tree for
+ An optional single tree alias, if specified will only load the single tree for the request app
+
+
+
+
+
+ Get the root node for an application with multiple trees
+
+
+
+
+
+
+
+ Get the root node for an application with one tree
+
+
+
+
+
+
+
+
+ A controller to render out the default back office view and JS results
+
+
+
+
+ A base controller class containing all of the Umbraco objects as properties that a developer requires
+
+
+
+
+ Returns the MemberHelper instance
+
+
+
+
+ Returns an UmbracoHelper object
+
+
+
+
+ Returns an ILogger
+
+
+
+
+ Returns a ProfilingLogger
+
+
+
+
+ Returns the current UmbracoContext
+
+
+
+
+ Returns the current ApplicationContext
+
+
+
+
+ Returns a ServiceContext
+
+
+
+
+ Returns a DatabaseContext
+
+
+
+
+ Returns the WebSecurity instance
+
+
+
+
+ Render the default view
+
+
+
+
+
+ This Action is used by the installer when an upgrade is detected but the admin user is not logged in. We need to
+ ensure the user is authenticated before the install takes place so we redirect here to show the standard login screen.
+
+
+
+
+
+ Get the json localized text for a given culture or the culture for the current user
+
+
+
+
+
+
+ Returns the JavaScript main file including all references found in manifests
+
+
+
+
+
+ Returns a js array of all of the manifest assets
+
+
+
+
+
+ Returns the JavaScript object representing the static server variables javascript object
+
+
+
+
+
+ Used by Default and AuthorizeUpgrade to render as per normal if there's no external login info, otherwise
+ process the external login info.
+
+
+
+
+
+ Returns the server variables regarding the application state
+
+
+
+
+
+ Returns the JavaScript blocks for any legacy trees declared
+
+
+
+
+
+ Renders out all JavaScript references that have bee declared in IActions
+
+
+
+
+ Custom Membership Provider for Umbraco Members (User authentication for Frontend applications NOT umbraco CMS)
+
+
+
+
+ Abstract Membership Provider that users any implementation of IMembershipMemberService{TEntity} service
+
+
+
+
+ Initializes the provider.
+
+ The friendly name of the provider.
+ A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider.
+ The name of the provider is null.
+ An attempt is made to call
+ on a provider after the provider
+ has already been initialized.
+ The name of the provider has a length of zero.
+
+
+
+ Processes a request to update the password for a membership user.
+
+ The user to update the password for.
+ This property is ignore for this provider
+ The new password for the specified user.
+
+ true if the password was updated successfully; otherwise, false.
+
+
+
+
+ Processes a request to update the password question and answer for a membership user.
+
+ The user to change the password question and answer for.
+ The password for the specified user.
+ The new password question for the specified user.
+ The new password answer for the specified user.
+
+ true if the password question and answer are updated successfully; otherwise, false.
+
+
+
+
+ Adds a new membership user to the data source with the specified member type
+
+ A specific member type to create the member for
+ The user name for the new user.
+ The password for the new user.
+ The e-mail address for the new user.
+ The password question for the new user.
+ The password answer for the new user
+ Whether or not the new user is approved to be validated.
+ The unique identifier from the membership data source for the user.
+ A enumeration value indicating whether the user was created successfully.
+
+ A object populated with the information for the newly created user.
+
+
+
+
+ Removes a user from the membership data source.
+
+ The name of the user to delete.
+
+ TODO: This setting currently has no effect
+
+
+ true if the user was successfully deleted; otherwise, false.
+
+
+
+
+ Gets a collection of membership users where the e-mail address contains the specified e-mail address to match.
+
+ The e-mail address to search for.
+ The index of the page of results to return. pageIndex is zero-based.
+ The size of the page of results to return.
+ The total number of matched users.
+
+ A collection that contains a page of pageSize objects beginning at the page specified by pageIndex.
+
+
+
+
+ Gets a collection of membership users where the user name contains the specified user name to match.
+
+ The user name to search for.
+ The index of the page of results to return. pageIndex is zero-based.
+ The size of the page of results to return.
+ The total number of matched users.
+
+ A collection that contains a page of pageSize objects beginning at the page specified by pageIndex.
+
+
+
+
+ Gets a collection of all the users in the data source in pages of data.
+
+ The index of the page of results to return. pageIndex is zero-based.
+ The size of the page of results to return.
+ The total number of matched users.
+
+ A collection that contains a page of pageSize objects beginning at the page specified by pageIndex.
+
+
+
+
+ Gets the number of users currently accessing the application.
+
+
+ The number of users currently accessing the application.
+
+
+ The way this is done is the same way that it is done in the MS SqlMembershipProvider - We query for any members
+ that have their last active date within the Membership.UserIsOnlineTimeWindow (which is in minutes). It isn't exact science
+ but that is how MS have made theirs so we'll follow that principal.
+
+
+
+
+ Gets the password for the specified user name from the data source.
+
+ The user to retrieve the password for.
+ The password answer for the user.
+
+ The password for the specified user name.
+
+
+
+
+ Gets information from the data source for a user. Provides an option to update the last-activity date/time stamp for the user.
+
+ The name of the user to get information for.
+ true to update the last-activity date/time stamp for the user; false to return user information without updating the last-activity date/time stamp for the user.
+
+ A object populated with the specified user's information from the data source.
+
+
+
+
+ Gets information from the data source for a user based on the unique identifier for the membership user. Provides an option to update the last-activity date/time stamp for the user.
+
+ The unique identifier for the membership user to get information for.
+ true to update the last-activity date/time stamp for the user; false to return user information without updating the last-activity date/time stamp for the user.
+
+ A object populated with the specified user's information from the data source.
+
+
+
+
+ Gets the user name associated with the specified e-mail address.
+
+ The e-mail address to search for.
+
+ The user name associated with the specified e-mail address. If no match is found, return null.
+
+
+
+
+ Resets a user's password to a new, automatically generated password.
+
+ The user to reset the password for.
+ The password answer for the specified user (not used with Umbraco).
+
+ The new password for the specified user.
+
+
+
+ Clears a lock so that the membership user can be validated.
+
+ The membership user to clear the lock status for.
+
+ true if the membership user was successfully unlocked; otherwise, false.
+
+
+
+
+ Updates e-mail approved status, lock status and comment on a user.
+
+ A object that represents the user to update and the updated information for the user.
+
+
+
+ Verifies that the specified user name and password exist in the data source.
+
+ The name of the user to validate.
+ The password for the specified user.
+
+ true if the specified username and password are valid; otherwise, false.
+
+
+
+
+ For backwards compatibility, this provider supports this option by default it is true
+
+
+
+
+ The name of the application using the custom role provider.
+
+
+ The name of the application using the custom membership provider.
+
+
+
+ Custom Membership Provider for Umbraco Users (User authentication for Umbraco Backend CMS)
+
+
+
+
+ Creates a tree node for a content item based on an UmbracoEntity
+
+
+
+
+
+
+
+
+ Returns true or false if the current user has access to the node based on the user's allowed start node (path) access
+
+
+
+
+
+
+
+ Returns a collection of all menu items that can be on a content node
+
+
+
+
+
+
+ Reads from all defined manifests and ensures that any of their initialization is output with the
+ main Umbraco initialization output.
+
+
+
+
+ Processes all found manifest files and outputs the main.js file containing all plugin manifests
+
+
+
+
+ Returns the default config as a JArray
+
+
+
+
+
+ Parses the JsResources.Main and replaces the replacement tokens accordingly.
+
+
+
+
+
+
+ A model representing a content item to be displayed in the back office
+
+
+
+
+ The allowed 'actions' based on the user's permissions - Create, Update, Publish, Send to publish
+
+
+ Each char represents a button which we can then map on the front-end to the correct actions
+
+
+
+
+ Represents a content item from the database including all of the required data that we need to work with such as data type data
+
+
+
+
+ Represents an uploaded file for a particular property
+
+
+
+
+ The property alias associated with the file
+
+
+
+
+ The original file name
+
+
+
+
+ The file path for the uploaded file for where the MultipartFormDataStreamProvider has saved the temp file
+
+
+
+
+ A model representing a content item to be saved
+
+
+
+
+ The template alias to save
+
+
+
+
+ Represents a content property to be saved
+
+
+
+
+ Used internally during model mapping
+
+
+
+
+ Represents a content property that is displayed in the UI
+
+
+
+
+ Represents a content property from the database
+
+
+
+
+ The current pre-values for this property
+
+
+
+
+ Extension methods for the HttpRequest and HttpRequestBase objects
+
+
+
+
+ Extracts the value from the query string and cleans it to prevent xss attacks.
+
+
+
+
+
+
+
+ Safely get a request item as string, if the item does not exist, an empty string is returned.
+
+
+
+ The value to return if the key is not found in the collection
+
+
+
+
+ Safely get a request item as string, if the item does not exist, an empty string is returned.
+
+
+
+ The value to return if the key is not found in the collection
+
+
+
+
+ Safely get the item from the query string and convert it to type 'T', otherwise will return default(T).
+
+
+
+
+
+
+
+
+ Safely get the item from the query string and convert it to type 'T', otherwise will return default(T).
+
+
+
+
+
+
+
+
+ Return the Url for a Web Api service
+
+
+
+
+
+
+
+
+
+ Return the Url for a Web Api service
+
+
+
+
+
+
+
+
+
+ Return the Url for a Web Api service
+
+
+
+
+
+
+
+
+
+ Return the Url for a Web Api service
+
+
+
+
+
+
+
+
+
+
+ Get the installer steps
+
+
+
+ The step order returned here is how they will appear on the front-end if they have views assigned
+
+
+
+
+ Returns the steps that are used only for the current installation type
+
+
+
+
+
+ Checks if this is a brand new install meaning that there is no configured version and there is no configured database connection
+
+
+
+
+ Ensures authorization occurs for the installer if it has already completed. If install has not yet occured
+ then the authorization is successful
+
+
+
+
+ THIS SHOULD BE ONLY USED FOR UNIT TESTS
+
+
+
+
+
+ Controller to render macro content for Parital View Macros
+
+
+
+
+ Child action to render a macro
+
+
+
+
+
+ A macro engine using MVC Partial Views to execute
+
+
+
+
+ Constructor generally used for unit testing
+
+
+
+
+
+
+ The base view class that PartialViewMacro views need to inherit from
+
+
+
+
+ Returns the a DynamicPublishedContent object
+
+
+
+
+ The base dynamic model for views
+
+
+
+
+ Attempts to call a method on the dynamic object
+
+
+
+
+
+
+
+
+ Attempts to return a custom member (generally based on a string match)
+
+
+
+
+
+
+ Attempts to return the children by the document type's alias (for example: CurrentPage.NewsItems where NewsItem is the
+ document type alias)
+
+
+
+
+ This method will work by both the plural and non-plural alias (i.e. NewsItem and NewsItems)
+
+
+
+
+ Attempts to return a member based on the reflected document property
+
+
+
+
+
+
+ Attempts to return a member based on a user defined umbraco property
+
+
+
+
+
+
+ Returns the member match methods in the correct order and is used in the TryGetMember method.
+
+
+
+
+
+ Try to return an object based on the dynamic member accessor
+
+
+
+
+
+ TODO: SD: This will alwasy return true so that no exceptions are generated, this is only because this is how the
+ old DynamicNode worked, I'm not sure if this is the correct/expected functionality but I've left it like that.
+ IMO I think this is incorrect and it would be better to throw an exception for something that is not supported!
+
+
+
+
+ Returns a property defined on the document object as a member property using reflection
+
+
+
+
+
+
+ Return a user defined property
+
+
+
+
+
+
+
+ A shortcut method for AncestorOrSelf(1)
+
+
+ The site homepage
+
+
+
+
+ Represents a collection of DynamicPublishedContent items.
+
+
+
+
+ Adds an item to the collection.
+
+ The item to add.
+
+
+
+ Removes an item from the collection.
+
+ The item to remove.
+
+
+
+ The model used when rendering Partial View Macros
+
+
+
+
+ Creates a custom individual route for the specified controller plugin. Individual routes
+ are required by controller plugins to map to a unique URL based on ID.
+
+
+
+ An existing route collection
+
+ The suffix name that the controller name must end in before the "Controller" string for example:
+ ContentTreeController has a controllerSuffixName of "Tree", this is used for route constraints.
+
+
+
+
+ The DataToken value to set for the 'umbraco' key, this defaults to 'backoffice'
+ By default this value is just {action}/{id} but can be modified for things like web api routes
+ Default is true for MVC, otherwise false for WebAPI
+
+ If specified will add this string to the path between the umbraco path and the area path name, for example:
+ /umbraco/CUSTOMPATHPREFIX/areaname
+ if not specified, will just route like:
+ /umbraco/areaname
+
+
+
+
+
+
+ Returns a value indicating whether a specified Uri should be routed to the BaseRestHandler.
+
+ The specified Uri.
+ A value indicating whether the specified Uri should be routed to the BaseRestHandler.
+
+
+
+ Provides extension methods to ContextualPublishedCache.
+
+
+
+
+ Gets a dynamic content identified by its unique identifier.
+
+ The contextual cache.
+ The content unique identifier.
+ The dynamic content, or null.
+
+
+
+ Gets a dynamic content resulting from an XPath query.
+
+ The contextual cache.
+ The XPath query.
+ Optional XPath variables
+ The dynamic content, or null.
+
+
+
+ Gets a dynamic content resulting from an XPath query.
+
+ The contextual cache.
+ The XPath query.
+ Optional XPath variables
+ The dynamic content, or null.
+
+
+
+ Gets dynamic contents resulting from an XPath query.
+
+ The contextual cache.
+ The XPath query.
+ Optional XPath variables
+ The dynamic contents.
+
+
+
+ Gets dynamic contents resulting from an XPath query.
+
+ The contextual cache.
+ The XPath query.
+ Optional XPath variables
+ The dynamic contents.
+
+
+
+ Gets dynamic contents at root.
+
+ The contextual cache.
+ The dynamic contents.
+
+
+
+ A resolver used to resolve the default RenderMvcController that is used to render any front-end
+ Umbraco page when using MVC when there are no routes hijacked.
+
+
+
+
+ Constructor accepting the default RenderMvcController
+
+
+
+
+
+ Returns the Default RenderMvcController type
+
+
+
+
+
+ Returns an instance of the default controller instance.
+
+
+
+
+ Sets the default RenderMvcController type
+
+
+
+
+
+ Ensures that the type passed in is of type RenderMvcController
+
+
+
+
+
+ Allows an Action to execute with an arbitrary number of QueryStrings
+
+
+ Just like you can POST an arbitrary number of parameters to an Action, you can't GET an arbitrary number
+ but this will allow you to do it
+
+ http://stackoverflow.com/questions/488061/passing-multiple-parameters-to-controller-in-asp-net-mvc-also-generating-on-the
+
+
+
+
+ Converts a dictionary to a FormCollection
+
+
+
+
+
+
+ Provides access to cached documents in a specified context.
+
+
+
+
+ Provides access to cached contents in a specified context.
+
+ The type of the underlying published cache.
+ The type differenciates between the content cache and the media cache,
+ ie it will be either IPublishedContentCache or IPublishedMediaCache.
+
+
+
+ Provides access to cached contents in a specified context.
+
+
+
+
+ Initializes a new instance of the with a context.
+
+ The context.
+
+
+
+ Gets a content identified by its unique identifier.
+
+ The content unique identifier.
+ The content, or null.
+ Considers published or unpublished content depending on context.
+
+
+
+ Gets a content identified by its unique identifier.
+
+ A value indicating whether to consider unpublished content.
+ The content unique identifier.
+ The content, or null.
+
+
+
+ Gets content at root.
+
+ The contents.
+ Considers published or unpublished content depending on context.
+
+
+
+ Gets contents at root.
+
+ A value indicating whether to consider unpublished content.
+ The contents.
+
+
+
+ Gets a content resulting from an XPath query.
+
+ The XPath query.
+ Optional XPath variables.
+ The content, or null.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+ Considers published or unpublished content depending on context.
+
+
+
+
+ Gets a content resulting from an XPath query.
+
+ The XPath query.
+ Optional XPath variables.
+ The content, or null.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+ Considers published or unpublished content depending on context.
+
+
+
+
+ Gets a content resulting from an XPath query.
+
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The content, or null.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Gets a content resulting from an XPath query.
+
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The content, or null.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Gets content resulting from an XPath query.
+
+ The XPath query.
+ Optional XPath variables.
+ The contents.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+ Considers published or unpublished content depending on context.
+
+
+
+
+ Gets content resulting from an XPath query.
+
+ The XPath query.
+ Optional XPath variables.
+ The contents.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+ Considers published or unpublished content depending on context.
+
+
+
+
+ Gets content resulting from an XPath query.
+
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The contents.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Gets content resulting from an XPath query.
+
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The contents.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Gets an XPath navigator that can be used to navigate content.
+
+ The XPath navigator.
+ Considers published or unpublished content depending on context.
+
+
+
+ Gets an XPath navigator that can be used to navigate content.
+
+ A value indicating whether to consider unpublished content.
+ The XPath navigator.
+
+
+
+ Gets a value indicating whether the underlying non-contextual cache contains content.
+
+ A value indicating whether the underlying non-contextual cache contains content.
+ Considers published or unpublished content depending on context.
+
+
+
+ Gets a value indicating whether the underlying non-contextual cache contains content.
+
+ A value indicating whether to consider unpublished content.
+ A value indicating whether the underlying non-contextual cache contains content.
+
+
+
+ Gets a value indicating whether GetXPathNavigator returns an XPathNavigator
+ and that navigator is a NavigableNavigator.
+
+
+
+
+ Initializes a new instance of the with a context and a published cache.
+
+ The context.
+ The cache.
+
+
+
+ Gets a content identified by its unique identifier.
+
+ A value indicating whether to consider unpublished content.
+ The content unique identifier.
+ The content, or null.
+
+
+
+ Gets content at root.
+
+ A value indicating whether to consider unpublished content.
+ The contents.
+
+
+
+ Gets a content resulting from an XPath query.
+
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The content, or null.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Gets a content resulting from an XPath query.
+
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The content, or null.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Gets content resulting from an XPath query.
+
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The contents.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Gets content resulting from an XPath query.
+
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The contents.
+
+ If is null, or is empty, or contains only one single
+ value which itself is null, then variables are ignored.
+ The XPath expression should reference variables as $var.
+
+
+
+
+ Gets an XPath navigator that can be used to navigate content.
+
+ A value indicating whether to consider unpublished content.
+ The XPath navigator.
+
+
+
+ Gets a value indicating whether the underlying non-contextual cache contains content.
+
+ A value indicating whether to consider unpublished content.
+ A value indicating whether the underlying non-contextual cache contains content.
+
+
+
+ Gets the underlying published cache.
+
+
+
+
+ Gets a value indicating whether GetXPathNavigator returns an XPathNavigator
+ and that navigator is a NavigableNavigator.
+
+
+
+
+ Initializes a new instance of the class with a published content cache and a context.
+
+ A published content cache.
+ A context.
+
+
+
+ Gets content identified by a route.
+
+ The route
+ A value forcing the HideTopLevelNode setting.
+ The content, or null.
+
+ A valid route is either a simple path eg /foo/bar/nil or a root node id and a path, eg 123/foo/bar/nil.
+ Considers published or unpublished content depending on context.
+
+
+
+
+ Gets content identified by a route.
+
+ A value indicating whether to consider unpublished content.
+ The route
+ A value forcing the HideTopLevelNode setting.
+ The content, or null.
+ A valid route is either a simple path eg /foo/bar/nil or a root node id and a path, eg 123/foo/bar/nil.
+
+
+
+ Gets the route for a content identified by its unique identifier.
+
+ The content unique identifier.
+ The route.
+ Considers published or unpublished content depending on context.
+
+
+
+ Gets the route for a content identified by its unique identifier.
+
+ A value indicating whether to consider unpublished content.
+ The content unique identifier.
+ The route.
+ Considers published or unpublished content depending on context.
+
+
+
+ Provides access to cached medias in a specified context.
+
+
+
+
+ Initializes a new instance of the class with a published media cache and a context.
+
+ A published media cache.
+ A context.
+
+
+
+ Resolves the IPublishedCaches object.
+
+
+
+
+ Initializes a new instance of the class with caches.
+
+ The caches.
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Sets the caches.
+
+ The caches.
+ For developers, at application startup.
+
+
+
+ Gets the caches.
+
+
+
+
+ Provides caches (content and media).
+
+ Groups caches that _may_ be related.
+
+
+
+ Creates a contextual content cache for a specified context.
+
+ The context.
+ A new contextual content cache for the specified context.
+
+
+
+ Creates a contextual media cache for a specified context.
+
+ The context.
+ A new contextual media cache for the specified context.
+
+
+
+ Provides caches (content and media).
+
+ Default implementation for unrelated caches.
+
+
+
+ Initializes a new instance of the class with a content cache
+ and a media cache.
+
+
+
+
+ Creates a contextual content cache for a specified context.
+
+ The context.
+ A new contextual content cache for the specified context.
+
+
+
+ Creates a contextual media cache for a specified context.
+
+ The context.
+ A new contextual media cache for the specified context.
+
+
+
+ An IPublishedMediaStore that first checks for the media in Examine, and then reverts to the database
+
+
+ NOTE: In the future if we want to properly cache all media this class can be extended or replaced when these classes/interfaces are exposed publicly.
+
+
+
+
+ Provides access to cached contents.
+
+
+
+
+ Gets a content identified by its unique identifier.
+
+ The context.
+ A value indicating whether to consider unpublished content.
+ The content unique identifier.
+ The content, or null.
+ The value of overrides the context.
+
+
+
+ Gets contents at root.
+
+ The context.
+ A value indicating whether to consider unpublished content.
+ The contents.
+ The value of overrides the context.
+
+
+
+ Gets a content resulting from an XPath query.
+
+ The context.
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The content, or null.
+ The value of overrides the context.
+
+
+
+ Gets a content resulting from an XPath query.
+
+ The context.
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The content, or null.
+ The value of overrides the context.
+
+
+
+ Gets contents resulting from an XPath query.
+
+ The context.
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The contents.
+ The value of overrides the context.
+
+
+
+ Gets contents resulting from an XPath query.
+
+ The context.
+ A value indicating whether to consider unpublished content.
+ The XPath query.
+ Optional XPath variables.
+ The contents.
+ The value of overrides the context.
+
+
+
+ Gets an XPath navigator that can be used to navigate contents.
+
+ The context.
+ A value indicating whether to consider unpublished content.
+ The XPath navigator.
+ The value of overrides the context.
+
+
+
+ Gets a value indicating whether the cache contains published content.
+
+ The context.
+ A value indicating whether to consider unpublished content.
+ A value indicating whether the cache contains published content.
+ The value of overrides the context.
+
+
+
+ Gets a value indicating whether GetXPathNavigator returns an XPathNavigator
+ and that navigator is a NavigableNavigator.
+
+
+
+
+ Generally used for unit testing to use an explicit examine searcher
+
+
+
+
+
+
+
+ We will need to first check if the document was loaded by Examine, if so we'll need to check if this property exists
+ in the results, if it does not, then we'll have to revert to looking up in the db.
+
+
+
+
+
+
+
+ A Helper methods to return the children for media whther it is based on examine or xml
+
+
+
+
+
+
+
+ An IPublishedContent that is represented all by a dictionary.
+
+
+ This is a helper class and definitely not intended for public use, it expects that all of the values required
+ to create an IPublishedContent exist in the dictionary by specific aliases.
+
+
+
+
+ Flag to get/set if this was laoded from examine cache
+
+
+
+
+ Returns 'Media' as the item type
+
+
+
+
+ A culture dictionary that uses the Umbraco ILocalizationService
+
+
+
+
+ Returns the child dictionary entries for a given key
+
+
+
+
+
+
+ Returns the dictionary value based on the key supplied
+
+
+
+
+
+
+ Returns the current culture
+
+
+
+
+ A culture dictionary factory used to create an Umbraco.Core.Dictionary.ICultureDictionary.
+
+
+ In the future this will allow use to potentially store dictionary items elsewhere and allows for maximum flexibility.
+
+
+
+
+ Attribute for attributing controller actions to restrict them
+ to just authenticated members, and optionally of a particular type and/or group
+
+
+
+
+ THIS SHOULD BE ONLY USED FOR UNIT TESTS
+
+
+
+
+
+ Override method to throw exception instead of returning a 401 result
+
+
+
+
+
+ Flag for whether to allow all site visitors or just authenticated members
+
+
+ This is the same as applying the [AllowAnonymous] attribute
+
+
+
+
+ Comma delimited list of allowed member types
+
+
+
+
+ Comma delimited list of allowed member groups
+
+
+
+
+ Comma delimited list of allowed members
+
+
+
+
+ An area registration for back office components
+
+
+
+
+ Create the routes for the area
+
+
+
+ By using the context to register the routes it means that the area is already applied to them all
+ and that the namespaces searched for the controllers are ONLY the ones specified.
+
+
+
+
+ Gets a controller type by the name
+
+
+
+
+
+
+ This is related to issue: http://issues.umbraco.org/issue/U4-1726. We already have a method called GetControllerTypeInternal on our MasterControlelrFactory,
+ however, we cannot always guarantee that the usage of this will be a MasterControllerFactory like during unit tests. So we needed to create
+ this extension method to do the checks instead.
+
+
+
+
+ The interface that must be implemented for a controller to be designated to execute for route hijacking
+
+
+
+
+ The default action to render the front-end view
+
+
+
+
+
+
+ Assigned to all SurfaceController's so that it returns our custom SurfaceMvcHandler to use for rendering
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Once resolution is frozen, then we can bind to the events that we require
+
+
+
+
+
+
+ Used ONLY for unit tests
+
+
+
+
+
+ Used ONLY for unit tests
+
+
+
+
+
+ Stores a route for a node.
+
+ The node identified.
+ The route.
+
+
+
+ Gets a route for a node.
+
+ The node identifier.
+ The route for the node, else null.
+
+
+
+ Gets a node for a route.
+
+ The route.
+ The node identified for the route, else zero.
+
+
+
+ Clears the route for a node.
+
+ The node identifier.
+
+
+
+ Clears all routes.
+
+
+
+
+ Specifies the type of urls that the url provider should produce.
+
+
+ The AutoLegacy option is equivalent to Auto but it also respects the legacy useDomainPrefixes setting.
+ When that setting is true, then all urls are absolute. Otherwise, urls will be relative or absolute, depending on hostnames.
+ The Relative option can lead to invalid results when combined with hostnames, but it is the only way to reproduce
+ the true, pre-4.10, always-relative behavior of Umbraco.
+ For the time being, the default option is AutoLegacy although in the future it will be Auto.
+
+
+
+
+ Indicates that the url provider should determine automatically whether to return relative or absolute urls,
+ and also respect the legacy useDomainPrefixes setting.
+
+
+
+
+ Indicates that the url provider should produce relative urls exclusively.
+
+
+
+
+ Indicates that the url provider should produce absolute urls exclusively.
+
+
+
+
+ Indicates that the url provider should determine automatically whether to return relative or absolute urls.
+
+
+
+
+ The number of docs in the index
+
+
+
+
+ The number of fields in the index
+
+
+
+
+ The number of documents flagged for deletion in the index
+
+
+
+
+ Whether or not the indexed is optimized
+
+
+
+
+ Generally will always be true unless someone has created a new non-lucene index
+
+
+
+
+ Extension methods for the LuceneIndexer
+
+
+
+
+ Return the number of indexed documents in Lucene
+
+
+
+
+
+
+ Return the total number of fields in the index
+
+
+
+
+
+
+ Returns true if the index is optimized or not
+
+
+
+
+
+
+ Check if the index is locked
+
+
+
+
+ If the index does not exist we'll consider it locked
+
+
+
+
+ The number of documents deleted in the index
+
+
+
+
+
+
+ A utility class used for dealing with USER security in Umbraco
+
+
+
+
+ Returns true or false if the currently logged in member is authorized based on the parameters provided
+
+
+
+
+
+
+
+
+
+ Logs a user in.
+
+ The user Id
+ returns the number of seconds until their session times out
+
+
+
+ Clears the current login for the currently logged in user
+
+
+
+
+ Renews the user's login ticket
+
+
+
+
+ Validates credentials for a back office user
+
+
+
+
+
+
+
+ Returns the MembershipUser from the back office membership provider
+
+
+
+
+
+
+
+ Returns the back office IUser instance for the username specified
+
+
+
+
+ This will return an Iuser instance no matter what membership provider is installed for the back office, it will automatically
+ create any missing Iuser accounts if one is not found and a custom membership provider is being used.
+
+
+
+
+ Validates the user node tree permissions.
+
+
+ The path.
+ The action.
+
+
+
+
+ Validates the current user to see if they have access to the specified app
+
+
+
+
+
+
+ Gets the user id.
+
+ This is not used
+
+
+
+
+ Gets the currnet user's id.
+
+
+
+
+
+ Returns the current user's unique session id - used to mitigate csrf attacks or any other reason to validate a request
+
+
+
+
+
+ Validates the user context ID.
+
+ This doesn't do anything
+
+
+
+
+ Validates the currently logged in user and ensures they are not timed out
+
+
+
+
+
+ Validates the current user assigned to the request and ensures the stored user data is valid
+
+ set to true if you want exceptions to be thrown if failed
+
+
+
+
+ Authorizes the full request, checks for SSL and validates the current user
+
+ set to true if you want exceptions to be thrown if failed
+
+
+
+
+ Checks if the specified user as access to the app
+
+
+
+
+
+
+
+ Checks if the specified user by username as access to the app
+
+
+
+
+
+
+
+ Ensures that a back office user is logged in
+
+
+
+
+
+ Gets the current user.
+
+ The current user.
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to [
+ 'lib/jquery/jquery-2.0.3.min.js',
+ 'lib/angular/1.1.5/angular.min.js',
+ 'lib/underscore/underscore.js',
+
+ 'lib/jquery/jquery-ui-1.10.3.custom.min.js',
+
+ 'lib/angular/1.1.5/angular-cookies.min.js',
+ 'lib/angular/1.1.5/angular-mobile.js',
+ 'lib/angular/1.1.5/angular-sanitize.min.js',
+
+ 'lib/angular/angular-ui-sortable.js',
+
+ 'lib/jquery/jquery.upload/js/jquery.fileupload.js',
+ 'lib/jquery/jquery.upload/js/load-image.min.js',
+ 'lib/jquery/jquery.upload/js/ [rest of string was truncated]";.
+
+
+
+
+ Looks up a localized string similar to LazyLoad.js("##JsInitialize##", function () {
+ //we need to set the legacy UmbClientMgr path
+ UmbClientMgr.setUmbracoPath('"##UmbracoPath##"');
+
+ jQuery(document).ready(function () {
+ angular.bootstrap(document, ['umbraco']);
+ });
+ });.
+
+
+
+
+
+ Allows developers to add custom variables on parsing
+
+
+
+
+ This will execute after upgrading to rebuild the xml cache
+
+
+ This cannot execute as part of a db migration since we need access to the services/repos.
+
+ This will execute for specific versions -
+
+ * If current is less than or equal to 7.0.0
+
+
+
+
+ Used to ensure that the public access data file is kept up to date properly
+
+
+
+
+ The core libs that have no dependencies
+
+
+
+
+ The core Jquery libs
+
+
+
+
+ The core Jquery libs
+
+
+
+
+ The core libs that require JQuery to be loaded
+
+
+
+
+ The UI Umbraco libs
+
+
+
+
+ The umb tree libs
+
+
+
+
+ A logger for ClientDependency
+
+
+
+
+ Used to convert to/from the legacy INode from IPublishedContent
+
+
+
+
+ umbPasswordChanger_passwordNew control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ umbPasswordChanger_passwordNewConfirm control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CompareValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ IsChangingPassword control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ResetPasswordCheckBox control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ umbPasswordChanger_passwordCurrent control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Determines whether to show the old password field or not
+
+
+
+
+ A base class for all Presentation UserControls to inherit from
+
+
+
+
+ Default constructor
+
+
+
+
+
+ Empty constructor, uses Singleton to resolve the UmbracoContext
+
+
+
+
+ Useful for debugging
+
+
+
+
+ Returns an UmbracoHelper object
+
+
+
+
+ Returns the MemberHelper instance
+
+
+
+
+ Returns the current WebSecurity instance
+
+
+
+
+ Returns an ILogger
+
+
+
+
+ Returns a ProfilingLogger
+
+
+
+
+ Returns the current UmbracoContext
+
+
+
+
+ Returns the current ApplicationContext
+
+
+
+
+ Returns a ServiceContext
+
+
+
+
+ Returns a DatabaseContext
+
+
+
+
+ Returns a UrlHelper
+
+
+ This URL helper is created without any route data and an empty request context
+
+
+
+
+ Returns the legacy SqlHelper
+
+
+
+
+ Called asynchronously in order to persist all of the data to the database
+
+
+
+
+
+
+
+ This can be a long running operation depending on how many content nodes exist and if the node type alias
+ has changed as this will need to regenerate XML for all of the nodes.
+
+
+
+
+ Occurs once the async database save operation has completed
+
+
+
+ This updates the UI elements
+
+
+
+
+ The save button click event handlers
+
+
+
+
+
+
+ Loads the current ContentType from the id found in the querystring.
+ The correct type is loaded based on editing location (DocumentType, MediaType or MemberType).
+
+
+
+
+ Updates the Node in the Tree
+
+
+
+
+ Returns a generic property wrapper for a given property - this determines if the property type should be
+ allowed to be editable.
+
+
+
+
+
+ Called asynchronously in order to delete a content type property
+
+
+
+
+
+
+
+
+
+ Occurs once the async database delete operation has completed
+
+
+
+ This updates the UI elements
+
+
+
+
+ Removes a PropertyType from the current ContentType when user clicks "red x"
+
+
+
+
+
+
+ Adds a new Tab to current ContentType when user clicks 'New Tab'-button
+
+
+
+
+
+
+ Removes a Tab from current ContentType when user clicks Delete button
+
+
+
+
+
+
+ TabView1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pnlGeneral control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pnlTab control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PaneTabsInherited control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tabsMasterContentTypeName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_newTab control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ txtNewTab control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ btnNewTab control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ dgTabs control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lttNoTabs control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pnlInfo control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_name control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ txtName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_alias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ txtAlias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_icon control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ddlIcons control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_description control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ description control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pnlStructure control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane6 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_Root control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ allowAtRoot control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane5 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_allowedChildren control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lstAllowedContentTypes control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PlaceHolderAllowedContentTypes control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pnlProperties control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PanePropertiesInherited control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ propertiesMasterContentTypeName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyTypeNew control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyTypes control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ checkTxtAliasJs control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ DuplicateAliasValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane9 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_compositions control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lstContentTypeCompositions control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PlaceHolderContentTypeCompositions control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ A class to track the async state for deleting a doc type property
+
+
+
+
+ A class to track the async state for saving the doc type
+
+
+
+
+ Returns true if any property has been removed or if any alias has changed
+
+
+
+
+
+
+ The Umbraco tree control.
+ If this control doesn't exist on an UmbracoEnsuredPage it will not work.
+
+
+
+
+ If there is not application or tree specified in a query string then this is the application to load.
+
+
+
+
+ Set the defaults
+
+
+
+
+ Can be set explicitly which will override what is in query strings or what has been set by properties.
+ Useful for rendering out a tree dynamically with an instance of anoterh TreeService.
+ By using this method, it will undo any of the tree service public properties that may be set
+ on this object.
+
+
+
+
+ Initializes the control and looks up the tree structures that are required to be rendered.
+ Properties of the control (or SetTreeService) need to be set before pre render or calling
+ GetJSONContextMenu or GetJSONNode
+
+
+
+
+ This calls the databind method to bind the data binding syntax on the front-end.
+
+ Databinding was used instead of inline tags in case the tree properties needed to be set
+ by other classes at runtime
+
+
+
+
+ This will initialize the control so all TreeService properties need to be set before hand
+
+
+
+
+ Returns the JSON markup for the full context menu
+
+
+
+
+ Returns a string with javascript proxy methods for IActions that are using old javascript
+
+
+
+
+
+ Returns the JSON markup for one node
+
+
+
+
+
+ This will initialize the control so all TreeService properties need to be set before hand
+
+
+
+
+ Returns the JSON markup for the first node in the tree
+
+
+
+
+ Return the current application alias. If neither the TreeType of Application is specified
+ than return the default application. If the Application is null but there is a TreeType then
+ find the application that the tree type is associated with.
+
+
+
+
+ CssInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude5 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude6 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude8 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude11 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude12 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude9 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude10 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ TreeContainer control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Allows for checkboxes to be used with the tree. Default is standard.
+
+
+
+
+ Returns the required JavaScript as a string for the current application
+
+
+
+
+ By default this is false. If set to true, then the code in the client side of the tree will force calling rebuildTree
+ to be called explicitly for the tree to render
+
+
+
+
+ Summary description for simple.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Textbox1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sbmt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for protectPage.
+
+
+
+
+ tempFile control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ feedback control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ p_mode control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_chooseMode control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rb_simple control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rb_advanced control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ p_noGroupsFound control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_selectMode control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_simple control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_login control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ simpleLogin control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_pass control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ simplePassword control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_advanced control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ groupsSelector control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ p_buttons control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_pages control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_loginPage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ph_loginpage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ cv_loginPage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_errorPage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ph_errorpage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ cv_errorPage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_protect control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_buttonRemoveProtection control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ errorId control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ loginId control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ js control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_form control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ progbar control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for create.
+
+
+
+
+ path control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_chooseNode control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JTree control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ panel_buttons control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PageNameHolder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_chooseName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ phCreate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for AssignDomain.
+
+
+
+
+ FeedBackMessage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_addnew control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ prop_domain control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ DomainName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ DomainValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ DomainValidator2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ prop_lang control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Languages control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ LanguageValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ok control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_edit control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ allDomains control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ UmbracoEnsuredPage is the standard protected page in the umbraco backend, and forces authentication.
+
+
+
+
+ umbraco.BasePages.BasePage is the default page type for the umbraco backend.
+ The basepage keeps track of the current user and the page context. But does not
+ Restrict access to the page itself.
+ The keep the page secure, the umbracoEnsuredPage class should be used instead
+
+
+
+
+ Raises the event.
+
+ The object that contains the event data.
+
+
+
+ Returns an ILogger
+
+
+
+
+ Returns a ProfilingLogger
+
+
+
+
+ Returns a UrlHelper
+
+
+ This URL helper is created without any route data and an empty request context
+
+
+
+
+ Returns a HtmlHelper
+
+
+ This html helper is created with an empty context and page so it may not have all of the functionality expected.
+
+
+
+
+ Returns the current ApplicationContext
+
+
+
+
+ Returns the current UmbracoContext
+
+
+
+
+ Returns the current WebSecurity instance
+
+
+
+
+ Returns a ServiceContext
+
+
+
+
+ Returns a DatabaseContext
+
+
+
+
+ Returns a refernce of an instance of ClientTools for access to the pages client API
+
+
+
+
+ Authorizes the user
+
+
+
+ Checks if the page exists outside of the /umbraco route, in which case the request will not have been authenticated for the back office
+ so we'll force authentication.
+
+
+
+
+ Gets/sets the app that this page is assigned to
+
+
+
+
+ If true then umbraco will force any window/frame to reload umbraco in the main window
+
+
+
+
+ Returns the current user
+
+
+
+
+ Used to assign a webforms page's security to a specific tree which will in turn check to see
+ if the current user has access to the specified tree's registered section
+
+
+
+
+ data control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ feedback control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_language control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ prop_language control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_domains control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ p_buttons control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for EditUser.
+
+
+
+
+ Setups the form.
+
+
+
+
+ This handles changing the password
+
+
+
+
+
+
+
+ Handles the Click event of the saveUser control.
+
+ The source of the event.
+ The instance containing the event data.
+
+
+
+ UserTabs control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Provides extension methods for .
+
+
+
+
+ If there are event messages in the current request this will return them , otherwise it will return null
+
+
+
+
+
+
+ Summary description for editstylesheet.
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_name control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NameTxt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_path control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lttPath control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_source control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ editorSource control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for EditStyleSheetProperty.
+
+
+
+
+ Raises the event.
+
+ The object that contains the event data.
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NameTxt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ AliasTxt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Content control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ prStyles control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Extension methods for UrlHelper
+
+
+
+
+ Returns the base path (not including the 'action') of the MVC controller "ExamineManagementController"
+
+
+
+
+
+
+ Return the Url for a Web Api service
+
+
+
+
+
+
+
+
+
+ Return the Base Url (not including the action) for a Web Api service
+
+
+
+
+
+
+
+
+ Return the Url for a Web Api service
+
+
+
+
+
+
+
+
+
+ Return the Url for a Web Api service
+
+
+
+
+
+
+
+
+
+ Return the Url for a Web Api service
+
+
+
+
+
+
+
+
+
+
+ Return the Url for an action with a cache-busting hash appended
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This controller is decorated with the UmbracoApplicationAuthorizeAttribute which means that any user requesting
+ access to ALL of the methods on this controller will need access to the media application.
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+
+ Gets an empty content item for the
+
+
+
+
+
+
+
+ Gets the content json for the content id
+
+
+
+
+
+
+ Return media for the specified ids
+
+
+
+
+
+
+ Returns the root media objects
+
+
+
+
+ Returns the child media objects
+
+
+
+
+ Moves an item to the recycle bin, if it is already there then it will permanently delete it
+
+
+
+
+
+
+ Change the sort order for media
+
+
+
+
+
+
+ Saves content
+
+
+
+
+
+ Maps the property values to the persisted entity
+
+
+
+
+
+ Empties the recycle bin
+
+
+
+
+
+ Change the sort order for media
+
+
+
+
+
+
+ Used to submit a media file
+
+
+
+ We cannot validate this request with attributes (nicely) due to the nature of the multi-part for data.
+
+
+
+
+ Ensures the item can be moved/copied to the new location
+
+
+
+
+
+
+ Performs a permissions check for the user to check if it has access to the node based on
+ start node and/or permissions for the node
+
+ The storage to add the content item to so it can be reused
+
+
+ The content to lookup, if the contentItem is not specified
+ Specifies the already resolved content item to check against, setting this ignores the nodeId
+
+
+
+
+ This is used for the response of PostAddFile so that we can analyze the response in a filter and remove the
+ temporary files that were created.
+
+
+
+
+ Extension methods for UrlHelper for use in templates
+
+
+
+
+ Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController
+
+
+
+
+
+
+
+
+ Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController
+
+
+
+
+
+
+
+
+
+ Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController
+
+
+
+
+
+
+
+
+
+
+ Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController
+
+
+
+
+
+
+
+
+ Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController
+
+
+
+
+
+
+
+
+
+ Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController
+
+
+
+
+
+
+
+
+ Generates a URL based on the current Umbraco URL with a custom query string that will route to the specified SurfaceController
+
+
+
+
+
+
+
+
+
+ When applied to an api controller it will be routed to the /Umbraco/BackOffice prefix route so we can determine if it
+ is a back office route or not.
+
+
+
+
+ Constructor
+
+
+
+
+ Constructor
+
+
+
+
+ Auth filter to check if the current user has access to the content item (by id).
+
+
+
+ This first checks if the user can access this based on their start node, and then checks node permissions
+
+ By default the permission that is checked is browse but this can be specified in the ctor.
+ NOTE: This cannot be an auth filter because that happens too soon and we don't have access to the action params.
+
+
+
+
+ This constructor will only be able to test the start node access
+
+
+
+
+ Auth filter to check if the current user has access to the content item
+
+
+ Since media doesn't have permissions, this simply checks start node access
+
+
+
+
+ This constructor will only be able to test the start node access
+
+
+
+
+ Checks if the parameter is ContentItemSave and then deletes any temporary saved files from file uploads associated with the request
+
+
+
+
+ Constructor specifies if the filter should analyze the incoming or outgoing model
+
+
+
+
+
+ Returns true so that other filters can execute along with this one
+
+
+
+
+ This inspects the result of the action that returns a collection of content and removes
+ any item that the current user doesn't have access to
+
+
+
+
+ This inspects the result of the action that returns a collection of content and removes
+ any item that the current user doesn't have access to
+
+
+
+
+ Returns true so that other filters can execute along with this one
+
+
+
+
+ Allows an Action to execute with an arbitrary number of QueryStrings
+
+
+ Just like you can POST an arbitrary number of parameters to an Action, you can't GET an arbitrary number
+ but this will allow you to do it
+
+
+
+
+ Sets the json outgoing/serialized datetime format
+
+
+
+
+ Specify a custom format
+
+
+
+
+
+ Will use the standard ISO format
+
+
+
+
+ Ensures that the current user has access to the specified application
+
+
+
+
+ Can be used by unit tests to enable/disable this filter
+
+
+
+
+ Constructor to set any number of applications that the user needs access to to be authorized
+
+
+ If the user has access to any of the specified apps, they will be authorized.
+
+
+
+
+ A custom converter for GUID's to format without hyphens
+
+
+
+
+ Borrowed from the latest Microsoft.AspNet.WebApi.Owin package which we cannot use because of a later webapi dependency
+
+
+
+
+
+
+ Tries to retrieve the current HttpContext if one exists.
+
+
+
+
+
+ Create a 403 (Forbidden) response indicating that hte current user doesn't have access to the resource
+ requested or the action it needs to take.
+
+
+
+
+ This is different from a 401 which indicates that the user is not logged in.
+
+
+
+
+ Create a 400 response message indicating that a validation error occurred
+
+
+
+
+
+
+
+
+ Create a 400 response message indicating that a validation error occurred
+
+
+
+
+
+
+ Create a 400 response message indicating that a validation error occurred
+
+
+
+
+
+
+
+ Create a 400 response message indicating that a validation error occurred
+
+
+
+
+
+
+
+ Applying this attribute to any webapi controller will ensure that it only contains one json formatter compatible with the angular json vulnerability prevention.
+
+
+
+
+ Attribute for attributing controller actions to restrict them
+ to just authenticated members, and optionally of a particular type and/or group
+
+
+
+
+ THIS SHOULD BE ONLY USED FOR UNIT TESTS
+
+
+
+
+
+ Flag for whether to allow all site visitors or just authenticated members
+
+
+ This is the same as applying the [AllowAnonymous] attribute
+
+
+
+
+ Comma delimited list of allowed member types
+
+
+
+
+ Comma delimited list of allowed member groups
+
+
+
+
+ Comma delimited list of allowed members
+
+
+
+
+ Gets all of the umbraco api controller types
+
+
+
+
+ Ensures authorization is successful for a back office user
+
+
+
+
+ THIS SHOULD BE ONLY USED FOR UNIT TESTS
+
+
+
+
+
+ Ensures that the user must be in the Administrator or the Install role
+
+
+
+
+
+
+ Override to to ensure no redirect occurs
+
+
+
+
+
+ Used to ensure that actions with duplicate names that are not child actions don't get executed when
+ we are Posting and not redirecting.
+
+
+ See issue: http://issues.umbraco.org/issue/U4-1819
+
+
+
+
+ A base MVC controller for use in the back office that ensures that every call to it authorizes the current user.
+
+
+ This controller essentially just uses a global UmbracoAuthorizeAttribute, inheritors that require more granular control over the
+ authorization of each method can use this attribute instead of inheriting from this controller.
+
+
+
+
+ Returns the currently logged in Umbraco User
+
+
+
+
+ Abstract filtered controller factory used for all Umbraco controller factory implementations
+
+
+
+
+ Determines whether this instance can handle the specified request.
+
+ The request.
+ true if this instance can handle the specified request; otherwise, false.
+
+
+
+
+ Creates the specified controller by using the specified request context.
+
+
+ The controller.
+
+ The request context.The name of the controller.
+
+
+
+ Gets the controller's session behavior.
+
+
+ The controller's session behavior.
+
+ The request context.The name of the controller whose session behavior you want to get.
+
+
+
+ Releases the specified controller.
+
+ The controller.
+
+
+
+ By default, only exposes which throws an exception
+ if the controller is not found. Since we want to try creating a controller, and then fall back to if one isn't found,
+ this nested class changes the visibility of 's internal methods in order to not have to rely on a try-catch.
+
+
+
+
+
+ MVC handler to facilitate the TemplateRenderer. This handler can execute an MVC request and return it as a string.
+
+ Original:
+
+ This handler also used to intercept creation of controllers and store it for later use.
+ This was needed for the 'return CurrentUmbracoPage()' surface controller functionality
+ because it needs to send data back to the page controller.
+
+ The creation of this controller has been moved to the UmbracoPageResult class which will create a controller when needed.
+
+
+
+
+ This is used internally purely to render an Umbraco MVC template to string and shouldn't be used for anything else.
+
+
+
+
+ Gets content identified by a route.
+
+ The context.
+ A value indicating whether to consider unpublished content.
+ The route
+ A value forcing the HideTopLevelNode setting.
+ The content, or null.
+
+ A valid route is either a simple path eg /foo/bar/nil or a root node id and a path, eg 123/foo/bar/nil.
+ If is null then the settings value is used.
+ The value of overrides the context.
+
+
+
+
+ Gets the route for a content identified by its unique identifier.
+
+ The context.
+ A value indicating whether to consider unpublished content.
+ The content unique identifier.
+ The route.
+ The value of overrides the context.
+
+
+
+ Creates a detached property.
+
+ The published property type.
+ The value.
+ A value indicating whether the property is created within a previewing context.
+ A detached property.
+ Implementations must check that propertyType.IsDetachedOrNested is true.
+
+
+
+ Provides extension methods for IPublishedContent.
+
+
+
+
+ Gets the url for the content.
+
+ The content.
+ The url for the content.
+
+
+
+ Gets the url for the content.
+
+ The content.
+ The url for the content.
+ Better use the Url property but that method is here to complement UrlAbsolute().
+
+
+
+ Gets the absolute url for the content.
+
+ The content.
+ The absolute url for the content.
+
+
+
+ Gets the absolute url for the content.
+
+ The content.
+ The absolute url for the content.
+
+
+
+ Gets the absolute url for the content.
+
+ The content.
+ The absolute url for the content.
+
+
+
+ Returns the current template Alias
+
+
+
+
+
+
+ Gets a value indicating whether the content has a property identified by its alias.
+
+ The content.
+ The property alias.
+ A value indicating whether the content has the property identified by the alias.
+ The content may have a property, and that property may not have a value.
+
+
+
+ Gets a value indicating whether the content has a value for a property identified by its alias.
+
+ The content.
+ The property alias.
+ A value indicating whether the content has a value for the property identified by the alias.
+ Returns true if GetProperty(alias) is not null and GetProperty(alias).HasValue is true.
+
+
+
+ Gets a value indicating whether the content has a value for a property identified by its alias.
+
+ The content.
+ The property alias.
+ A value indicating whether to navigate the tree upwards until a property with a value is found.
+ A value indicating whether the content has a value for the property identified by the alias.
+ Returns true if GetProperty(alias, recurse) is not null and GetProperty(alias, recurse).HasValue is true.
+
+
+
+ Returns one of two strings depending on whether the content has a value for a property identified by its alias.
+
+ The content.
+ The property alias.
+ The value to return if the content has a value for the property.
+ The value to return if the content has no value for the property.
+ Either or depending on whether the content
+ has a value for the property identified by the alias.
+
+
+
+ Returns one of two strings depending on whether the content has a value for a property identified by its alias.
+
+ The content.
+ The property alias.
+ A value indicating whether to navigate the tree upwards until a property with a value is found.
+ The value to return if the content has a value for the property.
+ The value to return if the content has no value for the property.
+ Either or depending on whether the content
+ has a value for the property identified by the alias.
+
+
+
+ Gets the value of a content's property identified by its alias.
+
+ The content.
+ The property alias.
+ The value of the content's property identified by the alias.
+
+ The value comes from IPublishedProperty field Value ie it is suitable for use when rendering content.
+ If no property with the specified alias exists, or if the property has no value, returns null.
+ If eg a numeric property wants to default to 0 when value source is empty, this has to be done in the converter.
+ The alias is case-insensitive.
+
+
+
+
+ Gets the value of a content's property identified by its alias, if it exists, otherwise a default value.
+
+ The content.
+ The property alias.
+ The default value.
+ The value of the content's property identified by the alias, if it exists, otherwise a default value.
+
+ The value comes from IPublishedProperty field Value ie it is suitable for use when rendering content.
+ If no property with the specified alias exists, or if the property has no value, returns .
+ If eg a numeric property wants to default to 0 when value source is empty, this has to be done in the converter.
+ The alias is case-insensitive.
+
+
+
+
+ Gets the value of a content's property identified by its alias, if it exists, otherwise a default value.
+
+ The content.
+ The property alias.
+ The default value.
+ The value of the content's property identified by the alias, if it exists, otherwise a default value.
+
+ The value comes from IPublishedProperty field Value ie it is suitable for use when rendering content.
+ If no property with the specified alias exists, or if the property has no value, returns .
+ If eg a numeric property wants to default to 0 when value source is empty, this has to be done in the converter.
+ The alias is case-insensitive.
+
+
+
+
+ Recursively gets the value of a content's property identified by its alias.
+
+ The content.
+ The property alias.
+ A value indicating whether to recurse.
+ The recursive value of the content's property identified by the alias.
+
+ Recursively means: walking up the tree from , get the first value that can be found.
+ The value comes from IPublishedProperty field Value ie it is suitable for use when rendering content.
+ If no property with the specified alias exists, or if the property has no value, returns null.
+ If eg a numeric property wants to default to 0 when value source is empty, this has to be done in the converter.
+ The alias is case-insensitive.
+
+
+
+
+ Recursively the value of a content's property identified by its alias, if it exists, otherwise a default value.
+
+ The content.
+ The property alias.
+ A value indicating whether to recurse.
+ The default value.
+ The value of the content's property identified by the alias, if it exists, otherwise a default value.
+
+ Recursively means: walking up the tree from , get the first value that can be found.
+ The value comes from IPublishedProperty field Value ie it is suitable for use when rendering content.
+ If no property with the specified alias exists, or if the property has no value, returns .
+ If eg a numeric property wants to default to 0 when value source is empty, this has to be done in the converter.
+ The alias is case-insensitive.
+
+
+
+
+ Gets the value of a content's property identified by its alias, converted to a specified type.
+
+ The target property type.
+ The content.
+ The property alias.
+ The value of the content's property identified by the alias, converted to the specified type.
+
+ The value comes from IPublishedProperty field Value ie it is suitable for use when rendering content.
+ If no property with the specified alias exists, or if the property has no value, or if it could not be converted, returns default(T).
+ If eg a numeric property wants to default to 0 when value source is empty, this has to be done in the converter.
+ The alias is case-insensitive.
+
+
+
+
+ Gets the value of a content's property identified by its alias, converted to a specified type, if it exists, otherwise a default value.
+
+ The target property type.
+ The content.
+ The property alias.
+ The default value.
+ The value of the content's property identified by the alias, converted to the specified type, if it exists, otherwise a default value.
+
+ The value comes from IPublishedProperty field Value ie it is suitable for use when rendering content.
+ If no property with the specified alias exists, or if the property has no value, or if it could not be converted, returns .
+ If eg a numeric property wants to default to 0 when value source is empty, this has to be done in the converter.
+ The alias is case-insensitive.
+
+
+
+
+ Recursively gets the value of a content's property identified by its alias, converted to a specified type.
+
+ The target property type.
+ The content.
+ The property alias.
+ A value indicating whether to recurse.
+ The value of the content's property identified by the alias, converted to the specified type.
+
+ Recursively means: walking up the tree from , get the first value that can be found.
+ The value comes from IPublishedProperty field Value ie it is suitable for use when rendering content.
+ If no property with the specified alias exists, or if the property has no value, or if it could not be converted, returns default(T).
+ If eg a numeric property wants to default to 0 when value source is empty, this has to be done in the converter.
+ The alias is case-insensitive.
+
+
+
+
+ Recursively gets the value of a content's property identified by its alias, converted to a specified type, if it exists, otherwise a default value.
+
+ The target property type.
+ The content.
+ The property alias.
+ A value indicating whether to recurse.
+ The default value.
+ The value of the content's property identified by the alias, converted to the specified type, if it exists, otherwise a default value.
+
+ Recursively means: walking up the tree from , get the first value that can be found.
+ The value comes from IPublishedProperty field Value ie it is suitable for use when rendering content.
+ If no property with the specified alias exists, or if the property has no value, or if it could not be converted, returns .
+ If eg a numeric property wants to default to 0 when value source is empty, this has to be done in the converter.
+ The alias is case-insensitive.
+
+
+
+
+ Returns the content enumerable as a content set.
+
+ The content enumerable.
+ A content set wrapping the content enumerable.
+
+
+
+ Returns the ordered content enumerable as an ordered content set.
+
+ The ordered content enumerable.
+ A ordered content set wrapping the ordered content enumerable.
+
+
+
+ Gets a value indicating whether the content is visible.
+
+ The content.
+ A value indicating whether the content is visible.
+ A content is not visible if it has an umbracoNaviHide property with a value of "1". Otherwise,
+ the content is visible.
+
+
+
+ Determines whether the specified content is a specified content type.
+
+ The content to determine content type of.
+ The alias of the content type to test against.
+ True if the content is of the specified content type; otherwise false.
+
+
+
+ Determines whether the specified content is a specified content type or it's derived types.
+
+ The content to determine content type of.
+ The alias of the content type to test against.
+ When true, recurses up the content type tree to check inheritance; when false just calls IsDocumentType(this IPublishedContent content, string docTypeAlias).
+ True if the content is of the specified content type or a derived content type; otherwise false.
+
+
+
+ Gets the ancestors of the content.
+
+ The content.
+ The ancestors of the content, in down-top order.
+ Does not consider the content itself.
+
+
+
+ Gets the ancestors of the content, at a level lesser or equal to a specified level.
+
+ The content.
+ The level.
+ The ancestors of the content, at a level lesser or equal to the specified level, in down-top order.
+ Does not consider the content itself. Only content that are "high enough" in the tree are returned.
+
+
+
+ Gets the ancestors of the content, of a specified content type.
+
+ The content.
+ The content type.
+ The ancestors of the content, of the specified content type, in down-top order.
+ Does not consider the content itself. Returns all ancestors, of the specified content type.
+
+
+
+ Gets the ancestors of the content, of a specified content type.
+
+ The content type.
+ The content.
+ The ancestors of the content, of the specified content type, in down-top order.
+ Does not consider the content itself. Returns all ancestors, of the specified content type.
+
+
+
+ Gets the ancestors of the content, at a level lesser or equal to a specified level, and of a specified content type.
+
+ The content type.
+ The content.
+ The level.
+ The ancestors of the content, at a level lesser or equal to the specified level, and of the specified
+ content type, in down-top order.
+ Does not consider the content itself. Only content that are "high enough" in the trees, and of the
+ specified content type, are returned.
+
+
+
+ Gets the content and its ancestors.
+
+ The content.
+ The content and its ancestors, in down-top order.
+
+
+
+ Gets the content and its ancestors, at a level lesser or equal to a specified level.
+
+ The content.
+ The level.
+ The content and its ancestors, at a level lesser or equal to the specified level,
+ in down-top order.
+ Only content that are "high enough" in the tree are returned. So it may or may not begin
+ with the content itself, depending on its level.
+
+
+
+ Gets the content and its ancestors, of a specified content type.
+
+ The content.
+ The content type.
+ The content and its ancestors, of the specified content type, in down-top order.
+ May or may not begin with the content itself, depending on its content type.
+
+
+
+ Gets the content and its ancestors, of a specified content type.
+
+ The content type.
+ The content.
+ The content and its ancestors, of the specified content type, in down-top order.
+ May or may not begin with the content itself, depending on its content type.
+
+
+
+ Gets the content and its ancestor, at a lever lesser or equal to a specified level, and of a specified content type.
+
+ The content type.
+ The content.
+ The level.
+ The content and its ancestors, at a level lesser or equal to the specified level, and of the specified
+ content type, in down-top order.
+ May or may not begin with the content itself, depending on its level and content type.
+
+
+
+ Gets the ancestor of the content, ie its parent.
+
+ The content.
+ The ancestor of the content.
+ This method is here for consistency purposes but does not make much sense.
+
+
+
+ Gets the nearest ancestor of the content, at a lever lesser or equal to a specified level.
+
+ The content.
+ The level.
+ The nearest (in down-top order) ancestor of the content, at a level lesser or equal to the specified level.
+ Does not consider the content itself. May return null.
+
+
+
+ Gets the nearest ancestor of the content, of a specified content type.
+
+ The content.
+ The content type alias.
+ The nearest (in down-top order) ancestor of the content, of the specified content type.
+ Does not consider the content itself. May return null.
+
+
+
+ Gets the nearest ancestor of the content, of a specified content type.
+
+ The content type.
+ The content.
+ The nearest (in down-top order) ancestor of the content, of the specified content type.
+ Does not consider the content itself. May return null.
+
+
+
+ Gets the nearest ancestor of the content, at the specified level and of the specified content type.
+
+ The content type.
+ The content.
+ The level.
+ The ancestor of the content, at the specified level and of the specified content type.
+ Does not consider the content itself. If the ancestor at the specified level is
+ not of the specified type, returns null.
+
+
+
+ Gets the content or its nearest ancestor.
+
+ The content.
+ The content.
+ This method is here for consistency purposes but does not make much sense.
+
+
+
+ Gets the content or its nearest ancestor, at a lever lesser or equal to a specified level.
+
+ The content.
+ The level.
+ The content or its nearest (in down-top order) ancestor, at a level lesser or equal to the specified level.
+ May or may not return the content itself depending on its level. May return null.
+
+
+
+ Gets the content or its nearest ancestor, of a specified content type.
+
+ The content.
+ The content type.
+ The content or its nearest (in down-top order) ancestor, of the specified content type.
+ May or may not return the content itself depending on its content type. May return null.
+
+
+
+ Gets the content or its nearest ancestor, of a specified content type.
+
+ The content type.
+ The content.
+ The content or its nearest (in down-top order) ancestor, of the specified content type.
+ May or may not return the content itself depending on its content type. May return null.
+
+
+
+ Gets the content or its nearest ancestor, at a lever lesser or equal to a specified level, and of a specified content type.
+
+ The content type.
+ The content.
+ The level.
+
+
+
+
+ Enumerates ancestors of the content, bottom-up.
+
+ The content.
+ Indicates whether the content should be included.
+ Enumerates bottom-up ie walking up the tree (parent, grand-parent, etc).
+
+
+
+ Returns all DescendantsOrSelf of all content referenced
+
+
+
+
+
+ This can be useful in order to return all nodes in an entire site by a type when combined with TypedContentAtRoot
+
+
+
+
+ Returns all DescendantsOrSelf of all content referenced
+
+
+
+
+ This can be useful in order to return all nodes in an entire site by a type when combined with TypedContentAtRoot
+
+
+
+
+ Gets the parent of the content, of a given content type.
+
+ The content type.
+ The content.
+ The parent of content, of the given content type, else null.
+
+
+
+ Gets the children of the content.
+
+ The content.
+ The children of the content.
+
+ Children are sorted by their sortOrder.
+ This method exists for consistency, it is the same as calling content.Children as a property.
+
+
+
+
+ Gets the children of the content, filtered by a predicate.
+
+ The content.
+ The predicate.
+ The children of the content, filtered by the predicate.
+
+ Children are sorted by their sortOrder.
+
+
+
+
+ Gets the children of the content, of a given content type.
+
+ The content type.
+ The content.
+ The children of content, of the given content type.
+
+ Children are sorted by their sortOrder.
+
+
+
+
+ Gets the children of the content in a DataTable.
+
+ The content.
+ An optional content type alias.
+ The children of the content.
+
+
+
+ Gets the children of the content in a DataTable.
+
+ The content.
+ An optional content type alias.
+ The children of the content.
+
+
+
+ Gets the culture that would be selected to render a specified content,
+ within the context of a specified current request.
+
+ The content.
+ The request Uri.
+ The culture that would be selected to render the content.
+
+
+
+ This is used only for unit tests to set the delegate to look up aliases/names dictionary of a content type
+
+
+
+
+ Extension methods for Examine
+
+
+
+
+ A formless page for use with the rendering a control in a page via Server.Execute.
+ This ignores the check to check for a form control on the page.
+
+
+ UmbracoHelper currently uses this for rendering macros but could be used anywhere we want when rendering
+ a page with Server.Execute.
+ SD: I have a custom MVC engine that uses this in my own internal libs if we want to pull it out which is called ViewManager
+ and works really well for things like this.
+
+
+
+
+ HtmlHelper extensions for use in templates
+
+
+
+
+ Renders the markup for the profiler
+
+
+
+
+
+
+ Renders a partial view that is found in the specified area
+
+
+
+
+
+
+
+
+
+
+ Will render the preview badge when in preview mode which is not required ever unless the MVC page you are
+ using does not inherit from UmbracoTemplatePage
+
+
+
+
+ See: http://issues.umbraco.org/issue/U4-1614
+
+
+
+
+ A validation summary that lets you pass in a prefix so that the summary only displays for elements
+ containing the prefix. This allows you to have more than on validation summary on a page.
+
+
+
+
+
+
+
+
+
+
+ Returns the result of a child action of a strongly typed SurfaceController
+
+
+
+
+
+
+
+
+ Returns the result of a child action of a SurfaceController
+
+
+
+
+
+
+
+
+
+ Gets the ImageProcessor Url of a media item by the crop alias (using default media item property alias of "umbracoFile")
+
+
+
+
+
+
+
+
+ Gets the ImageProcessor Url of a media item by the property alias and crop alias.
+
+
+
+
+
+
+
+
+
+ Gets the ImageProcessor Url of a media item
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gets the ImageProcessor Url from the media path
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline against a locally declared controller
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline against a locally declared controller
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline against a locally declared controller
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline against a locally declared controller
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline against a locally declared controller
+
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline against a locally declared controller
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline against a locally declared controller
+
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline against a locally declared controller
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+ The surface controller to route to
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+ The surface controller to route to
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+ The surface controller to route to
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+ The surface controller to route to
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+ The surface controller to route to
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+ The surface controller to route to
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+ The surface controller to route to
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+ The surface controller to route to
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+
+
+
+
+ Helper method to create a new form to execute in the Umbraco request pipeline to a surface controller plugin
+
+
+
+
+
+
+
+
+
+
+
+ This renders out the form for us
+
+
+
+
+
+
+
+
+
+
+
+ This code is pretty much the same as the underlying MVC code that writes out the form
+
+
+
+
+ Used for rendering out the Form for BeginUmbracoForm
+
+
+
+
+ Creates an UmbracoForm
+
+
+
+
+
+
+
+
+
+
+ Used to do the scheduling for tasks, publishing, etc...
+
+
+ All tasks are run in a background task runner which is web aware and will wind down the task correctly instead of killing it completely when
+ the app domain shuts down.
+
+
+
+
+ Merges ModelState that has names matching the prefix
+
+
+
+
+
+
+
+ Checks if there are any model errors on any fields containing the prefix
+
+
+
+
+
+
+
+ Adds the error to model state correctly for a property so we can use it on the client side.
+
+
+
+
+
+
+
+ Serializes the ModelState to JSON for JavaScript to interrogate the errors
+
+
+
+
+
+
+ When a ChildAction is executing and we want the ModelState from the Parent context to be merged in
+ to help with validation, this filter can be used.
+
+
+ By default, this filter will only merge when an Http POST is detected but this can be modified in the ctor
+
+
+
+
+ A view engine to look into the App_Plugins folder for views for packaged controllers
+
+
+
+
+ Constructor
+
+
+
+
+ Ensures that the correct web.config for razor exists in the /Views folder.
+
+
+
+
+ Represents the data required to proxy a request to a surface controller for posted data
+
+
+
+
+ Represents the data required to route to a specific controller/action during an Umbraco request
+
+
+
+
+ The Controller type found for routing to
+
+
+
+
+ The current RenderModel found for the request
+
+
+
+
+ Gets/sets whether the current request has a hijacked route/user controller routed for it
+
+
+
+
+ Redirects to an Umbraco page by Id or Entity
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+
+
+ Creates a new RedirectToUmbracoResult
+
+
+
+
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to <?xml version="1.0"?>
+ <configuration>
+
+ <configSections>
+ <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+ <section name="page [rest of string was truncated]";.
+
+
+
+
+ A custom area for controllers that are plugins
+
+
+
+
+ The constructor accepts all types of plugin controllers and will verify that ALL of them have the same areaName assigned to them
+ based on their PluginControllerAttribute. If they are not the same an exception will be thrown.
+
+
+
+
+
+ Registers all surface controller routes
+
+
+
+
+ The routes will be:
+
+ /Umbraco/[AreaName]/[ControllerName]/[Action]/[Id]
+
+
+
+
+ Registers all api controller routes
+
+
+
+
+
+
+ An attribute applied to a plugin controller that requires that it is routed to its own area
+
+
+
+
+ Creates SurfaceControllers
+
+
+
+
+ A controller factory for the render pipeline of Umbraco. This controller factory tries to create a controller with the supplied
+ name, and falls back to UmbracoController if none was found.
+
+
+
+
+
+ Determines whether this instance can handle the specified request.
+
+ The request.
+ true if this instance can handle the specified request; otherwise, false.
+
+
+
+
+ Creates the controller
+
+
+
+
+
+ We always set the correct ActionInvoker on our custom created controller, this is very important for route hijacking!
+
+
+
+
+ Check if the correct data tokens are in the route values so that we know its a surface controller route
+
+
+
+
+
+
+ Create the controller
+
+
+
+
+
+
+
+ Represents some metadata about the controller
+
+
+
+
+ This is determined by another attribute [IsBackOffice] which slightly modifies the route path
+ allowing us to determine if it is indeed a back office request or not
+
+
+
+
+ Used by posted forms to proxy the result to the page in which the current URL matches on
+
+
+
+
+ Executes the controller action
+
+
+
+
+ Since we could be returning the current page from a surface controller posted values in which the routing values are changed, we
+ need to revert these values back to nothing in order for the normal page to render again.
+
+
+
+
+ Validate that the current page execution is not being handled by the normal umbraco routing system
+
+
+
+
+ When POSTing to MVC but rendering in WebForms we need to do some trickery, we'll create a dummy viewcontext with all of the
+ current modelstate, tempdata, viewdata so that if we're rendering partial view macros within the webforms view, they will
+ get all of this merged into them.
+
+
+
+
+
+ Ensure ModelState, ViewData and TempData is copied across
+
+
+
+
+ Creates a controller using the controller factory
+
+
+
+
+ Cleans up the controller by releasing it using the controller factory, and by disposing it.
+
+
+
+
+ A value converter for TinyMCE that will ensure any macro content is rendered properly even when
+ used dynamically.
+
+
+
+
+ Used in the .Field method when rendering an Umbraco field to specify what case type it should be
+
+
+
+
+ Used in the .Field method to render an Umbraco field to specify what encoding to use
+
+
+
+
+ Maps an Umbraco route with an UmbracoVirtualNodeRouteHandler
+
+
+
+
+
+
+
+
+
+
+
+
+ Routes a webapi controller with namespaces
+
+
+
+
+
+
+
+
+
+
+ Extension method to manually regsiter an area
+
+
+
+
+
+
+ Provides urls using the umbracoUrlAlias property.
+
+
+
+
+ Gets the nice url of a published content.
+
+ The Umbraco context.
+ The published content id.
+ The current absolute url.
+ The url mode.
+ The url for the published content.
+
+ The url is absolute or relative depending on url indicated by current and settings, unless
+ absolute is true, in which case the url is always absolute.
+ If the provider is unable to provide a url, it should return null.
+
+
+
+
+ Gets the other urls of a published content.
+
+ The Umbraco context.
+ The published content id.
+ The current absolute url.
+ The other urls for the published content.
+
+ Other urls are those that GetUrl would not return in the current context, but would be valid
+ urls for the node in other contexts (different domain for current request, umbracoUrlAlias...).
+
+
+
+
+ Provides an implementation of that runs the legacy 404 logic.
+
+
+
+
+ Tries to find and assign an Umbraco document to a PublishedContentRequest.
+
+ The PublishedContentRequest.
+ A value indicating whether an Umbraco document was found and assigned.
+
+
+
+ Provides an implementation of that runs a legacy NotFoundHandler.
+
+ Provided for backward compatibility.
+
+
+
+ Tries to find and assign an Umbraco document to a PublishedContentRequest.
+
+ The PublishedContentRequest.
+ A value indicating whether an Umbraco document was found and assigned.
+
+
+
+ This looks up a document by checking for the umbPageId of a request/query string
+
+
+ This is used by library.RenderTemplate and also some of the macro rendering functionality like in
+ insertMacro.aspx and macroResultWrapper.aspx
+
+
+
+
+ Gets the surface controllers
+
+
+
+
+ Gets all of the surface controller types
+
+
+
+
+ Provides an implementation of that runs legacy INotFoundHandler.
+
+
+
+
+ Tries to find and assign an Umbraco document to a PublishedContentRequest.
+
+ The PublishedContentRequest.
+ A value indicating whether an Umbraco document was found and assigned.
+
+
+
+ Provides utilities to handle site domains.
+
+
+
+
+ Filters a list of DomainAndUri to pick one that best matches the current request.
+
+ The Uri of the current request.
+ The list of DomainAndUri to filter.
+ The selected DomainAndUri.
+
+ If the filter is invoked then is _not_ empty and
+ is _not_ null, and could not be
+ matched with anything in .
+ The filter _must_ return something else an exception will be thrown.
+
+
+
+
+ Filters a list of DomainAndUri to pick those that best matches the current request.
+
+ The Uri of the current request.
+ The list of DomainAndUri to filter.
+ A value indicating whether to exclude the current/default domain.
+ The selected DomainAndUri items.
+ The filter must return something, even empty, else an exception will be thrown.
+
+
+
+ Event args containing information about why the request was not routable, or if it is routable
+
+
+
+
+ Event args used for event launched during a request (like in the UmbracoModule)
+
+
+
+
+ Provides urls.
+
+
+
+
+ Gets the nice url of a published content.
+
+ The Umbraco context.
+ The published content id.
+ The current absolute url.
+ The url mode.
+ The url for the published content.
+
+ The url is absolute or relative depending on mode and on current.
+ If the provider is unable to provide a url, it should return null.
+
+
+
+
+ Gets the other urls of a published content.
+
+ The Umbraco context.
+ The published content id.
+ The current absolute url.
+ The other urls for the published content.
+
+ Other urls are those that GetUrl would not return in the current context, but would be valid
+ urls for the node in other contexts (different domain for current request, umbracoUrlAlias...).
+
+
+
+
+ Represents an Umbraco domain and its normalized uri.
+
+
+ In Umbraco it is valid to create domains with name such as example.com, https://www.example.com, example.com/foo/.
+ The normalized uri of a domain begins with a scheme and ends with no slash, eg http://example.com/, https://www.example.com/, http://example.com/foo/.
+
+
+
+
+ Initializes a new instance of the class with a Domain and a uri scheme.
+
+ The domain.
+ The uri scheme.
+
+
+
+ Gets a string that represents the instance.
+
+ A string that represents the current instance.
+
+
+
+ Gets the Umbraco domain.
+
+
+
+
+ Gets or sets the normalized uri of the domain.
+
+
+
+
+ Provides utilities to handle site domains.
+
+
+
+
+ Clears the entire configuration.
+
+
+
+
+ Adds a site.
+
+ A key uniquely identifying the site.
+ The site domains.
+ At the moment there is no public way to remove a site. Clear and reconfigure.
+
+
+
+ Adds a site.
+
+ A key uniquely identifying the site.
+ The site domains.
+ At the moment there is no public way to remove a site. Clear and reconfigure.
+
+
+
+ Removes a site.
+
+ A key uniquely identifying the site.
+
+
+
+ Binds some sites.
+
+ The keys uniquely identifying the sites to bind.
+
+ At the moment there is no public way to unbind sites. Clear and reconfigure.
+ If site1 is bound to site2 and site2 is bound to site3 then site1 is bound to site3.
+
+
+
+
+ Filters a list of DomainAndUri to pick one that best matches the current request.
+
+ The Uri of the current request.
+ The list of DomainAndUri to filter.
+ The selected DomainAndUri.
+
+ If the filter is invoked then is _not_ empty and
+ is _not_ null, and could not be
+ matched with anything in .
+ The filter _must_ return something else an exception will be thrown.
+
+
+
+
+ Filters a list of DomainAndUri to pick those that best matches the current request.
+
+ The Uri of the current request.
+ The list of DomainAndUri to filter.
+ A value indicating whether to exclude the current/default domain.
+ The selected DomainAndUri items.
+ The filter must return something, even empty, else an exception will be thrown.
+
+
+
+ Returns a disposable object that represents safe write access to config.
+
+ Should be used in a using(SiteDomainHelper.ConfigWriteLock) { ... } mode.
+
+
+
+ Returns a disposable object that represents safe read access to config.
+
+ Should be used in a using(SiteDomainHelper.ConfigWriteLock) { ... } mode.
+
+
+
+ Resolves the implementation.
+
+
+
+
+ Initializes a new instance of the class with an implementation.
+
+ The implementation.
+
+
+
+ Can be used by developers at runtime to set their IDomainHelper at app startup
+
+
+
+
+
+ Gets or sets the implementation.
+
+
+
+
+ Resolves IUrlProvider objects.
+
+
+
+
+ Initializes a new instance of the class with an initial list of provider types.
+
+
+ The list of provider types.
+
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Initializes a new instance of the class with an initial list of provider types.
+
+
+ The list of provider types.
+
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Gets the providers.
+
+
+
+
+ Returns the Umbraco page id to use as the Not Found page based on the configured 404 pages and the current request
+
+
+
+ The server name attached to the request, normally would be the source of HttpContext.Current.Request.ServerVariables["SERVER_NAME"]
+
+
+
+
+
+
+
+
+ Returns the content id based on the configured IContentErrorPage section
+
+
+
+
+
+
+
+
+ Represents the outcome of trying to route an incoming request.
+
+
+
+
+ Request routes to a document.
+
+
+ Umbraco was ready and configured, and has content.
+ The request looks like it can be a route to a document. This does not
+ mean that there *is* a matching document, ie the request might end up returning
+ 404.
+
+
+
+
+ Request does not route to a document.
+
+
+ Umbraco was ready and configured, and has content.
+ The request does not look like it can be a route to a document. Can be
+ anything else eg back-office, surface controller...
+
+
+
+
+ Umbraco was not ready.
+
+
+
+
+ Umbraco was not configured.
+
+
+
+
+ There was no content at all.
+
+
+
+
+ This is used specifically to assign a default 'app' to a particular section in order to validate the
+ currently logged in user's allowed applications
+
+
+ This relates to these issues:
+ http://issues.umbraco.org/issue/U4-2021
+ http://issues.umbraco.org/issue/U4-529
+
+ In order to fix these issues we need to pass in an 'app' parameter but since we don't want to break compatibility
+ we will create this mapping to map a 'default application' to a section action (like creating or deleting)
+
+
+
+
+ Constructor that assigns all initial known mappings
+
+
+
+
+ Adds the default app mapping to the node type
+
+ The nodeType is the same nodeType found in the UI.xml
+ The default app associated with this nodeType if the 'app' parameter was not detected
+
+
+
+ Initializes a new instance of the class with a content request.
+
+
+ The content request.
+
+
+
+ Prepares the request.
+
+
+ Returns false if the request was not successfully prepared
+
+
+
+
+ Called by PrepareRequest once everything has been discovered, resolved and assigned to the PCR. This method
+ finalizes the PCR with the values assigned.
+
+
+ Returns false if the request was not successfully configured
+
+
+ This method logic has been put into it's own method in case developers have created a custom PCR or are assigning their own values
+ but need to finalize it themselves.
+
+
+
+
+ Updates the request when there is no template to render the content.
+
+ This is called from Mvc when there's a document to render but no template.
+
+
+
+ Finds the site root (if any) matching the http request, and updates the PublishedContentRequest accordingly.
+
+ A value indicating whether a domain was found.
+
+
+
+ Looks for wildcard domains in the path and updates Culture accordingly.
+
+
+
+
+ Finds the rendering engine to use to render a template specified by its alias.
+
+ The alias of the template.
+ The rendering engine, or Unknown if the template was not found.
+
+
+
+ Finds the Umbraco document (if any) matching the request, and updates the PublishedContentRequest accordingly.
+
+ A value indicating whether a document and template were found.
+
+
+
+ Tries to find the document matching the request, by running the IPublishedContentFinder instances.
+
+ There is no finder collection.
+
+
+
+ Handles the published content (if any).
+
+
+ Handles "not found", internal redirects, access validation...
+ things that must be handled in one place because they can create loops
+
+
+
+
+ Follows internal redirections through the umbracoInternalRedirectId document property.
+
+ A value indicating whether redirection took place and led to a new published document.
+
+ Redirecting to a different site root and/or culture will not pick the new site root nor the new culture.
+ As per legacy, if the redirect does not work, we just ignore it.
+
+
+
+
+ Ensures that access to current node is permitted.
+
+ Redirecting to a different site root and/or culture will not pick the new site root nor the new culture.
+
+
+
+ Finds a template for the current node, if any.
+
+
+
+
+ Follows external redirection through umbracoRedirect document property.
+
+ As per legacy, if the redirect does not work, we just ignore it.
+
+
+
+ Provides urls.
+
+
+
+
+ Initializes a new instance of the class with an Umbraco context and a list of url providers.
+
+ The Umbraco context.
+
+ The list of url providers.
+
+
+
+ Initializes a new instance of the class with an Umbraco context and a list of url providers.
+
+ The Umbraco context.
+ The list of url providers.
+
+
+
+
+ Gets the url of a published content.
+
+ The published content identifier.
+ The url for the published content.
+
+ The url is absolute or relative depending on Mode and on the current url.
+ If the provider is unable to provide a url, it returns "#".
+
+
+
+
+ Gets the nice url of a published content.
+
+ The published content identifier.
+ A value indicating whether the url should be absolute in any case.
+ The url for the published content.
+
+ The url is absolute or relative depending on Mode and on current, unless
+ absolute is true, in which case the url is always absolute.
+ If the provider is unable to provide a url, it returns "#".
+
+
+
+
+ Gets the nice url of a published content.
+
+ The published content id.
+ The current absolute url.
+ A value indicating whether the url should be absolute in any case.
+ The url for the published content.
+
+ The url is absolute or relative depending on Mode and on current, unless
+ absolute is true, in which case the url is always absolute.
+ If the provider is unable to provide a url, it returns "#".
+
+
+
+
+ Gets the nice url of a published content.
+
+ The published content identifier.
+ The url mode.
+ The url for the published content.
+
+ The url is absolute or relative depending on mode and on the current url.
+ If the provider is unable to provide a url, it returns "#".
+
+
+
+
+ Gets the nice url of a published content.
+
+ The published content id.
+ The current absolute url.
+ The url mode.
+ The url for the published content.
+
+ The url is absolute or relative depending on mode and on current.
+ If the provider is unable to provide a url, it returns "#".
+
+
+
+
+ Gets the other urls of a published content.
+
+ The published content id.
+ The other urls for the published content.
+
+ Other urls are those that GetUrl would not return in the current context, but would be valid
+ urls for the node in other contexts (different domain for current request, umbracoUrlAlias...).
+ The results depend on the current url.
+
+
+
+
+ Gets the other urls of a published content.
+
+ The published content id.
+ The current absolute url.
+ The other urls for the published content.
+
+ Other urls are those that GetUrl would not return in the current context, but would be valid
+ urls for the node in other contexts (different domain for current request, umbracoUrlAlias...).
+
+
+
+
+ Gets or sets the provider url mode.
+
+
+
+
+ Used to wire up events for Examine
+
+
+
+
+ Once the application has started we should bind to all events and initialize the providers.
+
+
+
+
+ We need to do this on the Started event as to guarantee that all resolvers are setup properly.
+
+
+
+
+ This is used to refresh content indexers IndexData based on the DataService whenever a content type is changed since
+ properties may have been added/removed
+
+
+
+
+ See: http://issues.umbraco.org/issue/U4-4798
+
+
+
+
+ Handles index management for all media events - basically handling saving/copying/trashing/deleting
+
+
+
+
+
+
+ Handles index management for all published content events - basically handling published/unpublished
+
+
+
+
+ This will execute on all servers taking part in load balancing
+
+
+
+
+ Handles index management for all unpublished content events - basically handling saving/copying/deleting
+
+
+
+
+ This will execute on all servers taking part in load balancing
+
+
+
+
+ Event handler to create a lower cased version of the node name, this is so we can support case-insensitive searching and still
+ use the Whitespace Analyzer
+
+
+
+
+
+
+ Remove items from any index that doesn't support unpublished content
+
+
+
+ If true, indicates that we will only delete this item from indexes that don't support unpublished content.
+ If false it will delete this from all indexes regardless.
+
+
+
+
+ Re-indexes a content item whether published or not but only indexes them for indexes supporting unpublished content
+
+
+
+ Value indicating whether the item is published or not
+
+
+
+
+ Converts a content node to XDocument
+
+
+ true if data is going to be returned from cache
+
+
+
+
+ Converts a content node to Xml
+
+
+
+
+
+
+ Before Save Content/Media subscriber that checks for Upload fields and updates related fields accordingly.
+
+
+ This is an intermediate fix for the legacy DataTypeUploadField and the FileHandlerData, so that properties
+ are saved correctly when using the Upload field on a (legacy) Document or Media class.
+
+
+
+
+ This event ensures that upgrades from (configured) versions lower then 6.0.0
+ have their publish state updated after the database schema has been migrated.
+
+
+
+
+ This is kind of a hack to ensure that Apps and Trees that might still reside in the db is
+ written to the 'new' applications.config and trees.config files upon upgrade to version 6.0
+
+
+
+
+ Ensure this is run when not configured
+
+
+
+
+ Ensure this is run when not configured
+
+
+
+
+
+ This is used purely for the RenderTemplate functionality in Umbraco
+
+
+ This allows you to render either an MVC or Webforms template based purely off of a node id and an optional alttemplate id as string output.
+
+
+
+
+ This will execute the UmbracoMvcHandler for the request specified and get the string output.
+
+
+ Assumes the RequestContext is setup specifically to render an Umbraco view.
+
+
+
+ To acheive this we temporarily change the output text writer of the current HttpResponse, then
+ execute the controller via the handler which innevitably writes the result to the text writer
+ that has been assigned to the response. Then we change the response textwriter back to the original
+ before continuing .
+
+
+
+
+ Save all items that we know are used for rendering execution to variables so we can restore after rendering
+
+
+
+
+ Restores all items back to their context's to continue normal page rendering execution
+
+
+
+
+ Gets/sets the page id for the template to render
+
+
+
+
+ Gets/sets the alt template to render if there is one
+
+
+
+
+ Utility class used for templates
+
+
+
+
+ Parses the string looking for the {localLink} syntax and updates them to their correct links.
+
+
+
+
+
+
+ The RegEx matches any HTML attribute values that start with a tilde (~), those that match are passed to ResolveUrl to replace the tilde with the application path.
+
+
+
+
+ When used with a Virtual-Directory set-up, this would resolve all URLs correctly.
+ The recommendation is that the "ResolveUrlsFromTextString" option (in umbracoSettings.config) is set to false for non-Virtual-Directory installs.
+
+
+
+
+ Tree for displaying partial view macros in the developer app
+
+
+
+
+ Tree for displaying partial views in the settings app
+
+
+
+
+ Inheritors can override this method to modify the file node that is created.
+
+
+
+
+
+ Inheritors can override this method to modify the folder node that is created.
+
+
+
+
+
+ Ensures that no folders can be added
+
+
+
+
+
+ Ensures that no folders can be added
+
+
+
+
+
+ Represents the 'insert macro' button when editing a template which includes the drop down list selector
+
+
+ Though this would be nicer to do in a UserControl, unfortunatley the way that the ScrollingMenu control is designed it seems that
+ we have to insert all items via code and loading a UserControl in dynamically is equally ugly.
+
+
+
+
+ A control that exposes the helpful Umbraco context objects
+
+
+
+
+ Default constructor
+
+
+
+
+
+ Empty constructor, uses Singleton to resolve the UmbracoContext
+
+
+
+
+ Returns an UmbracoHelper object
+
+
+
+
+ Returns an ILogger
+
+
+
+
+ Returns a ProfilingLogger
+
+
+
+
+ Returns a UrlHelper
+
+
+ This URL helper is created without any route data and an empty request context
+
+
+
+
+ Returns the legacy SqlHelper
+
+
+
+
+ The JS callback to display the dialog modal screen to customize the macro to be inserted into the editor if the
+ macro has parameters.
+
+
+
+
+ The JS callback method which accepts an 'alias' parameter that is invoked when clicking the macro button
+ to insert a macro that has no parameters.
+
+
+
+
+ This is used to replace the old umbraco.presentation.create.dialogHandler_temp class which is used
+ to handle sections create/delete actions.
+
+
+ We need to overhaul how all of this is handled which is why this is a legacy class
+ http://issues.umbraco.org/issue/U4-1373
+
+
+
+
+ Gets the ITask for the operation for the node Type
+
+
+
+
+
+
+ Returns the ITask if one is found and can be made, otherwise null
+
+
+ This will first check if we've already created the ITask in the current Http request
+
+
+
+
+ Checks if the user has access to launch the ITask that matches the node type based on the app assigned
+
+
+
+
+
+
+ If the ITask doesn't implement LegacyDialogTask then we will return 'true' since we cannot validate
+ the application assigned.
+
+ TODO: Create an API to assign a nodeType to an app so developers can manually secure it
+
+
+
+
+ Checks if the user has access to launch the ITask that matches the node type based on the app assigned
+
+
+
+
+
+
+ If the ITask doesn't implement LegacyDialogTask then we will return 'true' since we cannot validate
+ the application assigned.
+
+ TODO: Create an API to assign a nodeType to an app so developers can manually secure it
+
+
+
+
+ Renders the client side code necessary to interact with the Umbraco client side API.
+ Each method returns an instance of this class so you can chain calls together.
+
+
+
+
+ This removes all tree JSON data cached in the client browser.
+ Useful when you want to ensure that the tree is reloaded from live data.
+
+
+
+
+
+ Change applications
+
+
+
+
+
+ Refresh the entire administration console after a specified amount of time.
+
+
+
+
+
+
+ Refreshes the entire current tree
+
+
+
+
+
+ A reference to the umbraco UI component "speechbubble". The speechbubble appears in the lower right corner of the screen, notifying users of events
+
+ The speechbubble icon.
+ The speechbubble header.
+ The body text
+
+
+
+ Changes the content in the content frame to the specified URL
+
+
+
+
+
+ Shows the dashboard for the given application
+
+
+
+
+
+
+ Reloads the children of the current action node and selects the node that didn't exist there before.
+ If the client side system cannot determine which node is new, then no node is selected.
+
+
+ This is used by many create dialogs, however the sync method should be used based on the full path of the
+ node but because the current Umbraco implementation of ITask only returns a url to load, there's no way
+ to determine what the full path of the new child is.
+
+
+
+
+
+ Synchronizes the tree to the path specified.
+
+
+
+ If set to true, will ensure that the node to be synced has it's data
+ reloaded from the server. Otherwise, if the node already exists, the tree will simply sync to the node
+ that is already there.
+
+
+ This will work for any tree, however you would need to know the path of the node. Currently, media and content
+ are the only trees that store a path, however, if you were working in the template tree for example, a path to a
+ node could be "init,1090" and this method would still work.
+
+ Sync tree will works by syncing the active tree type. This can be specified explicitly by calling SetActiveTreeType.
+ This will allow developers to sync many trees in one application at one time if needed.
+
+
+
+
+
+
+
+ Reloads only the last node that the user interacted with via the context menu. To reload a specify node, use SyncTree.
+
+
+
+
+ If for whatever reason the client side system cannot just refresh the one node, the system will use jsTree's built in
+ refresh tool, this however won't allow for reselect or reloadChildren. Most trees will work with the single node
+ refresh but 3rd party tools may have poorly built tree data models.
+
+
+
+
+ When the application searches for a node, it searches for nodes in specific tree types.
+ If SyncTree is used, it will sync the tree nodes with the active tree type, therefore if
+ a developer wants to sync a specific tree, they can call this method to set the type to sync.
+
+
+ Each branch of a particular tree should theoretically be the same type, however, developers can
+ override the type of each branch in their BaseTree's but this is not standard practice. If there
+ are multiple types of branches in one tree, then only those branches that have the Active tree type
+ will be searched for syncing.
+
+
+
+
+
+
+ Closes the Umbraco dialog window if it is open
+
+ specify a value to return to add to the onCloseCallback method if one was specified in the OpenModalWindow method
+
+
+
+
+ Closes the umbraco dialog window if it is open
+
+
+
+
+
+ Opens a modal window
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This will use the ScriptManager to register the script if one is available, otherwise will default to the ClientScript
+ class of the page.
+
+
+
+
+
+ Returns the string markup for the JavaScript that is rendered.
+ If referencing JavaScript scripts in the backend, this class should be used
+ in case future changes to the client code is change, this will remain intact.
+
+
+
+
+ Save icon
+
+
+
+
+ Info icon
+
+
+
+
+ Error icon
+
+
+
+
+ Success icon
+
+
+
+
+ Warning icon
+
+
+
+
+ Class that adapts an to the interface.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The collection.
+
+
+
+ Adds an element with the provided key and value to the object.
+
+ The to use as the key of the element to add.
+ The to use as the value of the element to add.
+
+
+
+ Removes all elements from the object.
+
+
+ The object is read-only.
+
+
+
+
+ Determines whether the object contains an element with the specified key.
+
+ The key to locate in the object.
+
+ true if the contains an element with the key; otherwise, false.
+
+
+
+
+ Returns an object for the object.
+
+
+ An object for the object.
+
+
+
+
+ Removes the element with the specified key from the object.
+
+ The key of the element to remove.
+
+
+ Not implemented.
+ The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing.
+ The zero-based index in at which copying begins.
+
+
+
+ Returns an enumerator that iterates through a collection.
+
+
+ An object that can be used to iterate through the collection.
+
+
+
+
+ Gets a value indicating whether the object has a fixed size.
+
+
+ true if the object has a fixed size; otherwise, false.
+
+
+
+
+ Gets a value indicating whether the object is read-only.
+
+
+ true if the object is read-only; otherwise, false.
+
+
+
+
+ Gets an object containing the keys of the object.
+
+
+
+ An object containing the keys of the object.
+
+
+
+
+ Gets an object containing the values in the object.
+
+
+
+ An object containing the values in the object.
+
+
+
+
+ Gets or sets the with the specified key.
+
+
+
+
+
+ Gets the number of elements contained in the .
+
+
+
+ The number of elements contained in the .
+
+
+
+
+ Gets a value indicating whether access to the is synchronized (thread safe).
+
+
+ true if access to the is synchronized (thread safe); otherwise, false.
+
+
+
+
+ Gets an object that can be used to synchronize access to the .
+
+
+
+ An object that can be used to synchronize access to the .
+
+
+
+
+ for the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The adapter.
+
+
+
+ Advances the enumerator to the next element of the collection.
+
+
+ true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
+
+
+ The collection was modified after the enumerator was created.
+
+
+
+
+ Sets the enumerator to its initial position, which is before the first element in the collection.
+
+
+ The collection was modified after the enumerator was created.
+
+
+
+
+ Gets both the key and the value of the current dictionary entry.
+
+
+
+ A containing both the key and the value of the current dictionary entry.
+
+
+ The is positioned before the first entry of the dictionary or after the last entry.
+
+
+
+
+ Gets the key of the current dictionary entry.
+
+
+
+ The key of the current element of the enumeration.
+
+
+ The is positioned before the first entry of the dictionary or after the last entry.
+
+
+
+
+ Gets the value of the current dictionary entry.
+
+
+
+ The value of the current element of the enumeration.
+
+
+ The is positioned before the first entry of the dictionary or after the last entry.
+
+
+
+
+ Gets the current element in the collection.
+
+
+
+ The current element in the collection.
+
+
+ The enumerator is positioned before the first element of the collection or after the last element.
+
+
+
+
+ The codebehind class for the main default.aspx page that does the webforms rendering in Umbraco
+
+
+ We would move this to the UI project but there is a public API property and some protected properties which people may be using so
+ we cannot move it.
+
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ To turn off request validation set this to false before the PageLoad event. This equivalent to the validateRequest page directive
+ and has nothing to do with "normal" validation controls. Default value is true.
+
+
+
+
+ occurs before the umbraco page is initialized for rendering.
+
+
+
+
+ Occurs when [after save].
+
+
+
+
+ Simply used to clear temp data
+
+
+
+
+ The preinit event handler
+
+
+
+
+ xhtml control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for moveOrCopy.
+
+
+
+
+ Checks if the current user has permissions to execute this action against this node
+
+
+
+
+
+ This used to do a recursive check for all descendent nodes but this is not required and is a massive CPU hog.
+ See: http://issues.umbraco.org/issue/U4-2632, https://groups.google.com/forum/?fromgroups=#!topic/umbraco-dev/L1D4LwVSP2Y
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ feedback control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_form control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JTree control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_relate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RelateDocuments control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_form_notice control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_settings control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ masterType control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ panel_buttons control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ok control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for sort.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ prog1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sortDone control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sortPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_nodes control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for publish.
+
+
+
+
+ masterPagePrefix control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ TheForm control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PublishAll control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PublishUnpublishedItems control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ok control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ProgBar1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ theEnd control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ feedbackMsg control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for macroResultWrapper.
+
+
+
+
+ Form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PlaceHolder1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ContentPlaceHolderDefault control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for publishStatus.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for _Default.
+
+
+
+
+ Form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ This still outputs the xml format of the tree in case developers are using it.
+
+
+
+
+ This checks to see which request parameters have been set for the Tree xml service
+ to run. If there is no Tree Type specified, then this will return the xml structure
+ of the initial tree nodes for all trees required for the current application. Otherwise
+ this will return thre required tree xml based on the request parameters specified.
+
+
+
+
+
+
+ If the application supports multiple trees, then this function iterates over all of the trees assigned to it
+ and creates their top level nodes and context menus.
+
+
+
+
+
+ This will load the particular ITree object and call it's render method to get the nodes that need to be rendered.
+
+
+
+
+
+
+ Load an empty tree structure to show the end user that there was a problem loading the tree.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ The UI 'tasks' for the create dialog and delete processes
+
+
+
+
+ The UI 'tasks' for the create dialog and delete processes
+
+
+
+
+ Summary description for editMacro.
+
+
+
+
+ Populates the control (textbox) values on page load
+
+
+
+
+
+
+
+ Sets the values on the Macro object from the values posted back before saving the macro
+
+
+
+
+ TabView1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroAlias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1_2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroXslt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ xsltFiles control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroUserControl control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ userControlList control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ assemblyBrowserUserControl control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroAssembly control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroType control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ assemblyBrowser control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroPython control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pythonFiles control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1_3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Table1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroEditor control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroRenderContent control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1_4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Table3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ cachePeriod control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ cacheByPage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ cachePersonalized control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Panel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroProperties control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ UmbracoPanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_filename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pythonFileName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_testing control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ SkipTesting control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_errorMsg control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pythonSource control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for editXslt.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ UmbracoPanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_filename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ xsltFileName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_testing control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ SkipTesting control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_errorMsg control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ editorSource control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ editorJs control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for insertMacro.
+
+
+
+
+ pl_edit control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_edit control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroProperties control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pl_insert control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_insert control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_chooseMacro control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ umb_macroAlias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_insert control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ renderHolder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for umbracoField.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tagName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_form control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_insertField control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ fieldPicker control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_insertAltField control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ altFieldPicker control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_insertAltText control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_recursive control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_insertBefore control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_insertAfter control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_FormatAsDate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_casing control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_encode control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_convertLineBreaks control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_removePTags control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ DialogTree control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ClientLoader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude8 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude9 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude5 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude6 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsIncludeHotkeys control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ head control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ScriptManager1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ body control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ footer control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Head1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ClientLoader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude6 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ head control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ScriptManager1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ body control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ footer control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for quickEdit.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tmpPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ templateList control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ddlTemplates control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for editTemplate.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_name control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NameTxt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_alias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ AliasTxt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_masterTemplate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ MasterTemplate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_source control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ editorSource control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rpt_codeTemplates control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rpt_macros control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for ShowUmbracoTags.
+
+
+
+
+ Pane7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ namespacing this interface, as only relevant to uQuery
+
+
+ uQuery - static helper methods
+
+
+ Static helper methods
+
+
+ Static helper methods
+
+
+ uQuery sub-class for Nodes
+
+
+ Static helper methods
+
+
+
+
+ Constructs the XML source from the cmsContentXml table used for Media and Members.
+
+ an UmbracoObjectType value
+ XML built from the cmsContentXml table
+
+
+
+ Checks the Umbraco XML Schema version in use
+
+ true if using the old XML schema, else false if using the new XML schema
+
+
+
+ build a string array from a csv
+
+ string of comma separated values
+ An array of node ids as string.
+
+
+
+ Gets Ids from known XML fragments (as saved by the MNTP / XPath CheckBoxList)
+
+ The Xml
+ An array of node ids as integer.
+
+
+
+ Gets an Id value from the QueryString
+
+ an id as a string or string.empty
+
+
+
+ Converts a string array into an integer array.
+
+ The string array.
+ Returns an integer array.
+
+
+
+ Generates an XML document.
+
+ The hierarchy.
+ Index of the node.
+ The parent id.
+ The parent node.
+
+
+
+ Gets the Content Id by property Id.
+
+ The property id.
+ Returns the Content Id.
+
+
+
+ Gets all datatypes sorted by a specified property name
+
+
+ A sorted list of datatypes. Null if property name is wrong.
+
+
+
+
+ Gets all datatypes sorted by a specified property name
+
+ if set to true [sort by name].
+
+ A sorted list of datatypes. Null if property name is wrong.
+
+
+
+
+ Gets the data type GUID.
+
+ The datatype node id.
+
+
+
+
+ Gets a dictionary item if it exists. Otherwise returns the fallback string.
+
+ The dictionary key.
+ The fallback.
+
+ A dictionary string or the fallback string
+
+
+
+
+ Gets the dictionary item for a specified language. Otherwise returns the fallback string.
+
+ The dictionary key.
+ The fallback.
+ The language id.
+
+ Returns the value of a dictionary item from a language id, or the fallback string.
+
+
+
+
+ Get collection of Document objects from the supplied CSV of IDs
+
+ string csv of IDs
+ collection or emtpy collection
+
+
+
+ Gets the documents by XML.
+
+ The XML.
+
+
+
+
+ checks to see if the current node can be got via the nodeFactory, and then constructed as a Document, if not then
+ checks to see if there's an id parameter on the QueryString to construct a Document
+
+ the current Document or null
+
+
+
+ Get document from an ID
+
+ string ID of document to get
+ Document or null
+
+
+
+ Get media item from an ID
+
+ ID of media item to get
+ Media or null
+
+
+
+ Determines whether the specified Document is published.
+
+ The Document's id.
+
+ true if the specified id is published; otherwise, false.
+
+
+
+
+ Extension method on Document collection to return key value pairs of: Id / Text
+
+ generic list of Document objects
+ a collection of document IDs and their text fields
+
+
+
+ Get a collection of media items from an XPath expression (note XML source is currently a flat structure)
+
+ XPath expression
+ collection or empty collection
+
+
+
+ Get collection of media objects from the supplied CSV of IDs
+
+ string csv of IDs
+ collection or emtpy collection
+
+
+
+ Gets the media by XML.
+
+ The XML.
+
+
+
+
+ Get Media by name
+
+ name of node to look for
+ list of nodes, or empty list
+
+
+
+ Get Media by media type alias
+
+ The media type alias
+ list of media, or empty list
+
+
+
+ Get media item from an ID
+
+ string ID of media item to get
+ media or null
+
+
+
+ Get media item from an ID
+
+ ID of media item to get
+ Media or null
+
+
+
+ Extension method on Media collection to return key value pairs of: media.Id / media.Text
+
+ generic list of Media objects
+ a collection of mediaIDs and their text fields
+
+
+
+ Get a collection of members from an XPath expression (note XML source is currently a flat structure)
+
+ XPath expression
+ collection or empty collection
+
+
+
+ Get collection of member objects from the supplied CSV of IDs
+
+ string csv of IDs
+ collection or emtpy collection
+
+
+
+ Gets the members by XML.
+
+ The XML.
+
+
+
+
+ Get Members by member type alias
+
+ The member type alias
+ list of members, or empty list
+
+
+
+ Get member from an ID
+
+ string representation of an umbraco.cms.businesslogic.member.Member object Id
+ member or null
+
+
+
+ Get member from an ID
+
+ ID of member item to get
+ member or null
+
+
+
+ Extension method on Member collection to return key value pairs of: member.Id / member.loginName
+
+ generic list of Member objects
+ a collection of memberIDs and their login names
+
+
+
+ Gets the Root Node Id (-1)
+
+
+
+
+ Get a collection of Umbraco Nodes from an XPath expression
+
+ XPath expression to get Nodes, can use $ancestorOrSelf which will use the current Node if published, else it'll use the nearest published parent
+ $currentPage will be depreciated
+ an empty collection or a collection of nodes
+
+
+
+ Returns a collection of Nodes, from a delimited list of Ids (as per the format used with UltimatePicker)
+
+ string csv of Ids
+ an empty collection or a collection or Nodes
+
+
+
+ Builds a node collection from an XML snippet
+
+
+ the expected Xml snippet is that stored by the Multi-Node Tree Picker (and XPathCheckBoxList when storing Ids)
+ "
+ 1065
+ 1068
+ 1066
+ "
+
+ an empty list or a list of nodes
+
+
+
+ Get nodes by name
+
+ name of node to look for
+ list of nodes, or empty list
+
+
+
+ Get nodes by document type alias
+
+ The document type alias
+ list of nodes, or empty list
+
+
+
+ Get nodes by document type id
+
+ The document type id.
+
+
+
+
+ Gets the node by URL.
+
+ url to search for
+ null or node matching supplied url
+
+
+
+ Gets the node id by path level.
+
+ The path.
+ The level.
+ Returns the node id for a given path level.
+
+
+
+ Gets the node Id by URL.
+
+ The URL to get the XML node from.
+ Returns the node Id.
+
+ Thanks to Jonas Eriksson http://our.umbraco.org/member/4853
+ Just runs lookups to find the document, does not follow internal redirects, 404 handlers,
+ page access verification, wildcard domains -- nothing.
+
+
+
+
+ Get top level content node
+
+ the top level content node
+
+
+
+ checks to see if the current node can be got via the nodeFactory, if not then
+ checks to see if the current node can be got via an id on the QueryString
+
+ the current node or null if not found
+
+
+
+ Checks the supplied string can be cast to an integer, and returns the node with that Id
+
+ string representing the nodeId to return
+ Node or null
+
+
+
+ Wrapper for Node constructor
+
+ id of Node to get
+ Node or null
+
+
+
+ Resolves the XPath expression with any Umbraco-specific parameters.
+
+ The xpath expression.
+ Returns an XPath expression with the Umbraco-specific parameters resolved.
+
+
+
+ Extension method on Node collection to return key value pairs of: node.Id / node.Name
+
+ generic list of node objects
+ a collection of nodeIDs and their names
+
+
+
+ Makes a new PreValue.
+
+ The datatype definition id.
+ The value.
+ The alias.
+ The sort order.
+
+ The inserted prevalue or null if the operation failed.
+
+
+
+
+ Gets the prevalues for a specified datatype as a strongly typed list.
+
+ The datatype definition id.
+ The list of PreValues.
+
+
+
+ Gets the pre values.
+ TODO: [OA] Document on Codeplex
+
+ The node id.
+ The property alias.
+
+
+
+
+ Reorders the prevalue.
+
+ The prevalue id.
+ The sort order.
+
+
+
+
+ Get an UmbracoObjectType value from it's name
+
+ Enum value name
+ an UmbracoObjectType Enum value
+
+
+
+ Get an instance of an Umbraco Object Type enum value from it's GUID
+
+ Enum value GUID
+ an UmbracoObjectType Enum value
+
+
+
+ Get an UmbracoObjectType value from an id in umbracoNode table
+
+ id to search for
+ an UmbracoObjectType Enum value
+
+
+
+ Gets the SqlHelper used by Umbraco
+
+
+
+
+
+ use to inflate the strongly typed object by the string value
+
+ the Umbraco property value stored by this property
+
+
+
+ Adds the member to group.
+
+ The member id.
+ The group id.
+
+
+
+ Adds the members to group.
+
+ The member ids.
+ The group id.
+
+
+
+ Adds the members to groups.
+
+ The member ids.
+ The group ids.
+
+
+
+ Adds the members to groups.
+
+ The member ids.
+ The group names.
+
+
+
+ Removes the member from group.
+
+ The member id.
+ The group id.
+
+
+
+ Removes the members from group.
+
+ The member ids.
+ The group id.
+
+
+
+ Removes the members from groups.
+
+ The member ids.
+ The group ids.
+
+
+
+ Removes the members from groups.
+
+ The member ids.
+ The group names.
+
+
+
+ Enum used to represent the Umbraco Object Types and thier associated GUIDs
+
+
+
+
+ Default value
+
+
+
+
+ Content Item Type
+
+
+
+
+ Root
+
+
+
+
+ Document
+
+
+
+
+ Media
+
+
+
+
+ Member Type
+
+
+
+
+ Template
+
+
+
+
+ Member Group
+
+
+
+
+ Content Item
+
+
+
+
+ "Media Type
+
+
+
+
+ Document Type
+
+
+
+
+ Recycle Bin
+
+
+
+
+ Stylesheet
+
+
+
+
+ Member
+
+
+
+
+ Data Type
+
+
+
+
+ Attribute to associate a GUID string with an UmbracoObjectType Enum value
+
+
+
+
+ string representation of a Guid
+
+
+
+
+ Initializes a new instance of the GuidAttribute class
+ Sets the guid value as a string
+
+ a string representation of a Guid from the enum attribute
+
+
+
+ Gets the guid as a string
+
+ string of guid
+
+
+
+ Attribute to add a Friendly Name string with an UmbracoObjectType enum value
+
+
+
+
+ friendly name value
+
+
+
+
+ Initializes a new instance of the FriendlyNameAttribute class
+ Sets the friendly name value
+
+ attribute value
+
+
+
+ Gets the friendly name
+
+ string of friendly name
+
+
+
+ Allows App_Code XSLT extensions to be declared using the [XsltExtension] class attribute.
+
+
+ An optional XML namespace can be specified using [XsltExtension("MyNamespace")].
+
+
+
+
+ A helper class that provides many useful methods and functionality for using Umbraco in templates
+
+
+
+
+ Empty constructor to create an umbraco helper for access to methods that don't have dependencies
+
+
+
+
+ Constructor accepting all dependencies
+
+
+
+
+
+
+
+
+
+
+
+
+ This constructor can be used to create a testable UmbracoHelper
+
+
+
+
+ Custom constructor setting the current page to the parameter passed in
+
+
+
+
+
+
+ Standard constructor setting the current page to the page that has been routed to
+
+
+
+
+
+ Renders the template for the specified pageId and an optional altTemplateId
+
+
+ If not specified, will use the template assigned to the node
+
+
+
+
+ Renders the macro with the specified alias.
+
+ The alias.
+
+
+
+
+ Renders the macro with the specified alias, passing in the specified parameters.
+
+ The alias.
+ The parameters.
+
+
+
+
+ Renders the macro with the specified alias, passing in the specified parameters.
+
+ The alias.
+ The parameters.
+
+
+
+
+
+
+
+
+
+
+ Returns the dictionary value for the key specified
+
+
+
+
+
+
+ Check if a document object is protected by the "Protect Pages" functionality in umbraco
+
+ The full path of the document object to check
+ True if the document object is protected
+
+
+
+ Check if the current user has access to a document
+
+ The full path of the document object to check
+ True if the current user has access or if the current document isn't protected
+
+
+
+ Gets (or adds) the current member from the current request cache
+
+
+
+
+ Whether or not the current member is logged in (based on the membership provider)
+
+ True is the current user is logged in
+
+
+
+ Returns a string with a friendly url from a node.
+ IE.: Instead of having /482 (id) as an url, you can have
+ /screenshots/developer/macros (spoken url)
+
+ Identifier for the node that should be returned
+ String with a friendly url from a node
+
+
+
+ Gets the url of a content identified by its identifier.
+
+ The content identifier.
+ The url for the content.
+
+
+
+ Gets the url of a content identified by its identifier, in a specified mode.
+
+ The content identifier.
+ The mode.
+ The url for the content.
+
+
+
+ This method will always add the domain to the path if the hostnames are set up correctly.
+
+ Identifier for the node that should be returned
+ String with a friendly url with full domain from a node
+
+
+
+ Gets the absolute url of a content identified by its identifier.
+
+ The content identifier.
+ The absolute url for the content.
+
+
+
+ Gets the contents corresponding to the identifiers.
+
+ The content identifiers.
+ The existing contents corresponding to the identifiers.
+ If an identifier does not match an existing content, it will be missing in the returned value.
+
+
+
+ Gets the contents corresponding to the identifiers.
+
+ The content identifiers.
+ The existing contents corresponding to the identifiers.
+ If an identifier does not match an existing content, it will be missing in the returned value.
+
+
+
+ Gets the contents corresponding to the identifiers.
+
+ The content identifiers.
+ The existing contents corresponding to the identifiers.
+ If an identifier does not match an existing content, it will be missing in the returned value.
+
+
+
+ Gets the contents corresponding to the identifiers.
+
+ The content identifiers.
+ The existing contents corresponding to the identifiers.
+ If an identifier does not match an existing content, it will be missing in the returned value.
+
+
+
+ Gets the contents corresponding to the identifiers.
+
+ The content identifiers.
+ The existing contents corresponding to the identifiers.
+ If an identifier does not match an existing content, it will be missing in the returned value.
+
+
+
+ Gets the contents corresponding to the identifiers.
+
+ The content identifiers.
+ The existing contents corresponding to the identifiers.
+ If an identifier does not match an existing content, it will be missing in the returned value.
+
+
+
+ Gets the contents corresponding to the identifiers.
+
+ The content identifiers.
+ The existing contents corresponding to the identifiers.
+ If an identifier does not match an existing content, it will be missing in the returned value.
+
+
+
+ Gets the contents corresponding to the identifiers.
+
+ The content identifiers.
+ The existing contents corresponding to the identifiers.
+ If an identifier does not match an existing content, it will be missing in the returned value.
+
+
+
+ Gets the contents corresponding to the identifiers.
+
+ The content identifiers.
+ The existing contents corresponding to the identifiers.
+ If an identifier does not match an existing content, it will be missing in the returned value.
+
+
+
+ Gets the contents corresponding to the identifiers.
+
+ The content identifiers.
+ The existing contents corresponding to the identifiers.
+ If an identifier does not match an existing content, it will be missing in the returned value.
+
+
+
+ Gets the contents corresponding to the identifiers.
+
+ The content identifiers.
+ The existing contents corresponding to the identifiers.
+ If an identifier does not match an existing content, it will be missing in the returned value.
+
+
+
+ Overloaded method accepting an 'object' type
+
+
+
+
+ We accept an object type because GetPropertyValue now returns an 'object', we still want to allow people to pass
+ this result in to this method.
+ This method will throw an exception if the value is not of type int or string.
+
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Gets the medias corresponding to the identifiers.
+
+ The media identifiers.
+ The existing medias corresponding to the identifiers.
+ If an identifier does not match an existing media, it will be missing in the returned value.
+
+
+
+ Searches content
+
+
+
+
+
+
+
+
+ Searhes content
+
+
+
+
+
+
+
+ Searches content
+
+
+
+
+
+
+
+
+ Searhes content
+
+
+
+
+
+
+
+ Replaces text line breaks with html line breaks
+
+ The text.
+ The text with text line breaks replaced with html linebreaks ( )
+
+
+
+ Returns an MD5 hash of the string specified
+
+ The text to create a hash from
+ Md5 has of the string
+
+
+
+ This is used in methods like BeginUmbracoForm and SurfaceAction to generate an encrypted string which gets submitted in a request for which
+ Umbraco can decrypt during the routing process in order to delegate the request to a specific MVC Controller.
+
+
+
+
+
+
+
+
+
+ Lazy instantiates the tag context
+
+
+
+
+ Lazy instantiates the query context if not specified in the constructor
+
+
+
+
+ Helper method to ensure an umbraco context is set when it is needed
+
+
+
+
+ Lazy instantiates the membership helper if not specified in the constructor
+
+
+
+
+ Lazy instantiates the UrlProvider if not specified in the constructor
+
+
+
+
+ Lazy instantiates the IDataTypeService if not specified in the constructor
+
+
+
+
+ Lazy instantiates the IUmbracoComponentRenderer if not specified in the constructor
+
+
+
+
+ Returns the current IPublishedContent item assigned to the UmbracoHelper
+
+
+ Note that this is the assigned IPublishedContent item to the UmbracoHelper, this is not necessarily the Current IPublishedContent item
+ being rendered. This IPublishedContent object is contextual to the current UmbracoHelper instance.
+
+ In some cases accessing this property will throw an exception if there is not IPublishedContent assigned to the Helper
+ this will only ever happen if the Helper is constructed with an UmbracoContext and it is not a front-end request
+
+ Thrown if the UmbracoHelper is constructed with an UmbracoContext and it is not a front-end request
+
+
+
+ Returns the ICultureDictionary for access to dictionary items
+
+
+
+
+ Creates a new ViewContext from an existing one but specifies a new Model for the ViewData
+
+
+
+
+
+
+
+ Creates a new IViewDataContainer but with a filtered ModelState
+
+
+
+
+
+
+
+ Returns a new IViewContainer based on the current one but supplies a different model to the ViewData
+
+
+
+
+
+
+
+ Gets/sets the delegate used to retrieve the Xml content, generally the setter is only used for unit tests
+ and by default if it is not set will use the standard delegate which ONLY works when in the context an Http Request
+
+
+ If not defined, we will use the standard delegate which ONLY works when in the context an Http Request
+ mostly because the 'content' object heavily relies on HttpContext, SQL connections and a bunch of other stuff
+ that when run inside of a unit test fails.
+
+
+
+
+ Gets executed when no document can be found in Umbraco
+
+
+
+
+ Represents an IPublishedContent which is created based on an Xml structure.
+
+
+
+
+ Initializes a new instance of the XmlPublishedContent class with an Xml node.
+
+ The Xml node.
+ A value indicating whether the published content is being previewed.
+
+
+
+ Initializes a new instance of the XmlPublishedContent class with an Xml node,
+ and a value indicating whether to lazy-initialize the instance.
+
+ The Xml node.
+ A value indicating whether the published content is being previewed.
+ A value indicating whether to lazy-initialize the instance.
+ Lazy-initializationg is NOT thread-safe.
+
+
+
+ Represents an IDocumentProperty which is created based on an Xml structure.
+
+
+
+
+ Gets the raw value of the property.
+
+
+
+
+ constants
+
+
+
+
+ A resolver for storing IFilteredControllerFactories
+
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ A controller factory which uses an internal list of in order to invoke
+ different controller factories dependent upon their implementation of for the current
+ request. Allows circumvention of MVC3's singly registered IControllerFactory.
+
+
+
+
+
+ Creates the specified controller by using the specified request context.
+
+ The context of the HTTP request, which includes the HTTP context and route data.
+ The name of the controller.
+ The controller.
+ The parameter is null.
+
+ The parameter is null or empty.
+
+
+
+
+ Retrieves the controller type for the specified name and request context.
+
+
+
+ The controller type.
+
+ The context of the HTTP request, which includes the HTTP context and route data.
+ The name of the controller.
+
+
+
+ Releases the specified controller.
+
+ The controller to release.
+
+
+
+
+ Ensures that if an action for the Template name is not explicitly defined by a user, that the 'Index' action will execute
+
+
+
+
+ Ensures that if an action for the Template name is not explicitly defined by a user, that the 'Index' action will execute
+
+
+
+
+
+
+
+
+ Binds the model to a value by using the specified controller context and binding context.
+
+
+ The bound value.
+
+ The controller context.The binding context.
+
+
+
+ The default controller to render front-end requests
+
+
+
+
+ Checks to make sure the physical view file exists on disk
+
+
+
+
+
+
+ Returns an ActionResult based on the template name found in the route values and the given model.
+
+
+
+
+
+ If the template found in the route values doesn't physically exist, then an empty ContentResult will be returned.
+
+
+
+
+ The default action to render the front-end view
+
+
+
+
+
+
+ Returns the current UmbracoContext
+
+
+
+
+ Returns the Current published content item for rendering the content
+
+
+
+
+ Returns the current PublishedContentRequest
+
+
+
+
+ Contructor generally used for unit testing
+
+
+
+
+
+
+ Assigns the correct controller based on the Umbraco request and returns a standard MvcHandler to prcess the response,
+ this also stores the render model into the data tokens for the current RouteData.
+
+
+
+
+
+
+ Ensures that all of the correct DataTokens are added to the route values which are all required for rendering front-end umbraco views
+
+
+
+
+
+
+
+ Checks the request and query strings to see if it matches the definition of having a Surface controller
+ posted/get value, if so, then we return a PostedDataProxyInfo object with the correct information.
+
+
+
+
+
+
+ Handles a posted form to an Umbraco Url and ensures the correct controller is routed to and that
+ the right DataTokens are set.
+
+
+
+
+
+
+ Returns a RouteDefinition object based on the current renderModel
+
+
+
+
+
+
+
+ this will determine the controller and set the values in the route data
+
+
+
+
+
+
+ Returns the handler for webforms requests
+
+
+
+
+
+ Returns the current UmbracoContext
+
+
+
+
+ A view engine to look into the template location specified in the config for the front-end/Rendering part of the cms,
+ this includes paths to render partial macros and media item templates.
+
+
+
+
+ Constructor
+
+
+
+
+ Ensures that the correct web.config for razor exists in the /Views folder, the partials folder exist and the ViewStartPage exists.
+
+
+
+
+ Determines if the view should be found, this is used for view lookup performance and also to ensure
+ less overlap with other user's view engines. This will return true if the Umbraco back office is rendering
+ and its a partial view or if the umbraco front-end is rendering but nothing else.
+
+
+
+
+
+
+
+ The View that front-end templates inherit from
+
+
+
+
+ Returns the content as a dynamic object
+
+
+
+
+ Converts a route value dictionary to a form collection
+
+
+
+
+
+
+ Returns the value of a mandatory item in the route items
+
+
+
+
+
+
+
+ Summary description for Node.
+
+
+
+
+ Special constructor for by-passing published vs. preview xml to use
+ when updating the SiteMapProvider
+
+
+
+
+
+
+ A base class for all Presentation UserControls to inherit from
+
+
+
+
+ Default constructor
+
+
+
+
+
+ Empty constructor, uses Singleton to resolve the UmbracoContext
+
+
+
+
+ Ensures authorization is successful for a back office user
+
+
+
+
+ Can be used by unit tests to enable/disable this filter
+
+
+
+
+ THIS SHOULD BE ONLY USED FOR UNIT TESTS
+
+
+
+
+
+ An action filter used to do basic validation against the model and return a result
+ straight away if it fails.
+
+
+
+
+ This will check if the request is authenticated and if there's an auth ticket present we will
+ add a custom header to the response indicating how many seconds are remaining for the current
+ user's session. This allows us to keep track of a user's session effectively in the back office.
+
+
+
+
+ A helper method to create a WebAPI HttpControllerContext which can be used to execute a controller manually
+
+
+
+
+
+
+
+
+ A bootstrapper for the Umbraco application which initializes all objects including the Web portion of the application
+
+
+
+
+ Constructor for unit tests, ensures some resolvers are not initialized
+
+
+
+
+
+
+
+ Creates and returns the service context for the app
+
+
+
+
+
+
+
+ Initialize objects before anything during the boot cycle happens
+
+
+
+
+
+ Override this method in order to ensure that the UmbracoContext is also created, this can only be
+ created after resolution is frozen!
+
+
+
+
+ Ensure the current profiler is the web profiler
+
+
+
+
+ Ensure that the OnApplicationStarted methods of the IApplicationEvents are called
+
+
+
+
+
+
+ Creates the application cache based on the HttpRuntime cache
+
+
+
+
+ Creates the routes
+
+
+
+
+ Initializes all web based and core resolves
+
+
+
+
+ A legacy class for old style handling of URL requests
+
+
+
+
+ Return the controller name from the controller type
+
+
+
+
+
+
+ Return the controller name from the controller instance
+
+
+
+
+
+
+ Return the controller name from the controller type
+
+
+
+
+
+
+
+ This is generally used for proxying to a ChildAction which requires a ViewContext to be setup
+ but since the View isn't actually rendered the IView object is null, however the rest of the
+ properties are filled in.
+
+
+
+
+
+
+ Returns the string output from a ViewResultBase object
+
+
+
+
+
+
+
+ Renders the partial view to string.
+
+ The controller context.
+ Name of the view.
+ The model.
+ true if it is a Partial view, otherwise false for a normal view
+
+
+
+
+ Normally in MVC the way that the View object gets assigned to the result is to Execute the ViewResult, this however
+ will write to the Response output stream which isn't what we want. Instead, this method will use the same logic inside
+ of MVC to assign the View object to the result but without executing it.
+ This is only relavent for view results of PartialViewResult or ViewResult.
+
+
+
+
+
+
+ Resolves the last chance IPublishedContentFinder object.
+
+
+
+
+ Initializes a new instance of the class with no finder.
+
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Initializes a new instance of the class with an instance of a finder.
+
+ An instance of a finder.
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Sets the last chance finder.
+
+ The finder.
+ For developers, at application startup.
+
+
+
+ Gets the last chance finder.
+
+
+
+
+ Provides an implementation of that handles page aliases.
+
+
+ Handles /just/about/anything where /just/about/anything is contained in the umbracoUrlAlias property of a document.
+ The alias is the full path to the document. There can be more than one alias, separated by commas.
+
+
+
+
+ Tries to find and assign an Umbraco document to a PublishedContentRequest.
+
+ The PublishedContentRequest.
+ A value indicating whether an Umbraco document was found and assigned.
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Return the providers
+
+
+
+
+ Create the native .net child controls for this control
+
+
+
+
+ Provides an implementation of that handles page identifiers.
+
+
+ Handles /1234 where 1234 is the identified of a document.
+
+
+
+
+ Tries to find and assign an Umbraco document to a PublishedContentRequest.
+
+ The PublishedContentRequest.
+ A value indicating whether an Umbraco document was found and assigned.
+
+
+
+ Provides an implementation of that handles page nice urls.
+
+
+ Handles /foo/bar where /foo/bar is the nice url of a document.
+
+
+
+
+ Tries to find and assign an Umbraco document to a PublishedContentRequest.
+
+ The PublishedContentRequest.
+ A value indicating whether an Umbraco document was found and assigned.
+
+
+
+ Tries to find an Umbraco document for a PublishedContentRequest and a route.
+
+ The document request.
+ The route.
+ The document node, or null.
+
+
+
+ Provides an implementation of that handles page nice urls and a template.
+
+
+ Handles /foo/bar/template where /foo/bar is the nice url of a document, and template a template alias.
+ If successful, then the template of the document request is also assigned.
+
+
+
+
+ Tries to find and assign an Umbraco document to a PublishedContentRequest.
+
+ The PublishedContentRequest.
+ A value indicating whether an Umbraco document was found and assigned.
+ If successful, also assigns the template.
+
+
+
+ Provides an implementation of that handles profiles.
+
+
+ Handles /profile/login where /profile is the profile page nice url and login the login of a member.
+ This should rather be done with a rewriting rule. There would be multiple profile pages in multi-sites/multi-langs setups.
+ We keep it for backward compatility reasons.
+
+
+
+
+ Tries to find and assign an Umbraco document to a PublishedContentRequest.
+
+ The PublishedContentRequest.
+ A value indicating whether an Umbraco document was found and assigned.
+
+
+
+ Extension methods for the PluginTypeResolver
+
+
+
+
+ Returns all available TreeApiController's in application that are attribute with TreeAttribute
+
+
+
+
+
+
+ Returns all available ITrees in application
+
+
+
+
+
+
+ Returns all classes attributed with RestExtensionAttribute attribute
+
+
+
+
+
+
+ Returns all classes attributed with XsltExtensionAttribute attribute
+
+
+
+
+
+
+ Returns all IThumbnailProvider classes
+
+
+
+
+
+
+ Returns all IImageUrlProvider classes
+
+
+
+
+
+
+ Provides utilities to handle domains.
+
+
+
+
+ Finds the domain for the specified node, if any, that best matches a specified uri.
+
+ The node identifier.
+ The uri, or null.
+ The domain and its uri, if any, that best matches the specified uri, else null.
+ If at least a domain is set on the node then the method returns the domain that
+ best matches the specified uri, else it returns null.
+
+
+
+ Gets a value indicating whether a specified node has domains.
+
+ The node identifier.
+ True if the node has domains, else false.
+
+
+
+ Find the domains for the specified node, if any, that match a specified uri.
+
+ The node identifier.
+ The uri, or null.
+ A value indicating whether to exclude the current/default domain. True by default.
+ The domains and their uris, that match the specified uri, else null.
+ If at least a domain is set on the node then the method returns the domains that
+ best match the specified uri, else it returns null.
+
+
+
+ Finds the domain that best matches a specified uri, into a group of domains.
+
+ The group of domains.
+ The uri, or null.
+ A function to filter the list of domains, if more than one applies, or null.
+ The domain and its normalized uri, that best matches the specified uri.
+
+ If more than one domain matches, then the function is used to pick
+ the right one, unless it is null, in which case the method returns null.
+ The filter, if any, will be called only with a non-empty argument, and _must_ return something.
+
+
+
+
+ Gets the domains that match a specified uri, into a group of domains.
+
+ The group of domains.
+ The uri, or null.
+ The domains and their normalized uris, that match the specified uri.
+
+
+
+ Sanitize a Domain.
+
+ The Domain to sanitize.
+ The sanitized domain.
+ This is a _really_ nasty one that should be removed at some point. Some people were
+ using hostnames such as "/en" which happened to work pre-4.10 but really make no sense at
+ all... and 4.10 throws on them, so here we just try to find a way so 4.11 does not throw.
+ But really... no.
+
+
+
+ Gets a value indicating whether there is another domain defined down in the path to a node under the current domain's root node.
+
+ The domains.
+ The path to a node under the current domain's root node eg '-1,1234,5678'.
+ The current domain root node identifier, or null.
+ A value indicating if there is another domain defined down in the path.
+ Looks _under_ rootNodeId but not _at_ rootNodeId.
+
+
+
+ Gets the deepest non-wildcard Domain, if any, from a group of Domains, in a node path.
+
+ The domains.
+ The node path eg '-1,1234,5678'.
+ The current domain root node identifier, or null.
+ The deepest non-wildcard Domain in the path, or null.
+ Looks _under_ rootNodeId but not _at_ rootNodeId.
+
+
+
+ Gets the deepest wildcard Domain, if any, from a group of Domains, in a node path.
+
+ The domains.
+ The node path eg '-1,1234,5678'.
+ The current domain root node identifier, or null.
+ The deepest wildcard Domain in the path, or null.
+ Looks _under_ rootNodeId but not _at_ rootNodeId.
+
+
+
+ Returns the part of a path relative to the uri of a domain.
+
+ The normalized uri of the domain.
+ The full path of the uri.
+ The path part relative to the uri of the domain.
+ Eg the relative part of /foo/bar/nil to domain example.com/foo is /bar/nil.
+
+
+
+ Resolves IPublishedContentFinder objects.
+
+
+
+
+ Initializes a new instance of the class with an initial list of finder types.
+
+
+
+ The list of finder types
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Initializes a new instance of the class with an initial list of finder types.
+
+
+ The list of finder types
+
+ The resolver is created by the WebBootManager and thus the constructor remains internal.
+
+
+
+ Gets the finders.
+
+
+
+
+ Represents a request for one specified Umbraco IPublishedContent to be rendered
+ by one specified template, using one specified Culture and RenderingEngine.
+
+
+
+
+ Initializes a new instance of the class with a specific Uri and routing context.
+
+ The request Uri.
+ A routing context.
+ A callback method to return the roles for the provided login name when required
+
+
+
+
+ Prepares the request.
+
+
+
+
+ Called to configure the request
+
+
+ This public method is legacy, Prepare() has been made public now which should be used and ensures the domains are assigned and
+ if a public content item is already assigned Prepare() now ensures that the finders are not executed.
+
+
+
+
+ Updates the request when there is no template to render the content.
+
+
+
+
+ Triggers the Prepared event.
+
+
+
+
+ The requested IPublishedContent, if any, else null.
+
+
+
+
+ The initial requested IPublishedContent, if any, else null.
+
+ The initial requested content is the content that was found by the finders,
+ before anything such as 404, redirect... took place.
+
+
+
+ Sets the requested content, following an internal redirect.
+
+ The requested content.
+ Depending on UmbracoSettings.InternalRedirectPreservesTemplate, will
+ preserve or reset the template, if any.
+
+
+
+ Indicates that the current PublishedContent is the initial one.
+
+
+
+
+ The template model, if any, else null.
+
+
+
+
+ Tries to set the template to use to display the requested content.
+
+ The alias of the template.
+ A value indicating whether a valid template with the specified alias was found.
+
+ Successfully setting the template does refresh RenderingEngine.
+ If setting the template fails, then the previous template (if any) remains in place.
+
+
+
+
+ Sets the template to use to display the requested content.
+
+ The template.
+ Setting the template does refresh RenderingEngine.
+
+
+
+ Resets the template.
+
+ The RenderingEngine becomes unknown.
+
+
+
+ The "umbraco page" object.
+
+
+
+
+ Indicates that the requested content could not be found.
+
+ This is for public access, in custom content finders or Prepared event handlers,
+ where we want to allow developers to indicate a request is 404 but not to cancel it.
+
+
+
+ Indicates that the content request should trigger a redirect (302).
+
+ The url to redirect to.
+ Does not actually perform a redirect, only registers that the response should
+ redirect. Redirect will or will not take place in due time.
+
+
+
+ Indicates that the content request should trigger a permanent redirect (301).
+
+ The url to redirect to.
+ Does not actually perform a redirect, only registers that the response should
+ redirect. Redirect will or will not take place in due time.
+
+
+
+ Indicates that the content requet should trigger a redirect, with a specified status code.
+
+ The url to redirect to.
+ The status code (300-308).
+ Does not actually perform a redirect, only registers that the response should
+ redirect. Redirect will or will not take place in due time.
+
+
+
+ Sets the http response status code, along with an optional associated description.
+
+ The http status code.
+ The description.
+ Does not actually set the http response status code and description, only registers that
+ the response should use the specified code and description. The code and description will or will
+ not be used, in due time.
+
+
+
+ Triggers once the published content request has been prepared, but before it is processed.
+
+ When the event triggers, preparation is done ie domain, culture, document, template,
+ rendering engine, etc. have been setup. It is then possible to change anything, before
+ the request is actually processed and rendered by Umbraco.
+
+
+
+ Gets the engine associated to the request.
+
+
+
+
+ Gets or sets the cleaned up Uri used for routing.
+
+ The cleaned up Uri has no virtual directory, no trailing slash, no .aspx extension, etc.
+
+
+
+ Gets or sets the requested content.
+
+ Setting the requested content clears Template.
+
+
+
+ Gets the initial requested content.
+
+ The initial requested content is the content that was found by the finders,
+ before anything such as 404, redirect... took place.
+
+
+
+ Gets value indicating whether the current published content is the initial one.
+
+
+
+
+ Gets or sets a value indicating whether the current published content has been obtained
+ from the initial published content following internal redirections exclusively.
+
+ Used by PublishedContentRequestEngine.FindTemplate() to figure out whether to
+ apply the internal redirect or not, when content is not the initial content.
+
+
+
+ Gets a value indicating whether the content request has a content.
+
+
+
+
+ Gets or sets the template model to use to display the requested content.
+
+
+
+
+ Gets the alias of the template to use to display the requested content.
+
+
+
+
+ Gets a value indicating whether the content request has a template.
+
+
+
+
+ Gets or sets the content request's domain.
+
+
+
+
+ Gets or sets the content request's domain Uri.
+
+ The Domain may contain "example.com" whereas the Uri will be fully qualified eg "http://example.com/".
+
+
+
+ Gets a value indicating whether the content request has a domain.
+
+
+
+
+ Gets or sets the content request's culture.
+
+
+
+
+ Gets or sets whether the rendering engine is MVC or WebForms.
+
+
+
+
+ Gets or sets the current RoutingContext.
+
+
+
+
+ Gets or sets the "umbraco page" object.
+
+
+ This value is only used for legacy/webforms code.
+
+
+
+
+ Gets or sets a value indicating whether the requested content could not be found.
+
+ This is set in the PublishedContentRequestBuilder.
+
+
+
+ Gets a value indicating whether the content request triggers a redirect (permanent or not).
+
+
+
+
+ Gets or sets a value indicating whether the redirect is permanent.
+
+
+
+
+ Gets or sets the url to redirect to, when the content request triggers a redirect.
+
+
+
+
+ Gets or sets the content request http response status code.
+
+ Does not actually set the http response status code, only registers that the response
+ should use the specified code. The code will or will not be used, in due time.
+
+
+
+ Gets or sets the content request http response status description.
+
+ Does not actually set the http response status description, only registers that the response
+ should use the specified description. The description will or will not be used, in due time.
+
+
+
+ Provides context for the routing of a request.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ The document lookups resolver.
+
+ The nice urls provider.
+
+
+
+ Gets the Umbraco context.
+
+
+
+
+ Gets the published content finders.
+
+
+
+
+ Gets the published content last chance finder.
+
+
+
+
+ Gets the urls provider.
+
+
+
+
+ Extension methods for the Umbraco BasePage
+
+
+
+
+ Used to display an error message to the user and disable further execution.
+ This will remove all controls from being rendered and show a feedback control with an error
+
+
+
+
+
+ Represents the Xml storage for the Xml published cache.
+
+
+
+
+ Gets the path of the umbraco XML disk cache file.
+
+ The name of the umbraco XML disk cache file.
+
+
+
+ Load content from database and replaces active content when done.
+
+
+
+
+ Used by all overloaded publish methods to do the actual "noderepresentation to xml"
+
+
+
+
+
+
+
+ Sorts the documents.
+
+ The parent node identifier.
+
+
+
+ Updates the document cache.
+
+ The page id.
+
+
+
+ Updates the document cache.
+
+ The d.
+
+
+
+ Updates the document cache for multiple documents
+
+ The documents.
+
+
+
+ Clears the document cache and removes the document from the xml db cache.
+ This means the node gets unpublished from the website.
+
+ The document
+
+
+
+ Unpublishes the node.
+
+ The document id.
+
+
+
+ Clear HTTPContext cache if any
+
+
+
+
+ Load content from database
+
+
+
+
+ Adds a task to the xml cache file persister
+
+
+
+
+ Fires the before document cache.
+
+ The sender.
+ The instance containing the event data.
+
+
+
+ Fires after document cache updater.
+
+ The sender.
+ The instance containing the event data.
+
+
+
+ Fires the before document cache unpublish.
+
+ The sender.
+ The instance containing the event data.
+
+
+
+ Fires the after document cache unpublish.
+
+ The sender.
+ The instance containing the event data.
+
+
+
+ Fires the content of the before refresh.
+
+ The sender.
+ The instance containing the event data.
+
+
+
+ Fires the content of the after refresh.
+
+ The sender.
+ The instance containing the event data.
+
+
+
+ Fires the before when creating the document cache from database
+
+ The sender.
+ The instance containing the event data.
+
+
+
+ Fires the before when creating the document cache from database
+
+ The sender.
+ The instance containing the event data.
+
+
+
+ Fires the after loading document cache xml node from database
+
+ The sender.
+ The instance containing the event data.
+
+
+
+ Fires the before a publish action updates the content cache
+
+ The sender.
+ The instance containing the event data.
+
+
+
+ Get content. First call to this property will initialize xmldoc
+ subsequent calls will be blocked until initialization is done
+ Further we cache (in context) xmlContent for each request to ensure that
+ we always have the same XmlDoc throughout the whole request.
+
+
+
+
+ Occurs when [before document cache update].
+
+
+
+
+ Occurs when [after document cache update].
+
+
+
+
+ Occurs when [before document cache unpublish].
+
+
+
+
+ Occurs when [before refresh content].
+
+
+
+
+ Occurs when [after refresh content].
+
+
+
+
+ Occurs when [after loading the xml string from the database].
+
+
+
+
+ Occurs when [before when creating the document cache from database].
+
+
+
+
+ Occurs when [after loading document cache xml node from database].
+
+
+
+
+ Occurs when [before a publish action updates the content cache].
+
+
+
+
+ Occurs when [after loading the xml string from the database].
+
+
+
+
+ Occurs when [after loading the xml string from the database and creating the xml node].
+
+
+
+
+ Summary description for helper.
+
+
+
+
+ This method will parse the attribute value to look for some special syntax such as
+ [@requestKey]
+ [%sessionKey]
+ [#pageElement]
+ [$recursiveValue]
+
+
+
+
+
+ You can even apply fallback's separated by comma's like:
+
+ [@requestKey],[%sessionKey]
+
+
+
+
+
+
+
+
+
+
+ Creates a new Legacy item
+
+
+
+
+
+
+ Creates an Item with a publishedContent item in order to properly recurse and return the value.
+
+
+
+
+
+ THIS ENTIRE CLASS WILL BECOME LEGACY, THE FIELD RENDERING NEEDS TO BE REPLACES SO THAT IS WHY THIS
+ CTOR IS INTERNAL.
+
+
+
+
+ Returns the recursive value using a legacy strategy of looking at the xml cache and the splitPath in the elements collection
+
+
+
+
+
+
+ Function library for umbraco. Includes various helper-methods and methods to
+ save and load data from umbraco.
+
+ Especially usefull in XSLT where any of these methods can be accesed using the umbraco.library name-space. Example:
+ <xsl:value-of select="umbraco.library:NiceUrl(@id)"/>
+
+
+
+
+ Returns a new UmbracoHelper so that we can start moving the logic from some of these methods to it
+
+
+
+
+
+ Used by umbraco's publishing enginge, to determine if publishing is currently active
+
+
+
+
+ Used by umbraco's publishing enginge, to how many nodes is publish in the current publishing cycle
+
+
+
+
+ Used by umbraco's publishing enginge, to determine the start time of the current publishing cycle.
+
+
+
+
+ Empty constructor
+
+
+
+
+ Initializes a new instance of the class.
+
+ The page.
+
+
+
+ Executes the given python script and returns the standardoutput.
+ The Globals known from python macros are not accessible in this context.
+ Neither macro or page nor the globals known from python macros are
+ accessible in this context. Only stuff we initialized in site.py
+ can be used.
+
+ The filename of the python script including the extension .py
+ Returns the StandardOutput
+
+
+
+ Executes the given python expression and returns the standardoutput.
+ The Globals known from python macros are not accessible in this context.
+ Neighter macro or page nor the globals known from python macros are
+ accessible in this context. Only stuff we initialized in site.py
+ can be used.
+
+ Python expression to execute
+ Returns the StandardOutput
+
+
+
+ Unpublish a node, by removing it from the runtime xml index. Note, prior to this the Document should be
+ marked unpublished by setting the publish property on the document object to false
+
+ The Id of the Document to be unpublished
+
+
+
+ Publishes a Document by adding it to the runtime xml index. Note, prior to this the Document should be
+ marked published by calling Publish(User u) on the document object.
+
+ The Id of the Document to be published
+
+
+
+ Publishes the single node, this method is obsolete
+
+ The document id.
+
+
+
+ Refreshes the xml cache for all nodes
+
+
+
+
+ Re-publishes all nodes under a given node
+
+ The ID of the node and childnodes that should be republished
+
+
+
+ Re-publishes all nodes under a given node
+
+ The ID of the node and childnodes that should be republished
+
+
+
+ Refreshes the runtime xml index.
+ Note: This *doesn't* mark any non-published document objects as published
+
+ Always use -1
+ Not used
+
+
+
+ This will convert a json structure to xml for use in xslt
+
+
+
+
+
+
+ Add a session variable to the current user
+
+ The Key of the variable
+ The Value
+
+
+
+ Add a cookie variable to the current user
+
+ The Key of the variable
+ The Value of the variable
+
+
+
+ Returns a string with a friendly url from a node.
+ IE.: Instead of having /482 (id) as an url, you can have
+ /screenshots/developer/macros (spoken url)
+
+ Identifier for the node that should be returned
+ String with a friendly url from a node
+
+
+
+ This method will always add the root node to the path. You should always use NiceUrl, as that is the
+ only one who checks for toplevel node settings in the web.config
+
+ Identifier for the node that should be returned
+ String with a friendly url from a node
+
+
+
+ This method will always add the domain to the path if the hostnames are set up correctly.
+
+ Identifier for the node that should be returned
+ String with a friendly url with full domain from a node
+
+
+
+ This method will always add the domain to the path.
+
+ Identifier for the node that should be returned
+ Ignores the umbraco hostnames and returns the url prefixed with the requested host (including scheme and port number)
+ String with a friendly url with full domain from a node
+
+
+
+ Returns a string with the data from the given element of a node. Both elements (data-fields)
+ and properties can be used - ie:
+ getItem(1, nodeName) will return a string with the name of the node with id=1 even though
+ nodeName is a property and not an element (data-field).
+
+ Identifier for the node that should be returned
+ The element that should be returned
+ Returns a string with the data from the given element of a node
+
+
+
+ Checks with the Assigned domains settings and retuns an array the the Domains matching the node
+
+ Identifier for the node that should be returned
+ A Domain array with all the Domains that matches the nodeId
+
+
+
+ Returns a string with the data from the given element of the current node. Both elements (data-fields)
+ and properties can be used - ie:
+ getItem(nodeName) will return a string with the name of the current node/page even though
+ nodeName is a property and not an element (data-field).
+
+
+
+
+
+
+ Returns that name of a generic property
+
+ The Alias of the content type (ie. Document Type, Member Type or Media Type)
+ The Alias of the Generic property (ie. bodyText or umbracoNaviHide)
+ A string with the name. If nothing matches the alias, an empty string is returned
+
+
+
+ Returns the Member Name from an umbraco member object
+
+ The identifier of the Member
+ The Member name matching the MemberId, an empty string is member isn't found
+
+
+
+ Get a media object as an xml object
+
+ The identifier of the media object to be returned
+ If true, children of the media object is returned
+ An umbraco xml node of the media (same format as a document node)
+
+
+
+ Get a member as an xml object
+
+ The identifier of the member object to be returned
+ An umbraco xml node of the member (same format as a document node), but with two additional attributes on the "node" element:
+ "email" and "loginName".
+
+
+
+
+ Get the current member as an xml node
+
+ Look in documentation for umbraco.library.GetMember(MemberId) for more information
+
+
+
+ Whether or not the current user is logged in (as a member)
+
+ True is the current user is logged in
+
+
+
+ Check if a document object is protected by the "Protect Pages" functionality in umbraco
+
+ The identifier of the document object to check
+ The full path of the document object to check
+ True if the document object is protected
+
+
+
+ Check if the current user has access to a document
+
+ The identifier of the document object to check
+ The full path of the document object to check
+ True if the current user has access or if the current document isn't protected
+
+
+
+ Returns an MD5 hash of the string specified
+
+ The text to create a hash from
+ Md5 has of the string
+
+
+
+ Compare two dates
+
+ The first date to compare
+ The second date to compare
+ True if the first date is greater than the second date
+
+
+
+ Compare two dates
+
+ The first date to compare
+ The second date to compare
+ True if the first date is greater than or equal the second date
+
+
+
+ Check if a date is greater than today
+
+ The date to check
+ True if the date is greater that today (ie. at least the day of tomorrow)
+
+
+
+ Check if a date is greater than or equal today
+
+ The date to check
+ True if the date is greater that or equal today (ie. at least today or the day of tomorrow)
+
+
+
+ Get the current date
+
+ Current date i xml format (ToString("s"))
+
+
+
+ Add a value to a date
+
+ The Date to user
+ The type to add: "y": year, "m": month, "d": day, "h": hour, "min": minutes, "s": seconds
+ An integer value to add
+ A date in xml format (ToString("s"))
+
+
+
+ Get the day of week from a date matching the current culture settings
+
+ The date to use
+ A string with the DayOfWeek matching the current contexts culture settings
+
+
+
+ Add a value to a date. Similar to the other overload, but uses a datetime object instead of a string
+
+ The Date to user
+ The type to add: "y": year, "m": month, "d": day, "h": hour, "min": minutes, "s": seconds
+ An integer value to add
+ A date in xml format (ToString("s"))
+
+
+
+ Return the difference between 2 dates, in either minutes, seconds or years.
+
+ The first date.
+ The second date.
+ format to return, can only be: s,m or y: s = seconds, m = minutes, y = years.
+ A timespan as a integer
+
+
+
+ Formats a string to the specified formate.
+
+ The date.
+ The format, compatible with regular .net date formats
+ A date in the new format as a string
+
+
+
+ Converts a string to Long Date and returns it as a string
+
+ The date.
+ if set to true the date will include time.
+ The splitter between date and time.
+ A Long Date as a string.
+
+
+
+ Checks whether the Culture with the specified name exixts in the standard .net cultureInfo.
+
+ Name of the culture.
+
+
+
+
+ Converts a string to datetime in the longdate with day name format.
+
+ The date.
+ String between day name and date
+ if set to true the datetiem will include time.
+ String between date and time.
+ Culture name.
+ A datetime in the longdate formate with day name, as a string
+
+
+
+ Converts a string to a Long Date and returns it as a string
+
+ The date.
+ A Long Date as a string.
+
+
+
+ Converts a string to a Short Date and returns it as a string
+
+ The date.
+ A Short Date as a string.
+
+
+
+ Converts a string to a Short Date, with a specific culture, and returns it as a string
+
+ The date.
+ Culture name
+ A short date with a specific culture, as a string
+
+
+
+ Converts a string to a Short Date with time, with a specific culture, and returns it as a string
+
+ The date.
+ Culture name
+ A short date withi time, with a specific culture, as a string
+
+
+
+ Converts a datetime string to the ShortTime format.
+
+ The date.
+
+
+
+
+ Converts a datetime string to the ShortDate format.
+
+ The date.
+ if set to true the date will include time.
+ String dividing date and time
+
+
+
+
+ Replaces text line breaks with html line breaks
+
+ The text.
+ The text with text line breaks replaced with html linebreaks ( )
+
+
+
+ Renders the content of a macro. Uses the normal template umbraco macro markup as input.
+ This only works properly with xslt macros.
+ Python and .ascx based macros will not render properly, as viewstate is not included.
+
+ The macro markup to be rendered.
+ The page id.
+ The rendered macro as a string
+
+
+
+ Renders a template.
+
+ The page id.
+ The template id.
+ The rendered template as a string
+
+
+
+ Renders the default template for a specific page.
+
+ The page id.
+ The rendered template as a string.
+
+
+
+ Registers the client script block.
+
+ The key.
+ The script.
+ if set to true [add script tags].
+
+
+
+ Registers the client script include.
+
+ The key.
+ The URL.
+
+
+
+ Registers the client script include.
+
+ The key.
+ The URL.
+
+
+
+ Adds a reference to the jQuery javascript file from the client/ui folder using "jQuery" as a key
+ Recommended to use instead of RegisterJavaScriptFile for all nitros/packages that uses jQuery
+
+
+
+
+ Strips all html from a string.
+
+ The text.
+ Returns the string without any html tags.
+
+
+
+ Truncates a string if it's too long
+
+ The text to eventually truncate
+ The maximum number of characters (length)
+ String to append if text is truncated (ie "...")
+ A truncated string if text if longer than MaxLength appended with the addString parameters. If text is shorter
+ then MaxLength then the full - non-truncated - string is returned
+
+
+
+ Split a string into xml elements
+
+ The full text to spil
+ The separator
+ An XPathNodeIterator containing the substrings in the format of
+
+
+
+ Removes the starting and ending paragraph tags in a string.
+
+ The text.
+ Returns the string without starting and endning paragraph tags
+
+
+
+ Replaces a specified value with a new one.
+
+ The text.
+ The old value.
+ The new value.
+
+
+
+
+ Returns the Last index of the specified value
+
+ The text.
+ The value.
+ Return the last index of a value as a integer
+
+
+
+ Gets the prevalues from a umbraco DataType with the specified data type id.
+
+ The data type id.
+ Returns the prevalues as a XPathNodeIterator in the format:
+
+ [value]
+
+
+
+
+
+ Gets the umbraco data type prevalue with the specified Id as string.
+
+ The id.
+ Returns the prevalue as a string
+
+
+
+ Gets the dictionary item with the specified key and it's child dictionary items.
+ The language version is based on the culture of the current Url.
+
+ The key.
+ A XpathNodeIterator in the format:
+
+ [dictionaryItemValue]
+
+
+
+
+
+ Gets the dictionary item with the specified key.
+
+ The key.
+ A dictionary items value as a string.
+
+
+
+ Gets the current page.
+
+ An XpathNodeIterator containing the current page as Xml.
+
+
+
+ Gets the page with the specified id.
+
+ The id.
+ Returns the node with the specified id as xml in the form of a XPathNodeIterator
+
+
+
+ Queries the umbraco Xml cache with the specified Xpath query
+
+ The XPath query
+ Returns nodes matching the xpath query as a XpathNodeIterator
+
+
+
+ Gets the entire umbraco xml cache.
+
+ Returns the entire umbraco Xml cache as a XPathNodeIterator
+
+
+
+ Fetches a xml file from the specified path on the server.
+ The path can be relative ("/path/to/file.xml") or absolute ("c:\folder\file.xml")
+
+ The path.
+ if set to true the path is relative.
+ The xml file as a XpathNodeIterator
+
+
+
+ Fetches a xml file from the specified url.
+ the Url can be a local url or even from a remote server.
+
+ The URL.
+ The xml file as a XpathNodeIterator
+
+
+
+ Gets the XML document by URL Cached.
+
+ The URL.
+ The cache in seconds (so 900 would be 15 minutes). This is independent of the global cache refreshing, as it doesn't gets flushed on publishing (like the macros do)
+
+
+
+
+ Returns the Xpath query for a node with the specified id
+
+ The id.
+ The Xpath query for the node with the specified id as a string
+
+
+
+ Helper function to get a value from a comma separated string. Usefull to get
+ a node identifier from a Page's path string
+
+ The comma separated string
+ The index to be returned
+ A string with the value of the index
+
+
+
+ Sends an e-mail using the System.Net.Mail.MailMessage object
+
+ The sender of the e-mail
+ The recipient of the e-mail
+ E-mail subject
+ The complete content of the e-mail
+ Set to true when using Html formatted mails
+
+
+
+ These random methods are from Eli Robillards blog - kudos for the work :-)
+ http://weblogs.asp.net/erobillard/archive/2004/05/06/127374.aspx
+
+ Get a Random object which is cached between requests.
+ The advantage over creating the object locally is that the .Next
+ call will always return a new value. If creating several times locally
+ with a generated seed (like millisecond ticks), the same number can be
+ returned.
+
+ A Random object which is cached between calls.
+
+
+
+ GetRandom with no parameters.
+
+ A Random object which is cached between calls.
+
+
+
+ Get any value from the current Request collection. Please note that there also specialized methods for
+ Querystring, Form, Servervariables and Cookie collections
+
+ Name of the Request element to be returned
+ A string with the value of the Requested element
+
+
+
+ Changes the mime type of the current page.
+
+ The mime type (like text/xml)
+
+
+
+ Get any value from the current Items collection.
+
+ Name of the Items element to be returned
+ A string with the value of the Items element
+
+
+
+ Get any value from the current Http Items collection
+
+ Name of the Item element to be returned
+ A string with the value of the Requested element
+
+
+
+ Get any value from the current Form collection
+
+ Name of the Form element to be returned
+ A string with the value of the form element
+
+
+
+ Get any value from the current Querystring collection
+
+ Name of the querystring element to be returned
+ A string with the value of the querystring element
+
+
+
+ Get any value from the users cookie collection
+
+ Name of the cookie to return
+ A string with the value of the cookie
+
+
+
+ Get any element from the server variables collection
+
+ The key for the element to be returned
+ A string with the value of the requested element
+
+
+
+ Get any element from current user session
+
+ The key for the element to be returned
+ A string with the value of the requested element
+
+
+
+ Returns the current ASP.NET session identifier
+
+ The current ASP.NET session identifier
+
+
+
+ URL-encodes a string
+
+ The string to be encoded
+ A URL-encoded string
+
+
+
+ HTML-encodes a string
+
+ The string to be encoded
+ A HTML-encoded string
+
+
+
+ Gets the related nodes, of the node with the specified Id, as XML.
+
+ The node id.
+ The related nodes as a XpathNodeIterator in the format:
+
+
+ [standard umbraco node Xml]
+
+
+
+
+
+
+ Returns the identifier of the current page
+
+ The identifier of the current page
+
+
+
+ Returns the title of the current page
+
+ The title of the current page
+
+
+
+ Returns any element from the currentpage including generic properties
+
+ The name of the page element to return
+ A string with the element value
+
+
+
+ Cleans the spified string with tidy
+
+ The string to tidy.
+ if set to true [Live Editing].
+
+
+
+
+ Creates an Umbraco item for the specified field of the specified node.
+ This brings the umbraco:Item element functionality to XSLT documents,
+ which enables Live Editing of XSLT generated content.
+
+ The ID of the node to create.
+ Name of the field to create.
+ An Umbraco item.
+
+
+
+ Creates an Umbraco item for the specified field of the specified node.
+ This brings the umbraco:Item element functionality to XSLT documents,
+ which enables Live Editing of XSLT generated content.
+
+ The ID of the node to create.
+ Name of the field to create.
+
+ Value that is displayed to the user, which can be different from the field value.
+ Ignored if null.
+ Inside an XSLT document, an XPath expression might be useful to generate this value,
+ analogous to the functionality of the Xslt property of an umbraco:Item element.
+
+ An Umbraco item.
+
+
+
+ Summary description for macro.
+
+
+
+ Cache for .
+
+
+
+ Creates a macro object
+
+ Specify the macro-id which should be loaded (from table macro)
+
+
+
+ Creates an empty macro object.
+
+
+
+
+ Deletes macro definition from cache.
+
+ True if succesfull, false if nothing has been removed
+
+
+
+ Raises the MacroRendering event
+
+
+
+
+
+ Renders the macro
+
+
+
+
+
+
+
+ Adds the macro result to cache and returns the control since it might be updated
+
+
+
+
+
+
+ Returns the cached version of this macro either as a string or as a Control
+
+
+
+
+
+ Depending on the type of macro, this will return the result as a string or as a control. This also
+ checks to see if preview mode is activated, if it is then we don't return anything from cache.
+
+
+
+
+ Raises the error event and based on the error behavior either return a control to display or throw the exception
+
+
+
+
+
+
+
+ check that the file has not recently changed
+
+
+
+
+
+
+ The only reason this is necessary is because a developer might update a file associated with the
+ macro, we need to ensure if that is the case that the cache not be used and it is refreshed.
+
+
+
+
+ Determine if macro can be cached as string
+
+
+
+
+ Scripts and XSLT can be generated as strings, but not controls as page events wouldn't be hit (such as Page_Load, etc)
+
+
+
+
+ Parses the text for umbraco Item controls that need to be rendered.
+
+ The text to parse.
+ A control containing the parsed text.
+
+
+
+ Gets a collection of all XSLT extensions for macros, including predefined extensions.
+
+ A dictionary of name/extension instance pairs.
+
+
+
+ Returns an XSLT argument list with all XSLT extensions added,
+ both predefined and configured ones.
+
+ A new XSLT argument list.
+
+
+
+ Renders a Partial View Macro
+
+
+
+
+
+
+ Loads a custom or webcontrol using reflection into the macro object
+
+ The assembly to load from
+ Name of the control
+
+
+
+
+ Loads a custom or webcontrol using reflection into the macro object
+
+ The assembly to load from
+ Name of the control
+
+
+
+
+ Loads an usercontrol using reflection into the macro object
+
+ Filename of the usercontrol - ie. ~wulff.ascx
+
+ The page elements.
+
+
+
+
+ Adds the XSLT extension namespaces to the XSLT header using
+ {0} as the container for the namespace references and
+ {1} as the container for the exclude-result-prefixes
+
+ The XSLT
+
+
+
+
+ Raises the event.
+
+ The instance containing the event data.
+
+
+
+ An event that is raised just before the macro is rendered allowing developers to modify the macro before it executes.
+
+
+
+
+ Occurs when a macro error is raised.
+
+
+
+
+ Event arguments used for the MacroRendering event
+
+
+
+
+ Summary description for page.
+
+
+
+
+ Initializes a new instance of the class for a yet unpublished document, identified by its id and version.
+
+ The identifier of the document.
+ The version to be displayed.
+
+
+
+ Initializes a new instance of the class for a yet unpublished document.
+
+ The document.
+
+
+
+ Initializes a new instance of the class for a published document request.
+
+ The pointing to the document.
+
+ The difference between creating the page with PublishedContentRequest vs an IPublishedContent item is
+ that the PublishedContentRequest takes into account how a template is assigned during the routing process whereas
+ with an IPublishedContent item, the template id is asssigned purely based on the default.
+
+
+
+
+ Initializes a new instance of the page for a published document
+
+
+
+
+
+ Initializes a new instance of the class for a published document.
+
+ The XmlNode representing the document.
+
+
+
+ Initializes a new instance of the page for a content.
+
+ The content.
+ This is for usage only.
+
+
+
+ Puts the properties of the node into the elements table
+
+
+
+
+
+ Something like a proxy to IronPython. Does some initial settings and calls.
+ Maps IronPython's StandardOutput and StandardError to a simple string.
+
+
+
+
+ To be able to import umbraco dll's we have to append the umbraco path to python.
+ It should also be possible to import other python scripts from umbracos python folder.
+ And finally to run run some custom init stuff the script site.py in umbraco's
+ root folder will be executed.
+
+
+
+
+
+
+
+
+
+
+
+ Executes a python command like in console
+
+ command to execute
+ returns standard out of executed command
+
+
+
+ Executes a python script like in console
+
+ absolute path to script
+ returns standard out of executed script
+
+
+
+ Compiles a python script and add it to umbraco's script collection.
+ If compilation fails then an exception will be raised.
+
+ absolute path to script
+
+
+
+
+ Compiles a python script.
+ If compilation fails then an exception will be raised.
+
+ absolute path to script
+
+
+
+
+ The Class PythonEngine is just a wrapper for the real class IronPython.Hosting.PythonEngine
+ in IronPython. In this manner we does not need a hard reference to the IronPython assembly.
+ I've implemented only the methods i need for my purpose.
+
+
+
+
+ THIS CLASS IS PURELY HERE TO SUPPORT THE QUERYBYXPATH METHOD WHICH IS USED BY OTHER LEGACY BITS
+
+
+
+
+ Summary description for requestModule.
+
+
+
+ True if the module is currently handling an error.
+
+
+ List of errors that occurred since the last error was being handled.
+
+
+
+ Handles the BeginRequest event of the Application control.
+
+ The source of the event.
+ The instance containing the event data.
+
+
+
+ Performs path rewriting.
+
+ The source of the event.
+ The instance containing the event data.
+
+
+
+ Handles the Error event of the Application control.
+
+ The source of the event.
+ The instance containing the event data.
+
+
+
+ Initializes a module and prepares it to handle requests.
+
+
+ An that provides access to the methods, properties, and events common to all application objects within an ASP.NET application
+
+
+
+ Disposes of the resources (other than memory) used by the module that implements .
+
+
+
+
+
+ Summary description for ShowField.
+
+
+
+
+ Render this control to the output parameter specified.
+
+
+
+
+
+ Holds methods for parsing and building umbraco templates
+
+
+
+
+ Parses the content of the templateOutput stringbuilder, and matches any tags given in the
+ XML-file /umbraco/config/umbracoTemplateTags.xml.
+ Replaces the found tags in the StringBuilder object, with "real content"
+
+
+
+
+
+ Class that encapsulates Umbraco information of a specific HTTP request.
+
+
+
+
+ Creates a new Umbraco context.
+
+
+
+
+
+ Creates a new Umbraco context.
+
+ The HTTP context on which the Umbraco context operates.
+
+
+
+ Determines whether the current user has the specified permission on the current page.
+
+ The permission token.
+
+ true if the user has permission; otherwise, false.
+
+
+
+
+ Gets the base URL for the website
+
+
+
+
+
+ Gets the current Umbraco Context.
+
+
+
+
+ Gets the current page ID, or null if no page ID is available (e.g. a custom page).
+
+
+
+
+ Gets the current logged in Umbraco user (editor).
+
+ The Umbraco user object or null
+
+
+
+ Determines whether the current user is in a preview mode and browsing the site (ie. not in the admin UI)
+
+
+
+
+ Gets the response for the current context
+
+ The response.
+
+
+
+ Gets the request for the current context
+
+ The request.
+
+
+
+ Gets the internal search provider from Examine.
+
+ The internal search provider.
+
+
+
+ Gets the internal member search provider from Examine.
+
+ The internal search provider.
+
+
+
+ Summary description for umbracoPageHolder.
+
+
+
+
+ Render this control to the output parameter specified.
+
+ The HTML writer to write out to
+
+
+
+ A custom HttpRequestBase object which exposes some additional methods
+
+
+ The only reason this class exists is because somebody decided that it would be a good idea to piggy
+ back the IsDebug method on top of the HttpRequest object. Unforunately when this was created it
+ inherited from HttpRequestWrapper intead of HttpRequestBase which meant that this is not unit testable
+ and still has a dependency on a real HttpRequest. So now it inherits from HttpRequestBase which
+ means we need to override all of the methods and just wrap them with the _request object passed in.
+
+ This now needs to exist only because of backwards compatibility
+
+
+
+
+ Gets a value indicating whether the request has debugging enabled
+
+ true if this instance is debug; otherwise, false.
+
+
+
+ A custom HttpResponseBase class
+
+ The only reason this class exists is for backwards compatibility. Previously this used to
+ inherit from HttpResponseWrapper which is incorrect since it is not unit testable and means that
+ it still has a reliance on the real HttpResponse object which means that the UmbracoContext still has
+ a reliance on the real HttpContext.
+
+
+
+
+ A custom HttpServerUtilityBase object which exposes some additional methods and also overrides
+ some such as MapPath to use the IOHelper.
+
+
+ Unforunately when this class was created it
+ inherited from HttpServerUtilityWrapper intead of HttpServerUtilityBase which meant that this is not unit testable
+ and still has a dependency on a real HttpRequest. So now it inherits from HttpRequestBase which
+ means we need to override all of the methods and just wrap them with the _server object passed in.
+
+ This now needs to exist only because of backwards compatibility
+
+
+
+
+ Returns the physical file path that corresponds to the specified virtual path on the Web server.
+
+ The virtual path of the Web server.
+
+ The physical file path that corresponds to .
+
+
+ The current is null.
+
+
+
+
+ Gets the Umbraco XML cache
+
+ The content XML.
+
+
+
+ Panel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ confirm control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_delete control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ warning control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ deleteButton control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ deleteMessage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ deleted control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ This page is used only to deeplink to the edit content page with the tree
+
+
+ editContent class.
+
+
+ Auto-generated class.
+
+
+
+
+ form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ preview class.
+
+
+ Auto-generated class.
+
+
+
+
+ Handles the Load event of the Page control.
+
+ The source of the event.
+ The instance containing the event data.
+
+
+
+ form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Panel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ confirm control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_publish control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ warning control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ deleteButton control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ deleteMessage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ deleted control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Struct representing a blog category
+
+
+
+
+ Struct representing a blog post
+
+
+
+
+ Struct containing user information
+
+
+
+
+ Struct containing Blog information
+
+
+
+
+ the umbraco channels API is xml-rpc webservice based on the metaweblog and blogger APIs
+ for editing umbraco data froom external clients
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Makes a new file to a designated blog using the metaWeblog API
+
+ The blogid.
+ The username.
+ The password.
+ The file.
+ Returns url as a string of a struct.
+
+
+
+ Gets a summary of all the pages from the blog with the spefied blogId.
+
+ The blogid.
+ The username.
+ The password.
+
+
+
+
+ Gets a specified number of pages from the blog with the spefied blogId
+
+ The blogid.
+ The username.
+ The password.
+ The number of pages.
+
+
+
+
+ Creates a new blog category / tag.
+
+ The blogid.
+ The username.
+ The password.
+ The category.
+
+
+
+
+ Summary description for Test.
+
+
+
+
+ Summary description for ContentControl.
+
+
+
+
+ Constructor to set default properties.
+
+
+
+
+
+ This method used to create all of the child controls too which is BAD since
+ the page hasn't started initializing yet. Control IDs were not being named
+ correctly, etc... I've moved the child control setup/creation to the CreateChildControls
+ method where they are suposed to be.
+
+
+
+
+ Create and setup all of the controls child controls.
+
+
+
+
+ Loades PropertyTypes by Tab/PropertyGroup using the new API.
+
+
+
+
+
+
+
+
+
+ Loades PropertyTypes by Tab using the Legacy API.
+
+
+
+
+
+
+
+ Initializes the control and ensures child controls are setup
+
+
+
+
+
+ Custom validates the content name field
+
+
+
+
+ We need to ensure people are not entering XSS attacks on this field
+ http://issues.umbraco.org/issue/U4-485
+
+ This doesn't actually 'validate' but changes the text field value and strips html
+
+
+
+
+ Sets the name (text) and values on the data types of the document
+
+
+
+
+ Fires the before content control load.
+
+ The instance containing the event data.
+
+
+
+ Fires the before content control load.
+
+ The instance containing the event data.
+
+
+
+ This property controls whether the content property values are persisted even if validation
+ fails. If set to false, then the values will not be persisted.
+
+
+ This is required because when we are editing content we should be persisting invalid values to the database
+ as this makes it easier for editors to come back and fix up their changes before they publish. Of course we
+ don't publish if the page is invalid. In the case of media and members, we don't want to persist the values
+ to the database when the page is invalid because there is no published state.
+ Relates to: http://issues.umbraco.org/issue/U4-227
+
+
+
+
+ Occurs when [before content control load].
+
+
+
+
+ Occurs when [before content control load].
+
+
+
+
+ Summary description for ContentTypeControl.
+
+
+
+
+ automatically bind if it's not explicitly called.
+
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ MultiView control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Basic control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ImageLink control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ThumbnailPreview control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ A JS method to invoke when the image is loaded. The method should accept the media ID.
+
+
+
+
+ The style to render the image viewer in
+
+
+
+
+ An ajax service to return the html for an image based on a media id
+
+
+
+
+ return the a json object with the properties
+ html = the html returned for rendering the image viewer
+ mediaId = the media id loaded
+ width = the width of the media (0) if not found
+ height = the height of the media (0) if not found
+ url = the url of the image
+ alt = the alt text for the image
+
+
+
+
+
+ A control to render out the controls to upload a new image to media.
+ Includes ability to select where in the media you would like it to upload and also supports client
+ callback methods once complete.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_upload control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_name control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ TextBoxTitle control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_file control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ UploadControl control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_target control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_button control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ SubmitButton control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ feedback control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ The JavaScript method to be invoked once the image is uploaded, the page is rendered and the document is ready.
+ The method will receive a JSON object with the following parameters:
+ - imagePath
+ - thumbnailPath
+ - width
+ - height
+ - id
+
+
+
+
+ Summary description for dualSelectbox.
+
+
+
+
+ Summary description for GenericPropertyWrapper.
+
+
+
+
+ Updates the macro parameter.
+
+ The alias.
+ The value.
+
+
+
+ Gets the macro tag.
+
+ The correct syntax for the macro including all parameters
+
+
+
+ Gets the parameter values.
+
+ The parameter values.
+
+
+
+ A custom tree control that uses a custom web service to return the initial node, this is required
+ due to a bug that exists in Umbraco 4.5.1 tree control/web service.
+
+
+ Since we're inheriting from a UserControl and all of the ClientDependency registrations are done inline, we need
+ to re-register the ClientDependencies.
+
+
+
+
+ Ensure child controls are created on init
+
+
+
+
+
+ Create the child controls
+
+
+
+
+ Adds the internal markup to the TreeContainer control
+
+
+
+
+
+ Render out the correct markup for the tree
+
+
+ Since we're inheriting from a UserControl, we need to render out the markup manually
+
+
+
+
+
+ Client side ajax utlities for the tree
+
+
+
+
+ Returns some info about the node such as path and id
+
+
+
+
+
+
+ returns the node names for each id passed in
+
+
+
+
+
+
+ Returns a key/value object with: json, app, js as the keys
+
+
+
+
+
+ Not implemented as we never need to Deserialize
+
+
+
+
+
+
+
+
+ TODO: Find out why we can't just return IAction as one type (JavaScriptSerializer doesn't seem to pick up on it)
+
+
+
+
+ Simple data object to hold information about a node
+
+
+
+
+ Gets or sets the id.
+
+ The id.
+
+
+
+ Gets or sets the path.
+
+ The path.
+
+
+
+ Gets or sets the path as names.
+
+ The path as names.
+
+
+
+ Gets or sets the type of the node.
+
+ The type of the node.
+
+
+
+ The new event handler
+
+
+
+
+ Summary description for standardTasks.
+
+
+
+
+
+ Edit an existing RelationType
+
+
+
+
+ Class scope reference to the current RelationType being edited
+
+
+
+
+ Class scope reference to the relations associated with the current RelationType
+
+
+
+
+ Umbraco ObjectType used to represent all parent items in this relation type
+
+
+
+
+
+ Umbraco ObjectType used to represent all child items in this relation type
+
+
+
+
+ On Load event
+
+ this aspx page
+ EventArgs (expect empty)
+
+
+
+ Creates the child controls used in this page
+
+
+
+
+ check that alias hasn't been changed to clash with another (except itself)
+
+ the aliasCustomValidator control
+ to set validation respose
+
+
+
+ Reload the relations, in case they have changed
+
+ expects refreshMenuImageButton
+ expects ImageClickEventArgs
+
+
+
+ Save button in Umbraco menu
+
+ expects saveMenuImageButton object
+ expects ImageClickEventArgs
+
+
+
+ tabControl control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ idPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ idPropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ idLiteral control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nameAliasPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nameProperyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nameTextBox control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nameRequiredFieldValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ aliasPropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ aliasTextBox control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ aliasRequiredFieldValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ aliasCustomValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ directionPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ dualPropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ dualRadioButtonList control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ objectTypePane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ parentPropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ parentLiteral control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ childPropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ childLiteral control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ relationsCountPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ relationsCountPropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ relationsCountLiteral control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ relationsPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ relationsPropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ relationsRepeater control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Gets the name of the parent object type for all relations in this relation type
+
+
+
+
+ Gets the name of the child object type for all relations in this relation type
+
+
+
+
+ Gets a string representing the current relation type direction
+
+
+
+
+ Gets the Relations for this RelationType, via lazy load
+
+
+
+
+ Add a new Relation Type
+
+
+
+
+ On Load event
+
+ this aspx page
+ EventArgs (expect empty)
+
+
+
+ Server side validation to ensure there are no existing relationshipTypes with the alias of
+ the relation type being added
+
+ the aliasCustomValidator control
+ to set validation respose
+
+
+
+ Add a new relation type into the database, and redirects to it's editing page.
+
+ expects the addButton control
+ expects EventArgs for addButton
+
+
+
+ Adds the Umbraco Object types to a drop down list
+
+ control for which to add the Umbraco object types
+
+
+
+ nameAliasPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nameProperyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ descriptionTextBox control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ descriptionRequiredFieldValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ aliasPropertyPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ aliasTextBox control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ aliasRequiredFieldValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ aliasCustomValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ directionPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ dualRadioButtonList control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ objectTypePane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ parentDropDownList control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ childDropDownList control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ addButton control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ This is used to build a collection of relations from a single sql statement,
+ as the umbraco.cms.businesslogic.relation.Relation obj will hit the DB for each instace it creates
+
+
+
+
+ Gets or sets the Relation Id
+
+
+
+
+ Gets or sets Relation Parent Id
+
+
+
+
+ Gets or sets Relation Parent Text
+
+
+
+
+ Gets or sets Relation Child Id
+
+
+
+
+ Gets or sets Relation Child Text
+
+
+
+
+ Gets or sets Relation RelationType Id
+
+
+
+
+ Gets or sets Relation DateTime
+
+
+
+
+ Gets or sets Relation Comment
+
+
+
+
+ Webservice to delete relation types, this allows deletion via a javacscript call hooked into the tree UI
+
+
+
+
+ Delete an Umbraco RelationType and all it's associated Relations
+
+ database id of the relation type to delete
+
+
+
+ Delete a Relation Type - an Umbraco tree context menu action
+
+
+
+
+ Private field for the singleton instance
+
+
+
+
+ Gets a singleton instance of this action
+
+
+
+
+ Gets a string alias used to identify this action
+
+
+
+
+ Gets a unique char to associate with this action
+
+
+
+
+ Gets a value indicating whether the Umbraco notification area is used ?
+
+
+
+
+ Gets a value indicating whether this action can be configured for use only by specific members
+
+
+
+
+ Gets an icon to be used for the right click action
+
+
+
+
+ Gets a string for the javascript source
+
+
+
+
+ Gets a javascript string to execute when this action is fired
+
+
+
+
+ Create new Relation Type - an Umbraco tree context menu action
+
+
+
+
+ Private field for the singleton instance
+
+
+
+
+ Gets a singleton instance of this action
+
+
+
+
+ Gets a string alias used to identify this action
+
+
+
+
+ Gets a unique char to associate with this action
+
+
+
+
+ Gets a value indicating whether the Umbraco notification area is used ?
+
+
+
+
+ Gets a value indicating whether this action can be configured for use only by specific members
+
+
+
+
+ Gets an icon to be used for the right click action
+
+
+
+
+ Gets a string for the javascript source
+
+
+
+
+ Gets a javascript string to execute when this action is fired
+
+
+
+
+ feedback1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_form control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ docLit control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ changeSetUrl control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ searchQuery control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ButtonSearch control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ resultsPane control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rp_members control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for Node.
+
+
+
+
+ Special constructor for by-passing published vs. preview xml to use
+ when updating the SiteMapProvider
+
+
+
+
+
+
+ Checks a preview file exist based on preview cookie
+
+
+
+
+
+ Used to wire up events for Examine
+
+
+
+
+ Pane1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ xsltSelection control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ contentPicker control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ visualizeDo control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ visualizeContainer control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ visualizePanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ visualizeArea control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_insert control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_placeholder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ dd_detectedAlias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tb_alias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_src control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ImageViewer control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tv_options control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_select control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ DialogTree control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_upload control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ MediaUploader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for republish.
+
+
+
+
+ p_republish control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_go control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ progbar control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ p_done control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Wizard control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ keyword control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ searchButton control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nothingFound control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ searchResult control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Runs all action handlers for the ActionToPublish action for the document with
+ the corresponding document id passed in by query string
+
+
+
+
+ Summary description for content.
+
+
+
+
+ typeJs control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nodeType control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Textbox1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ descr control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sbmt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for dialogHandler_temp.
+
+
+
+
+ Summary description for media.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nodeType control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Textbox1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sbmt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for member.
+
+
+
+
+ Validation to Check if Login Name Exists
+
+
+
+
+
+
+ Validation to Check if Member with email Exists
+
+
+
+
+
+
+ EmailValidator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ validationSummary control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nameLiteral control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nameRequired control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ memberChooser control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ memberTypeRequired control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nodeType control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ loginRequired control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ loginExistsCheck control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Login control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ emailRequired control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ emailExistsCheck control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Email control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PasswordRules control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ passwordRequired control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Password control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Textbox1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sbmt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for nodeType.
+
+
+
+
+ The page_load.
+
+
+ The sender.
+
+
+ The e.
+
+
+
+
+ pp_MasterDocumentType control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ masterType control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ masterTypePreDefined control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_name control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ createTemplate control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Textbox1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CustomValidation1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CustomValidation2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ sbmt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for LatestEdits.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Repeater1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for assemblyBrowser.
+
+
+
+
+ AssemblyName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ChooseProperties control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ MacroProperties control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Button1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ConfigProperties control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ resultLiteral control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for autoDoc.
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ fb control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ iframeGen control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ TabView1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_name control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator0 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_url control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageUrl control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_version control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageVersion control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_file control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_submitButton control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageUmbFile control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1_1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_author control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageAuthorName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_author_url control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageAuthorUrl control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1_2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_licens control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageLicenseName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator5 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_license_url control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageLicenseUrl control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator6 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1_3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_readme control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageReadme control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_content control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ content control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageContentSubdirs control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane2_1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ documentTypes control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane2_2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ templates control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane2_3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ stylesheets control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane2_4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macros control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane2_5 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ languages control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane2_6 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ dictionary control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane2_7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ cbl_datatypes control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane3_1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageFilesRepeater control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageFilePathNew control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ createNewFilePath control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane3_2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ packageControlPath control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ actionsVal control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tb_actions control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_meta control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_name control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_packagename control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_version control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_packageVersion control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_author control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_packageAuthor control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_documentation control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ hl_docLink control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lb_demoLink control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_repository control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ hl_packageRepo control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_readme control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_readme control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_versions control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_versions control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rptr_versions control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_upgrade control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_upgradeInstruction control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_upgradeReadme control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_gotoUpgrade control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_noItems control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_deletePackage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_uninstall control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_docTypes control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ documentTypes control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_templates control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ templates control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_css control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ stylesheets control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_macros control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macros control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_files control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ files control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_di control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ dictionaryItems control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_dt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ dataTypes control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_confirm control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_confirmUninstall control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ progbar control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_uninstalled control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ loadNitros control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ph_recommendedHolder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rep_nitros control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_install control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ fb_feedback control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ feedbackControls control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pl_repoChoose control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ dd_repositories control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pl_repoLogin control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ publicRepoHelp control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ privateRepoHelp control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tb_email control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ RequiredFieldValidator1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tb_password control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel5 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ fu_doc control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ doc_regex control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ submitControls control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_submit control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for getXsltStatus.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Clean up any resources being used.
+
+
+
+
+ Summary description for xsltChooseExtension.
+
+
+
+
+ Gets the XSLT assemblies and their methods.
+
+ A list of assembly names linked to a list of method signatures.
+
+
+
+ Gets the static methods of the specified type, alphabetically sorted.
+
+ The type.
+ A sortd list with method signatures.
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ assemblies control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ methods control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PlaceHolderParamters control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_insert control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for xsltInsertValueOf.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ valueOf control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ preValues control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ disableOutputEscaping control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for about.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ version control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ thisYear control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for exportDocumenttype.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ image control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for importDocumentType.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Summary description for insertMacro.
+
+
+
+
+ pane_edit control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroProperties control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_insert control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroAlias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for insertTable.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ tableForm control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tableClass control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for cruds.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ pane_form control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pl_buttons control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Button1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_search control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ searchField control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_search control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ regexPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ results control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for rollBack.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ feedBackMsg control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_selectVersion control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_currentVersion control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ currentVersionTitle control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ currentVersionMeta control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_rollBackTo control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ allVersions control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_view control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rbl_mode control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ diffPanel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_notice control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ propertiesCompare control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pl_buttons control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Button1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ feedback control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_form control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_translator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ translator control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_language control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ language control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ defaultLanguage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_includeSubs control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ includeSubpages control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_comment control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ comment control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pl_buttons control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ doTranslation control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ MediaUploader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for viewAuditTrail.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ CssInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ auditLog control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for EditMemberGroup.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ memberGroupName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ NameTxt control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Executes some code before the member type is saved, this allows us to save the member can edit/member can view information
+ before the Save() command is executed.
+
+
+
+
+
+ Pane1andmore control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ dgEditExtras control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Panel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rp_members control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Description of GzipCompressor.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description of HttpHandler.
+
+
+
+
+ Description of IModule.
+
+
+
+
+
+
+
+
+
+
+ Request context.
+
+
+
+ ClientLoader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ClientLoader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ClientLoader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude9 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude8 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude5 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude6 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ScriptManager1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_src control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ImageViewer control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_src control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_title control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_dimensions control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_widthLabel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_heightLabel control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tv_options control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_select control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ DialogTree control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_upload control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ MediaUploader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Head1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ClientLoader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude5 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_url control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ PropertyPanel3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ tv_options control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_content control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ TreeControl2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_media control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ TreeControl1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for insertMacro.
+
+
+
+
+ ClientLoader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude8 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude3 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude4 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude5 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ScriptManager1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_edit control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ macroProperties control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ edit_buttons control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_renderMacro control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_insert control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_selectMacro control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ umb_macroAlias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ insert_buttons control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ renderHolder control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ jQueryReady control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Description of JSON.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description of JSONReader.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Description of JSONWriter.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary description for $codebehindclassname$
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_table control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for EditDictionaryItem.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for editLanguage.
+
+
+
+
+ Required method for Designer support - do not modify
+ the contents of this method with the code editor.
+
+
+
+
+ Panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Pane7 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_language control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Cultures control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Summary description for EditMediaType.
+
+
+
+
+ ContentTypeControlNew1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Renders the control to the specified HTML writer.
+
+ The object that receives the control content.
+
+
+
+ Returns the value for a link in WYSIWYG mode, by default only media items that have a
+ DataTypeUploadField are linkable, however, a custom tree can be created which overrides
+ this method, or another GUID for a custom data type can be added to the LinkableMediaDataTypes
+ list on application startup.
+
+
+
+
+
+
+
+ NOTE: New implementation of the legacy GetLinkValue. This is however a bit quirky as a media item can have multiple "Linkable DataTypes".
+ Returns the value for a link in WYSIWYG mode, by default only media items that have a
+ DataTypeUploadField are linkable, however, a custom tree can be created which overrides
+ this method, or another GUID for a custom data type can be added to the LinkableMediaDataTypes
+ list on application startup.
+
+
+
+
+
+
+ Returns the current User. This ensures that we don't instantiate a new User object
+ each time.
+
+
+
+
+ By default, any media type that is to be "linkable" in the WYSIWYG editor must contain
+ a DataTypeUploadField data type which will ouput the value for the link, however, if
+ a developer wants the WYSIWYG editor to link to a custom media type, they will either have
+ to create their own media tree and inherit from this one and override the GetLinkValue
+ or add another GUID to the LinkableMediaDataType list on application startup that matches
+ the GUID of a custom data type. The order of property types on the media item definition will determine the output value.
+
+
+
+
+ Returns true if we can use the EntityService to render the tree or revert to the original way
+ using normal documents
+
+
+ We determine this by:
+ * If there are any subscribers to the events: BeforeTreeRender or AfterTreeRender - then we cannot run optimized
+
+
+
+
+ Handles loading of python items into the developer application tree
+
+
+
+
+ Renders the Javascript.
+
+ The javascript.
+
+
+
+ RelationTypes tree for developer section
+
+
+
+
+ Initializes a new instance of the RelationTypeTree class.
+
+ name of umbraco app to which this tree has been added, (in this case "developer")
+
+
+
+ Builds the javascript methods for use by the nodes in this tree
+
+ string container for javascript
+
+
+
+ This is called if the tree has been expanded, and it's used to render and child nodes for this tree
+
+ current tree
+
+
+
+ Adds right click context tree actions for each child node
+
+ collection of actions (expected to be empty)
+
+
+
+ Adds right click context tree actions for the root 'Relation Types' node
+
+ collection of actions (expected to be empty)
+
+
+
+ Configures root node 'Relation Types' properties
+
+ the 'Relation Types' root node
+
+
+
+ Override the render js so no duplicate js is rendered.
+
+
+
+
+
+ By default the Recycle bin start node is -21
+
+
+
+
+
+
+
+
+
+ Initializes a new instance of the class.
+
+ The tree which the event is for.
+
+
+
+ Gets the tree.
+
+ The tree.
+
+
+
+ An ITreeService class that returns the values found in the Query String or any dictionary
+
+
+
+
+ Converts the tree parameters to a tree service object
+
+
+
+
+
+ uQuery extensions for the Content object (the Document / Media and Memeber objects derive from Content, hence these extension methods are available to Documents / Media and Members)
+
+
+
+
+ Determines whether the specified content item has property.
+
+ The content item.
+ The property alias.
+
+ true if the specified content item has property; otherwise, false.
+
+
+
+
+ Get a value (of specified type) from a content item's property.
+
+ The type.
+ The content item.
+ alias of property to get
+ default(T) or property value cast to (T)
+
+
+
+ Get a string value from a content item's property.
+
+ The content item.
+ alias of propety to get
+
+ empty string, or property value as string
+
+
+
+
+ Get a boolean value from a content item's property, (works with built in Yes/No dataype).
+
+ The content item.
+ alias of propety to get
+
+ true if can cast value, else false for all other circumstances
+
+
+
+
+ Gets the random content item.
+
+ The type of the source.
+ The content items.
+
+ Returns a random content item from a collection of content items.
+
+
+
+
+ Gets a collection of random content items.
+
+ The type of the source.
+ The content items.
+ The number of items.
+
+ Returns the specified number of random content items from a collection of content items.
+
+
+
+
+ Sorts the by property.
+
+ The type of the property.
+ The items.
+ The property alias.
+
+
+
+
+ Orders the by property descending.
+
+ The type of the property.
+ The items.
+ The property alias.
+
+
+
+
+ Randomizes the order of the content items.
+
+ The type of the source.
+ The content items.
+ Returns a list of content items in a random order.
+
+
+
+ Sets a property value, and returns self.
+
+ The content item.
+ The alias of property to set.
+ The value to set.
+
+ The same content item on which this is an extension method.
+
+
+
+
+ uQuery extensions for the ContentType object.
+
+
+
+
+ Gets the type of the property, regardless of the casing of the alias name.
+
+ Type of the content.
+ The alias.
+ if set to true [ignore case].
+
+
+
+
+ uQuery extensions for the Document object
+
+
+
+
+ Gets the ancestor by path level.
+
+ an umbraco.cms.businesslogic.web.Document object.
+ The level.
+ Returns an ancestor document by path level.
+
+
+
+ Functionally similar to the XPath axis 'ancestor'
+
+ an umbraco.cms.businesslogic.web.Document object.
+ Documents as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'ancestor-or-self'
+
+ The document.
+ Documents as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'preceding-sibling'
+
+ The document.
+ Documents as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'following-sibling'
+
+ The document.
+ Documents as IEnumerable
+
+
+
+ Gets all sibling Documents
+
+ The document.
+ Documents as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'descendant-or-self'
+
+ The document.
+ Node as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'descendant'
+ Make the All Descendants LINQ queryable
+ taken from: http://our.umbraco.org/wiki/how-tos/useful-helper-extension-methods-%28linq-null-safe-access%29
+
+ The document.
+ Documents as IEnumerable
+
+
+
+ Drills down into the descendant documents returning those where Func is true, when Func is false further descendants are not checked
+ taken from: http://ucomponents.codeplex.com/discussions/246406
+
+ The umbraco.cms.businesslogic.web.Document.
+ The func
+ Documents as IEnumerable
+
+
+
+ Gets the descendant documents by document-type.
+
+ The umbraco.cms.businesslogic.web.Document.
+ The document type alias.
+ Documents as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'child'
+ Make the imediate Children LINQ queryable
+ Performance optimised for just imediate children.
+ taken from: http://our.umbraco.org/wiki/how-tos/useful-helper-extension-methods-%28linq-null-safe-access%29
+
+ The document.
+ Documents as IEnumerable
+
+
+
+ Gets the child documents.
+
+ The umbraco.cms.businesslogic.web.Document.
+ The func.
+ Nodes as IEnumerable
+
+
+
+ Gets the child documents by document-type.
+
+ The umbraco.cms.businesslogic.web.Document.
+ The document type alias.
+ Nodes as IEnumerable
+
+
+
+ Extension method on Document to retun a matching child document by name
+
+ The umbraco.cms.businesslogic.web.Document.
+ name of node to search for
+ null or Node
+
+
+
+ Publishes this document
+
+ an umbraco.cms.businesslogic.web.Document object
+ if true then publishes under the context of User(0), if false uses current user
+ the same document object on which this is an extension method
+
+
+
+ Returns a node representation of the document (if it exists)
+
+ The document.
+ Node for the document (if it's published)
+
+
+
+ Extension methods for umbraco.cms.businesslogic.media.Media
+
+
+
+
+ Functionally similar to the XPath axis 'ancestor'
+
+ an umbraco.cms.businesslogic.media.Media object
+ Media nodes as IEnumerable
+
+
+
+ Funtionally similar to the XPath axis 'ancestor-or-self'
+
+ an umbraco.cms.businesslogic.media.Media object
+ Media nodes as IEnumerable
+
+
+
+ Gets all sibling Media
+
+ an umbraco.cms.businesslogic.media.Media object
+ Media nodes as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'descendant-or-self'
+
+ an umbraco.cms.businesslogic.media.Media object
+ Media nodes as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'descendant'
+
+ an umbraco.cms.businesslogic.media.Media object
+ Media nodes as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'child'
+ Performance optimised for just imediate children.
+
+ The umbraco.cms.businesslogic.media.Media object.
+ Media nodes as IEnumerable
+
+
+
+ Gets the child media that satisfy the Func condition.
+
+ The umbraco.cms.businesslogic.media.Media object.
+ The func.
+ Media nodes as IEnumerable
+
+
+
+ Tell me the level of this node (0 = root)
+ updated from Depth and changed to start at 0
+ to align with other 'Level' methods (eg xslt)
+
+
+
+
+
+
+ Returns the url for a given crop name using the built in Image Cropper datatype
+
+ an umbraco.cms.businesslogic.media.Media object
+ property alias
+ name of crop to get url for
+ emtpy string or url
+
+
+
+ Gets the image URL.
+
+ an umbraco.cms.businesslogic.media.Media object
+
+
+
+
+ Gets the image thumbnail URL.
+
+ an umbraco.cms.businesslogic.media.Media object
+
+
+
+
+ uQuery Member extensions.
+
+
+
+
+ Adds a member the group (by group name).
+
+ The member.
+ Name of the group.
+
+
+
+ Adds a member the group.
+
+ The member.
+ The group.
+
+
+
+ Determines whether [is in group] [the specified member].
+
+ The member.
+ The group id.
+
+ true if [is in group] [the specified member]; otherwise, false.
+
+
+
+
+ Determines whether [is in group] [the specified member].
+
+ The member.
+ Name of the group.
+
+ true if [is in group] [the specified member]; otherwise, false.
+
+
+
+
+ Determines whether [is in group] [the specified member].
+
+ The member.
+ The group.
+
+ true if [is in group] [the specified member]; otherwise, false.
+
+
+
+
+ Removes a member the group (by group name).
+
+ The member.
+ Name of the group.
+
+
+
+ Removes a member the group.
+
+ The member.
+ The group.
+
+
+
+ uQuery extensions for the Node object.
+
+
+
+
+ Gets the ancestor by path level.
+
+ The node.
+ The level.
+ Returns an ancestor node by path level.
+
+
+
+ Gets the ancestor by path level.
+
+ The node.
+ The level.
+ Returns an ancestor node by path level.
+
+
+
+ Functionally similar to the XPath axis 'ancestor'
+ Get the Ancestor Nodes from current to root, (useful for breadcrumbs)
+
+ an umbraco.presentation.nodeFactory.Node object
+ Node as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'ancestor'
+ Get the Ancestor Nodes from current to root (useful for breadcrumbs)
+
+ an umbraco.interfaces.INode object
+ INode as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'ancestor-or-self'
+
+ an umbraco.presentation.nodeFactory.Node object
+ Node as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'ancestor-or-self'
+
+ an umbraco.interfaces.INode object
+ INode as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'preceding-sibling'
+
+ an umbraco.presentation.nodeFactory.Node object
+ Node as IEumerable
+
+
+
+ Functionally similar to the XPath axis 'preceding-sibling'
+
+ an umbraco.interfaces.INode object
+ INode as IEumerable
+
+
+
+ Functionally similar to the XPath axis 'following-sibling'
+
+ an umbraco.presentation.nodeFactory.Node object
+ Node as IEumerable
+
+
+
+ Functionally similar to the XPath axis 'following-sibling'
+
+ an umbraco.interfaces.INode object
+ INode as IEumerable
+
+
+
+ Gets all sibling Nodes
+
+ an umbraco.presentation.nodeFactory.Node object
+ Node as IEumerable
+
+
+
+ Gets all sibling Nodes
+
+ an umbraco.interfaces.INode object
+ INode as IEumerable
+
+
+
+ Functionally similar to the XPath axis 'descendant-or-self'
+
+ an umbraco.presentation.nodeFactory.Node object
+ Node as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'descendant-or-self'
+
+ an umbraco.interfaces.INode object
+ INode as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'descendant'
+ Make the All Descendants LINQ queryable
+ taken from: http://our.umbraco.org/wiki/how-tos/useful-helper-extension-methods-%28linq-null-safe-access%29
+
+ an umbraco.presentation.nodeFactory.Node object
+ Node as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'descendant'
+ Make the All Descendants LINQ queryable
+ taken from: http://our.umbraco.org/wiki/how-tos/useful-helper-extension-methods-%28linq-null-safe-access%29
+
+ an umbraco.interfaces.INode object
+ INode as IEnumerable
+
+
+
+ Drills down into the descendant nodes returning those where Func is true, when Func is false further descendants are not checked
+ taken from: http://ucomponents.codeplex.com/discussions/246406
+
+ The umbraco.presentation.nodeFactory.Node.
+ The func
+ Nodes as IEnumerable
+
+
+
+ Drills down into the descendant nodes returning those where Func is true, when Func is false further descendants are not checked
+ taken from: http://ucomponents.codeplex.com/discussions/246406
+
+ The umbraco.interfaces.INode.
+ The func
+ INode as IEnumerable
+
+
+
+ Gets the descendant nodes by document-type.
+ Get all descendants, and then return only those that match the requested typeAlias
+
+ The umbraco.presentation.nodeFactory.Node.
+ The document type alias.
+ Nodes as IEnumerable
+
+
+
+ Gets the descendant nodes by document-type.
+ Get all descendants, and then return only those that match the requested typeAlias
+
+ The umbraco.interfaces.INode.
+ The document type alias.
+ INodes as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'child'
+ Make the imediate Children LINQ queryable
+ Performance optimised for just imediate children.
+ taken from: http://our.umbraco.org/wiki/how-tos/useful-helper-extension-methods-%28linq-null-safe-access%29
+
+ an umbraco.presentation.nodeFactory.Node object
+ Node as IEnumerable
+
+
+
+ Functionally similar to the XPath axis 'child'
+ Make the imediate Children LINQ queryable
+ Performance optimised for just imediate children.
+ taken from: http://our.umbraco.org/wiki/how-tos/useful-helper-extension-methods-%28linq-null-safe-access%29
+
+ an umbraco.interfaces.INode object
+ INode as IEnumerable
+
+
+
+ Gets the child nodes.
+
+ The umbraco.presentation.nodeFactory.Node.
+ The func.
+ Nodes as IEnumerable
+
+
+
+ Gets the child nodes.
+
+ The umbraco.interfaces.INode.
+ The func.
+ INodes as IEnumerable
+
+
+
+ Gets the child nodes by document-type.
+
+ The umbraco.presentation.nodeFactory.Node.
+ The document type alias.
+ Nodes as IEnumerable
+
+
+
+ Gets the child nodes by document-type.
+
+ The umbraco.interfaces.INode.
+ The document type alias.
+ INodes as IEnumerable
+
+
+
+ Extension method on Node to retun a matching child node by name
+
+ an umbraco.presentation.nodeFactory.Node object
+ name of node to search for
+ null or Node
+
+
+
+ Extension method on Node to retun a matching child node by name
+
+ an umbraco.interfaces.INode object
+ name of node to search for
+ null or INode
+
+
+
+ Determines whether the specified node has property.
+
+ The node.
+ The property alias.
+
+ true if the specified node has property; otherwise, false.
+
+
+
+
+ Determines whether the specified node has property.
+
+ The INode.
+ The property alias.
+
+ true if the specified node has property; otherwise, false.
+
+
+
+
+ Get a value of type T from a property
+
+ type T to cast to
+ an umbraco.presentation.nodeFactory.Node object
+ alias of property to get
+ default(T) or property cast to (T)
+
+
+
+ Get a value of type T from a property
+
+ type T to cast to
+ an umbraco.interfaces.INode object
+ alias of property to get
+ default(T) or property cast to (T)
+
+
+
+ Get a string value for the supplied property alias
+
+ an umbraco.presentation.nodeFactory.Node object
+ alias of propety to get
+ empty string, or property value as string
+
+
+
+ Get a string value for the supplied property alias
+
+ an umbraco.interfaces.INode object
+ alias of propety to get
+ empty string, or property value as string
+
+
+
+ Get a boolean value for the supplied property alias (works with built in Yes/No dataype)
+
+ an umbraco.presentation.nodeFactory.Node object
+ alias of propety to get
+ true if can cast value, else false for all other circumstances
+
+
+
+ Get a boolean value for the supplied property alias (works with built in Yes/No dataype)
+
+ an umbraco.interfaces.INode object
+ alias of propety to get
+ true if can cast value, else false for all other circumstances
+
+
+
+ Tell me the level of this node (0 = root)
+ updated from Depth and changed to start at 0
+ to align with other 'Level' methods (eg xslt)
+
+
+
+
+
+
+ Tell me the level of this node (0 = root)
+ updated from Depth and changed to start at 0
+ to align with other 'Level' methods (eg xslt)
+
+
+
+
+
+
+ Gets the XML for the Node.
+
+ The node.
+ Returns an XmlNode for the selected Node
+
+
+
+ Gets the XML for the Node.
+
+ The INode.
+ Returns an XmlNode for the selected Node
+
+
+
+ Returns the url for a given crop name using the built in Image Cropper datatype
+
+ an umbraco.presentation.nodeFactory.Node object
+ property alias
+ name of crop to get url for
+ emtpy string or url
+
+
+
+ Returns the url for a given crop name using the built in Image Cropper datatype
+
+ an umbraco.interfaces.INode object
+ property alias
+ name of crop to get url for
+ emtpy string or url
+
+
+
+ Sets a property value on this node
+
+ an umbraco.presentation.nodeFactory.Node object
+ alias of property to set
+ value to set
+ the same node object on which this is an extension method
+
+
+
+ Sets a property value on this node
+
+ an umbraco.interfaces.INode object
+ alias of property to set
+ value to set
+ the same node object on which this is an extension method
+
+
+
+ Republishes this node
+
+ an umbraco.presentation.nodeFactory.Node object
+ if true then publishes under the context of User(0), if false uses current user
+ the same node object on which this is an extension method
+
+
+
+ Republishes this node
+
+ an umbraco.interfaces.INode object
+ if true then publishes under the context of User(0), if false uses current user
+ the same node object on which this is an extension method
+
+
+
+ Gets a random node.
+
+ The nodes.
+
+ Returns a random node from a collection of nodes.
+
+
+
+
+ Gets a random node.
+
+ The nodes.
+
+ Returns a random INode from a collection of INodes.
+
+
+
+
+ Gets a collection of random nodes.
+
+ The nodes.
+ The number of items.
+
+ Returns the specified number of random nodes from a collection of nodes.
+
+
+
+
+ Gets a collection of random nodes.
+
+ The nodes.
+ The number of items.
+
+ Returns the specified number of random INodes from a collection of INodes.
+
+
+
+
+ Gets the full nice URL.
+
+ The node.
+
+
+
+
+ Gets the full nice URL.
+
+ The node as INode.
+
+
+
+
+ Gets the full nice URL.
+
+ The node.
+ The language.
+
+
+
+
+ Gets the full nice URL.
+
+ The node as INode.
+ The language.
+
+
+
+
+ Gets the full nice URL.
+
+ The node.
+ The language.
+ if set to true [SSL].
+
+
+
+
+ Gets the full nice URL.
+
+ The node as INode.
+ The language.
+ if set to true [SSL].
+
+
+
+
+ Gets the full nice URL.
+
+ The node.
+ The domain.
+
+
+
+
+ Gets the full nice URL.
+
+ The node as INode.
+ The domain.
+
+
+
+
+ Gets the full nice URL.
+
+ The node.
+ The domain.
+ if set to true [SSL].
+
+
+
+
+ Gets the full nice URL.
+
+ The node as INode.
+ The domain.
+ if set to true [SSL].
+
+
+
+
+ Converts legacy nodeFactory collection to INode collection
+
+ The legacy nodeFactory nodes.
+ Returns the legacy nodeFactory nodes as INode nodes.
+
+
+
+ Converts INode collection to legacy nodeFactory collection
+
+ The nodes.
+ Returns the nodes as legacy nodeFactory nodes.
+
+
+
+ uQuery extensions for the PreValue object.
+
+
+
+
+ Gets the alias of the specified PreValue
+
+ The PreValue.
+ The alias
+
+
+
+ uQuery extensions for the RelationType object.
+
+
+
+
+ Extension method to return the Parent UmbracoObjectType
+
+ an instance of umbraco.cms.businesslogic.relation.RelationType
+ an UmbracoObjectType value
+
+
+
+ Extension method to return the Child UmbracoObjectType
+
+ an instance of umbraco.cms.businesslogic.relation.RelationType
+ an UmbracoObjectType value
+
+
+
+ Creates a new relation for this relation type - also performs objectype validation
+
+ an instance of umbraco.cms.businesslogic.relation.RelationType
+ parentId of relation
+ child Id of relation
+
+
+
+ Determines whether the specified id exists as a relation for the current relation type
+
+ Type of the relation.
+ The id.
+
+ true if the specified relation type has relations; otherwise, false.
+
+
+
+
+ Wrapper for Relation.IsRelated(int, int, RelationType)
+
+ an instance of umbraco.cms.businesslogic.relation.RelationType
+ parentId to test
+ childId to test
+
+
+
+ Extension method to get a relation from it's parent and child Ids
+
+ an instance of umbraco.cms.businesslogic.relation.RelationType
+ parentId of relation
+ child Id of relation
+ null or the Relation matching supplied parentId and childId
+
+
+
+ Gets the relations for the supplied id (wrapper for Relation.GetRelations)
+
+ an instance of umbraco.cms.businesslogic.relation.RelationType
+ the id
+ relations for the id
+
+
+
+ Extension method to delete a relation, found by it's parent and child Ids
+
+ an instance of umbraco.cms.businesslogic.relation.RelationType
+ parent id of relation to delete
+ child id of relation to delte
+
+
+
+ Wipes all relations associated with the id supplied in this relation type
+
+ an instance of umbraco.cms.businesslogic.relation.RelationType
+ key id to wipe
+
+
+
+ uQuery extensions for Umbraco object types.
+
+
+
+
+ Extension method for the UmbracoObjectType enum to return the enum GUID
+
+ UmbracoObjectType Enum value
+ a GUID value of the UmbracoObjectType
+
+
+
+ Extension method for the UmbracoObjectType enum to return the enum name
+
+ UmbracoObjectType value
+ The enum name of the UmbracoObjectType value
+
+
+
+ Extension method for the UmbracoObejctType enum to return the enum friendly name
+
+ UmbracoObjectType value
+ a string of the FriendlyName
+
+
+
+ Summary description for MacroContainerService
+
+
+
+
+ An abstract web service class that has the methods and properties to correct validate an Umbraco user
+
+
+
+
+ An abstract web service class exposing common umbraco objects
+
+
+
+
+ Returns the current ApplicationContext
+
+
+
+
+ Returns an ILogger
+
+
+
+
+ Returns a ProfilingLogger
+
+
+
+
+ Returns the current UmbracoContext
+
+
+
+
+ Returns an UmbracoHelper object
+
+
+
+
+ Returns a UrlHelper
+
+
+ This URL helper is created without any route data and an empty request context
+
+
+
+
+ Returns a ServiceContext
+
+
+
+
+ Returns a DatabaseContext
+
+
+
+
+ Returns a WebSecurity instance
+
+
+
+
+ Checks if the umbraco context id is valid
+
+
+
+
+
+
+ Checks if the username/password credentials are valid
+
+
+
+
+
+
+
+ Validates the user for access to a certain application
+
+ The application alias.
+ true if an exception should be thrown if authorization fails
+
+
+
+
+ Checks if the specified user as access to the app
+
+
+
+
+
+
+
+ Checks if the specified user by username as access to the app
+
+
+
+
+
+
+
+ Returns true if there is a valid logged in user and that ssl is enabled if required
+
+ true if an exception should be thrown if authorization fails
+
+
+
+
+ Returns the current user
+
+
+
+
+ Client side ajax utlities for the tree
+
+
+
+
+ Returns a key/value object with: json, app, js as the keys
+
+
+
+
+
+ This control disables request validation (equalevant of setting validateRequest to false in page directive)
+
+
+
+
+ Control that renders an Umbraco item on a page.
+
+
+
+ The item's unique ID on the page.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Internal ctor used to assign an IPublishedContent object.
+
+
+
+
+
+ Raises the event.
+
+ An object that contains the event data.
+
+
+
+ Raises the event.
+
+ The object that contains the event data.
+
+
+
+ Writes the content
+ to the specified object, for display on the client.
+
+
+ An that represents
+ the output stream to render HTML content on the client.
+
+
+
+
+ Gets the parsed node id. As a nodeid on a item element can be null, an integer or even a squarebracket syntax, this helper method
+ is handy for getting the exact parsed nodeid back.
+
+ The parsed nodeid, the id of the current page OR null if it's not specified
+
+
+
+ Gets a value indicating whether this control is inside the form tag.
+
+ true if this control is inside the form tag; otherwise, false.
+
+
+
+ Returns a that represents the current .
+
+
+ A that represents the current .
+
+
+
+
+ Determines whether the field is a dictionary item.
+
+ true if the field is a dictionary item; otherwise, false.
+
+
+
+ Determines whether the field is recursive.
+
+ true if the field is recursive; otherwise, false.
+
+
+
+ Determines whether field uses the API to lookup the value
+ (if a NodeId attribute is specified and is different from the current page id).
+
+ true if API lookup is used; otherwise, false.
+
+
+
+ Gets a value indicating whether the current item is editable by the current user.
+
+ true if the current item is editable by the current user; otherwise, false.
+
+
+
+ Used by the UmbracoHelper to assign an IPublishedContent to the Item which allows us to pass this in
+ to the 'item' ctor so that it renders with the new API instead of the old one.
+
+
+
+
+ Gets or sets the field name.
+
+ The field name.
+
+
+
+ Gets or sets the node id expression.
+
+ The node id expression.
+
+
+
+ Gets or sets the text to display if the control is empty.
+
+ The text to display if the control is empty.
+
+
+
+ Gets or sets the XPath expression used for the inline XSLT transformation.
+
+
+ The XPath expression, or an empty string to disable XSLT transformation.
+ The code {0} is used as a placeholder for the rendered field contents.
+
+
+
+
+ Gets or sets a value indicating whether XML entity escaping of the XSLT transformation output is disabled.
+
+ true HTML escaping is disabled; otherwise, false (default).
+
+ This corresponds value to the disable-output-escaping parameter
+ of the XSLT value-of element.
+
+
+
+
+ Gets the item's unique ID on the page.
+
+ The item id.
+
+
+
+ Gets the Umbraco page elements.
+
+ The Umbraco page elements.
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Renders the specified item.
+
+ The item.
+ The writer.
+
+
+
+ Renders the field contents.
+ Checks via the NodeId attribute whether to fetch data from another page than the current one.
+
+ A string of field contents (macros not parsed)
+
+
+
+ Inits the specified item. To be called from the OnInit method of Item.
+
+ The item.
+
+
+
+ Loads the specified item. To be called from the OnLoad method of Item.
+
+ The item.
+
+
+
+ Parses the macros inside the text, by creating child elements for each item.
+
+ The item.
+
+
+
+ Transforms the content using the XSLT attribute, if provided.
+
+ The xpath expression.
+ The item's rendered content.
+ if set to true, escaping is disabled.
+ The transformed content if the XSLT attribute is present, otherwise the original content.
+
+
+
+ Gets the text to display if the field contents are empty.
+
+ The item.
+ The text to display.
+
+
+
+ Gets the field content from database instead of the published XML via the APIs.
+
+
+ The node id.
+ The field that should be fetched.
+ The contents of the from the content object
+
+
+
+ Gets the content from cache.
+
+ The node id.
+ The field.
+ The cached contents of the from the content object
+
+
+
+ Raises the event.
+
+ An object that contains the event data.
+
+
+
+ Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
+
+
+
+
+ Renders the control to the specified HTML writer.
+
+ The object that receives the control content.
+
+
+
+ A strongly-typed resource class, for looking up localized strings, etc.
+
+
+
+
+ Returns the cached ResourceManager instance used by this class.
+
+
+
+
+ Overrides the current thread's CurrentUICulture property for all
+ resource lookups using this strongly typed resource class.
+
+
+
+
+ Looks up a localized string similar to <?xml version="1.0" encoding="UTF-8"?>
+ <!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
+ <xsl:stylesheet
+ version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:msxml="urn:schemas-microsoft-com:xslt"
+ xmlns:umbraco.library="urn:umbraco.library"
+ {3}
+ exclude-result-prefixes="msxml umbraco.library {2}">
+ <xsl:output method="xml" omit-xml-declaration="yes"/>
+ <xsl:param name="currentPage"/>
+ <xsl:param name="itemData"/>
+ <xsl:template match="/"><xsl:value-of select="{0}" disa [rest of string was truncated]";.
+
+
+
+
+ Panel2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ feedback control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_uploadFile control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ translationFile control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ uploadFile control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_tasks control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lt_tasksHelp control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ taskList control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ panel1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_details control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_date control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_owner control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_totalWords control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_comment control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_tasks control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_xml control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_upload control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_closeTask control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ bt_close control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pane_fields control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ dg_fields control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ xmlContents control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Head1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ClientLoader control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ form1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ ScriptManager1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JTree control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ An abstract tree class for the content application.
+ Has built in methods for handling all of the request parameters specific to the content tree.
+
+
+
+
+ Renders the Javascript.
+
+ The javascript.
+
+
+
+ Renders the specified tree item.
+
+ The tree.
+
+
+
+ Creates an XmlTreeNode based on the passed in Document
+
+
+
+
+
+
+
+ Creates the link for the current document
+
+
+
+
+
+
+ Inheritors override this method to modify the content node being created
+
+
+
+
+
+
+ Determins if the user has access to view the node/document
+
+ The Document to check permissions against
+ A list of IActions that the user has permissions to execute on the current document
+ By default the user must have Browse permissions to see the node in the Content tree
+
+
+
+
+ Builds a string of actions that the user is able to perform on the current document.
+ The list of actions is subject to the user's rights assigned to the document and also
+ is dependant on the type of node.
+
+
+
+
+
+
+ Creates an XmlTreeNode based on the passed in UmbracoEntity
+
+
+
+
+
+
+
+ Creates the link for the current UmbracoEntity
+
+
+
+
+
+
+ Determins if the user has access to view the node/document
+
+ The Document to check permissions against
+ A list of IActions that the user has permissions to execute on the current document
+ By default the user must have Browse permissions to see the node in the Content tree
+
+
+
+
+ Builds a string of actions that the user is able to perform on the current document.
+ The list of actions is subject to the user's rights assigned to the document and also
+ is dependant on the type of node.
+
+
+
+
+
+
+ The returned list is filtered based on the IActions that the user is allowed to perform based on the actions
+ that are allowed for the current tree.
+
+
+
+
+
+
+
+ Once the context menu has been created, this utility will simply strip out duplicate dividers if they exist and also leading and trailing dividers.
+
+
+
+
+
+
+ Returns the current User. This ensures that we don't instantiate a new User object
+ each time.
+
+
+
+
+ Returns true if we can use the EntityService to render the tree or revert to the original way
+ using normal documents
+
+
+ We determine this by:
+ * If there are any subscribers to the events: BeforeTreeRender or AfterTreeRender - then we cannot run optimized
+ * If there are any overrides of the method: OnRenderNode - then we cannot run optimized
+
+
+
+
+ Handles loading the content tree into umbraco's application tree
+
+
+
+
+ Override the render js so no duplicate js is rendered.
+
+
+
+
+
+ By default the Recycle bin start node is -20
+
+
+
+
+ Handles loading the content tree into umbraco's application tree
+
+
+
+
+ Creates the root node context menu for the content tree.
+ Depending on the current User's permissions, this menu will change.
+ If the current User's starting node is not -1 (the normal root content tree node)
+ then the menu will be built based on the permissions of the User's start node.
+
+
+
+
+
+ Creates the root node for the content tree. If the current User does
+ not have access to the actual content tree root, then we'll display the
+ node that correlates to their StartNodeID
+
+
+
+
+
+ Adds the recycling bin node. This method should only actually add the recycle bin node when the tree is initially created and if the user
+ actually has access to the root node.
+
+
+
+
+
+ Override the render method to add the recycle bin to the end of this tree
+
+
+
+
+
+ Returns the Document object of the starting node for the current User. This ensures
+ that the Document object is only instantiated once.
+
+
+
+
+ If the user is an admin, always return entire tree structure, otherwise
+ return the user's start node id.
+
+
+
+
+ This will call the normal Render method by passing the converted XmlTree to an XmlDocument.
+ TODO: need to update this render method to do everything that the obsolete render method does and remove the obsolete method
+
+
+
+
+
+ Handles loading of all datatypes into the developer application tree
+
+
+
+
+ Renders the Javascript.
+
+ The javascript.
+
+
+
+ Handles loading of the cache application into the developer application tree
+
+
+
+
+ Renders the JS.
+
+ The javascript.
+
+
+
+ This will call the normal Render method by passing the converted XmlTree to an XmlDocument.
+ TODO: need to update this render method to do everything that the obsolete render method does and remove the obsolete method
+
+
+
+
+
+ Create the linkable data types list and add the DataTypeUploadField guid to it.
+ By default, any media type that is to be "linkable" in the WYSIWYG editor must contain
+ a DataTypeUploadField data type which will ouput the value for the link, however, if
+ a developer wants the WYSIWYG editor to link to a custom media type, they will either have
+ to create their own media tree and inherit from this one and override the GetLinkValue
+ or add another GUID to the LinkableMediaDataType list on application startup that matches
+ the GUID of a custom data type. The order of GUIDs will determine the output value.
+
+
+
+
+ Adds the recycling bin node. This method should only actually add the recycle bin node when the tree is initially created and if the user
+ actually has access to the root node.
+
+
+
+
+
+ If the user is an admin, always return entire tree structure, otherwise
+ return the user's start node id.
+
+
+
+
+ Handles loading of the member groups into the application tree
+
+
+
+
+ Renders the Javascript.
+
+ The javascript.
+
+
+
+ Handles loading of the member application into the application tree
+
+
+
+
+ Renders the Javascript.
+
+ The javascript.
+
+
+
+ This will call the normal Render method by passing the converted XmlTree to an XmlDocument.
+ TODO: need to update this render method to do everything that the obsolete render method does and remove the obsolete method
+
+
+
+
+
+ Renders the specified tree item.
+
+ The tree.
+
+
+
+ Handles loading of the member types into the application tree
+
+
+
+
+ Renders the Javascript.
+
+ The javascript.
+
+
+
+ This will call the normal Render method by passing the converted XmlTree to an XmlDocument.
+ TODO: need to update this render method to do everything that the obsolete render method does and remove the obsolete method
+
+
+
+
+
+ Renders the specified tree item.
+
+ The tree.
+
+
+
+ Handles loading of python items into the developer application tree
+
+
+
+
+ Handles loading of all umbraco users into the users application tree
+
+
+
+
+ Renders the Javascript.
+
+ The javascript.
+
+
+
+ Handles loading of the xslt files into the application tree
+
+
+
+
+ Renders the Javascript
+
+ The javascript.
+
+
+
+ An empty tree with no functionality. This gets loaded when the requested tree cannot be loaded with the type specified.
+ Should not be used directly in code.
+
+
+
+
+ A simple wrapper for an ITree that doesn't extend BaseTree. This is used for backwards compatibility with versions previous to 5.
+
+
+
+
+ This will call the normal Render method by passing the converted XmlTree to an XmlDocument.
+ This is used only for backwards compatibility of converting normal ITrees to BasicTree's
+
+
+
+
+
+ Summary description for TreeDataService
+
+
+
+
+ Returns the current ApplicationContext
+
+
+
+
+ Returns an ILogger
+
+
+
+
+ Returns a ProfilingLogger
+
+
+
+
+ Returns the current UmbracoContext
+
+
+
+
+ Returns an UmbracoHelper object
+
+
+
+
+ Returns a UrlHelper
+
+
+ This URL helper is created without any route data and an empty request context
+
+
+
+
+ Returns a ServiceContext
+
+
+
+
+ Returns a DatabaseContext
+
+
+
+
+ Returns a WebSecurity instance
+
+
+
+
+ Checks if the umbraco context id is valid
+
+
+
+
+
+
+ Checks if the username/password credentials are valid
+
+
+
+
+
+
+
+ Validates the user for access to a certain application
+
+ The application alias.
+ true if an exception should be thrown if authorization fails
+
+
+
+
+ Checks if the specified user as access to the app
+
+
+
+
+
+
+
+ Checks if the specified user by username as access to the app
+
+
+
+
+
+
+
+ Returns true if there is a valid logged in user and that ssl is enabled if required
+
+ true if an exception should be thrown if authorization fails
+
+
+
+
+ Returns the current user
+
+
+
+
+ Returns the an XmlTree based on the current http request
+
+
+
+
+
+ If the application supports multiple trees, then this function iterates over all of the trees assigned to it
+ and creates their top level nodes and context menus.
+
+
+
+
+
+
+ This will load the particular ITree object and call it's render method to get the nodes that need to be rendered.
+
+
+
+
+
+
+ Load an empty tree structure to show the end user that there was a problem loading the tree.
+
+
+
+
+ A collection of TreeDefinitions found in any loaded assembly.
+
+
+
+
+ Find the TreeDefinition object based on the ITree
+
+
+
+
+
+
+ Finds the TreeDefinition with the generic type specified
+
+
+
+
+
+
+ Return the TreeDefinition object based on the tree alias and application it belongs to
+
+
+
+
+
+
+ Return a list of TreeDefinition's with the appAlias specified
+
+
+
+
+
+
+ Return a list of TreeDefinition's with the appAlias specified
+
+
+
+
+
+
+ Finds all instances of ITree in loaded assemblies, then finds their associated ApplicationTree and Application objects
+ and stores them together in a TreeDefinition class and adds the definition to our list.
+ This will also store an instance of each tree object in the TreeDefinition class which should be
+ used when referencing all tree classes.
+
+
+
+
+ Defines the entire structure of an application tree including it's Type, a reference to it's ApplicationTree object, and a reference
+ to it's Application object. Tree Definitions are based on defining a database in the umbracoAppTree database. Any tree defined in this table
+ that is of an ITree type, it will be found and can be instantiated by this class. Any ITree that is not defined in the database will
+ need to be instantiated with it's own tree constructor.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The type.
+ The tree.
+ The app.
+
+
+
+ Returns a new instance of a BaseTree based on this Tree Definition
+
+
+
+
+ Creates an ITree instance.
+
+ The tree.
+ The app alias.
+
+
+
+
+ Gets or sets the type of the tree.
+
+ The type of the tree.
+
+
+
+ Gets or sets the tree.
+
+ The tree.
+
+
+
+ Gets or sets the application.
+
+ The app.
+
+
+
+ A utility class to aid in creating the URL for returning XML for a tree structure and
+ for reading the parameters from the URL when a request is made.
+
+
+
+
+ Default empty constructor
+
+
+
+
+ Constructor to assign all TreeService properties except nodeKey in one call
+
+
+
+
+
+
+
+
+
+
+ Constructor to assign all TreeService properties in one call
+
+
+
+
+
+
+
+
+
+
+
+ Static method to return the tree service url with the specified parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+ static method to return the tree init url with the specified parameters
+
+
+
+
+
+
+
+
+
+
+
+
+
+ don't allow any actions on this tree
+
+
+
+
+
+ no actions should be able to be performed on the parent node except for refresh
+
+
+
+
+
+ Used for serializing data to XML as the data structure for the JavaScript tree
+
+
+
+
+ Use this constructor to force a tree provider to be used
+
+
+
+
+
+ Returns the string representation of the tree structure depending on the SerializedTreeType
+ specified.
+
+
+
+
+
+ Used for serializing data to XML as the data structure for the JavaScript tree
+
+
+
+
+ creates a new XmlTreeNode with the default parameters from the BaseTree
+
+
+
+
+
+
+ creates a new XmlTreeNode with the default parameters for the BaseTree root node
+
+
+
+
+
+
+ Dims the color of the node
+
+
+ This adds the class to the existing icon class as to not override anything.
+
+
+
+
+ Set to true when a node is created with CreateRootNode
+
+
+
+
+ Generally the tree type and node type are the same but in some cased they are not so
+ we need to store the tree type too which is read only.
+
+
+
+
+ The tree node text
+
+
+
+
+ The CSS class of the icon to use for the node
+
+
+
+
+ The JavaScript action for the node
+
+
+
+
+ A string of letters representing actions for the context menu
+
+
+
+
+ The xml source for the child nodes (a URL)
+
+
+
+
+ The path to the icon to display for the node
+
+
+
+
+ The path to the icon to display for the node if the node is showing it's children
+
+
+
+
+ Normally just the type of tree being rendered.
+ This should really only be set with this property in very special cases
+ where the create task for a node in the same tree as another node is different.
+
+
+
+
+ Used by the content tree and flagged as true if the node is not published
+
+
+
+
+ Used by the content tree and flagged as true if the node is protected
+
+
+
+
+ Returns the styling object used to add common styles to a node
+
+
+
+
+ Used to add common styles to an XmlTreeNode.
+ This also adds the ability to add a custom class which will add the class to the li node
+ that is rendered in the tree whereas the IconClass property of the XmlTreeNode object
+ adds a class to the anchor of the li node.
+
+
+
+
+ Dims the color of the node
+
+
+
+
+ Adds the star icon highlight overlay to a node
+
+
+
+
+ Adds the padlock icon overlay to a node
+
+
+
+
+ Adds a custom class to the li node of the tree
+
+
+
+
+
+ Used to serialize an XmlTree object to JSON for supporting a JSON Tree View control.
+
+
+
+
+ Not implemented as we never need to Deserialize
+
+
+
+
+
+
+
+
+ Serializes an XmlTree object with the relevant values.
+
+
+
+
+
+
+
+ Used to serialize an XmlTreeNode object to JSON for supporting a JS Tree View control.
+
+
+
+
+ Not implemented as we never need to Deserialize
+
+
+
+
+
+
+
+
+ Serializes an XmlTreeNode object with the relevant values.
+
+
+
+
+
+
+
+ Used to serialize an XmlTreeNode object to JSON for supporting a JS Tree View control.
+
+
+
+
+ A reference path to where the icons are actually stored as compared to where the tree themes folder is
+
+
+
+
+ Not implemented as we never need to Deserialize
+
+
+
+
+
+
+
+
+ Serializes an XmlTreeNode object with the relevant values.
+
+
+
+
+
+
+
+ pnlUmbraco control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pnl1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ hidUserTypeID control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_name control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ txtUserTypeName control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_alias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lblUserTypeAlias control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pnl2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pp_rights control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ cbl_rights control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ An object to display the current permissions for a user and a node.
+
+
+
+
+ lt_names control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pnlReplaceChildren control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ lblMessage control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ rptPermissionsList control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ The JavaScript method to call when a node is checked. The method will receive a comma separated list of node IDs that are checked.
+
+
+
+
+ Makes sure the user exists with the id specified
+
+
+
+
+
+ CssInclude2 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ CssInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JsInclude1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pnlUmbraco control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ pnl1 control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ JTree control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ nodePermissions control.
+
+
+ Auto-generated field.
+ To modify move field declaration from designer file to code-behind file.
+
+
+
+
+ Since Umbraco stores users in cache, we'll use this method to retrieve our user object by the selected id
+
+
+
+
+ Summary description for PermissionsHandler
+
+
+
+
+ Loads the NodePermissions UserControl with the appropriate properties, renders the contents and returns the output html.
+
+
+
+
+
+
+
+ Provides umbraco user permission functionality on various nodes. Only nodes that are published are queried via the cache.
+
+
+
+
+ saves new permissions with the parameters supplied
+
+
+
+
+
+
+
+ Returns the current user permissions for the node specified
+
+
+
+
+
+
+ gets path attribute for node id passed
+
+
+
+
+
+
+ Finds all child node IDs
+
+
+
+
+
+
+ CacheRefresher web service.
+
+
+
+
+ Summary description for CheckForUpgrade
+
+
+
+
+ Summary description for CMSNode
+
+
+
+
+ Summary description for codeEditorSave
+
+
+
+
+ Summary description for Developer.
+
+
+
+
+ Summary description for legacyAjaxCalls
+
+
+
+
+ method to accept a string value for the node id. Used for tree's such as python
+ and xslt since the file names are the node IDs
+
+
+
+
+
+
+
+ Permanently deletes a document/media object.
+ Used to remove an item from the recycle bin.
+
+
+
+
+
+
+ Summary description for nodeSorter
+
+
+
+
+ Summary description for progressStatus.
+
+
+
+
+ Summary description for publication.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Summary description for templates.
+
+
+
+
+ Summary description for trashcan
+
+
+
+
+ Summary description for $codebehindclassname$
+
+
+
+
+ Summary description for ContentPage.
+
+
+
+
+ Base class for a spellchecker for TinyMCE
+
+
+
+
+ Checks all the words submitted
+
+ The language.
+ The words.
+
+
+
+
+ Gets the suggestions for a single word
+
+ The language.
+ The word.
+
+
+
+
+ Object representation of the input from TinyMCE's spellchecker plugin
+
+
+
+
+ Parses the specified stream into the object
+
+ The stream.
+
+
+
+
+ Gets or sets the id from TinyMCE
+
+ The id.
+
+
+
+ Gets or sets the spellchecking method. eg: checkWords, getSuggestions
+
+ The method.
+
+
+
+ Gets or sets the language used by the content
+
+ The language.
+
+
+
+ Gets or sets the words which are to be spell checked
+
+ The words.
+
+
+
+ Object which will be returned to TinyMCE from the spellchecker
+
+
+
+
+ Gets or sets the spellcheck words
+
+ The result.
+
+
+
+ Gets or sets the id of the initial request
+
+ The id.
+
+
+
+ Gets or sets the error details if there was a problem when performing the spellcheck
+
+ The error.
+
+
+
+ Moved the viewstate
+
+
+
+
+ The Umbraco global.asax class
+
+
+
+
+ Class that encapsulates Umbraco information of a specific HTTP request
+
+
+
+
+ Used if not running in a web application (no real HttpContext)
+
+
+
+
+ This is a helper method which is called to ensure that the singleton context is created
+
+
+
+
+
+
+
+ if set to true will replace the current singleton with a new one, this is generally only ever used because
+ during application startup the base url domain will not be available so after app startup we'll replace the current
+ context with a new one in which we can access the httpcontext.Request object.
+
+
+
+ The Singleton context object
+
+
+ This is created in order to standardize the creation of the singleton. Normally it is created during a request
+ in the UmbracoModule, however this module does not execute during application startup so we need to ensure it
+ during the startup process as well.
+ See: http://issues.umbraco.org/issue/U4-1890, http://issues.umbraco.org/issue/U4-1717
+
+
+
+
+ Creates a new Umbraco context.
+
+
+
+ The published caches.
+
+ An optional value overriding detection of preview mode.
+
+
+
+ Creates a new Umbraco context.
+
+
+
+ The published caches.
+
+ An optional value overriding detection of preview mode.
+
+
+
+ Gets the current Umbraco Context.
+
+
+
+
+ This is used internally for performance calculations, the ObjectCreated DateTime is set as soon as this
+ object is instantiated which in the web site is created during the BeginRequest phase.
+ We can then determine complete rendering time from that.
+
+
+
+
+ This is used internally for debugging and also used to define anything required to distinguish this request from another.
+
+
+
+
+ Gets the current ApplicationContext
+
+
+
+
+ Gets the WebSecurity class
+
+
+
+
+ Gets the uri that is handled by ASP.NET after server-side rewriting took place.
+
+
+
+
+ Gets the cleaned up url that is handled by Umbraco.
+
+ That is, lowercase, no trailing slash after path, no .aspx...
+
+
+
+ Gets or sets the published content cache.
+
+
+
+
+ Gets or sets the published media cache.
+
+
+
+
+ Boolean value indicating whether the current request is a front-end umbraco request
+
+
+
+
+ A shortcut to the UmbracoContext's RoutingContext's NiceUrlProvider
+
+
+ If the RoutingContext is null, this will throw an exception.
+
+
+
+
+ Gets/sets the RoutingContext object
+
+
+
+
+ Gets/sets the PublishedContentRequest object
+
+
+
+
+ Exposes the HttpContext for the current request
+
+
+
+
+ Gets a value indicating whether the request has debugging enabled
+
+ true if this instance is debug; otherwise, false.
+
+
+
+ Gets the current page ID, or null if no page ID is available (e.g. a custom page).
+
+
+
+
+ Gets the current logged in Umbraco user (editor).
+
+ The Umbraco user object or null
+
+
+
+ Determines whether the current user is in a preview mode and browsing the site (ie. not in the admin UI)
+
+ Can be internally set by the RTE macro rendering to render macros in the appropriate mode.
+
+
+
+ Begins to process a request.
+
+
+
+
+
+ Processses the Umbraco Request
+
+
+
+
+ This will check if we are trying to route to the default back office page (i.e. ~/Umbraco/ or ~/Umbraco or ~/Umbraco/Default )
+ and ensure that the MVC handler executes for that. This is required because the route for /Umbraco will never execute because
+ files/folders exist there and we cannot set the RouteCollection.RouteExistingFiles = true since that will muck a lot of other things up.
+ So we handle it here and explicitly execute the MVC controller.
+
+
+
+
+
+ Checks the current request and ensures that it is routable based on the structure of the request and URI
+
+
+
+
+
+
+
+ Ensures that the request is a document request (i.e. one that the module should handle)
+
+
+
+
+
+
+
+ Rewrites to the default back office page.
+
+
+
+
+
+ Rewrites to the Umbraco handler - we always send the request via our MVC rendering engine, this will deal with
+ requests destined for webforms.
+
+
+
+
+
+
+ Any object that is in the HttpContext.Items collection that is IDisposable will get disposed on the end of the request
+
+
+
+
+
+ Initialize the module, this will trigger for each new application
+ and there may be more than 1 application per application domain
+
+
+
+
+
+ This is used to be passed into the GlobalSettings.IsReservedPathOrUrl and will include some 'fake' routes
+ used to determine if a path is reserved.
+
+
+ This is basically used to reserve paths dynamically
+
+
+
+
+ This is used internally to track any registered callback paths for Identity providers. If the request path matches
+ any of the registered paths, then the module will let the request keep executing
+
+
+
+
+ Returns an faull url with the host, port, etc...
+
+ An absolute path (i.e. starts with a '/' )
+
+
+
+ Based on http://stackoverflow.com/questions/3681052/get-absolute-url-from-relative-path-refactored-method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A REST controller used for the publish dialog in order to publish bulk items at once
+
+
+
+
+ Publishes an document
+
+
+ true to publish descendants as well
+ true to publish documents that are unpublished
+ A Json array containing objects with the child id's of the document and it's current published status
+
+
+
+ A REST controller used for accessing Core.Strings services.
+
+
+
+
+ A REST controller used for managing domains.
+
+ Nothing to do with Active Directory.
+
+
+
+ Checks if the member internal index is consistent with the data stored in the database
+
+
+
+
+
+ Checks if the media internal index is consistent with the data stored in the database
+
+
+
+
+
+ Checks if the content internal index is consistent with the data stored in the database
+
+
+
+
+
+ Get the details for indexers
+
+
+
+
+
+ Get the details for searchers
+
+
+
+
+
+ Optimizes an index
+
+
+
+
+ Rebuilds the index
+
+
+
+
+
+
+ Check if the index has been rebuilt
+
+
+
+
+ This is kind of rudimentary since there's no way we can know that the index has rebuilt, we
+ have a listener for the index op complete so we'll just check if that key is no longer there in the runtime cache
+
+
+
+
+ Checks if the index is optimized
+
+
+
+
+
+
+ A public web service for querying tags
+
+
+ This controller does not contain methods to query for content, media or members based on tags, those methods would require
+ authentication and should not be exposed publicly.
+
+
+
+
+ Get every tag stored in the database (with optional group)
+
+
+
+
+ Get all tags for content items (with optional group)
+
+
+
+
+
+
+ Get all tags for media items (with optional group)
+
+
+
+
+
+
+ Get all tags for member items (with optional group)
+
+
+
+
+
+
+ Returns all tags attached to a property by entity id
+
+
+
+
+
+
+
+
+ Returns all tags attached to an entity (content, media or member) by entity id
+
+
+
+
+
+
+
+ A REST controller used for running the scheduled publishing, this is called from the background worker timer
+
+
+
+
+ A REST controller used to save files such as templates, partial views, macro files, etc...
+
+
+ This isn't fully implemented yet but we should migrate all of the logic in the umbraco.presentation.webservices.codeEditorSave
+ over to this controller.
+
+
+
+
+ Saves a partial view macro
+
+
+
+
+
+
+
+
+ Saves a partial view
+
+
+
+
+
+
+
+
+ Saves a template
+
+
+
+
+
+
+
+
+
+
+ Returns a successful message
+
+ The message to display in the speach bubble
+ The header to display in the speach bubble
+
+
+
+
+
+ Returns a failed message
+
+ The message to display in the speach bubble
+ The header to display in the speach bubble
+ The exception if there was one
+
+
+
+
diff --git a/Blog/bin/x86/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest b/Blog/bin/x86/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
new file mode 100644
index 0000000..bbd12cc
--- /dev/null
+++ b/Blog/bin/x86/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
@@ -0,0 +1,6 @@
+
+
+
+
+ +CXED+6HzJlSphyMNOn27ujadC0=MyKED+9DyS+1XcMeaC0Zlw2vFZ0=EeyDE7og6WoPd2oBhYbMEnpFHhY=
+
\ No newline at end of file
diff --git a/Blog/bin/x86/Microsoft.VC90.CRT/README_ENU.txt b/Blog/bin/x86/Microsoft.VC90.CRT/README_ENU.txt
new file mode 100644
index 0000000..fc38b36
Binary files /dev/null and b/Blog/bin/x86/Microsoft.VC90.CRT/README_ENU.txt differ
diff --git a/Blog/bin/x86/Microsoft.VC90.CRT/msvcr90.dll b/Blog/bin/x86/Microsoft.VC90.CRT/msvcr90.dll
new file mode 100644
index 0000000..e2e6601
Binary files /dev/null and b/Blog/bin/x86/Microsoft.VC90.CRT/msvcr90.dll differ
diff --git a/Blog/bin/x86/sqlceca40.dll b/Blog/bin/x86/sqlceca40.dll
new file mode 100644
index 0000000..9259610
Binary files /dev/null and b/Blog/bin/x86/sqlceca40.dll differ
diff --git a/Blog/bin/x86/sqlcecompact40.dll b/Blog/bin/x86/sqlcecompact40.dll
new file mode 100644
index 0000000..41c69ec
Binary files /dev/null and b/Blog/bin/x86/sqlcecompact40.dll differ
diff --git a/Blog/bin/x86/sqlceer40EN.dll b/Blog/bin/x86/sqlceer40EN.dll
new file mode 100644
index 0000000..a40154f
Binary files /dev/null and b/Blog/bin/x86/sqlceer40EN.dll differ
diff --git a/Blog/bin/x86/sqlceme40.dll b/Blog/bin/x86/sqlceme40.dll
new file mode 100644
index 0000000..d737119
Binary files /dev/null and b/Blog/bin/x86/sqlceme40.dll differ
diff --git a/Blog/bin/x86/sqlceqp40.dll b/Blog/bin/x86/sqlceqp40.dll
new file mode 100644
index 0000000..dedfc9a
Binary files /dev/null and b/Blog/bin/x86/sqlceqp40.dll differ
diff --git a/Blog/bin/x86/sqlcese40.dll b/Blog/bin/x86/sqlcese40.dll
new file mode 100644
index 0000000..cc37e3b
Binary files /dev/null and b/Blog/bin/x86/sqlcese40.dll differ
diff --git a/Blog/css/bootstrap.min.css b/Blog/css/bootstrap.min.css
new file mode 100644
index 0000000..4ad19b5
--- /dev/null
+++ b/Blog/css/bootstrap.min.css
@@ -0,0 +1,1131 @@
+.container {
+ max-width: 960px;
+ margin: 0 auto;
+ padding: 0 20px;
+}
+
+.row {
+ margin-left: -15px;
+ margin-right: -15px;
+ margin-top: 20px;
+ margin-bottom: 20px;
+}
+.row:before,
+.row:after {
+ content: " ";
+ display: table;
+}
+.row:after {
+ clear: both;
+}
+.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
+ position: relative;
+ min-height: 1px;
+ padding-left: 15px;
+ padding-right: 15px;
+}
+.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
+ float: left;
+}
+.col-xs-12 {
+ width: 100%;
+}
+.col-xs-11 {
+ width: 91.66666666666666%;
+}
+.col-xs-10 {
+ width: 83.33333333333334%;
+}
+.col-xs-9 {
+ width: 75%;
+}
+.col-xs-8 {
+ width: 66.66666666666666%;
+}
+.col-xs-7 {
+ width: 58.333333333333336%;
+}
+.col-xs-6 {
+ width: 50%;
+}
+.col-xs-5 {
+ width: 41.66666666666667%;
+}
+.col-xs-4 {
+ width: 33.33333333333333%;
+}
+.col-xs-3 {
+ width: 25%;
+}
+.col-xs-2 {
+ width: 16.666666666666664%;
+}
+.col-xs-1 {
+ width: 8.333333333333332%;
+}
+.col-xs-pull-12 {
+ right: 100%;
+}
+.col-xs-pull-11 {
+ right: 91.66666666666666%;
+}
+.col-xs-pull-10 {
+ right: 83.33333333333334%;
+}
+.col-xs-pull-9 {
+ right: 75%;
+}
+.col-xs-pull-8 {
+ right: 66.66666666666666%;
+}
+.col-xs-pull-7 {
+ right: 58.333333333333336%;
+}
+.col-xs-pull-6 {
+ right: 50%;
+}
+.col-xs-pull-5 {
+ right: 41.66666666666667%;
+}
+.col-xs-pull-4 {
+ right: 33.33333333333333%;
+}
+.col-xs-pull-3 {
+ right: 25%;
+}
+.col-xs-pull-2 {
+ right: 16.666666666666664%;
+}
+.col-xs-pull-1 {
+ right: 8.333333333333332%;
+}
+.col-xs-pull-0 {
+ right: 0%;
+}
+.col-xs-push-12 {
+ left: 100%;
+}
+.col-xs-push-11 {
+ left: 91.66666666666666%;
+}
+.col-xs-push-10 {
+ left: 83.33333333333334%;
+}
+.col-xs-push-9 {
+ left: 75%;
+}
+.col-xs-push-8 {
+ left: 66.66666666666666%;
+}
+.col-xs-push-7 {
+ left: 58.333333333333336%;
+}
+.col-xs-push-6 {
+ left: 50%;
+}
+.col-xs-push-5 {
+ left: 41.66666666666667%;
+}
+.col-xs-push-4 {
+ left: 33.33333333333333%;
+}
+.col-xs-push-3 {
+ left: 25%;
+}
+.col-xs-push-2 {
+ left: 16.666666666666664%;
+}
+.col-xs-push-1 {
+ left: 8.333333333333332%;
+}
+.col-xs-push-0 {
+ left: 0%;
+}
+.col-xs-offset-12 {
+ margin-left: 100%;
+}
+.col-xs-offset-11 {
+ margin-left: 91.66666666666666%;
+}
+.col-xs-offset-10 {
+ margin-left: 83.33333333333334%;
+}
+.col-xs-offset-9 {
+ margin-left: 75%;
+}
+.col-xs-offset-8 {
+ margin-left: 66.66666666666666%;
+}
+.col-xs-offset-7 {
+ margin-left: 58.333333333333336%;
+}
+.col-xs-offset-6 {
+ margin-left: 50%;
+}
+.col-xs-offset-5 {
+ margin-left: 41.66666666666667%;
+}
+.col-xs-offset-4 {
+ margin-left: 33.33333333333333%;
+}
+.col-xs-offset-3 {
+ margin-left: 25%;
+}
+.col-xs-offset-2 {
+ margin-left: 16.666666666666664%;
+}
+.col-xs-offset-1 {
+ margin-left: 8.333333333333332%;
+}
+.col-xs-offset-0 {
+ margin-left: 0%;
+}
+@media (min-width: 768px) {
+ .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
+ float: left;
+ }
+ .col-sm-12 {
+ width: 100%;
+ }
+ .col-sm-11 {
+ width: 91.66666666666666%;
+ }
+ .col-sm-10 {
+ width: 83.33333333333334%;
+ }
+ .col-sm-9 {
+ width: 75%;
+ }
+ .col-sm-8 {
+ width: 66.66666666666666%;
+ }
+ .col-sm-7 {
+ width: 58.333333333333336%;
+ }
+ .col-sm-6 {
+ width: 50%;
+ }
+ .col-sm-5 {
+ width: 41.66666666666667%;
+ }
+ .col-sm-4 {
+ width: 33.33333333333333%;
+ }
+ .col-sm-3 {
+ width: 25%;
+ }
+ .col-sm-2 {
+ width: 16.666666666666664%;
+ }
+ .col-sm-1 {
+ width: 8.333333333333332%;
+ }
+ .col-sm-pull-12 {
+ right: 100%;
+ }
+ .col-sm-pull-11 {
+ right: 91.66666666666666%;
+ }
+ .col-sm-pull-10 {
+ right: 83.33333333333334%;
+ }
+ .col-sm-pull-9 {
+ right: 75%;
+ }
+ .col-sm-pull-8 {
+ right: 66.66666666666666%;
+ }
+ .col-sm-pull-7 {
+ right: 58.333333333333336%;
+ }
+ .col-sm-pull-6 {
+ right: 50%;
+ }
+ .col-sm-pull-5 {
+ right: 41.66666666666667%;
+ }
+ .col-sm-pull-4 {
+ right: 33.33333333333333%;
+ }
+ .col-sm-pull-3 {
+ right: 25%;
+ }
+ .col-sm-pull-2 {
+ right: 16.666666666666664%;
+ }
+ .col-sm-pull-1 {
+ right: 8.333333333333332%;
+ }
+ .col-sm-pull-0 {
+ right: 0%;
+ }
+ .col-sm-push-12 {
+ left: 100%;
+ }
+ .col-sm-push-11 {
+ left: 91.66666666666666%;
+ }
+ .col-sm-push-10 {
+ left: 83.33333333333334%;
+ }
+ .col-sm-push-9 {
+ left: 75%;
+ }
+ .col-sm-push-8 {
+ left: 66.66666666666666%;
+ }
+ .col-sm-push-7 {
+ left: 58.333333333333336%;
+ }
+ .col-sm-push-6 {
+ left: 50%;
+ }
+ .col-sm-push-5 {
+ left: 41.66666666666667%;
+ }
+ .col-sm-push-4 {
+ left: 33.33333333333333%;
+ }
+ .col-sm-push-3 {
+ left: 25%;
+ }
+ .col-sm-push-2 {
+ left: 16.666666666666664%;
+ }
+ .col-sm-push-1 {
+ left: 8.333333333333332%;
+ }
+ .col-sm-push-0 {
+ left: 0%;
+ }
+ .col-sm-offset-12 {
+ margin-left: 100%;
+ }
+ .col-sm-offset-11 {
+ margin-left: 91.66666666666666%;
+ }
+ .col-sm-offset-10 {
+ margin-left: 83.33333333333334%;
+ }
+ .col-sm-offset-9 {
+ margin-left: 75%;
+ }
+ .col-sm-offset-8 {
+ margin-left: 66.66666666666666%;
+ }
+ .col-sm-offset-7 {
+ margin-left: 58.333333333333336%;
+ }
+ .col-sm-offset-6 {
+ margin-left: 50%;
+ }
+ .col-sm-offset-5 {
+ margin-left: 41.66666666666667%;
+ }
+ .col-sm-offset-4 {
+ margin-left: 33.33333333333333%;
+ }
+ .col-sm-offset-3 {
+ margin-left: 25%;
+ }
+ .col-sm-offset-2 {
+ margin-left: 16.666666666666664%;
+ }
+ .col-sm-offset-1 {
+ margin-left: 8.333333333333332%;
+ }
+ .col-sm-offset-0 {
+ margin-left: 0%;
+ }
+}
+@media (min-width: 992px) {
+ .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
+ float: left;
+ }
+ .col-md-12 {
+ width: 100%;
+ }
+ .col-md-11 {
+ width: 91.66666666666666%;
+ }
+ .col-md-10 {
+ width: 83.33333333333334%;
+ }
+ .col-md-9 {
+ width: 75%;
+ }
+ .col-md-8 {
+ width: 66.66666666666666%;
+ }
+ .col-md-7 {
+ width: 58.333333333333336%;
+ }
+ .col-md-6 {
+ width: 50%;
+ }
+ .col-md-5 {
+ width: 41.66666666666667%;
+ }
+ .col-md-4 {
+ width: 33.33333333333333%;
+ }
+ .col-md-3 {
+ width: 25%;
+ }
+ .col-md-2 {
+ width: 16.666666666666664%;
+ }
+ .col-md-1 {
+ width: 8.333333333333332%;
+ }
+ .col-md-pull-12 {
+ right: 100%;
+ }
+ .col-md-pull-11 {
+ right: 91.66666666666666%;
+ }
+ .col-md-pull-10 {
+ right: 83.33333333333334%;
+ }
+ .col-md-pull-9 {
+ right: 75%;
+ }
+ .col-md-pull-8 {
+ right: 66.66666666666666%;
+ }
+ .col-md-pull-7 {
+ right: 58.333333333333336%;
+ }
+ .col-md-pull-6 {
+ right: 50%;
+ }
+ .col-md-pull-5 {
+ right: 41.66666666666667%;
+ }
+ .col-md-pull-4 {
+ right: 33.33333333333333%;
+ }
+ .col-md-pull-3 {
+ right: 25%;
+ }
+ .col-md-pull-2 {
+ right: 16.666666666666664%;
+ }
+ .col-md-pull-1 {
+ right: 8.333333333333332%;
+ }
+ .col-md-pull-0 {
+ right: 0%;
+ }
+ .col-md-push-12 {
+ left: 100%;
+ }
+ .col-md-push-11 {
+ left: 91.66666666666666%;
+ }
+ .col-md-push-10 {
+ left: 83.33333333333334%;
+ }
+ .col-md-push-9 {
+ left: 75%;
+ }
+ .col-md-push-8 {
+ left: 66.66666666666666%;
+ }
+ .col-md-push-7 {
+ left: 58.333333333333336%;
+ }
+ .col-md-push-6 {
+ left: 50%;
+ }
+ .col-md-push-5 {
+ left: 41.66666666666667%;
+ }
+ .col-md-push-4 {
+ left: 33.33333333333333%;
+ }
+ .col-md-push-3 {
+ left: 25%;
+ }
+ .col-md-push-2 {
+ left: 16.666666666666664%;
+ }
+ .col-md-push-1 {
+ left: 8.333333333333332%;
+ }
+ .col-md-push-0 {
+ left: 0%;
+ }
+ .col-md-offset-12 {
+ margin-left: 100%;
+ }
+ .col-md-offset-11 {
+ margin-left: 91.66666666666666%;
+ }
+ .col-md-offset-10 {
+ margin-left: 83.33333333333334%;
+ }
+ .col-md-offset-9 {
+ margin-left: 75%;
+ }
+ .col-md-offset-8 {
+ margin-left: 66.66666666666666%;
+ }
+ .col-md-offset-7 {
+ margin-left: 58.333333333333336%;
+ }
+ .col-md-offset-6 {
+ margin-left: 50%;
+ }
+ .col-md-offset-5 {
+ margin-left: 41.66666666666667%;
+ }
+ .col-md-offset-4 {
+ margin-left: 33.33333333333333%;
+ }
+ .col-md-offset-3 {
+ margin-left: 25%;
+ }
+ .col-md-offset-2 {
+ margin-left: 16.666666666666664%;
+ }
+ .col-md-offset-1 {
+ margin-left: 8.333333333333332%;
+ }
+ .col-md-offset-0 {
+ margin-left: 0%;
+ }
+}
+@media (min-width: 1200px) {
+ .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
+ float: left;
+ }
+ .col-lg-12 {
+ width: 100%;
+ }
+ .col-lg-11 {
+ width: 91.66666666666666%;
+ }
+ .col-lg-10 {
+ width: 83.33333333333334%;
+ }
+ .col-lg-9 {
+ width: 75%;
+ }
+ .col-lg-8 {
+ width: 66.66666666666666%;
+ }
+ .col-lg-7 {
+ width: 58.333333333333336%;
+ }
+ .col-lg-6 {
+ width: 50%;
+ }
+ .col-lg-5 {
+ width: 41.66666666666667%;
+ }
+ .col-lg-4 {
+ width: 33.33333333333333%;
+ }
+ .col-lg-3 {
+ width: 25%;
+ }
+ .col-lg-2 {
+ width: 16.666666666666664%;
+ }
+ .col-lg-1 {
+ width: 8.333333333333332%;
+ }
+ .col-lg-pull-12 {
+ right: 100%;
+ }
+ .col-lg-pull-11 {
+ right: 91.66666666666666%;
+ }
+ .col-lg-pull-10 {
+ right: 83.33333333333334%;
+ }
+ .col-lg-pull-9 {
+ right: 75%;
+ }
+ .col-lg-pull-8 {
+ right: 66.66666666666666%;
+ }
+ .col-lg-pull-7 {
+ right: 58.333333333333336%;
+ }
+ .col-lg-pull-6 {
+ right: 50%;
+ }
+ .col-lg-pull-5 {
+ right: 41.66666666666667%;
+ }
+ .col-lg-pull-4 {
+ right: 33.33333333333333%;
+ }
+ .col-lg-pull-3 {
+ right: 25%;
+ }
+ .col-lg-pull-2 {
+ right: 16.666666666666664%;
+ }
+ .col-lg-pull-1 {
+ right: 8.333333333333332%;
+ }
+ .col-lg-pull-0 {
+ right: 0%;
+ }
+ .col-lg-push-12 {
+ left: 100%;
+ }
+ .col-lg-push-11 {
+ left: 91.66666666666666%;
+ }
+ .col-lg-push-10 {
+ left: 83.33333333333334%;
+ }
+ .col-lg-push-9 {
+ left: 75%;
+ }
+ .col-lg-push-8 {
+ left: 66.66666666666666%;
+ }
+ .col-lg-push-7 {
+ left: 58.333333333333336%;
+ }
+ .col-lg-push-6 {
+ left: 50%;
+ }
+ .col-lg-push-5 {
+ left: 41.66666666666667%;
+ }
+ .col-lg-push-4 {
+ left: 33.33333333333333%;
+ }
+ .col-lg-push-3 {
+ left: 25%;
+ }
+ .col-lg-push-2 {
+ left: 16.666666666666664%;
+ }
+ .col-lg-push-1 {
+ left: 8.333333333333332%;
+ }
+ .col-lg-push-0 {
+ left: 0%;
+ }
+ .col-lg-offset-12 {
+ margin-left: 100%;
+ }
+ .col-lg-offset-11 {
+ margin-left: 91.66666666666666%;
+ }
+ .col-lg-offset-10 {
+ margin-left: 83.33333333333334%;
+ }
+ .col-lg-offset-9 {
+ margin-left: 75%;
+ }
+ .col-lg-offset-8 {
+ margin-left: 66.66666666666666%;
+ }
+ .col-lg-offset-7 {
+ margin-left: 58.333333333333336%;
+ }
+ .col-lg-offset-6 {
+ margin-left: 50%;
+ }
+ .col-lg-offset-5 {
+ margin-left: 41.66666666666667%;
+ }
+ .col-lg-offset-4 {
+ margin-left: 33.33333333333333%;
+ }
+ .col-lg-offset-3 {
+ margin-left: 25%;
+ }
+ .col-lg-offset-2 {
+ margin-left: 16.666666666666664%;
+ }
+ .col-lg-offset-1 {
+ margin-left: 8.333333333333332%;
+ }
+ .col-lg-offset-0 {
+ margin-left: 0%;
+ }
+}
+@-ms-viewport {
+ width: device-width;
+}
+.visible-xs,
+tr.visible-xs,
+th.visible-xs,
+td.visible-xs {
+ display: none !important;
+}
+@media (max-width: 767px) {
+ .visible-xs {
+ display: block !important;
+ }
+ table.visible-xs {
+ display: table;
+ }
+ tr.visible-xs {
+ display: table-row !important;
+ }
+ th.visible-xs,
+ td.visible-xs {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-xs.visible-sm {
+ display: block !important;
+ }
+ table.visible-xs.visible-sm {
+ display: table;
+ }
+ tr.visible-xs.visible-sm {
+ display: table-row !important;
+ }
+ th.visible-xs.visible-sm,
+ td.visible-xs.visible-sm {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-xs.visible-md {
+ display: block !important;
+ }
+ table.visible-xs.visible-md {
+ display: table;
+ }
+ tr.visible-xs.visible-md {
+ display: table-row !important;
+ }
+ th.visible-xs.visible-md,
+ td.visible-xs.visible-md {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-xs.visible-lg {
+ display: block !important;
+ }
+ table.visible-xs.visible-lg {
+ display: table;
+ }
+ tr.visible-xs.visible-lg {
+ display: table-row !important;
+ }
+ th.visible-xs.visible-lg,
+ td.visible-xs.visible-lg {
+ display: table-cell !important;
+ }
+}
+.visible-sm,
+tr.visible-sm,
+th.visible-sm,
+td.visible-sm {
+ display: none !important;
+}
+@media (max-width: 767px) {
+ .visible-sm.visible-xs {
+ display: block !important;
+ }
+ table.visible-sm.visible-xs {
+ display: table;
+ }
+ tr.visible-sm.visible-xs {
+ display: table-row !important;
+ }
+ th.visible-sm.visible-xs,
+ td.visible-sm.visible-xs {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-sm {
+ display: block !important;
+ }
+ table.visible-sm {
+ display: table;
+ }
+ tr.visible-sm {
+ display: table-row !important;
+ }
+ th.visible-sm,
+ td.visible-sm {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-sm.visible-md {
+ display: block !important;
+ }
+ table.visible-sm.visible-md {
+ display: table;
+ }
+ tr.visible-sm.visible-md {
+ display: table-row !important;
+ }
+ th.visible-sm.visible-md,
+ td.visible-sm.visible-md {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-sm.visible-lg {
+ display: block !important;
+ }
+ table.visible-sm.visible-lg {
+ display: table;
+ }
+ tr.visible-sm.visible-lg {
+ display: table-row !important;
+ }
+ th.visible-sm.visible-lg,
+ td.visible-sm.visible-lg {
+ display: table-cell !important;
+ }
+}
+.visible-md,
+tr.visible-md,
+th.visible-md,
+td.visible-md {
+ display: none !important;
+}
+@media (max-width: 767px) {
+ .visible-md.visible-xs {
+ display: block !important;
+ }
+ table.visible-md.visible-xs {
+ display: table;
+ }
+ tr.visible-md.visible-xs {
+ display: table-row !important;
+ }
+ th.visible-md.visible-xs,
+ td.visible-md.visible-xs {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-md.visible-sm {
+ display: block !important;
+ }
+ table.visible-md.visible-sm {
+ display: table;
+ }
+ tr.visible-md.visible-sm {
+ display: table-row !important;
+ }
+ th.visible-md.visible-sm,
+ td.visible-md.visible-sm {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-md {
+ display: block !important;
+ }
+ table.visible-md {
+ display: table;
+ }
+ tr.visible-md {
+ display: table-row !important;
+ }
+ th.visible-md,
+ td.visible-md {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-md.visible-lg {
+ display: block !important;
+ }
+ table.visible-md.visible-lg {
+ display: table;
+ }
+ tr.visible-md.visible-lg {
+ display: table-row !important;
+ }
+ th.visible-md.visible-lg,
+ td.visible-md.visible-lg {
+ display: table-cell !important;
+ }
+}
+.visible-lg,
+tr.visible-lg,
+th.visible-lg,
+td.visible-lg {
+ display: none !important;
+}
+@media (max-width: 767px) {
+ .visible-lg.visible-xs {
+ display: block !important;
+ }
+ table.visible-lg.visible-xs {
+ display: table;
+ }
+ tr.visible-lg.visible-xs {
+ display: table-row !important;
+ }
+ th.visible-lg.visible-xs,
+ td.visible-lg.visible-xs {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .visible-lg.visible-sm {
+ display: block !important;
+ }
+ table.visible-lg.visible-sm {
+ display: table;
+ }
+ tr.visible-lg.visible-sm {
+ display: table-row !important;
+ }
+ th.visible-lg.visible-sm,
+ td.visible-lg.visible-sm {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .visible-lg.visible-md {
+ display: block !important;
+ }
+ table.visible-lg.visible-md {
+ display: table;
+ }
+ tr.visible-lg.visible-md {
+ display: table-row !important;
+ }
+ th.visible-lg.visible-md,
+ td.visible-lg.visible-md {
+ display: table-cell !important;
+ }
+}
+@media (min-width: 1200px) {
+ .visible-lg {
+ display: block !important;
+ }
+ table.visible-lg {
+ display: table;
+ }
+ tr.visible-lg {
+ display: table-row !important;
+ }
+ th.visible-lg,
+ td.visible-lg {
+ display: table-cell !important;
+ }
+}
+.hidden-xs {
+ display: block !important;
+}
+table.hidden-xs {
+ display: table;
+}
+tr.hidden-xs {
+ display: table-row !important;
+}
+th.hidden-xs,
+td.hidden-xs {
+ display: table-cell !important;
+}
+@media (max-width: 767px) {
+ .hidden-xs,
+ tr.hidden-xs,
+ th.hidden-xs,
+ td.hidden-xs {
+ display: none !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-xs.hidden-sm,
+ tr.hidden-xs.hidden-sm,
+ th.hidden-xs.hidden-sm,
+ td.hidden-xs.hidden-sm {
+ display: none !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-xs.hidden-md,
+ tr.hidden-xs.hidden-md,
+ th.hidden-xs.hidden-md,
+ td.hidden-xs.hidden-md {
+ display: none !important;
+ }
+}
+@media (min-width: 1200px) {
+ .hidden-xs.hidden-lg,
+ tr.hidden-xs.hidden-lg,
+ th.hidden-xs.hidden-lg,
+ td.hidden-xs.hidden-lg {
+ display: none !important;
+ }
+}
+.hidden-sm {
+ display: block !important;
+}
+table.hidden-sm {
+ display: table;
+}
+tr.hidden-sm {
+ display: table-row !important;
+}
+th.hidden-sm,
+td.hidden-sm {
+ display: table-cell !important;
+}
+@media (max-width: 767px) {
+ .hidden-sm.hidden-xs,
+ tr.hidden-sm.hidden-xs,
+ th.hidden-sm.hidden-xs,
+ td.hidden-sm.hidden-xs {
+ display: none !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-sm,
+ tr.hidden-sm,
+ th.hidden-sm,
+ td.hidden-sm {
+ display: none !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-sm.hidden-md,
+ tr.hidden-sm.hidden-md,
+ th.hidden-sm.hidden-md,
+ td.hidden-sm.hidden-md {
+ display: none !important;
+ }
+}
+@media (min-width: 1200px) {
+ .hidden-sm.hidden-lg,
+ tr.hidden-sm.hidden-lg,
+ th.hidden-sm.hidden-lg,
+ td.hidden-sm.hidden-lg {
+ display: none !important;
+ }
+}
+.hidden-md {
+ display: block !important;
+}
+table.hidden-md {
+ display: table;
+}
+tr.hidden-md {
+ display: table-row !important;
+}
+th.hidden-md,
+td.hidden-md {
+ display: table-cell !important;
+}
+@media (max-width: 767px) {
+ .hidden-md.hidden-xs,
+ tr.hidden-md.hidden-xs,
+ th.hidden-md.hidden-xs,
+ td.hidden-md.hidden-xs {
+ display: none !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-md.hidden-sm,
+ tr.hidden-md.hidden-sm,
+ th.hidden-md.hidden-sm,
+ td.hidden-md.hidden-sm {
+ display: none !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-md,
+ tr.hidden-md,
+ th.hidden-md,
+ td.hidden-md {
+ display: none !important;
+ }
+}
+@media (min-width: 1200px) {
+ .hidden-md.hidden-lg,
+ tr.hidden-md.hidden-lg,
+ th.hidden-md.hidden-lg,
+ td.hidden-md.hidden-lg {
+ display: none !important;
+ }
+}
+.hidden-lg {
+ display: block !important;
+}
+table.hidden-lg {
+ display: table;
+}
+tr.hidden-lg {
+ display: table-row !important;
+}
+th.hidden-lg,
+td.hidden-lg {
+ display: table-cell !important;
+}
+@media (max-width: 767px) {
+ .hidden-lg.hidden-xs,
+ tr.hidden-lg.hidden-xs,
+ th.hidden-lg.hidden-xs,
+ td.hidden-lg.hidden-xs {
+ display: none !important;
+ }
+}
+@media (min-width: 768px) and (max-width: 991px) {
+ .hidden-lg.hidden-sm,
+ tr.hidden-lg.hidden-sm,
+ th.hidden-lg.hidden-sm,
+ td.hidden-lg.hidden-sm {
+ display: none !important;
+ }
+}
+@media (min-width: 992px) and (max-width: 1199px) {
+ .hidden-lg.hidden-md,
+ tr.hidden-lg.hidden-md,
+ th.hidden-lg.hidden-md,
+ td.hidden-lg.hidden-md {
+ display: none !important;
+ }
+}
+@media (min-width: 1200px) {
+ .hidden-lg,
+ tr.hidden-lg,
+ th.hidden-lg,
+ td.hidden-lg {
+ display: none !important;
+ }
+}
+.visible-print,
+tr.visible-print,
+th.visible-print,
+td.visible-print {
+ display: none !important;
+}
+@media print {
+ .visible-print {
+ display: block !important;
+ }
+ table.visible-print {
+ display: table;
+ }
+ tr.visible-print {
+ display: table-row !important;
+ }
+ th.visible-print,
+ td.visible-print {
+ display: table-cell !important;
+ }
+ .hidden-print,
+ tr.hidden-print,
+ th.hidden-print,
+ td.hidden-print {
+ display: none !important;
+ }
+}
+/* EDITOR PROPERTIES - PLEASE DON'T DELETE THIS LINE TO AVOID DUPLICATE PROPERTIES */
diff --git a/Blog/css/fanoe.css b/Blog/css/fanoe.css
new file mode 100644
index 0000000..ba72666
--- /dev/null
+++ b/Blog/css/fanoe.css
@@ -0,0 +1,1322 @@
+html,
+body,
+div,
+span,
+object,
+iframe,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+p,
+blockquote,
+pre,
+abbr,
+address,
+cite,
+code,
+del,
+dfn,
+em,
+img,
+ins,
+kbd,
+q,
+samp,
+small,
+strong,
+sub,
+sup,
+var,
+b,
+i,
+dl,
+dt,
+dd,
+ol,
+ul,
+li,
+fieldset,
+form,
+label,
+legend,
+table,
+caption,
+tbody,
+tfoot,
+thead,
+tr,
+th,
+td,
+article,
+aside,
+canvas,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+menu,
+nav,
+section,
+summary,
+time,
+mark,
+audio,
+video {
+ margin: 0;
+ padding: 0;
+ outline: 0;
+ border: 0;
+ background: transparent;
+ vertical-align: baseline;
+ font-size: 100%;
+}
+
+body {
+ line-height: 1;
+}
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+menu,
+nav,
+section {
+ display: block;
+}
+
+nav ul {
+ list-style: none;
+}
+
+blockquote,
+q {
+ quotes: none;
+}
+
+blockquote:before,
+blockquote:after,
+q:before,
+q:after {
+ content: '';
+ content: none;
+}
+
+a {
+ margin: 0;
+ padding: 0;
+ background: transparent;
+ vertical-align: baseline;
+ font-size: 100%;
+}
+
+ins {
+ background-color: #ff9;
+ color: #000;
+ text-decoration: none;
+}
+
+mark {
+ background-color: #ff9;
+ color: #000;
+ font-weight: bold;
+ font-style: italic;
+}
+
+del {
+ text-decoration: line-through;
+}
+
+abbr[title],
+dfn[title] {
+ border-bottom: 1px dotted;
+ cursor: help;
+}
+
+table {
+ border-spacing: 0;
+ border-collapse: collapse;
+}
+
+hr {
+ display: block;
+ margin: 1em 0;
+ padding: 0;
+ height: 1px;
+ border: 0;
+ border-top: 1px solid #cccccc;
+}
+
+input,
+select {
+ vertical-align: middle;
+}
+
+html {
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+*,
+*:before,
+*:after {
+ box-sizing: border-box;
+}
+
+.dark {
+ background: #1c1c1e;
+}
+
+.dark * {
+ color: #fff;
+}
+
+.dark a,
+.dark a:visited {
+ color: #f45376;
+}
+
+.dark a:hover,
+.dark a:visited:hover {
+ text-decoration: underline;
+}
+
+.dark a.button {
+ border: 1px solid #fff;
+ background: rgba(255, 255, 255, 0);
+ color: #fff;
+}
+
+.dark a.button:hover {
+ background: #fff;
+ color: #000;
+}
+
+.dark a.button.fill {
+ background: #fff;
+ color: #000;
+}
+
+.dark a.button.fill:hover {
+ background: rgba(255, 255, 255, 0.5);
+ color: #fff;
+}
+
+.dark code,
+.dark pre {
+ background-color: rgba(248, 248, 248, 0.1);
+}
+
+.dark + .triangle:before {
+ border-color: transparent transparent transparent #1c1c1e;
+}
+
+.light {
+ background: #fff;
+}
+
+.light * {
+ color: #000;
+}
+
+.light a,
+.light a:visited {
+ color: #f45376 !important;
+}
+
+.light a:hover,
+.light a:visited:hover {
+ text-decoration: underline;
+}
+
+.light a.button {
+ border: 1px solid #000;
+ background: transparent;
+ color: #000;
+}
+
+.light a.button:hover {
+ background: #000;
+ color: #fff;
+}
+
+.light a.button.fill {
+ background: #000;
+ color: #fff;
+}
+
+.light a.button.fill:hover {
+ background: rgba(0, 0, 0, 0.2);
+ color: #000;
+}
+
+.light code,
+.light pre {
+ background-color: #f8f8f8;
+}
+
+.light + .triangle:before {
+ border-color: transparent transparent transparent #fff;
+}
+
+.yellow {
+ background: #FFCC01;
+}
+
+.yellow * {
+ color: #000;
+}
+
+.yellow a,
+.yellow a:visited {
+ color: #f42146;
+}
+
+.yellow a.button {
+ border: 1px solid #000;
+ background: transparent;
+ color: #000;
+}
+
+.yellow a.button:hover {
+ background: #000;
+ color: #FFCC01;
+}
+
+.yellow a.button.fill {
+ background: #000;
+ color: #FFCC01;
+}
+
+.yellow a.button.fill:hover {
+ background: rgba(0, 0, 0, 0.2);
+ color: #000;
+}
+
+.yellow + .triangle:before {
+ border-color: transparent transparent transparent #FFCC01;
+}
+
+.blue {
+ background: #51c1f5;
+}
+
+.blue * {
+ color: #fff;
+}
+
+.blue a,
+.blue a:visited {
+ text-decoration: underline;
+}
+
+.blue a:hover,
+.blue a:visited:hover {
+ text-decoration: none;
+}
+
+.blue a.button {
+ border: 1px solid #fff;
+ background: rgba(255, 255, 255, 0);
+ text-decoration: none;
+}
+
+.blue a.button:hover {
+ background: #fff;
+ color: #51c1f5;
+}
+
+.blue a.button.fill {
+ background: #fff;
+ color: #51c1f5;
+}
+
+.blue a.button.fill:hover {
+ background: rgba(255, 255, 255, 0.5);
+ color: #fff;
+}
+
+.blue + .triangle:before {
+ border-color: transparent transparent transparent #51c1f5;
+}
+
+.purple {
+ background: #C2357B;
+}
+
+.purple * {
+ color: #fff;
+}
+
+.purple a,
+.purple a:visited {
+ text-decoration: underline;
+}
+
+.purple a:hover,
+.purple a:visited:hover {
+ text-decoration: none;
+}
+
+.purple a.button {
+ border: 1px solid #fff;
+ background: rgba(255, 255, 255, 0);
+ text-decoration: none;
+}
+
+.purple a.button:hover {
+ background: #fff;
+ color: #C2357B;
+}
+
+.purple a.button.fill {
+ background: #fff;
+ color: #C2357B;
+}
+
+.purple a.button.fill:hover {
+ background: rgba(255, 255, 255, 0.5);
+ color: #fff;
+}
+
+.purple + .triangle:before {
+ border-color: transparent transparent transparent #C2357B;
+}
+
+.round {
+ border-radius: 50%;
+}
+
+.text--center {
+ text-align: center;
+}
+
+.text--center .seperator {
+ margin-right: auto;
+ margin-left: auto;
+}
+
+.center,
+.center img {
+ display: block;
+ margin: 0 auto;
+ text-align: center;
+}
+
+.vcenter {
+ display: inline-block;
+ vertical-align: middle;
+ float: none;
+}
+
+body {
+ font-family: "Lato", sans-serif;
+ line-height: 1.4;
+}
+
+h1 {
+ font-weight: 900;
+}
+
+h2,
+h3,
+h4 {
+ font-weight: 700;
+}
+
+h1 {
+ letter-spacing: -.2px;
+ font-size: 2rem;
+}
+
+h2 {
+ font-size: 1.60rem;
+ font-weight: 900;
+}
+
+h3 {
+ font-size: 1.3rem;
+}
+
+h4 {
+ font-size: 1.1rem;
+ margin-bottom: 3px;
+}
+
+h5 {
+ font-size: 2rem;
+ font-weight: 100;
+ margin: 0;
+}
+
+h5 + * {
+ margin-bottom: 20px;
+}
+
+h5 a {
+ font-size: inherit;
+ font-family: inherit !important;
+}
+
+strong {
+ font-weight: 900;
+}
+
+p,
+blockquote,
+li,
+a {
+ font-size: 1rem;
+ line-height: 1.6;
+ letter-spacing: 0.2px;
+}
+
+p,
+blockquote,
+li {
+ color: #4d4d4d;
+ font-weight: 400;
+}
+
+a,
+a:visited {
+ text-decoration: none;
+ width: auto;
+ white-space: nowrap;
+}
+
+blockquote {
+ color: #2c2c2c;
+ font-size: 1.2rem;
+}
+
+blockquote:before,
+blockquote:after {
+ display: inline-block;
+ padding: 0 2px;
+ font-size: 1.4rem;
+ content: '"';
+}
+
+a.button {
+ border-radius: 3px;
+ padding: 8px 18px !important;
+ margin-top: 20px;
+ font-family: "Lato", sans-serif !important;
+ font-size: 1rem;
+ background: transparent;
+ transition: all .2s ease-in-out;
+}
+
+a.button:hover {
+ background: #000;
+ color: #fff;
+ text-decoration: none !important;
+}
+
+a.button.fill {
+ background: #000;
+ color: #fff;
+}
+
+a.button.fill:hover {
+ background: rgba(0, 0, 0, 0.5);
+ color: #fff;
+ text-decoration: none;
+}
+
+html,
+body {
+ width: 100%;
+ overflow-x: hidden;
+}
+
+body {
+ background: transparent;
+ min-height: 100%;
+ min-width: 100%;
+ font-size: 17px;
+}
+
+*[role="content"] {
+ position: relative;
+ min-height: calc(100vh - 486px);
+}
+
+header {
+ background: #000;
+ padding: 30px 0;
+ position: relative;
+}
+
+header .container {
+ max-width: 100%;
+ padding: 0;
+}
+
+header .row {
+ margin: 0;
+}
+
+.brand {
+ margin: 0 auto;
+ width: 205px;
+ height: 114px;
+ background-size: 100%;
+ background-repeat: no-repeat;
+ background-position: left center;
+}
+
+#toggle {
+ position: absolute;
+ right: 30px;
+ top: 50%;
+ -webkit-transform: translateY(-40%);
+ -ms-transform: translateY(-40%);
+ transform: translateY(-40%);
+}
+
+.toggle {
+ position: relative;
+ z-index: 999;
+ display: inline-block;
+ width: 30px;
+ height: 30px;
+ cursor: pointer;
+}
+
+.toggle .cross {
+ transition-duration: 0s;
+ transition-delay: .1s;
+}
+
+.toggle .cross span:before {
+ transition-property: margin, -webkit-transform;
+ transition-property: margin, transform;
+ transition-duration: .1s;
+ transition-delay: .1s, 0;
+}
+
+.toggle .cross span:after {
+ transition-property: margin, -webkit-transform;
+ transition-property: margin, transform;
+ transition-duration: .1s;
+ transition-delay: .1s, 0;
+}
+
+.toggle .cross.open span {
+ background-color: transparent;
+ transition-delay: .1s;
+}
+
+.toggle .cross.open span:before {
+ margin-top: 0;
+ -webkit-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ transform: rotate(45deg);
+ transition-delay: 0, .1s;
+ background-color: #c6c5cd;
+}
+
+.toggle .cross.open span:after {
+ margin-top: 0;
+ -webkit-transform: rotate(-45deg);
+ -ms-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+ transition-delay: 0, .1s;
+ background-color: #c6c5cd;
+}
+
+.toggle span {
+ margin: 0 auto;
+ position: relative;
+ z-index: 999;
+ top: 12px;
+ width: 25px;
+ height: 2px;
+ background-color: #fff;
+ display: block;
+}
+
+.toggle span:before,
+.toggle span:after {
+ position: absolute;
+ content: '';
+ width: 25px;
+ height: 2px;
+ background-color: #fff;
+ display: block;
+}
+
+.toggle span:before {
+ margin-top: -7px;
+}
+
+.toggle span:after {
+ margin-top: 7px;
+}
+
+nav {
+ z-index: 999;
+ background: rgba(0, 0, 0, 0.95);
+ text-align: right;
+ left: 0px;
+ right: 0px;
+ display: block;
+ position: relative;
+ transition: height 300ms ease-in-out;
+}
+
+nav > ul {
+ padding: 20px;
+ position: relative;
+ display: inline-table;
+ width: 100%;
+}
+
+nav > ul li {
+ position: relative;
+ font-family: "Lato", sans-serif;
+}
+
+nav > ul li a,
+nav > ul li span {
+ cursor: pointer;
+ display: inline-block;
+ padding: 25px;
+ font-size: 20px;
+ font-weight: 500;
+ color: rgba(255, 255, 255, 0.75);
+}
+
+nav > ul li a:hover,
+nav > ul li span:hover {
+ color: #fff;
+}
+
+nav > ul li span {
+ cursor: default;
+}
+
+nav > ul li:after {
+ content: "";
+ clear: both;
+ display: block;
+}
+
+nav > ul li.selected > a,
+nav > ul li.selected span {
+ color: #fff;
+ font-weight: 700;
+}
+
+nav li > ul {
+ position: absolute;
+}
+
+nav li > ul li {
+ float: none;
+ display: block;
+ position: relative;
+}
+
+nav li > ul li a {
+ font-size: 17px;
+ padding: 15px 15px;
+ font-weight: 500;
+ color: rgba(255, 255, 255, 0.8);
+}
+
+nav li > ul li a:hover {
+ color: #fff;
+}
+
+nav li > ul > li > ul {
+ left: 100%;
+ top: 0;
+ display: none;
+}
+
+.dark,
+.light,
+.yellow,
+.blue,
+.purple {
+ display: block;
+ margin: 0 auto;
+ padding: 50px 0;
+ background-size: cover;
+ background-repeat: no-repeat;
+ background-position: center center;
+ color: #000;
+}
+
+.dark .row,
+.light .row,
+.yellow .row,
+.blue .row,
+.purple .row {
+ margin: 0;
+}
+
+.dark .row div[class^="col-"],
+.light .row div[class^="col-"],
+.yellow .row div[class^="col-"],
+.blue .row div[class^="col-"],
+.purple .row div[class^="col-"] {
+ margin-bottom: 50px;
+}
+
+.dark p,
+.light p,
+.yellow p,
+.blue p,
+.purple p,
+.dark a,
+.light a,
+.yellow a,
+.blue a,
+.purple a,
+.dark blockquote,
+.light blockquote,
+.yellow blockquote,
+.blue blockquote,
+.purple blockquote,
+.dark li,
+.light li,
+.yellow li,
+.blue li,
+.purple li {
+ font-family: "Merriweather", serif;
+}
+
+.dark h1,
+.light h1,
+.yellow h1,
+.blue h1,
+.purple h1 {
+ margin-bottom: 10px;
+}
+
+.dark h2,
+.light h2,
+.yellow h2,
+.blue h2,
+.purple h2,
+.dark h3,
+.light h3,
+.yellow h3,
+.blue h3,
+.purple h3 {
+ margin: 0 0 5px;
+}
+
+.dark p,
+.light p,
+.yellow p,
+.blue p,
+.purple p {
+ letter-spacing: 0.2px;
+ margin: 0 auto;
+}
+
+.dark p + *,
+.light p + *,
+.yellow p + *,
+.blue p + *,
+.purple p + * {
+ margin-top: 20px;
+}
+
+.dark a,
+.light a,
+.yellow a,
+.blue a,
+.purple a {
+ position: relative;
+ display: inline-block;
+}
+
+.dark img,
+.light img,
+.yellow img,
+.blue img,
+.purple img {
+ padding: 20px 0;
+ max-width: 100%;
+ width: auto;
+ height: auto;
+ margin: 30px 0;
+}
+
+.dark li,
+.light li,
+.yellow li,
+.blue li,
+.purple li {
+ padding: 2px 0 0;
+}
+
+.blogarchive div[class^="col-"] {
+ margin-bottom: 20px !important;
+}
+
+.blogarchive .equal {
+ width: 100%;
+}
+
+.blogarchive a {
+ white-space: normal;
+ transition: all 200ms ease;
+ padding: 12px 18px;
+ background: rgba(0, 0, 0, 0.08);
+ display: block;
+}
+
+.blogarchive a:hover {
+ text-decoration: none;
+ background: rgba(0, 0, 0, 0.05);
+}
+
+.blogarchive a:hover p {
+ color: #2a2a2a;
+}
+
+.blogarchive .date {
+ font-size: .9rem;
+ text-align: right;
+ margin-bottom: 5px;
+}
+
+.blogarchive h2 {
+ font-size: 1.2rem;
+ font-family: "Lato", sans-serif;
+ transition: all 200ms ease;
+}
+
+.blogarchive p {
+ font-size: 1rem;
+ color: #7f7d7d;
+ transition: all 200ms ease;
+}
+
+footer ul {
+ margin: 15px auto 0;
+ text-align: center;
+}
+
+footer ul li {
+ position: relative;
+ display: block;
+ text-align: left;
+ padding: 0 0 5px 0;
+ margin: 0;
+ line-height: 1;
+}
+
+footer.dark a {
+ color: rgba(255, 255, 255, 0.6) !important;
+ font-size: 1rem;
+ border-bottom: 1px solid transparent;
+ padding-bottom: 3px;
+ font-family: "Lato", sans-serif;
+ font-weight: 100;
+}
+
+footer.dark a:hover {
+ color: rgba(255, 255, 255, 0.9) !important;
+ border-bottom: 1px solid #fff !important;
+ padding-bottom: 3px;
+ text-decoration: none;
+}
+
+ul {
+ margin-left: 20px;
+}
+
+img {
+ max-width: 100%;
+ height: auto;
+}
+
+blockquote {
+ padding: 10px;
+ text-align: center;
+ position: relative;
+ font-size: 1.3rem;
+}
+
+blockquote + * {
+ padding: 30px 10px;
+}
+
+* + ul {
+ margin-bottom: 30px;
+}
+
+.equal {
+ display: table;
+ table-layout: fixed;
+}
+
+.equal .vcenter {
+ display: table-cell;
+ vertical-align: middle;
+}
+
+.full {
+ margin: 0;
+ padding: 0 !important;
+ overflow: hidden;
+}
+
+.full * {
+ max-width: 100%;
+ width: 100%;
+ height: auto;
+ margin: 0 !important;
+ padding: 0 !important;
+ line-height: 0;
+}
+
+.full .wide {
+ width: 100%;
+ height: auto;
+}
+
+.small {
+ font-size: .85rem;
+}
+
+code,
+pre {
+ overflow: auto;
+ padding: 6px 10px;
+ border-radius: 3px;
+ background-color: rgba(248, 248, 248, 0.3);
+ font-size: .9rem;
+ font-family: "Courier 10 Pitch", Courier, monospace;
+ line-height: 2.3;
+}
+
+.gallery .row > div {
+ margin-bottom: 2%;
+}
+
+.gallery img {
+ margin: 0;
+}
+
+.video-wrapper {
+ margin: 30px auto;
+ position: relative;
+ padding-bottom: 56.25%;
+ padding-top: 25px;
+ height: 0;
+}
+
+.video-wrapper iframe {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+
+.breadcrumb {
+ background: rgba(0, 0, 0, 0.6);
+ transition: all 200ms ease-in-out;
+}
+
+.breadcrumb a,
+.breadcrumb a:visited {
+ color: #fff;
+ font-size: 1rem;
+}
+
+.breadcrumb:hover {
+ background: black;
+}
+
+@media (min-width: 768px) {
+
+.dark,
+.light,
+.yellow,
+.blue,
+.purple {
+ padding: 80px 0;
+}
+
+.dark img,
+.light img,
+.yellow img,
+.blue img,
+.purple img {
+ padding: 0;
+}
+
+.blogarchive a {
+ background: rgba(0, 0, 0, 0.02);
+}
+
+.blogarchive a {
+ min-height: 250px;
+ overflow: hidden;
+}
+
+.blogarchive a:hover h2 {
+ -webkit-transform: translateY(-3px);
+ -ms-transform: translateY(-3px);
+ transform: translateY(-3px);
+}
+
+.breadcrumb {
+ padding: 4px 8px;
+ position: absolute;
+ left: 40px;
+ top: 40px;
+}
+
+.breadcrumb a {
+ font-size: 1.2rem;
+}
+
+}
+
+@media (min-width: 992px) {
+
+.triangle + .dark:before {
+ border-color: transparent transparent transparent #1c1c1e;
+}
+
+.triangle + .light:before {
+ border-color: transparent transparent transparent #fff;
+}
+
+.triangle + .yellow:before {
+ border-color: transparent transparent transparent #FFCC01;
+}
+
+.triangle + .blue:before {
+ border-color: transparent transparent transparent #51c1f5;
+}
+
+.triangle + .purple:before {
+ border-color: transparent transparent transparent #C2357B;
+}
+
+header {
+ padding: 15px 0;
+}
+
+header .container {
+ max-width: 960px;
+ padding: 0 20px;
+}
+
+#toggle {
+ display: none;
+}
+
+nav {
+ margin: 0 auto;
+ background: none;
+ width: 100%;
+}
+
+nav > ul {
+ padding-right: 0;
+ width: auto;
+}
+
+nav > ul li {
+ float: left;
+}
+
+nav > ul li a,
+nav > ul li span {
+ font-size: 15px;
+}
+
+nav > ul li:last-child a {
+ padding-right: 0;
+}
+
+nav li > ul {
+ left: 0;
+ top: 75%;
+ display: none;
+ white-space: nowrap;
+ height: auto;
+ margin-bottom: 0;
+ margin-left: 10px;
+ text-align: left;
+ background: rgba(0, 0, 0, 0.8);
+ padding: 5px 8px 5px 0;
+}
+
+nav li > ul li a {
+ padding: 8px 15px;
+ font-size: 15px;
+ color: rgba(255, 255, 255, 0.8);
+}
+
+nav .has-child:hover > .sublevel {
+ display: block;
+}
+
+.dark .row div[class^="col-"],
+.light .row div[class^="col-"],
+.yellow .row div[class^="col-"],
+.blue .row div[class^="col-"],
+.purple .row div[class^="col-"] {
+ margin-bottom: 20px;
+}
+
+.triangle {
+ position: relative;
+}
+
+.triangle img {
+ position: relative;
+ z-index: 100;
+}
+
+.triangle:before {
+ content: "";
+ display: block;
+ width: 0;
+ height: 0;
+ border-style: solid;
+ border-width: 0 0 150px 100vw;
+ border-color: inherit;
+ position: absolute;
+ z-index: 120;
+}
+
+.triangle + .light,
+.triangle + .dark,
+.triangle + .blue,
+.triangle + .yellow,
+.triangle + .purple {
+ position: relative;
+}
+
+.triangle + .light:before,
+.triangle + .dark:before,
+.triangle + .blue:before,
+.triangle + .yellow:before,
+.triangle + .purple:before {
+ content: "";
+ display: block;
+ width: 0;
+ height: 0;
+ border-style: solid;
+ border-width: 150px 0 0 100vw;
+ border-color: none;
+ position: absolute;
+ z-index: 120;
+ top: -150px;
+}
+
+.video-wrapper {
+ margin: 60px auto;
+}
+
+}
+
+@media (max-width: 992px) {
+
+body {
+ width: 100vw;
+ overflow-x: hidden;
+}
+
+nav {
+ -webkit-transform: translateX(100%);
+ -ms-transform: translateX(100%);
+ transform: translateX(100%);
+ opacity: 1;
+ transition: -webkit-transform 300ms ease-in-out, opacity 300ms ease-in-out;
+ transition: transform 300ms ease-in-out, opacity 300ms ease-in-out;
+ text-align: center;
+ position: absolute;
+ top: 144px;
+}
+
+nav.open {
+ opacity: 1;
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ transform: translateX(0);
+}
+
+nav > ul {
+ margin: 0;
+}
+
+nav > ul li:first-child a {
+ padding: 10px 25px;
+}
+
+nav > ul li a,
+nav > ul li span {
+ padding: 25px 25px 10px 25px;
+ color: rgba(255, 255, 255, 0.6);
+}
+
+nav > ul li.selected > a,
+nav > ul li.selected span {
+ color: #fff;
+ font-weight: 700;
+}
+
+nav > ul li.selected ul {
+ -webkit-transform: scale(1);
+ -ms-transform: scale(1);
+ transform: scale(1);
+ height: 120%;
+}
+
+nav li > ul {
+ -webkit-transform: scale(0);
+ -ms-transform: scale(0);
+ transform: scale(0);
+ position: relative;
+ text-align: center;
+ transition: all 300ms ease-in-out;
+ height: 0;
+ margin: 0;
+}
+
+}
+
+@media (max-width: 992px) and (max-width: 992px) {
+
+nav > ul li.selected ul li a {
+ color: #fff;
+ font-weight: 500;
+}
+
+}
+
+@media (max-width: 768px) {
+
+.breadcrumb {
+ text-align: center;
+ padding: 20px 0;
+ background: black;
+}
+
+}
+/* EDITOR PROPERTIES - PLEASE DON'T DELETE THIS LINE TO AVOID DUPLICATE PROPERTIES */
diff --git a/Blog/css/rte.css b/Blog/css/rte.css
new file mode 100644
index 0000000..f6d89b8
--- /dev/null
+++ b/Blog/css/rte.css
@@ -0,0 +1,44 @@
+/* EDITOR PROPERTIES - PLEASE DON'T DELETE THIS LINE TO AVOID DUPLICATE PROPERTIES */
+h1 {
+font-size: 1.5rem;
+}
+
+blockquote {
+font-style: italic;
+}
+
+h2 {
+font-size: 1.4rem;
+}
+
+h3 {
+font-size: 1.2rem;
+}
+
+h5 {
+font-size: 1rem; font-weight: 100;
+}
+
+p {
+font-size: 1rem;
+}
+
+
+
+/**umb_name:Header*/
+#Header{}
+
+/**umb_name:Header 2*/
+#Header2{}
+
+/**umb_name:Header 3*/
+#Header3{}
+
+/**umb_name:Smooth*/
+#Smooth{}
+
+/**umb_name:Paragraph*/
+#Paragraph{}
+
+/**umb_name:Blockquote*/
+#Blockquote{}
\ No newline at end of file
diff --git a/Blog/css/style.css b/Blog/css/style.css
new file mode 100644
index 0000000..bdb8e04
--- /dev/null
+++ b/Blog/css/style.css
@@ -0,0 +1,2 @@
+/* Go crazy with your own styles here */
+/* EDITOR PROPERTIES - PLEASE DON'T DELETE THIS LINE TO AVOID DUPLICATE PROPERTIES */
diff --git a/Blog/default.aspx b/Blog/default.aspx
new file mode 100644
index 0000000..75b0e5d
--- /dev/null
+++ b/Blog/default.aspx
@@ -0,0 +1,2 @@
+<%@ Page language="c#" Codebehind="default.aspx.cs" AutoEventWireup="True" Inherits="umbraco.UmbracoDefault" trace="true" validateRequest="false" %>
+
diff --git a/Blog/js/bootstrap.min.js b/Blog/js/bootstrap.min.js
new file mode 100644
index 0000000..d839865
--- /dev/null
+++ b/Blog/js/bootstrap.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v3.3.1 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.1",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.1",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c="prev"==a?-1:1,d=this.getItemIndex(b),e=(d+c)%this.$items.length;return this.$items.eq(e)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i="next"==b?"first":"last",j=this;if(!f.length){if(!this.options.wrap)return;f=this.$element.find(".item")[i]()}if(f.hasClass("active"))return this.sliding=!1;var k=f[0],l=a.Event("slide.bs.carousel",{relatedTarget:k,direction:h});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var m=a(this.$indicators.children()[this.getItemIndex(f)]);m&&m.addClass("active")}var n=a.Event("slid.bs.carousel",{relatedTarget:k,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),j.sliding=!1,setTimeout(function(){j.$element.trigger(n)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(n)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.1",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.find("> .panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.1",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j').prependTo(this.$element).on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.options.backdrop&&this.adjustBackdrop(),this.adjustDialog()},c.prototype.adjustBackdrop=function(){this.$backdrop.css("height",0).css("height",this.$element[0].scrollHeight)},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){this.bodyIsOverflowing=document.body.scrollHeight>document.documentElement.clientHeight,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.tooltip",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.1",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Channels/rsd.aspx b/Blog/umbraco/Channels/rsd.aspx
new file mode 100644
index 0000000..a047215
--- /dev/null
+++ b/Blog/umbraco/Channels/rsd.aspx
@@ -0,0 +1,20 @@
+
+<%@ Page Language="C#" AutoEventWireup="true" Inherits="System.Web.UI.Page" %>
+<%@ Import Namespace="Umbraco.Core.IO" %>
+
+
+
+ umbraco
+ http://umbraco.org/
+ http://<%=Request.ServerVariables["SERVER_NAME"]%>
+
+ <%=IOHelper.ResolveUrl(SystemDirectories.Umbraco) %>/channels.aspx" />
+ <%=IOHelper.ResolveUrl(SystemDirectories.Umbraco) %>/channels.aspx" />
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Channels/wlwmanifest.aspx b/Blog/umbraco/Channels/wlwmanifest.aspx
new file mode 100644
index 0000000..cad2f8f
--- /dev/null
+++ b/Blog/umbraco/Channels/wlwmanifest.aspx
@@ -0,0 +1,51 @@
+
+<%@ Page Language="C#" AutoEventWireup="true" Inherits="System.Web.UI.Page" %>
+<%@ Import Namespace="Umbraco.Core.IO" %>
+<%@ Import Namespace="umbraco" %>
+
+
+
+ http://umbraco.org/images/liveWriterIcon.png
+ http://umbraco.org/images/liveWriterWatermark.png
+ View your site/weblog
+ Edit your site/weblog
+ {blog-homepage-url}<%= IOHelper.ResolveUrl(SystemDirectories.Umbraco) %>/
+ {blog-homepage-url}<%= IOHelper.ResolveUrl(SystemDirectories.Umbraco)%>/actions/editContent.aspx?id={post-id}
+
+
+
+ WebLayout
+
+
+ Yes
+ Yes
+ Yes
+ No
+ 100
+ Yes
+ Yes
+ No
+ No
+ No
+ Yes
+ Yes
+
+
+
diff --git a/Blog/umbraco/ClientRedirect.aspx b/Blog/umbraco/ClientRedirect.aspx
new file mode 100644
index 0000000..6f0bd7c
--- /dev/null
+++ b/Blog/umbraco/ClientRedirect.aspx
@@ -0,0 +1,59 @@
+<%@ Page Language="C#" AutoEventWireup="true" Inherits="Umbraco.Web.UI.Pages.UmbracoEnsuredPage" %>
+<%--
+ This page is required because we cannot reload the angular app with a changed Hash since it just detects the hash and doesn't reload.
+ So this is used purely for a full reload of an angular app with a changed hash.
+--%>
+
+
+
+ Redirecting...
+
+
+
+ Redirecting...
+
+
diff --git a/Blog/umbraco/Config/Create/UI.xml b/Blog/umbraco/Config/Create/UI.xml
new file mode 100644
index 0000000..df7df0a
--- /dev/null
+++ b/Blog/umbraco/Config/Create/UI.xml
@@ -0,0 +1,357 @@
+
+
+
+ Nodetype
+ /create/nodeType.ascx
+
+
+
+
+
+
+ Nodetype
+ /create/nodeType.ascx
+
+
+
+
+
+
+ Template
+ /create/simple.ascx
+
+
+
+
+
+
+ Template
+ /create/simple.ascx
+
+
+
+
+
+ Macro
+ /create/simple.ascx
+
+
+
+
+
+ Macro
+ /create/simple.ascx
+
+
+
+
+
+ Macro
+ /create/xslt.ascx
+
+
+
+
+
+ Xslt
+ /create/xslt.ascx
+
+
+
+
+
+ User
+ /create/user.ascx
+
+
+
+
+
+
+ User
+ /create/simple.ascx
+
+
+
+
+
+ Datatype
+ /create/simple.ascx
+
+
+
+
+
+ Datatype
+ /create/simple.ascx
+
+
+
+
+
+ membertype
+ /create/simple.ascx
+
+
+
+
+
+ membergroup
+ /create/simple.ascx
+
+
+
+
+
+ Stylesheet
+ /create/simple.ascx
+
+
+
+
+
+ XSLT file
+ /create/xslt.ascx
+
+
+
+
+
+ mediatype
+ /create/simple.ascx
+
+
+
+
+
+ Medie type
+ /create/simple.ascx
+
+
+
+
+
+
+ member
+ /create/member.ascx
+
+
+
+
+
+ member
+ /create/member.ascx
+
+
+
+
+
+ member
+ /create/member.ascx
+
+
+
+
+
+ membertype
+ /create/member.ascx
+
+
+
+
+
+ membergroup
+ /create/simple.ascx
+
+
+
+
+
+
+
+ Stylesheet editor egenskab
+ /create/simple.ascx
+
+
+
+
+
+
+ Stylesheet editor egenskab
+ /create/simple.ascx
+
+
+
+
+
+ Dictionary editor egenskab
+ /create/simple.ascx
+
+
+
+
+
+ Dictionary editor egenskab
+ /create/simple.ascx
+
+
+
+
+
+
+ Language
+ /create/language.ascx
+
+
+
+
+
+ Language
+ /create/language.ascx
+
+
+
+
+
+
+
+
+
+
+ Scripting file
+ /create/DLRScripting.ascx
+
+
+
+
+
+ Macro
+ /create/DLRScripting.ascx
+
+
+
+
+
+ Scripting file
+ /create/DLRScripting.ascx
+
+
+
+
+
+ Macro
+ /create/DLRScripting.ascx
+
+
+
+
+
+ Script file
+ /create/script.ascx
+
+
+
+
+
+ Script file
+ /create/script.ascx
+
+
+
+
+
+
+ Macro
+ /create/script.ascx
+
+
+
+
+
+ Package
+ /create/simple.ascx
+
+
+
+
+
+ Package
+ /create/simple.ascx
+
+
+
+
+
+ Package
+ /create/simple.ascx
+
+
+
+
+
+ Package
+ /create/simple.ascx
+
+
+
+
+
+ User Types
+ /create/simple.ascx
+
+
+
+
+
+
+ Macro
+ /Create/PartialView.ascx
+
+
+
+
+
+
+ Macro
+ /Create/PartialViewMacro.ascx
+
+
+
+
+
+
+ Macro
+ /Create/PartialView.ascx
+
+
+
+
+
+
+ Macro
+ /Create/PartialViewMacro.ascx
+
+
+
+
+
+
diff --git a/Blog/umbraco/Config/Lang/cs.xml b/Blog/umbraco/Config/Lang/cs.xml
new file mode 100644
index 0000000..d4116e0
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/cs.xml
@@ -0,0 +1,976 @@
+
+
+
+ umbraco
+ http://umbraco.org
+
+
+ Kultura a názvy hostitelů
+ Historie změn
+ Prohlížet uzel
+ Změnit typ dokumentu
+ Kopírovat
+ Vytvořit
+ Vytvořit balíček
+ Odstranit
+ Deaktivovat
+ Vyprázdnit koš
+ Exportovat typ dokumentu
+ Importovat typ dokumentu
+ Importovat balíček
+ Editovat na stránce
+ Odhlásit
+ Přesunout
+ Upozornění
+ Veřejný přístup
+ Publikovat
+ Nepublikovat
+ Znovu načíst uzly
+ Znovu publikovat celý web
+ Práva
+ Vrátit starší verzi
+ Odeslat k publikování
+ Odeslat k překladu
+ Seřadit
+ Odeslat k publikování
+ Přeložit
+ Aktualizovat
+ Výchozí hodnota
+
+
+ Přístup zakázán.
+ Přidat novou doménu
+ odebrat
+ Neplatný uzel.
+ Neplatný tvar domény.
+ Doména už byla přiřazena.
+ Doména
+ Jazyk
+ Nová doména '%0%' byla vytvořena
+ Doména '%0%' je odstraněna
+ Doména '%0%' už byla přiřazena
+ Jednoúrovňové cesty v doménách jsou podporovány, např. "example.com/en". Měli byste se jich nicméně vyvarovat. Raději použijte nastavení kultury výše.]]>
+ Doména '%0%' byla aktualizována
+ Editace aktuálních domén
+ Dědit
+ Kultura
+ nebo dědění kultury po nadřazeném uzlu. Vztahuje se také
+ na aktivní uzel.]]>
+ Domény
+
+
+ Zobrazení pro
+
+
+ Vybrat
+ Vybrat aktuální složku
+ Dělat něco jiného
+ Tučně
+ Zrušit odsazení odstavce
+ Vložit formulářové pole
+ Vložit grafický nadpis
+ Editovat Html
+ Odsadit odstavec
+ Kurzíva
+ Zarovnat na střed
+ Zarovnat na levo
+ Zarovnat na pravo
+ Vložit odkaz
+ Vložit místní odkaz (kotvu)
+ Neuspořádaný seznam
+ Číslovaný seznam
+ Vložit makro
+ Vložit obrázek
+ Editovat vztahy
+ Uložit
+ Uložit a publikovat
+ Uložit a odeslat ke schválení
+ Náhled
+ Náhled je deaktivován, protože není přiřazena žádná šablona
+ Vybrat styl
+ Zobrazit styly
+ Vložit tabulku
+
+
+ Abyste změnili typ dokumentu pro zvolený obsah, nejprve jej vyberte ze seznamu typů platných pro tohle umístění.
+ Pak potvrďte a/nebo pozměňte mapování vlastností z aktuálního typu na nový a dejte Uložit.
+ Obsah byl znovu publikován.
+ Aktuální vlastnost
+ Aktuální typ
+ Typ dokumentu nemůže být změněn, neboť neexistují alternativy platné pro toto umístění.
+ Typ dokumentu byl změněn
+ Mapování vlastností
+ Mapování na vlastnost
+ Nová šablona
+ Nový typ
+ nic
+ Obsah
+ Vybrat nový typ dokumentu
+ Typ dokumentu pro zvolený obsah byl úspěšně změněný na [new type] a následující vlastnosti byly namapovány:
+ na
+ Nelze dokončit mapování vlastností, neboť nejméně jedna z vlastností má definováno více než jedno mapování.
+ Jsou zobrazeny pouze alternativní typy platné pro aktuální umístění.
+
+
+ O této stránce
+ Alias
+ (jak byste popsali obrázek přes telefon)
+ Alternativní adresy URL
+ Klikněte pro editaci položky
+ Vytvořeno uživatelem
+ Původní autor
+ Aktualizováno uživatelem
+ Vytvořeno
+ Datum/čas vytvoření tohoto dokumentu
+ Typ dokumentu
+ Editování
+ Datum odebrání
+ Tato položko byla změněna po publikování
+ Tato položka není publikována
+ Naposledy publikováno
+ Typ média
+ Odkaz na položky medií
+ Skupina členů
+ Role
+ Typ člena
+ Nevybráno žádné datum
+ Titulek stránky
+ Vlastnosti
+ Tento dokument je publikován, ale není viditelný, protože jeho rodič '%0%' publikován není
+ Jejda: tento dokument je publikován, ale není v mezipaměti (vnitřní chyba)
+ Publikovat
+ Stav publikování
+ Datum publikování
+ Datum ukončení publikování
+ Datum odebrání
+ Třídění je aktualizováno
+ Abyste uzly setřídili, jednoduše je přetáhněte anebo klikněte na jednu z hlaviček sloupce. Podržením "shift" nebo "control" při výběru můžete označit uzlů více.
+ Statistika
+ Titulek (volitelně)
+ Typ
+ Nepublikovat
+ Naposledy změněno
+ Datum/čas poslední změny dokumentu
+ Odebrat soubor(y)
+ URL adresa dokumentu
+ Člen skupin(y)
+ Není člen skupin(y)
+ Podřízené položky
+ Cíl
+
+
+ Klikněte pro nahrání
+ Upusťte soubory zde...
+
+
+ Kde chcete vytvořit nový %0%
+ Vytvořit položku pod
+ Vyberte typ a titulek
+ "typy dokumentů".]]>
+ "typy medií".]]>
+
+
+ Prohlédnout svůj web
+ - Skrýt
+ Jestli se umbraco neotevírá, možná budete muset povolit na tomto webu vyskakovací okna
+ byl otevřený v novém okně
+ Restart
+ Navštívit
+ Vítejte
+
+
+ Název
+ Spravovat názvy hostitelů
+ Zavřít toto okno
+ Jste si jistí. že chcete odstranit
+ Jste si jistí, že chcete deaktivovat
+ Zatrhněte, prosím, tento box, abyste potvrdili odstranění %0% položek
+ Jste si jistí?
+ Jste si jistí?
+ Vyjmout
+ Editovat položku slovníku
+ Editovat jazyk
+ Vložit místní odkaz
+ Vložit znak
+ Vložit grafický titulek
+ Vložit obrázek
+ Vložit odkaz
+ Kliknout pro přidání makra
+ Vložit tabulku
+ Naposledy editováno
+ Odkaz
+ Místní odkaz:
+ Při používání místních odkazů vložte znak "#" před odkaz
+ Otevřít v novém okně?
+ Nastavení makra
+ Toto makro nemá žádné vlastnosti, které by bylo možno editovat
+ Vložit
+ Editovat oprávnění pro
+ Položky koše jsou nyní mazány. Nezavírejte, prosím, toto okno, dokud operace probíhá
+ Koš je nyní prázdný
+ Odebrání položek z koše způsobí jejich trvalé odstranění
+ regexlib.com má v tuto chvíli nějaké problémy, které jsou mimo naší kontrolu. Omlouváme se za vzniklé nepříjemnosti.]]>
+ Vyhledat regulární výraz pro přidání validace formulářového prvku. Například: 'email, 'PSČ' 'url'
+ Odstranit makro
+ Pole je vyžadování
+ Web je přeindexován
+ Mezipaměť webu byla obnovena. Všechen publikovaný obsah je nyní aktuální, zatímco nepublikovaný obsah zůstal nepublikovaný.
+ Mezipaměť webu bude obnovena. Všechen publikovaný obsah bude aktualizován, zatímco nepublikovaný obsah zůstane nepublikovaný.
+ Počet sloupců
+ Počet řádků
+ Nastavení ID zástupce Nastavením ID zástupce můžete do této šablony zavést obsah z podřízených šablon tak, že odkážete na toto ID při použití prvku <asp:content />.]]>
+ Vyberte id zástupce ze seznamu níže. Můžete vybírat pouze z ID ze šablony nadřazené tomuto formuláři.]]>
+ Klikněte na obrázek pro zobrazení v plné velikosti
+ Vybrat položku
+ Zobrazit položku mezipaměti
+
+
+ %0%' níže. Můžete přidat další jazyky v nabídce 'jazyky' nalevo.]]>
+ Název jazyka
+
+
+ Zadejte Vaše uživatelské jméno
+ Zadejte Vaše heslo
+ Pojmenujte %0%...
+ Zadejte jméno...
+ Pište pro vyhledání...
+ Pište pro filtrování...
+
+
+ Povolené podřízené typy uzlů
+ Vytvořit
+ Odstranit záložku
+ Popis
+ Nová záložka
+ Záložka
+ Miniatura
+ Povolit zobrazení jako seznam
+
+
+ Přidat předlohu
+ Databázový datový typ
+ GUID editoru vlastností
+ Editor vlastností
+ Tlačítka
+ Povolit rozšířené nastavení pro
+ Povolit kontextové menu
+ Největší výchozí rozměr pro vložené obrázky
+ Související stylopisy
+ Zobrazit jmenovku
+ Šířka a výška
+
+
+ Vaše data byla uložena, ale než budete moci publikovat tuto stránku, je třeba odstranit některé chyby:
+ Současný MemberShip Provider nepodporuje změnu hesla (EnablePasswordRetrieval musí mít hodnotu true)
+ %0% již existuje
+ Vyskytly se chyby:
+ Vyskytly se chyby:
+ Heslo musí být nejméně %0% znaků dlouhé a obsahovat nejméně %1% nealfanumerických znaků
+ %0% musí být celé číslo
+ Pole %0% na záložce %1% je povinné
+ %0% je povinné pole
+ %0% v %1% není ve správném formátu
+ %0% není ve správném formátu
+
+
+ Použití daného typu souboru bylo zakázáno adminitrátorem
+ UPOZORNĚNÍ! I když CodeMirror je dle konfigurace povolený, je zakázaný v Internet Exploreru, protože není dost stabilní.
+ Vyplňte, prosím, alias i název nového typu vlastností!
+ Vyskytl se problém při čtení/zápisu do určeného souboru nebo adresáře
+ Uveďte, prosím, titulek
+ Vyberte, prosím, typ
+ Chystáte se obrázek zvětšit více, než je jeho původní rozměr. Opravdu chcete pokračovat?
+ Chyba ve skriptu python
+ Skript python nebyl ještě uložen, protože obsahuje chyby
+ Počáteční uzel je odstraněný, kontaktujte, prosím, administrátora
+ Před změnou stylu označte, prosím, obsah
+ Žádne aktivní styly nejsou dostupné
+ Umístěte, prosím, kurzor nalevo od těch dvou buňek, které chcete sloučit
+ Nemužete rozdělit buňku, která nebyla sloučená.
+ Chyba ve zdroji XSLT
+ Soubor XSLT nebyl uložen, protože obsahoval chyby
+ V nastavení datového typu použitého pro tuto vlastnost je chyba, zkontrolujte, prosím, datový typ
+
+
+ O...
+ Akce
+ Akce
+ Přidat
+ Alias
+ Jste si jistí?
+ Okraj
+ o
+ Zrušit
+ Okraj buňky
+ Vybrat
+ Zavřít
+ Zavřít okno
+ Komentovat
+ Potvrdit
+ Zachovat proporce
+ Pokračovat
+ Kopírovat
+ Vytvořit
+ Databáse
+ Datum
+ Výchozí
+ Odstranit
+ Odstraněno
+ Odstraňování...
+ Vzhled
+ Rozměry
+ Dolů
+ Stáhnout
+ Editovat
+ Editováno
+ Prvky
+ Email
+ Chyba
+ Najít
+ Výška
+ Nápověda
+ Ikona
+ Import
+ Vnitřní okraj
+ Vložit
+ Instalovat
+ Vyrovnat
+ Jazyk
+ Rozvržení
+ Nahrávání
+ Zamčeno
+ Přihlášení
+ Odhlášení
+ Odhlášení
+ Makro
+ Přesunout
+ Více
+ Název
+ Nový
+ Následující
+ Ne
+ z
+ OK
+ Otevřít
+ nebo
+ Heslo
+ Cesta
+ ID zástupce
+ Moment, prosím...
+ Předchozí
+ Vlastnosti
+ Email pro obdržení formulářových dat
+ Koš
+ Zbývající
+ Přejmenovat
+ Obnovit
+ Povinné
+ Zopakovat
+ Oprávnění
+ Hledat
+ Server
+ Zobrazit
+ Zobrazit stránku při odeslání
+ Rozměr
+ Seřadit
+ Typ
+ Pro hledání pište...
+ Nahoru
+ Aktualizovat
+ Povýšit
+ Nahrání
+ Url
+ Uživatel
+ Uživatelské jméno
+ Hodnota
+ Pohled
+ Vítejte...
+ Šířka
+ Ano
+ Složka
+ Výsledky hledání
+
+
+ Background color
+ Bold
+ Text color
+ Font
+ Text
+
+
+ Page
+
+
+ Instalátor se nemůže připojit k databázi.
+ Nelze uložit soubor web.config. Modifikujte, prosím, připojovací řetězec manuálně.
+ Vyše databáze byla nalezena a je identifikována jako
+ Nastavení databáze
+ instalovat, abyste nainstalovali Umbraco %0% databázi
+ ]]>
+ následující pro pokračování.]]>
+ Databáze nenalezena! Zkontrolujte, prosím, že informace v "připojovacím řetězci" souboru "web.config" jsou správné.
+
Pro pokračování otevřete, prosím, soubor "web.config" (za pužití Visual Studia nebo Vašeho oblíbeného tedtového editoru), přejděte na jeho konec, přidejte připojovací řetězec pro Vaši databázi v klíčí nazvaném "umbracoDbDSN" a soubor uložte.
]]>
+
+ Pokud je to nezbytné, kontaktujte vašeho poskytovatele hostingu.
+ Jestliže instalujete na místní počítač nebo server, budete potřebovat informace od Vašeho systémového administrátora.]]>
+
+ Stiskněte tlačítko povýšit pro povýšení Vaší databáze na Umbraco %0%
+
+ Neobávejte se - žádný obsah nebude odstraněn a všechno bude fungovat jak má!
+
+ ]]>
+ Stiskněte Následující pro pokračování. ]]>
+ následující, pro pokračování konfiguračního průvodce]]>
+ Heslo výchozího uživatele musí být změněno!]]>
+ Výchozí uživatel byl deaktivován, nebo nemá přístup k umbracu!
Netřeba nic dalšího dělat. Klikněte na Následující pro pokračování.]]>
+ Heslo výchozího uživatele bylo úspěšně změněno od doby instalace!
Netřeba nic dalšího dělat. Klikněte na Následující pro pokračování.]]>
+ Heslo je změněno!
+
+ umbraco vytváří výchozího uživatele s uživatelským jménem ('admin') a heslem ('default'). Je důležité změnit toto heslo na jiné.
+
+
+ Tento krok zkontroluje heslo výchozího uživatele a doporučí, má-li být změněno.
+
+ ]]>
+ Mějte skvělý start, sledujte naše uváděcí videa
+ Kliknutím na tlačítko následující (nebo modifikováním umbracoConfigurationStatus v souboru web.config) přijímáte licenci tohoto software tak, jak je uvedena v poli níže. Upozorňujeme, že tato distribuce umbraca se skládá ze dvou různých licencí, open source MIT licence pro framework a umbraco freeware licence, která pokrývá UI.
+ Není nainstalováno.
+ Dotčené soubory a složky
+ Další informace o nastavování oprávnění pro umbraco zde
+ Musíte udělit ASP.NET oprávnění měnit následující soubory/složky
+ Vaše nastavení oprávnění je téměř dokonalé!
+ Můžete provozovat umbraco bez potíží, ale nebudete smět instalovat balíčky, které jsou doporučené pro plné využívání všech možností umbraca.]]>
+ Jak to vyřešit
+ Klikněte zde, chcete-li číst textovou verzi
+ výukové video o nastavovaní oprávnění pro složky umbraca, nebo si přečtěte textovou verzi.]]>
+ Vaše nastavení oprávnění může být problém!
+
+ Můžete provozovat umbraco bez potíží, ale nebudete smět vytvářet složky a instalovat balíčky, které jsou doporučené pro plné využívání všech možností umbraca.]]>
+ Vaše nastavení oprívnění není připraveno pro umbraco!
+
+ Abyste mohli umbraco provozovat, budete muset aktualizovat Vaše nastavení oprávnění.]]>
+ Vaše nastavení oprávnění je dokonalé!
+ Jste připraveni provozovat umbraco a instalovat balíčky!]]>
+ Řešení potíží se složkami
+ Následujte tento odkaz pro další informace o potížích s ASP.NET a vytvářením složek.
+ Nastavování oprávnění pro složky
+
+ Chci začít od nuly
+ zjistěte jak)
+ Stále se můžete později rozhodnout nainstalovat Runway. Za tím účelem navštivte Vývojářskou sekci a zvolte Balíčky.
+ ]]>
+ Právě jste vytvořili čistou platformu Umbraco. Co chcete dělat dále?
+ Runway je nainstalován
+
+ Toto je náš seznam doporučených modulů, vyberte ty, které chcete nainstalovat, nebo si prohlédněte úplný seznam modulů
+ ]]>
+ Doporučeno pouze pro zkušené uživatele
+ Chci začít s jednoduchým webem
+
+ "Runway" je jednoduchý web poskytující některé základní typy dokumentů a šablon. Instalátor pro Vás může Runway nainstalovat automaticky a Vy ho pak můžete jednoduše editovat, rozšířit anebo úplně odstranit. Není nezbytný a můžete bez problému provozovat Umbraco bez něj. Runway nicméně nabízí jednoduché základy založené na nejlepších praktikách tak, abyste mohli začít rychleji, než kdykoliv jindy. Rozhodnete-li se Runway si nainstalovat, můžete si volitelně vybrat základní stavební bloky zvané Moduly Runway a stránky Runway si tak vylepšit.
+
+
+ Runway obsahuje: Úvodní stránku, stránku Začínáme, stránku Instalace modulů.
+ Volitelné moduly: Horní navigace, Mapa webu, Kontakt, Galerie.
+
+ ]]>
+ Co je Runway
+ Krok 1/5: Přijetí licence
+ Krok 2/5: Konfigurace databáze
+ Krok 3/5: Ověřování oprávnění k souborům
+ Krok 4/5: Kontrola zabezpečení umbraca
+ Krok 5/5: Umbraco je připraveno a můžete začít
+ Děkujeme, že jeste si vybrali umbraco
+ Prohlédněte si svůj nový web
+ Nainstalovali jste Runway, tak proč se nepodívat, jak Váš nový web vypadá.]]>
+ Další pomoc a informace
+ Abyste získali pomoc od naší oceňované komunity, projděte si dokumentaci, nebo si pusťte některá videa zdarma o tom, jak vytvořit jednoduchý web, jak používat balíčky a rychlý úvod do terminologie umbraca]]>
+ Umbraco %0% je nainstalováno a připraveno k použití
+ soubor /web.config a upravit klíč AppSetting umbracoConfigurationStatus dole na hodnotu '%0%'.]]>
+ ihned začít kliknutím na tlačítko "Spustit Umbraco" níže. Jestliže je pro Vás umbraco nové,
+ spoustu zdrojů naleznete na naších stránkách "začínáme".]]>
+ Spustit Umbraco
+ Chcete-li spravovat Váš web, jednoduše přejděte do administrace umbraca a začněte přidávat obsah, upravovat šablony a stylopisy, nebo přidávat nové funkce]]>
+ Připojení k databázi selhalo.
+ Umbraco verze 3
+ Umbraco verze 4
+ Shlédnout
+ umbraca %0% jako čisté instalace nebo povýšením z 3.0.
+
]]>
+ [%0%] Upozornění o %1% na %2%
+ Upozornění
+
+
+
+ a výběrem balíčku. Balíčky umbraco mají obvykle přípony ".umb" nebo ".zip".
+ ]]>
+ Autor
+ Ukázka
+ Dokumentace
+ Meta data balíčku
+ Název balíčku
+ Balíček neobsahuje žádné položky
+
+ Můžete jej ze systému bezpečně odstranit kliknutím na "odebrat balíček" níže.]]>
+ Žádné aktualizace nejsou dostupné
+ Možnosti balíčku
+ Čti mě balíčku
+ Úložiště balíčku
+ Potvrdit odinstalování
+ Balíček byl odinstalován
+ Balíček byl úspěšně odinstalován
+ Odinstalovat balíček
+
+ Upozornění: všechny dokumenty, media atd. závislé na položkách, které odstraníte, přestanou pracovat a mohou vést k nestabilitě systému,
+ takže odinstalovávejte opatrně. Jste-li na pochybách, kontaktujte autora balíčku.]]>
+ Stáhnout aktualizaci z úložiště
+ Balíček s aktualizací
+ Pokyny pro aktualizaci
+ Pro tento balíček je dostupná aktualizace. Můžete si ji stáhnout přímo z úložiště balíčků umbraco.
+ Verze balíčku
+ Historie verzí balíčku
+ Zobrazit web balíčku
+
+
+ Vložit s úplným formatováním (nedoporučeno)
+ Text, který chcete vložit, obsahuje speciální znaky nebo formatování. Toto může být způsobeno kopirováním textu z Microsoft Wordu. Umbraco může odstranit speciální znaky nebo formatování, takže vložený obsah bude pro web vhodnější.
+ Vložit jako čistý text bez jakéhokoliv formátování
+ Vložit, ale odstranit formátování (doporučeno)
+
+
+ Ochrana prostřednictvím rolí
+ použijte členské skupiny umbraca.]]>
+ autentizaci prostřednictvím rolí]]>
+ Chybová stránka
+ Použita, když jsou lidé přihlášení, ale nemají přístup
+ Vyberte, jak omezit přístup k této stránce
+ %0% je nyní chráněna
+ Ochrana odebrána z %0%
+ Přihlašovací stránka
+ Vyberte stránku, která obsahuje přihlašovací formulář
+ Odstranit ochranu
+ Vyberte stránky, které obsahují přihlašovací formulář a chybová hlášení
+ Vyberte role, které mají přístup k této stránce
+ Nastavte přihlašovací jmého a heslo pro tuto stránku
+ Jednouživatelská ochrana
+ Jestliže chcete nastavit jenom jednoduchou ochranu prostřednictvím uživatelského jména a hesla
+
+
+
+
+
+
+
+
+ Zahrnout nepublikované podřízené stránky
+ Probíhá publikování - počkejte, prosím...
+ %0% ze %1% stránek bylo publikováno...
+ %0% byla publikována
+ %0% a podstránky byly publikovány
+ Publikovat %0% a všechny její podstránky
+ ok pro publikování %0% a tedy zveřejnění jejího obsahu.
+ Můžete publikovat tuto stránku a všechny její podstránky zatrhnutím publikovat všchny podstránky níže.
+ ]]>
+
+
+ Nenakonfigurovali jste žádné schválené barvy
+
+
+ Přidat vnější odkaz
+ Přidat vnitřní odkaz
+ Přidat
+ Nadpis
+ Vnitřní stránka
+ URL
+ Posunout dolů
+ Posunout nahoru
+ Otevřít v novém okně
+ Odebrat odkaz
+
+
+ Současná verze
+ Červený text nebude ve vybrané verzi zobrazen, zelený znamená přidaný].]]>
+ Dokument byl vrácen na starší verzi
+ Tohle zobrazuje vybranou verzi jako html, jestliže chcete vidět rozdíly mezi 2 verzemi najednou, použijte rozdílové zobrazení
+ Vrátit starší verzi
+ Vybrat verzi
+ Zobrazení
+
+
+ Editovat skriptovací soubor
+
+
+ Domovník
+ Obsah
+ Kurýr
+ Vývojář
+ Průvodce nastavením Umbraca
+ Media
+ Členové
+ Zpravodaje
+ Nastavení
+ Statistiky
+ Překlad
+ Uživatelé
+ Nápověda
+
+
+ Výchozí šablona
+ Klíč slovníku
+ Pro importování typu dokumentu vyhledejte soubor ".udt" ve svém počítači tak, že kliknete na tlačítko "Prohledat" a pak kliknete na "Import" (na následující obrazovce budete vyzváni k potvrzení)
+ Název nové záložky
+ Typ uzlu
+ Typ
+ Stylopis
+ Skript
+ Vlastnost stylopisu
+ Záložka
+ Název záložky
+ Záložky
+ Nadřazený typ obsahu povolen
+ Tento typ obsahu používá
+ jako nadřazený typ obsahu. Záložky z nadřazených typů obsahu nejsou zobrazeny a mohou byt editovány pouze na nadřazených typech obsahu samotných
+ Na této záložce nejsou definovány žádné vlastnosti. Pro vytvoření nové vlastnosti klikněte na odkaz "přidat novou vlastnost" nahoře.
+
+
+ Třídění bylo ukončeno.
+ Abyste nastavili, jak mají být položky seřazeny, přetáhněte jednotlivé z nich nahoru či dolů. Anebo klikněte na hlavičku sloupce pro setřídění celé kolekce
+ Během třídění nezavírejte toto okno]]>
+
+
+ Publikování bylo zrušeno doplňkem třetí strany
+ Typ vlastnosti už existuje
+ Typ vlastnosti vytvořen
+ Datový typ: %1%]]>
+ Typ vlastnosti odstraněn
+ Typ vlastnosti uložen
+ Záložka vytvořena
+ Záložka odstraněna
+ Záložka s id: %0% odstraněna
+ Stylopis nebyl uložen
+ Stylopis byl uložen
+ Stylopis byl uložen bez chyb
+ Datový typ byl uložen
+ Položka slovníku byla uložena
+ Publikování se nezdařilo, protože nadřazená stránka není publikována
+ Obsah byl publikován
+ a je viditelný na webu
+ Obsah byl uložen
+ Nezapomeňte na publikování, aby se změny projevily
+ Odeslat ke schválení
+ Změny byly odeslány ke schválení
+ Medium bylo uloženo
+ Medium bylo uloženo bez chyb
+ Člen byl uložen
+ Vlastnost stylopisu byla uložena
+ Stylopis byl uložen
+ Šablona byla uložena
+ Chyba při ukládání uživatele (zkontrolujte log)
+ Uživatel byl uložen
+ Typ uživatele byl uložen
+ Soubor nebyl uložen
+ soubor nemohl být uložen. Zkontrolujte, prosím, oprávnění k souboru
+ Soubor byl uložen
+ Soubor byl uložen bez chyb
+ Jazyk byl uložen
+ Skript python nebyl uložen
+ Skript python nemohl být uložen kvůli chybě
+ Skript python byl uložen
+ Ve skriptu python nejsou žádné chyby
+ Šablona nebyla uložena
+ Ujistěte se, prosím, že nemáte 2 šablony se stejným aliasem
+ Šablona byla uložena
+ Šablona byla uložena bez chyb!
+ XSLT nebyl uložen
+ XSLT obsahoval chybu
+ XSLT nemohl být uložen, zkontrolujte oprávnění k souboru
+ XSLT byl uložen
+ V XSLT nejsou žádné chyby
+ Publikování obsahu bylo zrušeno
+ Částečný pohled byl uložen
+ Částečný pohled byl uložen bez chyb!
+ Částečný pohled nebyl uložen
+ Při ukládání souboru došlo k chybě.
+
+
+ Používá CSS syntaxi např.: h1, .redHeader, .blueTex
+ Editovat stylopis
+ Editovat vlastnost stylopisu
+ Název, který identifikuje vlastnost stylu v editoru formátovaného textu
+ Náhled
+ Styly
+
+
+ Editovat šablonu
+ Vložit obsahovou oblast
+ Vložit zástupce obsahové oblasti
+ Vložit položku slovníku
+ Vložit makro
+ Vložit pole stránky umbraco
+ Nadřazená šablona
+ Rychlá příručka k šablonovým značkám umbraca
+ Šablona
+
+
+ Alternativní pole
+ Alternativní text
+ Velká a malá písmena
+ Kódování
+ Vybrat pole
+ Konvertovat
+ Nahrazuje nové řádky html tagem <br>
+ Vlastní pole
+ Ano, pouze datum
+ Formátovat jako datum
+ HTML kódování
+ Nahradí speciální znaky jejich HTML ekvivalentem.
+ Bude vloženo za hodnotou pole
+ Bude vloženo před hodnotou pole
+ Malá písmena
+ Nic
+ Vložit za polem
+ Vložit před polem
+ Rekurzivní
+ Odstranit tagy odstavce
+ Odstraní jakékoliv <P> na začátku a na konci textu
+ Standardní pole
+ Velká písmena
+ Kódování URL
+ Formátuje speciální znaky v URL adresách
+ Bude použito pouze pokud jsou pole nahoře prázdná
+ Toto pole bude použito pouze pokud je primární pole prázdné
+ Ano, s časem. Oddělovač:
+
+
+ Úlohy přidělené Vám
+ přidělené Vám. Chcete-li vidět podrobné zobrazení včetně komentářů, klikněte na "Podrobnosti" nebo pouze na název stránky.
+ Můžete také přímo stáhnout stránku jako XML kliknutím na odkaz "Stáhnout Xml".
+ Pro zavření překladatelské úlohy přejděte, prosím, na zobrazení Podrobnosti a klikněte na tlačítko "Zavřít".
+ ]]>
+ zavřít úlohu
+ Podrobnosti překladu
+ Stáhnout všechny překladatelské úlohy jako xml
+ Stáhnout xml
+ Stáhnout xml DTD
+ Pole
+ Zahrnout podstránky
+
+ [%0%] Překladatelská úloha pro %1%
+ Žádní uživatelé překladatelé nebyli nalezeni. Vytvořte, prosím, překladatele před tím, než začnete posílat obsah k překladu
+ Úlohy vytvořené Vámi
+ vytvořené Vámi. Chcete-li vidět podrobné zobrazení včetně komentářů, klikněte na "Podrobnosti" nebo pouze na název stránky. Můžete také přímo stáhnout stránku jako XML kliknutím na odkaz "Stáhnout Xml".
+ Pro zavření překladatelské úlohy přejděte, prosím, na zobrazení Podrobnosti a klikněte na tlačítko "Zavřít".
+ ]]>
+ Stránka '%0%' byla poslána k překladu
+ Poslat stránku '%0%' k překladu
+ Přiděleno uživatelem
+ Otevřené úlohy
+ Slov celkem
+ Přeložit do
+ Překlad hotov.
+ Klikutím níže můžete vidět stránky, které jste právě přeložili. Jestliže je nalezena originální stránka, dostanete srovnání 2 stránek.
+ Překlad selhal, xml soubor může být poškozený
+ Možnosti překladu
+ Překladatel
+ Nahrát xml překladu
+
+
+ Prohlížeč mezipaměti
+ Koš
+ Vytvořené balíčky
+ Datové typy
+ Slovník
+ Instalované balíčky
+ Instalovat téma
+ Instalovat startovní sadu
+ Jazyky
+ Instalovat místní balíček
+ Makra
+ Typy medií
+ Členové
+ Skupiny členů
+ Role
+ Typy členů
+ Typy dokumentů
+ Balíčky
+ Balíčky
+ Soubory python
+ Instalovat z úložiště
+ Instalovat Runway
+ Moduly Runway
+ Skriptovací soubory
+ Skripty
+ Stylopisy
+ Šablony
+ XSLT soubory
+
+
+ Nová aktualizace je připrvena
+ %0% je připraven, klikněte zde pro stažení
+ Žádné spojení se serverem
+ Chyba při kontrole aktualizace. Zkontrolujte, prosím, trasovací zásobník pro další informace
+
+
+ Administrátor
+ Pole kategorie
+ Změnit heslo
+ Změnit heslo
+ Potvrdit heslo
+ Můžete změnit své heslo pro přístup do administrace Umbraca vyplněním formuláře níže a kliknutím na tlačítko 'Změnit Heslo'
+ Kanál obsahu
+ Popis
+ Deaktivovat uživatele
+ Typ dokumentu
+ Editor
+ Výtah
+ Jazyk
+ Přihlašovací jméno
+ Úvodní uzel v knihovně medií
+ Sekce
+ Deaktivovat přistup k Umbracu
+ Heslo
+ Resetovat heslo
+ Vyše heslo bylo změněno!
+ Potvrďte, prosím, nové heslo
+ Zadejte Vaše nové heslo
+ Vaše nové heslo nesmí být prázdné!
+ Současné heslo
+ Neplatné současné heslo
+ Nové heslo a potvrzující heslo se liší. Zkuste to, prosím, znovu!
+ Potvrzující heslo není stejné jako nové heslo!
+ Nahradit oprávnění podřízených uzlů
+ Nyní měníte oprávnění pro stránky:
+ Vyberte stránky, pro které chcete měnit oprávnění
+ Prohledat všechny podřízené uzly
+ Úvodní uzel v obsahu
+ Uživatelské jméno
+ Oprávnění uživatele
+ Typ uživatele
+ Typy uživatelů
+ Spisovatel
+ Váš profil
+ Vaše nedávná historie
+ Relace vyprší za
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Config/Lang/da.xml b/Blog/umbraco/Config/Lang/da.xml
new file mode 100644
index 0000000..2fcf3c0
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/da.xml
@@ -0,0 +1,931 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ Tilføj domæne
+ Revisions spor
+ Gennemse elementer
+ Skift dokumenttype
+ Kopier
+ Opret
+ Opret pakke
+ Slet
+ Deaktivér
+ Tøm papirkurv
+ Eksportér dokumenttype
+ Eksportér til .NET
+ Eksportér til .NET
+ Importér dokumenttype
+ Importér pakke
+ Redigér i Canvas
+ Log af
+ Flyt
+ Notificeringer
+ Offentlig adgang
+ Udgiv
+ Fortryd udgivelse
+ Genindlæs elementer
+ Genudgiv hele siten
+ Gendan
+ Rettigheder
+ Fortryd ændringer
+ Send til udgivelse
+ Send til oversættelse
+ Sortér
+ Send til udgivelse
+ Oversæt
+ Opdatér
+ Standard værdi
+
+
+ Tilladelse nægtet.
+ Tilføj nyt domæne
+ fjern
+ Ugyldig node.
+ Ugyldigt domæne-format.
+ Domæne er allerede blevet tildelt.
+ Sprog
+ Domæne
+ Domænet '%0%' er nu oprettet og tilknyttet siden
+ Domænet '%0%' er nu slettet
+ Domænet '%0%' er oprettet
+ Domænet '%0%' er nu opdateret
+ eller rediger nuværende domæner
+ f.eks. ditdomaene.com, www.ditdomaene.com
+
+
+ For
+
+
+ Vælg
+ Vælg nuværende mappe
+ Gør noget andet
+ Fed
+ Fortryd indryk afsnit
+ Indsæt formularfelt
+ Indsæt grafisk overskrift
+ Redigér Html
+ Indryk afsnit
+ Kursiv
+ Centrér
+ Venstrestil afsnit
+ Højrestil afsnit
+ Indsæt link
+ Indsæt lokalt link (anker)
+ Punktopstilling
+ Nummerorden
+ Indsæt makro
+ Indsæt billede
+ Redigér relationer
+ Tilbage til listen
+ Gem
+ Gem og udgiv
+ Gem og send til udgivelse
+ Se siden
+ Preview er deaktiveret fordi der ikke er nogen skabelon tildelt
+ Vælg formattering
+ Vis koder
+ Indsæt tabel
+
+
+ For at skifte det valgte indholds dokumenttype, skal du først vælge en ny dokumenttype, som er gyldig på denne placering.
+ Kontroller derefter, at alle egenskaber bliver overført rigtigt til den nye dokumenttype, og klik derefter på Gem.
+ Indholdet er blevet genudgivet.
+ Nuværende egenskab
+ Nuværende type
+ Du kan ikke skifte dokumenttype, da der ikke er andre gyldige dokumenttyper på denne placering.
+ Dokumenttype skiftet
+ Overfør egenskaber
+ Overfør til egenskab
+ Ny skabelon
+ Ny type
+ ingen
+ Indhold
+ Vælg ny dokumenttype
+ Dokumenttypen på detvalgte indhold blev skiftet til [new type], og følgende egenskaber blev overført:
+ til
+ Overførsel af egenskaber kunne ikke fuldføres, da en eller flere egenskaber er indstillet til at blive overført mere end én gang.
+ Kun andre dokumenttyper, der er gyldige på denne placering, vises.
+
+
+ Udgivet
+ Om siden
+ Alias
+ (hvordan ville du f.eks. beskrive billedet via telefonen?)
+ Alternative links
+ Klik på musen for at redigere dette punkt
+ Oprettet af
+ Oprindelig forfatter
+ Opdateret af
+ Oprettet den
+ tidspunkt for oprettelse
+ Dokumenttype
+ Redigerer
+ Nedtagningsdato
+ Dette punkt er ændret siden udgivelsen
+ Dette punkt er endnu ikke udgivet
+ Sidst udgivet
+ Der er ingen elementer at vise på listen.
+ Medietype
+ Link til medie(r)
+ Medlemsgruppe
+ Rolle
+ Medlemstype
+ Ingen dato valgt
+ Sidetitel
+ Egenskaber
+ Dette dokument er udgivet, men ikke synligt da den overliggende side '%0%' ikke er udgivet!
+ Upd: dette dokument er udgiver, men er ikke i cachen (intern fejl)
+ Udgivet
+ Udgivelsesstatus
+ Udgivelsesdato
+ Dato for Fortryd udgivelse
+ Fjern dato
+ Sorteringrækkefølgen er opdateret
+ For at sortere, træk siderne eller klik på en af kolonnehovederne. Du kan vælge flere sider ved at holde "shift" eller "control" nede mens du vælger.
+ Statistik
+ Titel (valgfri)
+ Alternativ tekst (valgfri)
+ Type
+ Fortryd udgivelse
+ Sidst redigeret
+ Tidspunkt for seneste redigering
+ Fjern fil
+ Link til dokument
+ Medlem af grupper(ne)
+ Ikke medlem af grupper(ne)
+ Undersider
+ Åben i vindue
+
+
+ Klik for at uploade
+ Slip filerne her...
+
+
+ Opret et nyt medlem
+ Alle medlemmer
+
+
+ Hvor ønsker du at oprette den nye %0%
+ Opret under
+ Vælg en type og skriv en titel
+ "dokument typer".]]>
+ "media typer".]]>
+
+
+ Til dit website
+ - Skjul
+ Hvis Umbraco ikke starter, kan det skyldes at din browser ikke tillader pop-up vinduer
+ er åbnet i nyt vindue
+ Genstart
+ Besøg
+ Velkommen
+
+
+ Navn på lokalt link
+ Rediger domæner
+ Luk denne dialog
+ Er du sikker på at du vil slette
+ Er du sikker på du vil deaktivere
+ Afkryds venligst denne boks for at bekræfte sletningen af %0% enhed(er)
+ Er du sikker på at du vil forlade Umbraco?
+ Er du sikker?
+ Klip
+ Rediger ordbogs nøgle
+ Rediger sprog
+ Indsæt lokalt link
+ Indsæt tegn
+ Indsæt grafisk overskrift
+ Indsæt billede
+ Indsæt link
+ Indsæt makro
+ Indsæt tabel
+ Sidst redigeret
+ Link
+ Internt link:
+ Ved lokalt link, indsæt da en "#" foran linket
+ Åben i nyt vindue?
+ Makroindstillinger
+ Denne makro har ingen egenskaber du kan redigere
+ Indsæt tekst
+ Rediger rettigheder for
+ Elementerne i papirkurven slettes. Luk venligst ikke dette vindue mens sletningen foregår
+ Papirkurven er nu tom
+ Når elementer slettes fra papirkurven, slettes de for altid
+ regexlib.com's webservice oplever i øjeblikket problemer, vi ikke har kontrol over. Beklager ulejligheden. ]]>
+ Søg efter et regulært udtryk for at tilføje validering til et formularfelt. Eksempel: 'email', 'zip-code', 'url'
+ Fjern makro
+ Obligatorisk
+ Sitet er genindekseret
+ Siten er nu genudgivet
+ Websitets cache vil blive genopfrisket. Alt udgivet indhold vil blive opdateret, mens upubliceret indhold vil forblive upubliceret.
+ Antal kolonner
+ Antal rækker
+ Vælg et placeholder id Ved at sætte et id på en placeholder kan du indskyde indhold fra undertemplates ved at referere til dette ID vha. et <asp:content /> element.]]>
+ Vælg et placeholder id fra listen herunder. Du kan kun vælge id'er fra den nuværende masterskabelon.]]>
+ Klik på billedet for at se den fulde størrelse
+ Vælg
+ Se Cache Item
+
+
+ Rediger de forskellige sprogversioner for ordbogselementet '%0%' herunder. Du tilføjer flere sprog under 'sprog' i menuen til venstre
+ Kulturnavn
+
+
+ Indtast dit brugernavn
+ Indtast dit kodeord
+ Navngiv %0%...
+ Indtast navn...
+ Søg...
+ Filtrer...
+ Indtast nøgleord (tryk på Enter efter hvert nøgleord)...
+
+
+ Tillad på rodniveau
+ Kun dokumenttyper med denne indstilling aktiveret oprettes i rodniveau under Inhold og Mediearkiv
+ Tilladte typer
+ Sammensætning af dokumenttyper
+ Opret
+ Slet fane
+ Beskrivelse
+ Ny fane
+ Fane
+ Thumbnail
+ Aktiver listevisning
+ Viser undersider i en søgbar liste, undersider vises ikke i indholdstræet
+ Nuværende listevisning
+ Den aktive listevisningsdatatype
+ Opret brugerdefineret listevisning
+ Fjern brugerdefineret listevisning
+
+
+ Tilføj førværdi
+ Database-datatype
+ Data Editor GUID
+ Visningskontrol
+ Knapper
+ Aktiver avancerede indstillinger for
+ Aktiver kontekstmenu
+ Maks. std. størrelse på indsatte billeder
+ Relaterede stylesheets
+ Vis label
+ Bredde og højde
+
+
+ Dine data er blevet gemt, men før du kan udgive denne side er der nogle fejl der skal rettes:
+ Den nuværende membership-provider understøtter ikke skift af kodeord (EnablePasswordRetrieval skal være true)
+ %0% der findes allerede
+ Der var fejl i dokumentet:
+ Der var fejl i formularen:
+ Kodeordet skal være på minimum %0% tegn og indeholde mindst %1% alfanumeriske karakterer
+ %0% skal være et heltal
+ %0% under %1% er et obligatorisk felt og skal udfyldes
+ %0% er et obligatorisk felt og skal udfyldes
+ %0% under %1% er ikke i et korrekt format
+ %0% er ikke i et korrekt format
+
+
+ Denne filttype er blevet deaktiveret af administratoren
+ OBS! Selvom CodeMirror er slået til i konfigurationen, så er den deaktiveret i Internet Explorer fordi den ikke er stabil nok.
+ Du skal udfylde både Alias & Navn på den nye egenskabstype!
+ Der mangler læse/skrive rettigheder til bestemte filer og mapper
+ Skriv venligst en titel
+ Du skal vælge en type
+ Du er ved at gøre billedet større end originalen. Det vil forringe kvaliteten af billedet. Ønsker du at fortsætte?
+ Fejl i Python-script
+ Python-scriptet er ikke blevet gemt, fordi det indeholder fejl
+ Startnode er slettet, kontakt systemadministrator
+ Du skal markere noget indhold, før du kan ændre stylen
+ Der er ingen aktive styles eller formatteringer på denne side
+ Du skal stå til venstre for de 2 celler du ønsker at samle!
+ Du kan ikke opdele en celle, som ikke allerede er delt.
+ Fejl i XSLT kode
+ Din XSLT er ikke opdateret, da det indeholdt en fejl
+ Der er et problem med den datatype, der bruges til denn egenskab. Kontroller konfigurationen og prøv igen.
+
+
+ Om
+ Handling
+ Muligheder
+ Tilføj
+ Alias
+ Er du sikker?
+ Kant
+ af
+ Fortryd
+ Celle margen
+ Vælg
+ Luk
+ Luk vindue
+ Kommentar
+ Bekræft
+ Behold proportioner
+ Fortsæt
+ Kopiér
+ Opret
+ Database
+ Dato
+ Standard
+ Slet
+ Slettet
+ Sletter...
+ Design
+ Dimensioner
+ Ned
+ Hent
+ Rediger
+ Redigeret
+ Elementer
+ Email
+ Fejl
+ Find
+ Højde
+ Hjælp
+ Ikon
+ Importer
+ Indre margen
+ Indsæt
+ Installér
+ Justering
+ Sprog
+ Layout
+ Henter
+ Låst
+ Login
+ Log af
+ Log ud
+ Makro
+ Flyt
+ Mere
+ Navn
+ Ny
+ Næste
+ Nej
+ af
+ OK
+ Åben
+ eller
+ Kodeord
+ Sti
+ Placeholder ID
+ Et øjeblik...
+ Forrige
+ Egenskaber
+ Email der skal modtage indhold af formular
+ Papirkurv
+ Mangler
+ Omdøb
+ Forny
+ Påkrævet
+ Prøv igen
+ Rettigheder
+ Søg
+ Server
+ Vis
+ Hvilken side skal vises efter at formularen er sendt
+ Størrelse
+ Sortér
+ Type
+ Skriv for at søge...
+ Op
+ Opdatér
+ Opdatér
+ Upload
+ Url
+ Bruger
+ Brugernavn
+ Værdi
+ Vis
+ Velkommen...
+ Bredde
+ Ja
+ Mappe
+ Søgeresultater
+
+
+ Baggrundsfarve
+ Fed
+ Tekst farve
+ Skrifttype
+ Tekst
+
+
+ Side
+
+
+ Installeringsprogrammet kan ikke forbinde til databasen.
+ Kunne ikke gemme web.config filen. Du bedes venligst manuelt ændre database forbindelses strengen.
+ Din database er blevet fundet og identificeret som
+ Database konfiguration
+ installér knappen for at installere Umbraco %0% databasen
+ ]]>
+ installér knappen for at installere Umbraco %0% databasen]]>
+ Næste for at fortsætte.]]>
+ Databasen er ikke fundet. Kontrollér venligst at informationen i database forbindelsesstrengen i "web.config" filen er korrekt.
+
For at fortsætte bedes du venligst rette "web.config" filen (ved at bruge Visual Studio eller dit favoritprogram), scroll til bunden, tilføj forbindelsesstrengen til din database i feltet som hedder "umbracoDbDSN" og gem filen.
]]>
+ Kontakt venligst din ISP hvis det er nødvendigt. Hvis du installerer på en lokal maskine eller server kan du muligvis få informationerne fra din systemadministrator.]]>
+ Tryk på Opgradér knappen for at opgradere din database til Umbraco %0%
Bare rolig - intet indhold vil blive slettet og alt vil stadig fungere bagefter!
]]>
+ Tryk på Næste for at fortsætte.]]>
+ Næste for at fortsætte med konfigurationsguiden.]]>
+ Normalbrugerens adgangskode er nødt til at blive ændret!]]>
+ Normalbrugeren er blevet gjort utjenstdygtig eller har ikke adgang til Umbraco!
Du behøver ikke foretage yderligere handlinger. Tryk på Næste for at fortsætte.
]]>
+ Normalbrugerens adgangskode er på succesfuld vis blevet ændret siden installationen!
Du behøver ikke foretage yderligere handlinger. Tryk på Næste for at fortsætte.
]]>
+ Adgangskoden er blevet ændret!
+ Umbraco opretter en normalbruger med et login ('admin') og en adgangskode ('default'). Det er vigtigt at adgangskoden bliver ændret til noget unikt.
Dette skridt vil kontrollere normalbrugerens adgangskode og foreslå om det er nødt til at blive ændret.
]]>
+ Få en fremragende start, se vores videoer
+ Ved at klikke på næste knappen (eller ved at ændre UmbracoConfigurationStatus i web.config filen), accepterer du licensaftalen for denne software, som specificeret i boksen nedenfor. Bemærk venligst at denne Umbraco distribution består af to forskellige licenser, MIT's Open Source Licens for frameworket og Umbraco Freeware Licensen som dækker UI'en.
+ Endnu ikke installeret
+ Berørte filer og foldere
+ Flere informationer om at opsætte rettigheder for Umbraco her
+ Du er nødt til at give ASP.NET 'modify' rettigheder på følgende filer/foldere
+ Dine rettighedsinstillinger er næsten perfekte!
Du kan køre Umbraco uden problemer, men du vil ikke være i stand til at installere pakker, som er anbefalet for at få fuldt udbytte af Umbraco.]]>
+ Hvorledes besluttes
+ Klik her for at læse tekstversionen
+ video tutorials om at opsætte folderrettigheder for Umbraco eller læs tekstversionen.]]>
+ Dine rettighedsinstillinger kan være et problem!
Du kan afvikle Umbraco uden problemer, men du vil ikke være i stand til at oprette foldere eller installere pakker, hvilket er anbefalet for at få fuldt udbytte af Umbraco.]]>
+ Dine rettighedsinstillinger er ikke klar til Umbraco!
For at afvikle Umbraco er du nødt til at opdatere dine rettighedsinstillinger.]]>
+ Dine rettighedsinstillinger er perfekte!
Du er nu parat til at afvikle Umbraco og installere pakker!]]>
+ Løser folder problem
+ Følg dette link for mere information om udfordringer med ASP.NET og oprettelse af foldere
+ Sætter folderrettigheder op
+ Umbraco har behov for 'write/modify' adgang til bestemte foldere, for at kunne gemme filer som billeder og PDF'er. Umbraco gemmer også midlertidige data (eksempelvis cachen) for at forbedre ydelsen på dit website.
+ Jeg har lyst til at begynde på bar bund
+ lær hvordan) Du kan stadig vælge at installere Runway senere. Gå venligst til Udvikler-sektionen og vælg Pakker.]]>
+ Du har lige opsat en ren Umbraco-platform. Hvad ønsker du nu at gøre?
+ Runway er installeret
+ Dette er vores liste over anbefalede moduler. Kryds dem af du ønsker at installere eller se den fulde liste af moduler ]]>
+ Kun anbefalet for erfarne brugere
+ Jeg ønsker at begynder med et simpelt website
+ "Runway" er et simpelt website som stiller nogle basale dokumenttyper og skabeloner til rådighed. Instaleringsprogrammet kan automatisk opsætte Runway for dig, men du kan nemt redigere, udvide eller fjerne det. Det er ikke nødvendigt og du kan sagtens bruge Umbraco uden. Men Runway tilbyder et fundament, som er baseret på 'Best Practices', som får dig igang hurtigere end nogensinde før. Hvis du vælger at installere Runway, kan du efter eget valg vælge de grundlæggende byggesten kaldet 'Runway Modules' til at forbedre dine Runway-sider.
Inkluderet med Runway:Home Page, Getting Started page, Installing Modules page. Valgfri Moduler: Top Navigation, Sitemap, Contact, Gallery.
]]>
+ Hvad er Runway
+ Skridt 1/5: Acceptér licens
+ Skridt 2/5: Database-konfiguration
+ Skridt 3/5: Validerer filrettigheder
+ Skridt 4/5: Kontrollér Umbraco sikkerhed
+ Skridt 5/5: Umbraco er parat til at få dig igang
+ Tak fordi du valgte Umbraco
+ Gennemse dit nye site Du installerede Runway, så hvorfor ikke se hvordan dit nye website ser ud.]]>
+ Yderligere hjælpe og informationer Få hjælp fra vores prisvindende fællesskab, gennemse dokumentationen eller se nogle gratis videoer om hvordan du opsætter et simpelt site, hvordan du bruger pakker og en 'quick guide' til Umbraco terminologier]]>
+ Umbraco %0% er installeret og klar til brug
+ /web.config filen og opdatére 'AppSetting' feltet UmbracoConfigurationStatus i bunden til '%0%'.]]>
+ komme igang med det samme ved at klikke på "Start Umbraco" knappen nedenfor. Hvis du er ny med Umbraco, kan du finde masser af ressourcer på vores 'getting started' sider.
+]]>
+ Start UmbracoFor at administrere dit website skal du blot åbne Umbraco administrationen og begynde at tilføje indhold, opdatere skabelonerne og stylesheets'ene eller tilføje ny funktionalitet.]]>
+ Forbindelse til databasen fejlede.
+ Umbraco Version 3
+ Umbraco Version 4
+ Se
+ Umbraco %0% for en frisk installation eller for en opgradering fra version 3.0.
]]>
+ [%0%] Notificering om %1% udført på %2%
+ Notificeringer
+
+
+ Vælg hvor den lokale pakke skal placeres
+ Udvikler
+ Demonstration
+ Dokumentation
+ Pakke meta data
+ Pakkenavn
+ Pakken indeholder ingen elementer
+ Du kan roligt fjerne denne fra systemet ved at klikke på "Fjern pakke" nedenfor.]]>
+ Ingen opdateringer tilgængelige
+ Pakkevalg
+ Pakke læs mig
+ Pakke opbevaringsbase
+ Bekræft af-installering
+ Pakken blev fjernet
+ Pakken er på succefuld vis blevet fjernet
+ Afinstallér pakke
+
+Bemærk: at dokumenter og medier som afhænger af denne pakke vil muligvis holde op med at virke, så vær forsigtig. Hvis i tvivl, kontakt personen som har udviklet pakken.]]>
+ Download opdatering fra opbevaringsbasen
+ Opdatér pakke
+ Opdateringsinstrukser
+ Der er en tilgængelig opdatering til denne pakke. Du kan downloade den direkte fra Umbracos pakke opbevaringsbase.
+ Pakke version
+ Se pakkeudviklerens website
+
+
+ Indsæt med fuld formattering (Anbefales ikke)
+ Den tekst du er ved at indsætte indeholder specialtegn eller formattering. Dette kan skyldes at du kopierer fra f.eks. Microsoft Word. Umbraco kan fjerne denne specialformattering automatisk så indholdet er mere velegnet til visning på en webside.
+ Indsæt som ren tekst, dvs. fjern al formattering
+ Indsæt, men fjern formattering som ikke bør være på en webside (Anbefales)
+
+
+ Rollebaseret beskyttelse
+ Hvis du ønsker at kontrollere adgang til siden ved hjælp af rollebaseret godkendelse via Umbracos medlemsgrupper.
+ rollebaseret godkendelse]]>
+ Fejlside
+ Brugt når folk er logget ind, men ingen adgang
+ Vælg hvordan siden skal beskyttes
+ %0% er nu beskyttet
+ Beskyttelse fjernet fra %0%
+ Log ind-side
+ Vælg siden der indeholder log ind-formularen
+ Fjern beskyttelse
+ Vælg siderne der indeholder log ind-formularer og fejlmeddelelser
+ Vælg de roller der har adgang til denne side
+ Indstil login og kodeord for denne side
+ Enkel brugerbeskyttelse
+ Hvis du blot ønsker at opsætte simpel beskyttelse ved hjælp af et enkelt login og kodeord
+
+
+ %0% kunne ikke udgives, fordi et 3. parts modul annullerede handlingen
+ Medtag ikke-udgivede undersider
+ Publicerer - vent venligst...
+ %0% ud af %1% sider er blevet udgivet...
+ %0% er nu publiceret
+ %0% og alle undersider er nu publiceret
+ Publicér alle undersider
+ ok for at udgive %0% og derved gøre indholdet offentligt tilgængeligt..
]]>
+
+ [%0%] Benachrichtigung: %1% ausgeführt an Seite '%2%'
+ Benachrichtigungen
+
+
+ Wählen Sie ein Paket auf Ihrem lokalen Computer über "Datei auswählen" aus. <br />Umbraco-Pakete besitzen üblicherweise die Dateiendungen ".umb" oder ".zip".
+ Autor
+ Demonstration
+ Dokumentation
+ Paket-Meta-Daten
+ Name des Pakets
+ Paket enthält keine Elemente
+ Die Paket-Datei enthält keine Elemente die deinstalliert werden können.<br/><br/>Sie können das Paket ohne Gefahr deinstallieren indem Sie "Paket deinstallieren" anklicken.
+ Keine Updates für das Paket verfügbar
+ Paket-Optionen
+ Informationen zum Paket
+ Paket-Repository
+ Deinstallation bestätigen
+ Paket wurde deinstalliert
+ Das Paket wurde erfolgreich deinstalliert
+ Paket deinstallieren
+ Sie können einzelne Elemente, die Sie nicht deinstallieren möchten, unten abwählen. Wenn Sie "Deinstallation bestätigen" klicken, werden alle markierten Elemente entfernt.<br /><span style="color: Red; font-weight: bold;">Achtung:</span> alle Dokumente, Medien, etc, die von den zu entfernenden Elementen abhängen, werden nicht mehr funktionieren und im Zweifelsfall kann dass gesamte CMS instabil werden. Bitte deinstallieren Sie also mit Vorsicht. Falls Sie unsicher sind, kontaktieren Sie den Autor des Pakets.
+ Update vom Paket-Repository herunterladen
+ Paket-Update
+ Hinweise für die Durchführung des Updates
+ Es ist ein Update für dieses Paket verfügbar. Sie können es direkt vom Umbraco-Paket-Repository herunterladen.
+ Version des Pakets
+ Paket-Webseite aufrufen
+ Versionsverlauf des Pakets
+
+
+ Einfügen mit Formatierung (Nicht empfohlen)
+ Der Text, den Sie einfügen möchten, enthält Sonderzeichen oder spezielle Formatierungen. Dies kann zum Beispiel beim Kopieren aus Microsoft Word heraus passieren. Umbraco kann Sonderzeichen und spezielle Formatierungen automatisch entfernen, damit der eingefügte Inhalt besser für die Veröffentlichung im Web geeignet ist.
+ Als reinen Text ohne jede Formatierung einfügen
+ Einfügen, aber Formatierung bereinigen (Empfohlen)
+
+
+ Rollenbasierter Zugriffschutz
+ Wenn Sie rollenbasierte Authentifikation mit Umbraco-Mitgliedsgruppen verwenden wollen.
+ Sie müssen zuerst eine Mitgliedsgruppe erstellen, bevor derrollenbasierte Zugriffschutz aktiviert werden kann.
+ Fehlerseite
+ Seite mit Fehlermeldung (Benutzer-Login erfolgt, aber keinen Zugriff auf die aufgerufene Seite erlaubt)
+ Bitte wählen Sie, auf welche Art der Zugriff auf diese Seite geschützt werden soll
+ %0% ist nun zugriffsgeschützt
+ Zugriffsschutz von %0% entfernt
+ Login-Seite
+ Seite mit Login-Formular
+ Zugriffsschutz entfernen
+ Auswahl der Seiten, die das Login-Formular und die Fehlermeldung enthalten
+ Auswahl der Benutzerrollen, die Zugriff haben sollen
+ Kennwort und Login für diese Seite setzen
+ Zugriffsschutz durch einzelnen Benutzerzugang
+ Wenn Sie einen einfachen Zugriffsschutz unter Verwendung eines einzelnen Logins mit Kennwort aktivieren wollen
+
+
+ %0% konnte nicht veröffentlicht werden, da ein Plug-In die Aktion abgebrochen hat.
+ Unveröffentlichte Unterelemente einschließen
+ Bitte warten, Veröffentlichung läuft...
+ %0% Elemente veröffentlicht, %1% Elemente ausstehend ...
+ %0% wurde veröffentlicht
+ %0% und die untergeordneten Elemente wurden veröffentlicht
+ %0% und alle untergeordneten Elemente veröffentlichen
+ Mit <em>Ok</em> wird <strong>%0%</strong> veröffentlicht und auf der Website sichtbar.<br/><br />Sie können dieses Element mitsamt seinen untergeordneten Elementen veröffentlichen, indem Sie <em>Unveröffentlichte Unterelemente einschließen</em> aktivieren.
+ %0% konnte nicht veröffentlicht werden, da einige Daten die Gültigkeitsprüfung nicht bestanden haben.
+ %0% kann nicht veröffentlicht werden, da das übergeordnete Dokument nicht veröffentlicht ist.
+ %0% kann nicht veröffentlicht werden, da die Veröffentlichung zeitlich geplant ist.
+
+
+ Externer Link eingeben
+ Interne Seite auswählen
+ Link hinzufügen
+ Beschriftung
+ In neuem Fenster öffnen
+ Neue Beschriftung eingeben
+ Link eingeben
+
+
+ Zurücksetzen
+
+
+ Aktuelle Version
+ Zeigt die Unterschiede zwischen der aktuellen und der ausgewählten Version an.<br />Text in <del>rot</del> fehlen in der ausgewählten Version, <ins>grün</ins> markierter Text wurde hinzugefügt.
+ Dokument wurde zurückgesetzt
+ Zeigt die ausgewählte Version als HTML an. Wenn Sie sich die Unterschiede zwischen zwei Versionen anzeigen lassen wollen, benutzen Sie bitte die Vergleichsansicht.
+ Zurücksetzen auf
+ Version auswählen
+ Ansicht
+
+
+ Skript bearbeiten
+
+
+ Umbraco Concierge
+ Inhalte
+ Umbraco Courier
+ Entwickler
+ Konfigurationsassistent
+ Medien
+ Mitglieder
+ Newsletter
+ Einstellungen
+ Statistiken
+ Übersetzung
+ Benutzer
+ Umbraco Forms
+ Hilfe
+ Analytics
+
+
+ Standardvorlage
+ Wörterbuch-Schlüsselwort
+ Wählen Sie die lokale .udt-Datei aus, die den zu importierenden Dokumenttyp enthält und fahren Sie mit dem Import fort. Die endgültige Übernahme erfolgt im Anschluss erst nach einer weiteren Bestätigung.
+ Beschriftung der neuen Registerkarte
+ Elementtyp
+ Typ
+ Stylesheet
+ Stylesheet-Eigenschaft
+ Skript
+ Registerkarte
+ Registerkartenbeschriftung
+ Registerkarten
+ Dieser Dokumenttyp verwendet
+ Masterdokumenttyp aktiviert
+ als Masterdokumenttyp. Register vom Masterdokumenttyp werden nicht angezeigt und können nur im Masterdokumenttyp selbst bearbeitet werden
+ Für dieses Register sind keine Eigenschaften definiert. Klicken Sie oben auf "neue Eigenschaft hinzufügen", um eine neue Eigenschaft hinzuzufügen.
+ Master Dokumententyp
+ Erstelle zugehörige Vorlage
+
+
+ Sortierung abgeschlossen.
+ Ziehen Sie die Elemente an ihre gewünschte neue Position.
+ Bitte warten, die Seiten werden sortiert. Das kann einen Moment dauern. Bitte schließen Sie dieses Fenster nicht, bis der Sortiervorgang abgeschlossen ist.
+
+
+ Das Veröffentlichen wurde von einem individuellen Ereignishandler abgebrochen
+ Eigenschaft existiert bereits
+ Eigenschaft erstellt
+ Name: %0% Datentyp: %1%
+ Eigenschaft gelöscht
+ Dokumenttyp gespeichert
+ Registerkarte erstellt
+ Registerkarte gelöscht
+ Registerkarte %0% gelöscht
+ Stylesheet wurde nicht gespeichert
+ Stylesheet gespeichert
+ Stylesheet erfolgreich gespeichert
+ Datentyp gespeichert
+ Wörterbucheintrag gespeichert
+ Veröffentlichung nicht möglich, da das übergeordnete Dokument nicht veröffentlicht ist.
+ Inhalte veröffentlicht
+ und sichtbar auf der Webseite
+ Inhalte gespeichert
+ Denken Sie daran die Inhalte zu veröffentlichen, um die Änderungen sichtbar zu machen
+ Zur Abnahme eingereicht
+ Die Änderungen wurden zur Abnahme eingereicht
+ Mitglied gespeichert
+ Stylesheet-Regel gespeichert
+ Stylesheet gespeichert
+ Vorlage gespeichert
+ Fehler beim Speichern des Benutzers.
+ Benutzer gespeichert
+ Datei wurde nicht gespeichert
+ Datei konnte nicht gespeichert werden. Bitte überprüfen Sie die Schreibrechte auf Dateiebene.
+ Datei gespeichert
+ Datei erfolgreich gespeichert
+ Sprache gespeichert
+ Python-Skript nicht gespeichert
+ Das Python-Skript enthält Fehler
+ Python-Skript gespeichert
+ Keine Fehler im Python-Skript
+ Vorlage wurde nicht gespeichert
+ Bitte prüfen Sie, ob möglicherweise zwei Vorlagen den gleichen Alias verwenden.
+ Vorlage gespeichert
+ Vorlage erfolgreich gespeichert!
+ XSLT nicht gespeichert
+ Das XSLT enthält Fehler
+ XSLT kann nicht gespeichert werden. Bitte überprüfen Sie die Schreibrechte auf Dateiebene.
+ XSLT gespeichert
+ Keine Fehler im XSLT
+ Medium gespeichert
+ Veröffentlichung des Inhalts aufgehoben
+ Partielle Ansicht gespeichert
+ Partielle Ansicht ohne Fehler gespeichert.
+ Partielle Ansicht nicht gespeichert
+ Fehler beim Speichern der Datei.
+ Benutzertyp gepsichert
+ Medium fehlerfrei gespeichert
+
+
+ Gewünschter CSS-Selektor, zum Beispiel 'h1', '.bigHeader' oder 'p.infoText'
+ Stylesheet bearbeiten
+ Stylesheet-Regel bearbeiten
+ Bezeichnung im Auswahlmenü des Rich-Text-Editors
+ Vorschau
+ Stile
+
+
+ Vorlage bearbeiten
+ Platzhalter-Bereich verwenden
+ Platzhalter einfügen
+ Wörterbucheintrag einfügen
+ Makro einfügen
+ Umbraco-Feld einfügen
+ Mastervorlage
+ Schnellübersicht zu den verfügbaren Umbraco-Feldern
+ Vorlage
+
+
+ Typ auswählen
+ Wählen Sie ein Layout für diese Seite
+ und fügen Sie ihr erstes Element hinzu.]]>
+
+ Klicken zum Einfügen
+ Klicken zum Bild Einfügen
+ Bildbeschriftung...
+ Schreibe hier...
+
+ Grid Layouts
+ Layouts sind der gesamte Arbeitsbereich des Grid Editors. Sie brauchen aber meistens nur ein oder zwei unterschiedliche Layouts.
+ Grid Layout hinzufügen
+ Layout einstellen (Spaltenbreite festlegen und zusätzliche Bereiche hinzufügen)
+
+ Zeilenkonfiguration
+ Zeilen sind vordefinierte und horizontal angeordnete Zellen
+ Zeilenkonfiguration hinzufügen
+ Zeilen einstellen (Zellenbreite festlegen und zusätzliche Zellen hinzufügen)
+
+ Spalten
+ Gesamtanzahl von allen kombinierten Spalten im Grid Layout
+
+ Einstellungen
+ Konfiguriere, welche Einstellungen der Editor ändern kann
+
+
+ Stilangaben
+ Konfiguriere, welche Stilangaben Editoren ändern können
+
+ Einstellungen werden nur mit eingetragener und gültiger JSON Konfiguration gespeichert
+
+ Allen Editoren erlauben
+ Alle Zeilenkonfigurationen erlauben
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Alternatives Feld
+ Alternativer Text
+ Groß- und Kleinschreibung
+ Feld auswählen
+ Zeilenumbrüche ersetzen
+ Ersetzt Zeilenumbrüche durch das HTML-Tag <br />
+ nur Datum
+ Als Datum formatieren
+ HTML kodieren
+ Wandelt Sonderzeichen in HTML-Zeichencodes um
+ Wird nach dem Feldinhalt eingefügt
+ Wird vor dem Feldinhalt eingefügt
+ Kleinbuchstaben
+ Keine
+ An den Feldinhalt anhängen
+ Dem Feldinhalt voranstellen
+ Rekursiv
+ Textabsatz entfernen
+ Alle <p> am Anfang und am Ende des Feldinhalts werden entfernt
+ Großbuchstaben
+ URL kodieren
+ Wandelt Sonderzeichen zur Verwendung in URLs um
+ Wird nur verwendet, wenn beide vorgenannten Felder leer sind
+ Dieses Feld wird nur verwendet, wenn das primäre Feld leer ist
+ Datum und Zeit mit Trennzeichen:
+ Benutzerdefinierte Felder
+ Standardfelder
+ Kodierung
+
+
+ Ihre Aufgaben
+ Die Liste unten zeigt <strong>ihre</strong> Übersetzungsaufträge. Um eine ausführliche Liste mit Kommentaren zu sehen, klicken Sie auf "Details" oder einfach auf den Seitennamen. Sie können die Seite auch direkt als XML herunterladen, indem Sie den Link "XML herunterladen" anklicken. <br/>Um eine Übersetzung abzuschließen, gehen Sie bitte auf die Detailansicht und klicken Sie auf "Aufgabe abschließen".
+ Aufgabe abschließen
+ Details zur Übersetzung
+ Alle Übersetzungsaufgaben als XML-Datei herunterladen
+ XML herunterladen
+ Herunterladen der XML-Defintionen (XML-DTD)
+ Felder
+ Einschließlich der Unterseiten
+
+Hallo %0%,
+
+das Dokument '%1%' wurde von '%2%' zur Übersetzung in '%5%' freigegeben.
+
+Zum Bearbeiten verwenden Sie bitte diesen Link: http://%3%/translation/details.aspx?id=%4%.
+
+Sie können sich auch alle anstehenden Übersetzungen gesammelt im Umbraco-Verwaltungsbereich anzeigen lassen: http://%3%/Umbraco.aspx
+
+Einen schönen Tag wünscht
+Ihr freundlicher Umbraco-Robot
+
+ [%0%] Aufgabe zur Übersetzung von '%1%'
+ Bitte erstellen Sie zuerst mindestens einen Übersetzer.
+ Von Ihnen erstellte Aufgaben
+ Die Liste unten zeigt die von <strong>Ihnen</strong> erstellten Seiten. Um eine ausführliche Liste mit Kommentaren zu sehen, klicken Sie auf "Details" oder einfach auf den Seitennamen. Sie können die Seite auch direkt als XML herunterladen, indem Sie den Link "XML herunterladen" anklicken. Um eine Übersetzung abzuschließen, gehen Sie bitte auf die Detailansicht und klicken Sie auf "Aufgabe abschließen".
+ Die Seite '%0%' wurde zur Übersetzung gesendet
+ Sendet die Seite '%0%' zur Übersetzung
+ Zugewiesen von
+ Aufgabe aktiviert
+ Anzahl der Wörter
+ Übersetzen in
+ Übersetzung abgeschlossen.
+ Sie können eine Vorschau der Seiten anzeigen, die Sie gerade übersetzt haben, indem Sie sie unten anklicken. Wenn die Originalseite zugeordnet werden kann, erhalten Sie einen Vergleich der beiden Seiten angezeigt.
+ Übersetzung fehlgeschlagen, die XML-Datei könnte beschädigt oder falsch formatiert sein
+ Übersetzungsoptionen
+ Übersetzer
+ Hochladen der XML-Übersetzungsdatei
+
+
+ Zwischenspeicher
+ Papierkorb
+ Erstellte Pakete
+ Datentypen
+ Wörterbuch
+ Installierte Pakete
+ Design-Skin installieren
+ Starter-Kit installieren
+ Sprachen
+ Lokales Paket hochladen und installieren
+ Makros
+ Medientypen
+ Mitglieder
+ Mitgliedergruppen
+ Mitgliederrollen
+ Mitglieder-Typen
+ Dokumententypen
+ Pakete
+ Pakete
+ Python-Dateien
+ Paket-Repositories
+ 'Runway' installieren
+ Runway-Module
+ Server-Skripte
+ Client-Skripte
+ Stylesheets
+ Vorlagen
+ XSLT-Dateien
+ Analysen
+
+
+ Neues Update verfügbar
+ %0% verfügbar, hier klicken zum Herunterladen
+ Keine Verbindung zum Update-Server
+ Fehler beim Überprüfen der Updates. Weitere Informationen finden Sie im Stacktrace.
+
+
+ Administrator
+ Feld für Kategorie
+ Passwort ändern
+ Neues Passwort
+ Neues Kennwort (Bestätigung)
+ Sie können Ihr Kennwort für den Zugriff auf den Umbraco-Verwaltungsbereich ändern, indem Sie das nachfolgende Formular ausfüllen und auf die 'Kennwort ändern'-Schaltfläche klicken
+ Schnittstelle für externe Editoren
+ Feld für Beschreibung
+ Benutzer endgültig deaktivieren
+ Dokumenttyp
+ Editor
+ Feld für Textausschnitt
+ Sprache
+ Login
+ Startelement in der Medienbibliothek
+ Freigegebene Bereiche
+ Zugang sperren
+ Kennwort
+ Kennwort zurücksetzen
+ Ihr Kennwort wurde geändert!
+ Bitte bestätigen Sie das neue Kennwort
+ Aktuelle Kennwort
+ Ungültig aktuelle Kennwort
+ Geben Sie Ihr neues Kennwort ein
+ Ihr neues Kennwort darf nicht leer sein!
+ Ihr neues Kennwort und die Wiederholung Ihres neuen Kennworts stimmen nicht überein. Bitte versuchen Sie es erneut!
+ Die Wiederholung Ihres Kennworts stimmt nicht mit dem neuen Kennwort überein!
+ Die Berechtigungen der untergeordneten Elemente ersetzen
+ Die Berechtigungen für folgende Seiten werden angepasst:
+ Dokumente auswählen, um deren Berechtigungen zu ändern
+ Auch untergeordnete Elemente
+ Startelement in den Inhalten
+ Benutzername
+ Berechtigungen
+ Rolle
+ Rollen
+ Autor
+ Übersetzer
+ Ihr Profil
+ Ihr Verlauf
+ Sitzung läuft ab in
+
+
diff --git a/Blog/umbraco/Config/Lang/en.xml b/Blog/umbraco/Config/Lang/en.xml
new file mode 100644
index 0000000..64f4c84
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/en.xml
@@ -0,0 +1,1065 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ Culture and Hostnames
+ Audit Trail
+ Browse Node
+ Change Document Type
+ Copy
+ Create
+ Create Package
+ Delete
+ Disable
+ Empty recycle bin
+ Export Document Type
+ Import Document Type
+ Import Package
+ Edit in Canvas
+ Exit
+ Move
+ Notifications
+ Public access
+ Publish
+ Unpublish
+ Reload nodes
+ Republish entire site
+ Restore
+ Permissions
+ Rollback
+ Send To Publish
+ Send To Translation
+ Sort
+ Send to publication
+ Translate
+ Update
+ Default value
+
+
+ Permission denied.
+ Add new Domain
+ remove
+ Invalid node.
+ Invalid domain format.
+ Domain has already been assigned.
+ Language
+ Domain
+ New domain '%0%' has been created
+ Domain '%0%' is deleted
+ Domain '%0%' has already been assigned
+ Domain '%0%' has been updated
+ Edit Current Domains
+
+ Inherit
+ Culture
+ or inherit culture from parent nodes. Will also apply
+ to the current node, unless a domain below applies too.]]>
+ Domains
+
+
+ Viewing for
+
+
+ Select
+ Select current folder
+ Do something else
+ Bold
+ Cancel Paragraph Indent
+ Insert form field
+ Insert graphic headline
+ Edit Html
+ Indent Paragraph
+ Italic
+ Center
+ Justify Left
+ Justify Right
+ Insert Link
+ Insert local link (anchor)
+ Bullet List
+ Numeric List
+ Insert macro
+ Insert picture
+ Edit relations
+ Return to list
+ Save
+ Save and publish
+ Save and send for approval
+ Preview
+ Preview is disabled because there's no template assigned
+ Choose style
+ Show styles
+ Insert table
+
+
+ To change the document type for the selected content, first select from the list of valid types for this location.
+ Then confirm and/or amend the mapping of properties from the current type to the new, and click Save.
+ The content has been re-published.
+ Current Property
+ Current type
+ The document type cannot be changed, as there are no alternatives valid for this location. An alternative will be valid if it is allowed under the parent of the selected content item and that all existing child content items are allowed to be created under it.
+ Document Type Changed
+ Map Properties
+ Map to Property
+ New Template
+ New Type
+ none
+ Content
+ Select New Document Type
+ The document type of the selected content has been successfully changed to [new type] and the following properties mapped:
+ to
+ Could not complete property mapping as one or more properties have more than one mapping defined.
+ Only alternate types valid for the current location are displayed.
+
+
+ Is Published
+ About this page
+ Alias
+ (how would you describe the picture over the phone)
+ Alternative Links
+ Click to edit this item
+ Created by
+ Original author
+ Updated by
+ Created
+ Date/time this document was created
+ Document Type
+ Editing
+ Remove at
+ This item has been changed after publication
+ This item is not published
+ Last published
+ There are no items to show in the list.
+ Media Type
+ Link to media item(s)
+ Member Group
+ Role
+ Member Type
+ No date chosen
+ Page Title
+ Properties
+ This document is published but is not visible because the parent '%0%' is unpublished
+ Oops: this document is published but is not in the cache (internal error)
+ Publish
+ Publication Status
+ Publish at
+ Unpublish at
+ Clear Date
+ Sortorder is updated
+ To sort the nodes, simply drag the nodes or click one of the column headers. You can select multiple nodes by holding the "shift" or "control" key while selecting
+ Statistics
+ Title (optional)
+ Alternative text (optional)
+ Type
+ Unpublish
+ Last edited
+ Date/time this document was edited
+ Remove file(s)
+ Link to document
+ Member of group(s)
+ Not a member of group(s)
+ Child items
+ Target
+
+
+ Click to upload
+ Drop your files here...
+
+
+ Create a new member
+ All Members
+
+
+ Where do you want to create the new %0%
+ Create an item under
+ Choose a type and a title
+ "document types".]]>
+ "media types".]]>
+
+
+ Browse your website
+ - Hide
+ If Umbraco isn't opening, you might need to allow popups from this site
+ has opened in a new window
+ Restart
+ Visit
+ Welcome
+
+
+ Name
+ Manage hostnames
+ Close this window
+ Are you sure you want to delete
+ Are you sure you want to disable
+ Please check this box to confirm deletion of %0% item(s)
+ Are you sure?
+ Are you sure?
+ Cut
+ Edit Dictionary Item
+ Edit Language
+ Insert local link
+ Insert character
+ Insert graphic headline
+ Insert picture
+ Insert link
+ Click to add a Macro
+ Insert table
+ Last Edited
+ Link
+ Internal link:
+ When using local links, insert "#" in front of link
+ Open in new window?
+ Macro Settings
+ This macro does not contain any properties you can edit
+ Paste
+ Edit Permissions for
+ The items in the recycle bin are now being deleted. Please do not close this window while this operation takes place
+ The recycle bin is now empty
+ When items are deleted from the recycle bin, they will be gone forever
+ regexlib.com's webservice is currently experiencing some problems, which we have no control over. We are very sorry for this inconvenience.]]>
+ Search for a regular expression to add validation to a form field. Example: 'email, 'zip-code' 'url'
+ Remove Macro
+ Required Field
+ Site is reindexed
+ The website cache has been refreshed. All publish content is now up to date. While all unpublished content is still unpublished
+ The website cache will be refreshed. All published content will be updated, while unpublished content will stay unpublished.
+ Number of columns
+ Number of rows
+ Set a placeholder id by setting an ID on your placeholder you can inject content into this template from child templates,
+ by referring this ID using a <asp:content /> element.]]>
+ Select a placeholder id from the list below. You can only
+ choose Id's from the current template's master.]]>
+ Click on the image to see full size
+ Pick item
+ View Cache Item
+
+
+ %0%' below You can add additional languages under the 'languages' in the menu on the left
+ ]]>
+ Culture Name
+
+
+ Enter your username
+ Enter your password
+ Name the %0%...
+ Enter a name...
+ Type to search...
+ Type to filter...
+ Type to add tags (press enter after each tag)...
+
+
+ Allow at root
+ Only Content Types with this checked can be created at the root level of Content and Media trees
+ Allowed child node types
+ Document Type Compositions
+ Create
+ Delete tab
+ Description
+ New tab
+ Tab
+ Thumbnail
+ Enable list view
+ Configures the content item to show a sortable & searchable list of its children, the children will not be shown in the tree
+ Current list view
+ The active list view data type
+ Create custom list view
+ Remove custom list view
+
+
+ Add prevalue
+ Database datatype
+ Property editor GUID
+ Property editor
+ Buttons
+ Enable advanced settings for
+ Enable context menu
+ Maximum default size of inserted images
+ Related stylesheets
+ Show label
+ Width and height
+
+
+ Your data has been saved, but before you can publish this page there are some errors you need to fix first:
+ The current membership provider does not support changing password (EnablePasswordRetrieval need to be true)
+ %0% already exists
+ There were errors:
+ There were errors:
+ The password should be a minimum of %0% characters long and contain at least %1% non-alpha numeric character(s)
+ %0% must be an integer
+ The %0% field in the %1% tab is mandatory
+ %0% is a mandatory field
+ %0% at %1% is not in a correct format
+ %0% is not in a correct format
+
+
+ The specified file type has been disallowed by the administrator
+ NOTE! Even though CodeMirror is enabled by configuration, it is disabled in Internet Explorer because it's not stable enough.
+ Please fill both alias and name on the new property type!
+ There is a problem with read/write access to a specific file or folder
+ Please enter a title
+ Please choose a type
+ You're about to make the picture larger than the original size. Are you sure that you want to proceed?
+ Error in python script
+ The python script has not been saved, because it contained error(s)
+ Startnode deleted, please contact your administrator
+ Please mark content before changing style
+ No active styles available
+ Please place cursor at the left of the two cells you wish to merge
+ You cannot split a cell that hasn't been merged.
+ Error in XSLT source
+ The XSLT has not been saved, because it contained error(s)
+ There is a configuration error with the data type used for this property, please check the data type
+
+
+ About
+ Action
+ Actions
+ Add
+ Alias
+ Are you sure?
+ Border
+ by
+ Cancel
+ Cell margin
+ Choose
+ Close
+ Close Window
+ Comment
+ Confirm
+ Constrain proportions
+ Continue
+ Copy
+ Create
+ Database
+ Date
+ Default
+ Delete
+ Deleted
+ Deleting...
+ Design
+ Dimensions
+ Down
+ Download
+ Edit
+ Edited
+ Elements
+ Email
+ Error
+ Find
+ Height
+ Help
+ Icon
+ Import
+ Inner margin
+ Insert
+ Install
+ Justify
+ Language
+ Layout
+ Loading
+ Locked
+ Login
+ Log off
+ Logout
+ Macro
+ Move
+ More
+ Name
+ New
+ Next
+ No
+ of
+ OK
+ Open
+ or
+ Password
+ Path
+ Placeholder ID
+ One moment please...
+ Previous
+ Properties
+ Email to receive form data
+ Recycle Bin
+ Remaining
+ Rename
+ Renew
+ Required
+ Retry
+ Permissions
+ Search
+ Server
+ Show
+ Show page on Send
+ Size
+ Sort
+ Type
+ Type to search...
+ Up
+ Update
+ Upgrade
+ Upload
+ Url
+ User
+ Username
+ Value
+ View
+ Welcome...
+ Width
+ Yes
+ Folder
+ Search results
+
+
+ Background colour
+ Bold
+ Text colour
+ Font
+ Text
+
+
+ Page
+
+
+ The installer cannot connect to the database.
+ Could not save the web.config file. Please modify the connection string manually.
+ Your database has been found and is identified as
+ Database configuration
+ install button to install the Umbraco %0% database
+ ]]>
+ Next to proceed.]]>
+ Database not found! Please check that the information in the "connection string" of the "web.config" file is correct.
+
To proceed, please edit the "web.config" file (using Visual Studio or your favourite text editor), scroll to the bottom, add the connection string for your database in the key named "UmbracoDbDSN" and save the file.
]]>
+
+ Please contact your ISP if necessary.
+ If you're installing on a local machine or server you might need information from your system administrator.]]>
+
+ Press the upgrade button to upgrade your database to Umbraco %0%
+
+ Don't worry - no content will be deleted and everything will continue working afterwards!
+
+ ]]>
+ Press Next to
+ proceed. ]]>
+ next to continue the configuration wizard]]>
+ The Default users' password needs to be changed!]]>
+ The Default user has been disabled or has no access to Umbraco!
No further actions needs to be taken. Click Next to proceed.]]>
+ The Default user's password has been successfully changed since the installation!
No further actions needs to be taken. Click Next to proceed.]]>
+ The password is changed!
+
+ Umbraco creates a default user with a login ('admin') and password ('default'). It's important that the password is
+ changed to something unique.
+
+
+ This step will check the default user's password and suggest if it needs to be changed.
+
+ ]]>
+ Get a great start, watch our introduction videos
+ By clicking the next button (or modifying the umbracoConfigurationStatus in web.config), you accept the license for this software as specified in the box below. Notice that this Umbraco distribution consists of two different licenses, the open source MIT license for the framework and the Umbraco freeware license that covers the UI.
+ Not installed yet.
+ Affected files and folders
+ More information on setting up permissions for Umbraco here
+ You need to grant ASP.NET modify permissions to the following files/folders
+ Your permission settings are almost perfect!
+ You can run Umbraco without problems, but you will not be able to install packages which are recommended to take full advantage of Umbraco.]]>
+ How to Resolve
+ Click here to read the text version
+ video tutorial on setting up folder permissions for Umbraco or read the text version.]]>
+ Your permission settings might be an issue!
+
+ You can run Umbraco without problems, but you will not be able to create folders or install packages which are recommended to take full advantage of Umbraco.]]>
+ Your permission settings are not ready for Umbraco!
+
+ In order to run Umbraco, you'll need to update your permission settings.]]>
+ Your permission settings are perfect!
+ You are ready to run Umbraco and install packages!]]>
+ Resolving folder issue
+ Follow this link for more information on problems with ASP.NET and creating folders
+ Setting up folder permissions
+
+ I want to start from scratch
+ learn how)
+ You can still choose to install Runway later on. Please go to the Developer section and choose Packages.
+ ]]>
+ You've just set up a clean Umbraco platform. What do you want to do next?
+ Runway is installed
+
+ This is our list of recommended modules, check off the ones you would like to install, or view the full list of modules
+ ]]>
+ Only recommended for experienced users
+ I want to start with a simple website
+
+ "Runway" is a simple website providing some basic document types and templates. The installer can set up Runway for you automatically,
+ but you can easily edit, extend or remove it. It's not necessary and you can perfectly use Umbraco without it. However,
+ Runway offers an easy foundation based on best practices to get you started faster than ever.
+ If you choose to install Runway, you can optionally select basic building blocks called Runway Modules to enhance your Runway pages.
+
+
+ Included with Runway: Home page, Getting Started page, Installing Modules page.
+ Optional Modules: Top Navigation, Sitemap, Contact, Gallery.
+
+ ]]>
+ What is Runway
+ Step 1/5 Accept license
+ Step 2/5: Database configuration
+ Step 3/5: Validating File Permissions
+ Step 4/5: Check Umbraco security
+ Step 5/5: Umbraco is ready to get you started
+ Thank you for choosing Umbraco
+ Browse your new site
+You installed Runway, so why not see how your new website looks.]]>
+ Further help and information
+Get help from our award winning community, browse the documentation or watch some free videos on how to build a simple site, how to use packages and a quick guide to the Umbraco terminology]]>
+ Umbraco %0% is installed and ready for use
+ /web.config file and update the AppSetting key UmbracoConfigurationStatus in the bottom to the value of '%0%'.]]>
+ started instantly by clicking the "Launch Umbraco" button below. If you are new to Umbraco,
+you can find plenty of resources on our getting started pages.]]>
+ Launch Umbraco
+To manage your website, simply open the Umbraco back office and start adding content, updating the templates and stylesheets or add new functionality]]>
+ Connection to database failed.
+ Umbraco Version 3
+ Umbraco Version 4
+ Watch
+ Umbraco %0% for a fresh install or upgrading from version 3.0.
+
]]>
+ [%0%] Notification about %1% performed on %2%
+ Notifications
+
+
+
+ button and locating the package. Umbraco packages usually have a ".umb" or ".zip" extension.
+ ]]>
+ Author
+ Demonstration
+ Documentation
+ Package meta data
+ Package name
+ Package doesn't contain any items
+
+ You can safely remove this from the system by clicking "uninstall package" below.]]>
+ No upgrades available
+ Package options
+ Package readme
+ Package repository
+ Confirm uninstall
+ Package was uninstalled
+ The package was successfully uninstalled
+ Uninstall package
+
+ Notice: any documents, media etc depending on the items you remove, will stop working, and could lead to system instability,
+ so uninstall with caution. If in doubt, contact the package author.]]>
+ Download update from the repository
+ Upgrade package
+ Upgrade instructions
+ There's an upgrade available for this package. You can download it directly from the Umbraco package repository.
+ Package version
+ Package version history
+ View package website
+
+
+ Paste with full formatting (Not recommended)
+ The text you're trying to paste contains special characters or formatting. This could be caused by copying text from Microsoft Word. Umbraco can remove special characters or formatting automatically, so the pasted content will be more suitable for the web.
+ Paste as raw text without any formatting at all
+ Paste, but remove formatting (Recommended)
+
+
+ Role based protection
+ using Umbraco's member groups.]]>
+ role-based authentication.]]>
+ Error Page
+ Used when people are logged on, but do not have access
+ Choose how to restrict access to this page
+ %0% is now protected
+ Protection removed from %0%
+ Login Page
+ Choose the page that contains the login form
+ Remove Protection
+ Select the pages that contain login form and error messages
+ Pick the roles who have access to this page
+ Set the login and password for this page
+ Single user protection
+ If you just want to setup simple protection using a single login and password
+
+
+
+
+
+
+
+
+ Include unpublished child pages
+ Publishing in progress - please wait...
+ %0% out of %1% pages have been published...
+ %0% has been published
+ %0% and subpages have been published
+ Publish %0% and all its subpages
+ ok to publish %0% and thereby making its content publicly available.
+ You can publish this page and all it's sub-pages by checking publish all children below.
+ ]]>
+
+
+ You have not configured any approved colours
+
+
+ enter external link
+ choose internal page
+ Caption
+ Link
+ New window
+ Enter a new caption
+ Enter the link
+
+
+ Reset
+
+
+ Current version
+ Red text will not be shown in the selected version. , green means added]]>
+ Document has been rolled back
+ This displays the selected version as HTML, if you wish to see the difference between 2 versions at the same time, use the diff view
+ Rollback to
+ Select version
+ View
+
+
+ Edit script file
+
+
+ Concierge
+ Content
+ Courier
+ Developer
+ Umbraco Configuration Wizard
+ Media
+ Members
+ Newsletters
+ Settings
+ Statistics
+ Translation
+ Users
+ Help
+ Forms
+ Analytics
+
+
+ go to
+ Help topics for
+ Video chapters for
+ The best Umbraco video tutorials
+
+
+ Default template
+ Dictionary Key
+ To import a document type, find the ".udt" file on your computer by clicking the "Browse" button and click "Import" (you'll be asked for confirmation on the next screen)
+ New Tab Title
+ Node type
+ Type
+ Stylesheet
+ Script
+ Stylesheet property
+ Tab
+ Tab Title
+ Tabs
+ Master Content Type enabled
+ This Content Type uses
+ as a Master Content Type. Tabs from Master Content Types are not shown and can only be edited on the Master Content Type itself
+ No properties defined on this tab. Click on the "add a new property" link at the top to create a new property.
+ Master Document Type
+ Create matching template
+
+
+ Sorting complete.
+ Drag the different items up or down below to set how they should be arranged. Or click the column headers to sort the entire collection of items
+ Do not close this window during sorting]]>
+
+
+ Failed
+ Insufficient user permissions, could not complete the operation
+ Cancelled
+ Operation was cancelled by a 3rd party add-in
+ Publishing was cancelled by a 3rd party add-in
+ Property type already exists
+ Property type created
+ DataType: %1%]]>
+ Propertytype deleted
+ Document Type saved
+ Tab created
+ Tab deleted
+ Tab with id: %0% deleted
+ Stylesheet not saved
+ Stylesheet saved
+ Stylesheet saved without any errors
+ Datatype saved
+ Dictionary item saved
+ Publishing failed because the parent page isn't published
+ Content published
+ and visible at the website
+ Content saved
+ Remember to publish to make changes visible
+ Sent For Approval
+ Changes have been sent for approval
+ Media saved
+ Media saved without any errors
+ Member saved
+ Stylesheet Property Saved
+ Stylesheet saved
+ Template saved
+ Error saving user (check log)
+ User Saved
+ User type saved
+ File not saved
+ file could not be saved. Please check file permissions
+ File saved
+ File saved without any errors
+ Language saved
+ Python script not saved
+ Python script could not be saved due to error
+ Python script saved
+ No errors in python script
+ Template not saved
+ Please make sure that you do not have 2 templates with the same alias
+ Template saved
+ Template saved without any errors!
+ XSLT not saved
+ XSLT contained an error
+ XSLT could not be saved, check file permissions
+ XSLT saved
+ No errors in XSLT
+ Content unpublished
+ Partial view saved
+ Partial view saved without any errors!
+ Partial view not saved
+ An error occurred saving the file.
+ Script view saved
+ Script view saved without any errors!
+ Script view not saved
+ An error occurred saving the file.
+ An error occurred saving the file.
+
+
+ Uses CSS syntax ex: h1, .redHeader, .blueTex
+ Edit stylesheet
+ Edit stylesheet property
+ Name to identify the style property in the rich text editor
+ Preview
+ Styles
+
+
+ Edit template
+ Insert content area
+ Insert content area placeholder
+ Insert dictionary item
+ Insert Macro
+ Insert Umbraco page field
+ Master template
+ Quick Guide to Umbraco template tags
+ Template
+
+
+
+ Insert control
+ Choose a layout for this section
+ below and add your first element]]>
+
+ Click to embed
+ Click to insert image
+ Image caption...
+ Write here...
+
+ Grid layouts
+ Layouts are the overall work area for the grid editor, usually you only need one or two different layouts
+ Add grid layout
+ Adjust the layout by setting column widths and adding additional sections
+
+ Row configurations
+ Rows are predefined cells arranged horizontally
+ Add row configuration
+ Adjust the row by setting cell widths and adding additional cells
+
+ Columns
+ Total combined number of columns in the grid layout
+
+ Settings
+ Configure what settings editors can change
+
+
+ Styles
+ Configure what styling editors can change
+
+ Settings will only save if the entered json configuration is valid
+
+ Allow all editors
+ Allow all row configurations
+
+
+
+ Alternative field
+ Alternative Text
+ Casing
+ Encoding
+ Choose field
+ Convert line breaks
+ Replaces line breaks with html-tag <br>
+ Custom Fields
+ Yes, Date only
+ Format as date
+ HTML encode
+ Will replace special characters by their HTML equivalent.
+ Will be inserted after the field value
+ Will be inserted before the field value
+ Lowercase
+ None
+ Insert after field
+ Insert before field
+ Recursive
+ Remove Paragraph tags
+ Will remove any <P> in the beginning and end of the text
+ Standard Fields
+ Uppercase
+ URL encode
+ Will format special characters in URLs
+ Will only be used when the field values above are empty
+ This field will only be used if the primary field is empty
+ Yes, with time. Separator:
+
+
+ Tasks assigned to you
+ assigned to you. To see a detailed view including comments, click on "Details" or just the page name.
+ You can also download the page as XML directly by clicking the "Download Xml" link.
+ To close a translation task, please go to the Details view and click the "Close" button.
+ ]]>
+ close task
+ Translation details
+ Download all translation tasks as XML
+ Download XML
+ Download XML DTD
+ Fields
+ Include subpages
+
+ [%0%] Translation task for %1%
+ No translator users found. Please create a translator user before you start sending content to translation
+ Tasks created by you
+ created by you. To see a detailed view including comments,
+ click on "Details" or just the page name. You can also download the page as XML directly by clicking the "Download Xml" link.
+ To close a translation task, please go to the Details view and click the "Close" button.
+ ]]>
+ The page '%0%' has been send to translation
+ Send the page '%0%' to translation
+ Assigned by
+ Task opened
+ Total words
+ Translate to
+ Translation completed.
+ You can preview the pages, you've just translated, by clicking below. If the original page is found, you will get a comparison of the 2 pages.
+ Translation failed, the XML file might be corrupt
+ Translation options
+ Translator
+ Upload translation XML
+
+
+ Cache Browser
+ Recycle Bin
+ Created packages
+ Data Types
+ Dictionary
+ Installed packages
+ Install skin
+ Install starter kit
+ Languages
+ Install local package
+ Macros
+ Media Types
+ Members
+ Member Groups
+ Roles
+ Member Types
+ Document Types
+ Packages
+ Packages
+ Python Files
+ Install from repository
+ Install Runway
+ Runway modules
+ Scripting Files
+ Scripts
+ Stylesheets
+ Templates
+ XSLT Files
+ Analytics
+
+
+ New update ready
+ %0% is ready, click here for download
+ No connection to server
+ Error checking for update. Please review trace-stack for further information
+
+
+ Administrator
+ Category field
+ Change Your Password
+ Change Your Password
+ Confirm new password
+ You can change your password for accessing the Umbraco Back Office by filling out the form below and click the 'Change Password' button
+ Content Channel
+ Description field
+ Disable User
+ Document Type
+ Editor
+ Excerpt field
+ Language
+ Username
+ Start Node in Media Library
+ Sections
+ Disable Umbraco Access
+ Password
+ Reset password
+ Your password has been changed!
+ Please confirm the new password
+ Enter your new password
+ Your new password cannot be blank!
+ Current password
+ Invalid current password
+ There was a difference between the new password and the confirmed password. Please try again!
+ The confirmed password doesn't match the new password!
+ Replace child node permissions
+ You are currently modifying permissions for the pages:
+ Select pages to modify their permissions
+ Search all children
+ Start Node in Content
+ Name
+ User permissions
+ User type
+ User types
+ Writer
+ Translator
+ Change
+ Your profile
+ Your recent history
+ Session expires in
+
+
diff --git a/Blog/umbraco/Config/Lang/en_us.xml b/Blog/umbraco/Config/Lang/en_us.xml
new file mode 100644
index 0000000..b9d8ef0
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/en_us.xml
@@ -0,0 +1,1063 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ Culture and Hostnames
+ Audit Trail
+ Browse Node
+ Change Document Type
+ Copy
+ Create
+ Create Package
+ Delete
+ Disable
+ Empty recycle bin
+ Export Document Type
+ Import Document Type
+ Import Package
+ Edit in Canvas
+ Exit
+ Move
+ Notifications
+ Public access
+ Publish
+ Unpublish
+ Reload nodes
+ Republish entire site
+ Restore
+ Permissions
+ Rollback
+ Send To Publish
+ Send To Translation
+ Sort
+ Send to publication
+ Translate
+ Update
+ Default value
+
+
+ Permission denied.
+ Add new Domain
+ remove
+ Invalid node.
+ Invalid domain format.
+ Domain has already been assigned.
+ Language
+ Domain
+ New domain '%0%' has been created
+ Domain '%0%' is deleted
+ Domain '%0%' has already been assigned
+ Domain '%0%' has been updated
+ Edit Current Domains
+
+ Inherit
+ Culture
+ or inherit culture from parent nodes. Will also apply
+ to the current node, unless a domain below applies too.]]>
+ Domains
+
+
+ Viewing for
+
+
+ Select
+ Select current folder
+ Do something else
+ Bold
+ Cancel Paragraph Indent
+ Insert form field
+ Insert graphic headline
+ Edit Html
+ Indent Paragraph
+ Italic
+ Center
+ Justify Left
+ Justify Right
+ Insert Link
+ Insert local link (anchor)
+ Bullet List
+ Numeric List
+ Insert macro
+ Insert picture
+ Edit relations
+ Return to list
+ Save
+ Save and publish
+ Save and send for approval
+ Preview
+ Preview is disabled because there's no template assigned
+ Choose style
+ Show styles
+ Insert table
+
+
+ To change the document type for the selected content, first select from the list of valid types for this location.
+ Then confirm and/or amend the mapping of properties from the current type to the new, and click Save.
+ The content has been re-published.
+ Current Property
+ Current type
+ The document type cannot be changed, as there are no alternatives valid for this location. An alternative will be valid if it is allowed under the parent of the selected content item and that all existing child content items are allowed to be created under it.
+ Document Type Changed
+ Map Properties
+ Map to Property
+ New Template
+ New Type
+ none
+ Content
+ Select New Document Type
+ The document type of the selected content has been successfully changed to [new type] and the following properties mapped:
+ to
+ Could not complete property mapping as one or more properties have more than one mapping defined.
+ Only alternate types valid for the current location are displayed.
+
+
+ Is Published
+ About this page
+ Alias
+ (how would you describe the picture over the phone)
+ Alternative Links
+ Click to edit this item
+ Created by
+ Original author
+ Updated by
+ Created
+ Date/time this document was created
+ Document Type
+ Editing
+ Remove at
+ This item has been changed after publication
+ This item is not published
+ Last published
+ There are no items to show in the list.
+ Media Type
+ Link to media item(s)
+ Member Group
+ Role
+ Member Type
+ No date chosen
+ Page Title
+ Properties
+ This document is published but is not visible because the parent '%0%' is unpublished
+ Oops: this document is published but is not in the cache (internal error)
+ Publish
+ Publication Status
+ Publish at
+ Unpublish at
+ Clear Date
+ Sortorder is updated
+ To sort the nodes, simply drag the nodes or click one of the column headers. You can select multiple nodes by holding the "shift" or "control" key while selecting
+ Statistics
+ Title (optional)
+ Alternative text (optional)
+ Type
+ Unpublish
+ Last edited
+ Date/time this document was edited
+ Remove file(s)
+ Link to document
+ Member of group(s)
+ Not a member of group(s)
+ Child items
+ Target
+
+
+ Click to upload
+ Drop your files here...
+
+
+ Create a new member
+ All Members
+
+
+ Where do you want to create the new %0%
+ Create an item under
+ Choose a type and a title
+ "document types".]]>
+ "media types".]]>
+
+
+ Browse your website
+ - Hide
+ If Umbraco isn't opening, you might need to allow popups from this site
+ has opened in a new window
+ Restart
+ Visit
+ Welcome
+
+
+ Name
+ Manage hostnames
+ Close this window
+ Are you sure you want to delete
+ Are you sure you want to disable
+ Please check this box to confirm deletion of %0% item(s)
+ Are you sure?
+ Are you sure?
+ Cut
+ Edit Dictionary Item
+ Edit Language
+ Insert local link
+ Insert character
+ Insert graphic headline
+ Insert picture
+ Insert link
+ Click to add a Macro
+ Insert table
+ Last Edited
+ Link
+ Internal link:
+ When using local links, insert "#" in front of link
+ Open in new window?
+ Macro Settings
+ This macro does not contain any properties you can edit
+ Paste
+ Edit Permissions for
+ The items in the recycle bin are now being deleted. Please do not close this window while this operation takes place
+ The recycle bin is now empty
+ When items are deleted from the recycle bin, they will be gone forever
+ regexlib.com's webservice is currently experiencing some problems, which we have no control over. We are very sorry for this inconvenience.]]>
+ Search for a regular expression to add validation to a form field. Example: 'email, 'zip-code' 'url'
+ Remove Macro
+ Required Field
+ Site is reindexed
+ The website cache has been refreshed. All publish content is now up to date. While all unpublished content is still unpublished
+ The website cache will be refreshed. All published content will be updated, while unpublished content will stay unpublished.
+ Number of columns
+ Number of rows
+ Set a placeholder id by setting an ID on your placeholder you can inject content into this template from child templates,
+ by referring this ID using a <asp:content /> element.]]>
+ Select a placeholder id from the list below. You can only
+ choose Id's from the current template's master.]]>
+ Click on the image to see full size
+ Pick item
+ View Cache Item
+
+
+ %0%' below You can add additional languages under the 'languages' in the menu on the left
+ ]]>
+ Culture Name
+
+
+ Enter your username
+ Enter your password
+ Name the %0%...
+ Enter a name...
+ Type to search...
+ Type to filter...
+ Type to add tags (press enter after each tag)...
+
+
+
+ Allow at root
+ Only Content Types with this checked can be created at the root level of Content and Media trees
+ Allowed child node types
+ Document Type Compositions
+ Create
+ Delete tab
+ Description
+ New tab
+ Tab
+ Thumbnail
+ Enable list view
+ Configures the content item to show a sortable & searchable list of its children, the children will not be shown in the tree
+ Current list view
+ The active list view data type
+ Create custom list view
+ Remove custom list view
+
+
+ Add prevalue
+ Database datatype
+ Property editor GUID
+ Property editor
+ Buttons
+ Enable advanced settings for
+ Enable context menu
+ Maximum default size of inserted images
+ Related stylesheets
+ Show label
+ Width and height
+
+
+ Your data has been saved, but before you can publish this page there are some errors you need to fix first:
+ The current membership provider does not support changing password (EnablePasswordRetrieval need to be true)
+ %0% already exists
+ There were errors:
+ There were errors:
+ The password should be a minimum of %0% characters long and contain at least %1% non-alpha numeric character(s)
+ %0% must be an integer
+ The %0% field in the %1% tab is mandatory
+ %0% is a mandatory field
+ %0% at %1% is not in a correct format
+ %0% is not in a correct format
+
+
+ The specified file type has been disallowed by the administrator
+ NOTE! Even though CodeMirror is enabled by configuration, it is disabled in Internet Explorer because it's not stable enough.
+ Please fill both alias and name on the new property type!
+ There is a problem with read/write access to a specific file or folder
+ Please enter a title
+ Please choose a type
+ You're about to make the picture larger than the original size. Are you sure that you want to proceed?
+ Error in python script
+ The python script has not been saved, because it contained error(s)
+ Startnode deleted, please contact your administrator
+ Please mark content before changing style
+ No active styles available
+ Please place cursor at the left of the two cells you wish to merge
+ You cannot split a cell that hasn't been merged.
+ Error in XSLT source
+ The XSLT has not been saved, because it contained error(s)
+ There is a configuration error with the data type used for this property, please check the data type
+
+
+ About
+ Action
+ Actions
+ Add
+ Alias
+ Are you sure?
+ Border
+ by
+ Cancel
+ Cell margin
+ Choose
+ Close
+ Close Window
+ Comment
+ Confirm
+ Constrain proportions
+ Continue
+ Copy
+ Create
+ Database
+ Date
+ Default
+ Delete
+ Deleted
+ Deleting...
+ Design
+ Dimensions
+ Down
+ Download
+ Edit
+ Edited
+ Elements
+ Email
+ Error
+ Find
+ Height
+ Help
+ Icon
+ Import
+ Inner margin
+ Insert
+ Install
+ Justify
+ Language
+ Layout
+ Loading
+ Locked
+ Login
+ Log off
+ Logout
+ Macro
+ Move
+ More
+ Name
+ New
+ Next
+ No
+ of
+ OK
+ Open
+ or
+ Password
+ Path
+ Placeholder ID
+ One moment please...
+ Previous
+ Properties
+ Email to receive form data
+ Recycle Bin
+ Remaining
+ Rename
+ Renew
+ Required
+ Retry
+ Permissions
+ Search
+ Server
+ Show
+ Show page on Send
+ Size
+ Sort
+ Type
+ Type to search...
+ Up
+ Update
+ Upgrade
+ Upload
+ Url
+ User
+ Username
+ Value
+ View
+ Welcome...
+ Width
+ Yes
+ Folder
+ Search results
+
+
+ Background color
+ Bold
+ Text color
+ Font
+ Text
+
+
+ Page
+
+
+ The installer cannot connect to the database.
+ Could not save the web.config file. Please modify the connection string manually.
+ Your database has been found and is identified as
+ Database configuration
+ install button to install the Umbraco %0% database
+ ]]>
+ Next to proceed.]]>
+ Database not found! Please check that the information in the "connection string" of the "web.config" file is correct.
+
To proceed, please edit the "web.config" file (using Visual Studio or your favourite text editor), scroll to the bottom, add the connection string for your database in the key named "UmbracoDbDSN" and save the file.
]]>
+
+ Please contact your ISP if necessary.
+ If you're installing on a local machine or server you might need information from your system administrator.]]>
+
+ Press the upgrade button to upgrade your database to Umbraco %0%
+
+ Don't worry - no content will be deleted and everything will continue working afterwards!
+
+ ]]>
+ Press Next to
+ proceed. ]]>
+ next to continue the configuration wizard]]>
+ The Default users' password needs to be changed!]]>
+ The Default user has been disabled or has no access to Umbraco!
No further actions needs to be taken. Click Next to proceed.]]>
+ The Default user's password has been successfully changed since the installation!
No further actions needs to be taken. Click Next to proceed.]]>
+ The password is changed!
+
+ Umbraco creates a default user with a login ('admin') and password ('default'). It's important that the password is
+ changed to something unique.
+
+
+ This step will check the default user's password and suggest if it needs to be changed.
+
+ ]]>
+ Get a great start, watch our introduction videos
+ By clicking the next button (or modifying the umbracoConfigurationStatus in web.config), you accept the license for this software as specified in the box below. Notice that this Umbraco distribution consists of two different licenses, the open source MIT license for the framework and the Umbraco freeware license that covers the UI.
+ Not installed yet.
+ Affected files and folders
+ More information on setting up permissions for Umbraco here
+ You need to grant ASP.NET modify permissions to the following files/folders
+ Your permission settings are almost perfect!
+ You can run Umbraco without problems, but you will not be able to install packages which are recommended to take full advantage of Umbraco.]]>
+ How to Resolve
+ Click here to read the text version
+ video tutorial on setting up folder permissions for Umbraco or read the text version.]]>
+ Your permission settings might be an issue!
+
+ You can run Umbraco without problems, but you will not be able to create folders or install packages which are recommended to take full advantage of Umbraco.]]>
+ Your permission settings are not ready for Umbraco!
+
+ In order to run Umbraco, you'll need to update your permission settings.]]>
+ Your permission settings are perfect!
+ You are ready to run Umbraco and install packages!]]>
+ Resolving folder issue
+ Follow this link for more information on problems with ASP.NET and creating folders
+ Setting up folder permissions
+
+ I want to start from scratch
+ learn how)
+ You can still choose to install Runway later on. Please go to the Developer section and choose Packages.
+ ]]>
+ You've just set up a clean Umbraco platform. What do you want to do next?
+ Runway is installed
+
+ This is our list of recommended modules, check off the ones you would like to install, or view the full list of modules
+ ]]>
+ Only recommended for experienced users
+ I want to start with a simple website
+
+ "Runway" is a simple website providing some basic document types and templates. The installer can set up Runway for you automatically,
+ but you can easily edit, extend or remove it. It's not necessary and you can perfectly use Umbraco without it. However,
+ Runway offers an easy foundation based on best practices to get you started faster than ever.
+ If you choose to install Runway, you can optionally select basic building blocks called Runway Modules to enhance your Runway pages.
+
+
+ Included with Runway: Home page, Getting Started page, Installing Modules page.
+ Optional Modules: Top Navigation, Sitemap, Contact, Gallery.
+
+ ]]>
+ What is Runway
+ Step 1/5 Accept license
+ Step 2/5: Database configuration
+ Step 3/5: Validating File Permissions
+ Step 4/5: Check Umbraco security
+ Step 5/5: Umbraco is ready to get you started
+ Thank you for choosing Umbraco
+ Browse your new site
+You installed Runway, so why not see how your new website looks.]]>
+ Further help and information
+Get help from our award winning community, browse the documentation or watch some free videos on how to build a simple site, how to use packages and a quick guide to the Umbraco terminology]]>
+ Umbraco %0% is installed and ready for use
+ /web.config file and update the AppSetting key UmbracoConfigurationStatus in the bottom to the value of '%0%'.]]>
+ started instantly by clicking the "Launch Umbraco" button below. If you are new to Umbraco,
+you can find plenty of resources on our getting started pages.]]>
+ Launch Umbraco
+To manage your website, simply open the Umbraco back office and start adding content, updating the templates and stylesheets or add new functionality]]>
+ Connection to database failed.
+ Umbraco Version 3
+ Umbraco Version 4
+ Watch
+ Umbraco %0% for a fresh install or upgrading from version 3.0.
+
]]>
+ [%0%] Notification about %1% performed on %2%
+ Notifications
+
+
+
+ button and locating the package. Umbraco packages usually have a ".umb" or ".zip" extension.
+ ]]>
+ Author
+ Demonstration
+ Documentation
+ Package meta data
+ Package name
+ Package doesn't contain any items
+
+ You can safely remove this from the system by clicking "uninstall package" below.]]>
+ No upgrades available
+ Package options
+ Package readme
+ Package repository
+ Confirm uninstall
+ Package was uninstalled
+ The package was successfully uninstalled
+ Uninstall package
+
+ Notice: any documents, media etc depending on the items you remove, will stop working, and could lead to system instability,
+ so uninstall with caution. If in doubt, contact the package author.]]>
+ Download update from the repository
+ Upgrade package
+ Upgrade instructions
+ There's an upgrade available for this package. You can download it directly from the Umbraco package repository.
+ Package version
+ Package version history
+ View package website
+
+
+ Paste with full formatting (Not recommended)
+ The text you're trying to paste contains special characters or formatting. This could be caused by copying text from Microsoft Word. Umbraco can remove special characters or formatting automatically, so the pasted content will be more suitable for the web.
+ Paste as raw text without any formatting at all
+ Paste, but remove formatting (Recommended)
+
+
+ Role based protection
+ using Umbraco's member groups.]]>
+ role-based authentication.]]>
+ Error Page
+ Used when people are logged on, but do not have access
+ Choose how to restrict access to this page
+ %0% is now protected
+ Protection removed from %0%
+ Login Page
+ Choose the page that contains the login form
+ Remove Protection
+ Select the pages that contain login form and error messages
+ Pick the roles who have access to this page
+ Set the login and password for this page
+ Single user protection
+ If you just want to setup simple protection using a single login and password
+
+
+
+
+
+
+
+
+ Include unpublished child pages
+ Publishing in progress - please wait...
+ %0% out of %1% pages have been published...
+ %0% has been published
+ %0% and subpages have been published
+ Publish %0% and all its subpages
+ ok to publish %0% and thereby making its content publicly available.
+ You can publish this page and all it's sub-pages by checking publish all children below.
+ ]]>
+
+
+ You have not configured any approved colors
+
+
+ enter external link
+ choose internal page
+ Caption
+ Link
+ Open in new window
+ enter the display caption
+ Enter the link
+
+
+ Reset
+
+
+ Current version
+ Red text will not be shown in the selected version. , green means added]]>
+ Document has been rolled back
+ This displays the selected version as HTML, if you wish to see the difference between 2 versions at the same time, use the diff view
+ Rollback to
+ Select version
+ View
+
+
+ Edit script file
+
+
+ Concierge
+ Content
+ Courier
+ Developer
+ Umbraco Configuration Wizard
+ Media
+ Members
+ Newsletters
+ Settings
+ Statistics
+ Translation
+ Users
+ Help
+ Forms
+ Analytics
+
+
+ go to
+ Help topics for
+ Video chapters for
+ The best Umbraco video tutorials
+
+
+ Default template
+ Dictionary Key
+ To import a document type, find the ".udt" file on your computer by clicking the "Browse" button and click "Import" (you'll be asked for confirmation on the next screen)
+ New Tab Title
+ Node type
+ Type
+ Stylesheet
+ Script
+ Stylesheet property
+ Tab
+ Tab Title
+ Tabs
+ Master Content Type enabled
+ This Content Type uses
+ as a Master Content Type. Tabs from Master Content Types are not shown and can only be edited on the Master Content Type itself
+ No properties defined on this tab. Click on the "add a new property" link at the top to create a new property.
+ Master Document Type
+ Create matching template
+
+
+ Sorting complete.
+ Drag the different items up or down below to set how they should be arranged. Or click the column headers to sort the entire collection of items
+ Do not close this window during sorting]]>
+
+
+ Failed
+ Insufficient user permissions, could not complete the operation
+ Cancelled
+ Operation was cancelled by a 3rd party add-in
+ Publishing was cancelled by a 3rd party add-in
+ Property type already exists
+ Property type created
+ DataType: %1%]]>
+ Propertytype deleted
+ Document Type saved
+ Tab created
+ Tab deleted
+ Tab with id: %0% deleted
+ Stylesheet not saved
+ Stylesheet saved
+ Stylesheet saved without any errors
+ Datatype saved
+ Dictionary item saved
+ Publishing failed because the parent page isn't published
+ Content published
+ and visible at the website
+ Content saved
+ Remember to publish to make changes visible
+ Sent For Approval
+ Changes have been sent for approval
+ Media saved
+ Media saved without any errors
+ Member saved
+ Stylesheet Property Saved
+ Stylesheet saved
+ Template saved
+ Error saving user (check log)
+ User Saved
+ User type saved
+ File not saved
+ file could not be saved. Please check file permissions
+ File saved
+ File saved without any errors
+ Language saved
+ Python script not saved
+ Python script could not be saved due to error
+ Python script saved
+ No errors in python script
+ Template not saved
+ Please make sure that you do not have 2 templates with the same alias
+ Template saved
+ Template saved without any errors!
+ XSLT not saved
+ XSLT contained an error
+ XSLT could not be saved, check file permissions
+ XSLT saved
+ No errors in XSLT
+ Content unpublished
+ Partial view saved
+ Partial view saved without any errors!
+ Partial view not saved
+ An error occurred saving the file.
+ Script view saved
+ Script view saved without any errors!
+ Script view not saved
+ An error occurred saving the file.
+ An error occurred saving the file.
+
+
+ Uses CSS syntax ex: h1, .redHeader, .blueTex
+ Edit stylesheet
+ Edit stylesheet property
+ Name to identify the style property in the rich text editor
+ Preview
+ Styles
+
+
+ Edit template
+ Insert content area
+ Insert content area placeholder
+ Insert dictionary item
+ Insert Macro
+ Insert Umbraco page field
+ Master template
+ Quick Guide to Umbraco template tags
+ Template
+
+
+ Insert control
+ Choose a layout for this section
+ below and add your first element]]>
+
+ Click to embed
+ Click to insert image
+ Image caption...
+ Write here...
+ Grid layouts
+ Layouts are the overall work area for the grid editor, usually you only need one or two different layouts
+ Add grid layout
+ Adjust the layout by setting column widths and adding additional sections
+
+ Row configurations
+ Rows are predefined cells arranged horizontally
+ Add row configuration
+ Adjust the row by setting cell widths and adding additional cells
+
+ Columns
+ Total combined number of columns in the grid layout
+
+ Settings
+ Configure what settings editors can change
+
+
+ Styles
+ Configure what styling editors can change
+
+ Settings will only save if the entered json configuration is valid
+
+ Allow all editors
+ Allow all row configurations
+
+
+ Alternative field
+ Alternative Text
+ Casing
+ Encoding
+ Choose field
+ Convert line breaks
+ Replaces line breaks with html-tag <br>
+ Custom Fields
+ Yes, Date only
+ Format as date
+ HTML encode
+ Will replace special characters by their HTML equivalent.
+ Will be inserted after the field value
+ Will be inserted before the field value
+ Lowercase
+ None
+ Insert after field
+ Insert before field
+ Recursive
+ Remove Paragraph tags
+ Will remove any <P> in the beginning and end of the text
+ Standard Fields
+ Uppercase
+ URL encode
+ Will format special characters in URLs
+ Will only be used when the field values above are empty
+ This field will only be used if the primary field is empty
+ Yes, with time. Separator:
+
+
+ Tasks assigned to you
+ assigned to you. To see a detailed view including comments, click on "Details" or just the page name.
+ You can also download the page as XML directly by clicking the "Download Xml" link.
+ To close a translation task, please go to the Details view and click the "Close" button.
+ ]]>
+ close task
+ Translation details
+ Download all translation tasks as XML
+ Download XML
+ Download XML DTD
+ Fields
+ Include subpages
+
+ [%0%] Translation task for %1%
+ No translator users found. Please create a translator user before you start sending content to translation
+ Tasks created by you
+ created by you. To see a detailed view including comments,
+ click on "Details" or just the page name. You can also download the page as XML directly by clicking the "Download Xml" link.
+ To close a translation task, please go to the Details view and click the "Close" button.
+ ]]>
+ The page '%0%' has been send to translation
+ Send the page '%0%' to translation
+ Assigned by
+ Task opened
+ Total words
+ Translate to
+ Translation completed.
+ You can preview the pages, you've just translated, by clicking below. If the original page is found, you will get a comparison of the 2 pages.
+ Translation failed, the XML file might be corrupt
+ Translation options
+ Translator
+ Upload translation XML
+
+
+ Cache Browser
+ Recycle Bin
+ Created packages
+ Data Types
+ Dictionary
+ Installed packages
+ Install skin
+ Install starter kit
+ Languages
+ Install local package
+ Macros
+ Media Types
+ Members
+ Member Groups
+ Roles
+ Member Types
+ Document Types
+ Packages
+ Packages
+ Python Files
+ Install from repository
+ Install Runway
+ Runway modules
+ Scripting Files
+ Scripts
+ Stylesheets
+ Templates
+ XSLT Files
+ Analytics
+
+
+ New update ready
+ %0% is ready, click here for download
+ No connection to server
+ Error checking for update. Please review trace-stack for further information
+
+
+ Administrator
+ Category field
+ Change Your Password
+ Change Your Password
+ Confirm new password
+ You can change your password for accessing the Umbraco Back Office by filling out the form below and click the 'Change Password' button
+ Content Channel
+ Description field
+ Disable User
+ Document Type
+ Editor
+ Excerpt field
+ Language
+ Login
+ Start Node in Media Library
+ Sections
+ Disable Umbraco Access
+ Password
+ Reset password
+ Your password has been changed!
+ Please confirm the new password
+ Enter your new password
+ Your new password cannot be blank!
+ Current password
+ Invalid current password
+ There was a difference between the new password and the confirmed password. Please try again!
+ The confirmed password doesn't match the new password!
+ Replace child node permissions
+ You are currently modifying permissions for the pages:
+ Select pages to modify their permissions
+ Search all children
+ Start Node in Content
+ Name
+ User permissions
+ User type
+ User types
+ Writer
+ Translator
+ Change
+ Your profile
+ Your recent history
+ Session expires in
+
+
diff --git a/Blog/umbraco/Config/Lang/es.xml b/Blog/umbraco/Config/Lang/es.xml
new file mode 100644
index 0000000..6e4d7e5
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/es.xml
@@ -0,0 +1,891 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ Administrar hostnames
+ Auditoría
+ Nodo de Exploración
+ Cambiar tipo de documento
+ Copiar
+ Crear
+ Crear Paquete
+ Borrar
+ Deshabilitar
+ Vaciar Papelera
+ Exportar Documento (tipo)
+ Importar Documento (tipo)
+ Importar Paquete
+ Editar en lienzo
+ Salir
+ Mover
+ Notificaciones
+ Acceso Público
+ Publicar
+ Unpublish
+ Recargar Nodos
+ Republicar sitio completo
+ Permisos
+ Deshacer
+ Enviar a Publicar
+ Enviar a Traducir
+ Ordernar
+ Enviar a publicación
+ Traducir
+ Actualizar
+ Valor por defecto
+
+
+ Permiso denegado.
+ Añadir nuevo dominio
+ quitar
+ Nodo no válido.
+ Formato de dominio no válido.
+ Este dominio ya ha sido asignado.
+ Language
+ Dominio
+ El nuevo dominio %0% ha sido creado
+ El dominio %0% ha sido borrado
+ El dominio'%0%' ya ha sido asignado
+ El dominio %0% ha sido actualizado
+ Editar dominios actuales
+
+ Los dominios de un nivel están soportados, por ej. "example.com/en". De todas formas deberían de evitarse. Mejor usar la configuración cultural especificada arriba.]]>
+
+ Heredar
+ Cultura
+
+ o hereda la cultura de los nodos padres. También se aplicará
+ para el nodo actual, a menos que un dominio por debajo lo aplique también.]]>
+
+ Domains
+
+
+ Visualización de
+
+
+ Seleccionar
+ Selecciona la carpeta actual
+ Hacer otra cosa
+ Negrita
+ Cancelar Sangría del Párrafo
+ Insertar campo de formulario
+ Insertar gráfico de titular
+ Editar Html
+ Sangría
+ Cursiva
+ Centrar
+ Alinear a la Izquierda
+ Alinear a la Derecha
+ Insertar Link
+ Insertar link local (anchor)
+ Lista en Viñetas
+ Lista Numérica
+ Insertar macro
+ Insertar imagen
+ Editar relaciones
+ Guardar
+ Guardar y publicar
+ Guardar y enviar para aprobación
+ Previsualizar
+ La previsualización está deshabilitada porque no hay ninguna plantilla asignada
+ Elegir estilo
+ Mostrar estilos
+ Insertar tabla
+ Volver al listado
+
+
+ Para cambiar el tipo de documento al contenido seleccionado, primero selecciona uno de la lista de tipos válidos.
+ Entonces confirma el mapeo de propiedades del tipo actual al nuevo y haz click en Guardar.
+ El contenido se ha vuelto a publicar.
+ Propiedad actual
+ Tipo actual
+ El tipo de contenido no se puede cambiar, porque no hay alternativas válidas para este contenido.
+ Tipo de documento cambiado
+ Mapeo de propiedades
+ Mapea a la propiedad
+ Nueva plantilla
+ Nuevo tipo
+ ninguno
+ Contenido
+ Selecciona un nuevo Tipo de Documento
+ El tipo de documento del contenido seleccionado ha sido cambiado correctamente a [new type] y las siguientes propiedades mapeadas:
+ a
+ No se ha podido completar el mapeo de propiedades porque uno o más propiedades tienen más de un mapeo definido.
+ Solo se muestran otros tipos válidos para el contenido actual.
+
+
+ Está publicado
+ Acerca de
+ Link alternativo
+ (como describe la imagen sobre el teléfono)
+ Vinculos Alternativos
+ Click para editar esta entrada
+ Creado por
+ Autor original
+ Actualizado por
+ Creado
+ Fecha/hora de creación del documento
+ Tipo de Documento
+ Editando
+ Remover el
+ Esta entrada ha sido modificada después de haber sido publicada
+ Esta entrada no esta publicada
+ Último publicado
+ Tipo de Medio
+ Miembro de Grupo
+ Rol
+ Tipo de miembro
+ Sin fecha
+ Título de la página
+ Propiedades
+ Este documento ha sido publicado pero no es visible porque el padre '%0%' no esta publicado
+ Upss: este documento está publicado pero no está en la caché (error interno)
+ Publicar
+ Estado de la Publicación
+ Publicar el
+ Despublicar el
+ Fecha de Eliminación
+ El Orden esta actualizado
+ Para organizar los nodos, simplemente arrastre los nodos o realice un clic en uno de los encabezados de columna. Puede seleccionar multiple nodos manteniendo presionados "Shift" o "Control" mientras selecciona
+ Estadísticas
+ Título (opcional)
+ Tipo
+ No Publicar
+ Última actualización
+ Fecha/hora este documento fue modificado
+ Eliminar archivo
+ Vínculo al documento
+ Miembro de grupo(s)
+ No es miembreo de grupo(s)
+ Nodos hijo
+ Target
+ No hay datos que mostrar
+
+
+ Haz click para subir archivos
+ Arrastra los archivos aquí...
+
+
+ ¿Dónde quieres crear el nuevo %0%
+ Crear debajo de
+ Elije un tipo y un título
+ "Tipos de documentos".]]>
+ "Tipos de medios".]]>
+
+
+ Navega en tu sitio Web
+ No volver a mostrar
+ Si Umbraco no se ha abierto tendrás que permitir ventanas emergentes para este sitio Web
+ se ha abierto en una nueva ventana
+ Reinicio
+ Visita
+ Bienvenido
+
+
+ Nombre
+ Administrar dominios
+ Cerrar esta ventana
+ Esta usted seguro que desea borrar
+ Esta usted seguro que desea deshabilitar
+ Por favor seleccione esta casilla para confirmar la eliminación de %0% entrada(s)
+ Esta usted seguro?
+ Esta usted Seguro?
+ Cortar
+ Editar entrada del Diccionario
+ Editar idioma
+ Agregar enlace interno
+ Insertar caracter
+ Insertar titular gráfico
+ Insertar imagen
+ Insertar enlace
+ Insertar macro
+ Insertar tabla
+ Última edición
+ Enlace
+ Enlace interno
+ Al usar enlaces locales, insertar "#" delante del enlace
+ ¿Abrir en nueva ventana?
+ Ajustes para la Macro
+ Esta macro no contiene ninguna propiedad que pueda editar
+ Pegar
+ Editar permisos para
+ Se está vaciando la papelera. No cierre esta ventana mientras se ejecuta este proceso
+ La papelera está vacía
+ No podrá recuperar los items una vez sean borrados de la papelera
+ regexlib.com está experimentando algunos problemas en estos momentos, de los cuales no somos responsables. Pedimos disculpas por las molestias.]]>
+ Buscar una expresión regular para agregar validación a un campo de formulario. Ejemplo: 'correo electrónico', código postal "," url "
+ Eliminar macro
+ Campo obligatorio
+ El sitio ha sido reindexado
+ Se ha actualizado la caché y se ha publicado el contenido del sitio web.
+ La caché del sitio web será actualizada. Todos los contenidos publicados serán actualizados, mientras el contenido no publicado permanecerá no publicado.
+ Número de columnas
+ Número de filas
+ Coloca un 'placeholder' id al colocar un ID en tu 'placeholder' puedes insertar contenido en esta plantilla desde una plantilla hija, referenciando este ID usando un elemento<asp:content />.]]>
+ Seleccione una tecla de la lista abajo indicada. Sólo puede elegir a partir de la ID de la plantilla actual del dominio.
+ Haga clic sobre la imagen para verla a tamaño completo.
+ Seleccionar item
+ Ver item en la caché
+
+
+ Editar las diferentes versiones lingüísticas para la entrada en el diccionario '% 0%' debajo añadir otros idiomas en el menu de 'idiomas' en el menú de la izquierda
+
+
+
+ Escribe tu nombre de usuario
+ Escribe tu contraseña
+ Nombre del %0%...
+ Escribe un nombre...
+ Escribe tu búsqueda...
+ Escribe para filtrar resultados...
+
+
+ Permitir en nodo raíz
+ Sólo tipos de contenido permitidos podrán crearse bajo el nodo raíz de los árboles de Contenido y Media
+ Tipos de nodos hijos permitidos
+ Composiciones de Tipo de Documento
+ Crear
+ Borrar pestaña
+ Descripción
+ Nueva pestaña
+ Pestaña
+ Miniatura
+ Permitir vista de listado
+ Configura el contenido para mostrar un listado de nodos hijos, en lugar de mostrarlos en forma de árbol
+ Vista de listado actual
+ El tipo de vista de listado activa
+ Crear un tipo de listado personalizado
+ Quitar el tipo de listado personalizado
+
+
+ añadir prevalor
+
+ Tipo de datos GUID
+ Tipo de datos GUIDprestar control
+ Botones
+ Habilitar la configuración avanzada para
+ Habilitar menú contextual
+ Por defecto, el tamaño máximo de imágenes insertado
+
+ Mostrar etiqueta
+
+
+
+ Se ha guardado la información pero debes solucionar los siguientes errores para poder publicar:
+ La composición actual del proveedor no es compatible con el cambio de la contraseña (Habilitar la contraseña de recuperación es necesaria para que sea cierta)
+ %0% ya existe
+ Se han encontrado los siguientes errores:
+ Se han encontrado los siguientes errores:
+ La clave debe tener como mínimo %0% caracteres y %1% caracter(es) no alfanuméricos
+ %0% debe ser un número entero
+ Debe llenar los campos del %0% al %1%
+ Debe llenar el campo %0%
+ Debe poner el formato correcto del %0% al %1%
+ Debe poner un formato correcto en %0%
+
+
+ NOTA: Aunque CodeMirror esté activado en los ajustes de configuracion, no se muestra en Internet Explorer debido a que no es lo suficientemente estable.'
+ Debe llenar el alias y el nombre en el propertytype
+ Hay un problema de lectura y escritura al acceder a un archivo o carpeta
+
+ Por favor, elija un tipo
+ Usted está a punto de hacer la foto más grande que el tamaño original. ¿Está seguro de que desea continuar?
+ Error en script python
+ El script python no se ha guardado debido a que contenía error(es)
+
+ Por favor, marque el contenido antes de cambiar de estilo
+ No active estilos disponibles
+
+
+
+ El XSLT no se ha guardado, porque contenía un error (s)
+
+
+ Acerca de
+ Acción
+ Acciones
+ Añadir
+ Alias
+ ¿Está seguro?
+ Borde
+ o
+ Cancelar
+ Margen de la celda
+ Elegir
+ Cerrar
+ Cerrar ventana
+ Comentario
+ Confirmar
+ Mantener proporciones
+ Continuar
+ Copiar
+ Crear
+ Base de datos
+ Fecha
+ Por defecto
+ Borrar
+ Borrado
+ Borrando...
+ Diseño
+ Dimensiones
+ Abajo
+ Descargar
+ Editar
+ Editado
+ Elementos
+ Mail
+ Error
+ Buscar
+ Altura
+ Ayuda
+ Icono
+ Importar
+ Margen interno
+ Insertar
+ Instalar
+ Justificar
+ Idioma
+ Diseño
+ Cargando
+ Bloqueado
+ Iniciar sesión
+ Cerrar sesión
+ Cerrar sesión
+ Macro
+ Mover
+ Nombre
+ New
+ Próximo
+ No
+ de
+ OK
+ Abrir
+ o
+ Contraseña
+ Ruta
+ ID de marcador de posición
+ Un momento por favor...
+ Anterior
+ Propiedades
+ Mail para recibir los datos del formulario
+ Papelera
+ Restantes
+ Renombrar
+ Renovar
+ Reintentar
+ Permisos
+ Buscar
+ Servidor
+ Mostrar
+ Mostrar página al enviar
+ Tamaño
+ Ordenar
+ Tipo
+ Tipo que buscar...
+ Arriba
+ Actualizar
+ Actualizar
+ Upload
+ Url
+ Usuario
+ Nombre de usuario
+ Valor
+ Ver
+ Bienvenido...
+ Ancho
+ Si
+
+
+ Color de fondo
+ Negritas
+ Color del texto
+ Fuente
+ Texto
+
+
+ Página
+
+
+ El instalador no puede conectar con la base de datos.
+ No se ha podido guardar el archivo Web.config. Por favor, modifique la cadena de conexión manualmente.
+ Su base de datos ha sido encontrada y ha sido identificada como
+ Configuración de la base de datos
+ instalar strong> para instalar %0% la base de datos de Umbraco]]>
+ Próximo para continuar]]>
+ ¡No se ha encontrado ninguna base de datos! Mira si la información en la "connection string" del “web.config” es correcta.
Para continuar, edite el "web.config" (bien sea usando Visual Studio o su editor de texto preferido), vaya al final del archivo y añada la cadena de conexión para la base de datos con el nombre (key) "umbracoDbDSN" y guarde el archivo.
]]>
+ Por favor, contacta con tu ISP si es necesario. Si estás realizando la instalación en una máquina o servidor local, quizás necesites información de tu administrador de sistemas.]]>
+ Pinche en actualizar para actualizar la base de datos a Umbraco %0%
Ningún contenido será borrado de la base de datos y seguirá funcionando después de la actualización
]]>
+ Pinche en Próximo para continuar. ]]>
+ próximo para continuar con el asistente de configuración]]>
+ La contraseña del usuario por defecto debe ser cambiada]]>
+ El usuario por defecto ha sido desabilitado o ha perdido el acceso a Umbraco!
Pinche en Próximo para continuar.]]>
+ ¡La contraseña del usuario por defecto ha sido cambiada desde que se instaló!
No hay que realizar ninguna tarea más. Pulsa Siguiente para proseguir.]]>
+ ¡La constraseña se ha cambiado!
+ Umbraco crea un usuario por defecto con un nombre de usuario ('admin') y constraseña ('default'). Es importante que la contraseña se cambie a algo único.
Este paso comprobará la contraseña del usuario por defecto y sugerirá si debe cambiarse.
]]>
+ Ten un buen comienzo, visita nuestros videos de introducción
+ Pulsando el botón de Siguiente (o modificando el UmbracoConfigurationStatus en el web.config), aceptar la licencia de este software tal y como se especifica en el cuadro de debajo. Ten en cuenta que esta distribución de Umbraco consta de dos licencias diferentes, la licencia open source MIT para el framework y la licencia Umbraco freeware que cubre la IU.
+ No ha sido instalado.
+ Archivos y directorios afectados
+ Mas información en configurar los permisos para Umbraco aquí
+ Necesitas dar permisos de modificación a ASP.NET para los siguientes archivos/directorios
+ ¡Tu configuración de permisos es casi perfecta!
Puedes ejecutar Umbraco sin problemas, pero no podrás instalar paquetes que es algo recomendable para explotar el potencial de Umbraco.]]>
+ Como Resolver
+ Pulsa aquí para leer la versión de texto
+ video tutoriales acerca de cómo configurar los permisos de los directorios para Umbraco o lee la versión de texto.]]>
+ ¡La configuración de tus permisos podría ser un problema!
Puedes ejecutar Umbraco sin problemas, pero no serás capaz de crear directorios o instalar paquetes que es algo recomendable para explotar el potencial de Umbraco.]]>
+ ¡Tu configuración de permisos no está lista para Umbraco!
Para ejecutar Umbraco, necesitarás actualizar tu configuración de permisos.]]>
+ ¡Tu configuración de permisos es perfecta!
¡Estás listo para ejecutar Umbraco e instalar paquetes!]]>
+ Resolviendo problemas con directorios
+ Sigue este enlace para más información sobre problemas con ASP.NET y creación de directorios
+ Configurando los permisos de directorios
+ Umbraco necesita permisos de lectura/escritura en algunos directorios para poder almacenar archivos tales como imagenes y PDFs. También almacena datos en la caché para mejorar el rendimiento de su sitio web
+ Quiero empezar de cero
+ learn how). Todavía podrás elegir instalar Runway más adelante. Por favor ve a la sección del Desarrollador y elije Paquetes.]]>
+ Acabas de configurar una nueva plataforma Umbraco. ¿Qué deseas hacer ahora?
+ Se ha instalado Runway
+ Esta es nuestra lista de módulos recomendados, selecciona los que desees instalar, o mira la lista completa de módulos ]]>
+ Sólo recomendado para usuarios expertos
+ Quiero empezar con un sitio web sencillo
+ "Runway" es un sitio web sencillo que contiene unos tipos de documentos y plantillas básicos. El instalador puede configurar Runway por ti de forma automática, pero fácilmente puedes editarlo, extenderlo o eliminarlo. No es necesario y puedes usar Umbrao perfectamente sin él. Sin embargo, Runway ofrece unos cimientos sencillos basados en buenas prácticas para iniciarte más rápido que nunca. Si eliges instalar Runway, puedes seleccionar bloques de construcción básicos llamados Módulos de Runway de forma opcional para realzar tus páginas de Runway. > Incluido con Runway: Página de inicio, página de Cómo empezar, página de Instalación de módulos. Módulos opcionales: Navegación superior, Mapa del sitio, Contacto, Galería. ]]>
+ ¿Qué es Runway?
+ Paso 1 de 5. Aceptar los términos de la licencia
+ Paso 2 de 5. Configuración de la base de datos
+ Paso 3 de 5. Autorizar / validar permiso en los archivos
+ Paso 4 de 5. Configurar seguridad en Umbraco
+ Paso 5 de 5. Umbraco está listo para ser usado
+ Gracias por elegir Umbraco
+ Navega a tu nuevo sitio Has instalado Runway, por qué no ves el aspecto de tu nuevo sitio web.]]>
+ Más ayuda e información Consigue ayuda de nuestra premiada comunidad, navega por la documentación o mira algunos videos gratuitos de cómo crear un sitio sencillo, cómo utilizar los paquetes y una guía rápida de la terminología de Umbraco]]>
+ Umbraco %0% ha sido instalado y está listo para ser usado
+ archivo /web.config y actualizar la clave del AppSetting UmbracoConfigurationStatus del final al valor '%0%'.]]>
+ empezar inmediatamente pulsando el botón "Lanzar Umbraco" de debajo. Si eres nuevo con Umbraco, puedes encontrar cantidad de recursos en nuestras páginas de cómo empezar.]]>
+ Lanzar Umbraco Para administrar tu sitio web, simplemente abre el back office de Umbraco y empieza a añadir contenido, a actualizar plantillas y hojas de estilo o a añadir nueva funcionalidad]]>
+ No se ha podido establecer la conexión con la base de datos
+ Umbraco versión 3
+ Umbraco versión 4
+ Mirar
+ Umbraco %0% o actualizar la versión 3.0 a Umbraco %0%.
]]>
+ [%0%] Notificación acerca de %1% realizado en %2%
+ Notificaciones
+
+
+ y localizando el paquete. Los paquetes de Umbraco normalmente tienen la extensión ".umb" o ".zip".]]>
+ Autor
+
+ Documentación
+ Meta datos del paquete
+ Nombre del paquete
+ El paquete no contiene ningún elemento
+ Puedes eliminarlo del sistema de forma segura seleccionando la opción "desinstalar paquete" de abajo.]]>
+ No hay actualizaciones disponibles
+ Opciones del paquete
+ Leeme del paquete
+ Repositorio de paquetes
+ Confirma la desinstalación
+ El paquete ha sido desinstalado
+ El paquete se ha desinstalado correctamente
+ Desinstalar paquete
+ Nota: cualquier documento, archivo etc dependiente de los elementos eliminados, dejará de funcionar, y puede conllevar inestabilidad en el sistema, por lo que lleva cuidado al desinstalar elementos. En caso de duda, contacta con el autor del paquete.]]>
+ Descargar actualización del repositorio
+ Actualizar paquete
+ Instrucciones de actualización
+ Hay una actualización disponible para este paquete. Puedes descargarla directamente del repositorio de paquetes de Umbraco.
+ Versión del paquete
+ Ver página web del paquete
+
+
+ Pegar con formato completo (No recomendado)
+ El texto que estás intentando pegar contiene caractéres o formato especial. El problema puede ser debido al copiar texto desde Microsoft Word. Umbraco puede eliminar estos caractéres o formato especial automáticamente, de esa manera el contenido será más adecuado para la web.
+ Pegar como texto sin formato
+ Pegar, pero quitando el formato (Recomendado)
+
+
+ Proteccion basada en roles
+ usando los grupos de miembros de Umbraco.]]>
+ autenticación basada en roles.]]>
+ Página de error
+ Usada cuando alguien hace login, pero no tiene acceso
+ Elija cómo restringir el acceso a esta página
+ %0% está protegido
+ Protección borrada de %0%
+ Página de login
+ Elija la página que contenga el formulario de login
+ Borrar protección
+ Elija las páginas que contendrán el formulario de login y mensajes de error
+ Elija los roles que tendrán acceso a esta página
+ Elija el login y password para esta página
+ Protección de usuario único
+ Si sólo necesita configurar una protección simple usando un único login y password
+
+
+ %0% no ha podido ser publicado, debido a que una extensión de otro proveedor ha cancelado la acción.
+ Incluir las páginas hija sin publicar
+ Publicación en progreso - por favor, espera...
+ Se han publicado %0% de %1% páginas...
+ %0% se ha publicado
+ %0% y sus subpáginas se han publicado
+ Publicar %0% y todas sus subpáginas
+ aceptar para publicar %0% y por lo tanto, hacer que su contenido esté disponible al público.
Puedes publicar esta página y todas sus subpáginas marcando publicar todos los hijos debajo. ]]>
+
+
+ Añadir un enlace externo
+ Añadir un enlace interno
+ Añadir
+ Título
+ Página interna
+ Enlace
+ Bajar
+ Subir
+ Abrir en una nueva ventana
+ Quitar el enlace
+
+
+ Versión actual
+ Red el texto de la versión seleccionada no se mostrará. , green means added]]>
+ Se ha recuperado la última versión del documento.
+ Esto muestra la versión seleccionada como html, si desea ver la diferencia entre 2 versiones al mismo tiempo, por favor use la vista diff
+ Volver a
+ Elija versión
+ Vista
+
+
+ Editar fichero de script
+
+
+ Conserje
+ Contenido
+ Mensajero
+ Desarrollador
+ Asistente de configuración de Umbraco
+ Media
+ Miembros
+ Boletín informativo
+ Ajustes
+ Estadísticas
+ Traducción
+ Usuarios
+ Ayuda
+ Analytics
+
+
+ Plantilla por defecto
+ Clave de diccionario
+ Para importar un tipo de documento encuentre el fichero ".udt" en su ordenador haciendo click sobre el botón "Navegar" y pulsando "Importar" (se le solicitará confirmación en la siguiente pantalla)
+ Nuevo nombre de la pestaña
+ Tipo de nodo
+ Tipo
+ Hoja de estilos
+ Propiedades de la hoja de estilos
+ Pestaña
+ Nombre de la pestaña
+ Pestañas
+ Tipo de Contenido Maestro activado
+ Este Tipo de Contenido usa
+ como Tipo de Contenido Maestro. Las pestañas para los Tipos de Contenido Maestros no se muestran y solo se pueden modificar desde el Tipo de Contenido Maestro
+ No existen propiedades para esta pestaña. Haga clic en el enlace "añadir nueva propiedad" para crear una nueva propiedad.
+ Tipo de documento Maestro
+ Crear template correspondiente
+
+
+ Ordenación completa.
+ Arrastra las diferentes páginas debajo para colocarlas como deberían estar. O haz click en las cabeceras de las columnas para ordenar todas las páginas
+
+ No cierre esta ventana mientras se está ordenando ]]>
+
+
+ La publicación fue cancelada por un complemento de terceros
+ El tipo de propiedad ya existe
+ Tipo de propiedad creado
+ Tipo de Dato: %1%]]>
+ Tipo de propiedad eliminado
+ Tipo de contenido guardado
+ Pestaña creada
+ Pestaña eliminada
+ Pestaña con id: %0% eliminada
+ La hoja de estilos no se ha guardado
+ Hoja de estilos guardada
+ La hoja de estilos se ha guardado sin errores
+ Tipo de dato guardado
+ Elemento del diccionario guardado
+ La publicación ha fallado porque la página padre no está publicada
+ Contenido publicado
+ y visible en el sitio web
+ Contenido guardado
+ Recuerda publicar para hacer los cambios visibles
+ Mandado para ser aprobado
+ Los cambios se han mandado para ser aprobados
+ Miembro guardado
+ Propiedad de la hoja de estilos guardada
+ Hoja de estilos guardada
+ Plantilla guardada
+ Error grabando usuario (comprueba el log)
+ Usuario grabado
+ El archivo no se ha guardado
+ El archivo no se ha grabado. Por favor, comprueba los permisos de los ficheros
+ Archivo guardado
+ Archivo grabado sin errores
+ Lenguaje guardado
+ El script en Python no se ha guardado
+ El script en Python no se ha podido guardar debido a un error
+ Script en Python guardado
+ No hay errores en el script en Python
+ La plantilla no se ha guardado
+ Por favor, asegúrate de que no hay 2 plantillas con el mismo alias
+ Plantilla guardada
+ Plantilla guardada sin errores
+ El XSLT no se ha guardado
+ El XSLT tenía un error
+ El XSLT no se ha podido guardar, comprueba los permisos de los ficheros
+ XSLT guardado
+ No hay errores en el XSLT
+
+
+ Usa sintaxis CSS, p.ej.: h1, .redHeader, .blueTex
+ Editar hoja de estilos
+ Editar propiedades de la hoja de estilos
+ Nombre para identificar la propiedad del estilo en el editor de texto rico
+ Previsualizar
+ Estilos
+
+
+ Editar plantilla
+ Insertar área de contenido
+ Insertar marcador de posición de área de contenido
+ Insertar objeto del diccionario
+ Insertar macro
+ Insertar campo de página de Umbraco
+ Plantilla principal
+ Guía rápida sobre las etiquetas de plantilla de Umbraco
+ Plantilla
+
+
+ Insertar control
+ Añade más filas
+ y añade tu primer contenido]]>
+
+ Plantillas de Grid
+ Las plantillas son el área de trabajo para el editor de grids, normalmente sólo necesitas una o dos plantillas diferentes
+ Añadir plantilla de grid
+ Ajusta la plantilla configurando la anchura de las columnas y añadiendo más secciones
+
+ Configuraciones de filas
+ Las filas son celdas predefinidas que se disponen horizontalmente
+ Añade una configuración de fila
+ Ajusta la fila configurando los anchos de cada celda y añadiendo más celdas
+
+ Columnas
+ Número total de columnas en la plantilla del grid
+
+ Configuración
+ Configura qué ajustes pueden cambiar los editores
+
+
+ Estilos
+ Configura qué estilos pueden cambiar los editores
+
+ La configuración sólo se guardará si el json introducido es válido
+
+ Permitir todos los controles de edición
+ Permitir todas las configuraciones de fila
+
+
+ Campo opcional
+ Texto opcional
+ MAYÚSCULA/minúscula
+ Elegir campo
+ Convertir a salto de línea
+ Reemplaza los saltos de línea con la etiqueta HTML <br>
+ Si, solamente la fecha
+ Cambiar formato a fecha
+ Codificar HTML
+ Se reemplazarán los caracteres especiales por su código HTML equivalente.
+ Será insertado después del valor del campo
+ Será insertado antes del valor del campo
+ Minúscula
+ Ninguno/ninguna
+ Insertar después del campo
+ Insertar antes del campo
+ Recursivo
+ Borrar los tags del párrafo
+ Borrará cualquier <P> al principio y al final del texto
+ Mayúscula
+ Codificar URL
+ Formateará los caracteres especiales de las URLs
+ Sólo será usado cuando el campo superior esté vacio
+ Este campo será usado unicamente si el campo primario está vacío
+ Si, con el tiempo. Separador:
+
+
+ Tareas asignadas a usted
+ asignadas a usted. Para acceder a la vista detallaa incluyendo comentarios, haga click sobre "Detalles" o sobre el nombre de la página. También puede descargar la página como XML directamente pulsando sobre el enlace "Descarga XML". Para terminar la tarea de traducción, por favor dirijase a la vista de detalles y haga click sobre el botón de "Cerrar". ]]>
+ cerrar tarea
+ Detalles de traducción
+ Descargar todas las tareas pendientes de traducción como archivo xml
+ Descargar xml
+ Descargar xml DTD
+ Campos
+ Incluir subpáginas
+
+ Tarea para tradudir [%0%] por %1%
+ No se encontraron usuarios traductores. Por favor, crea un usuario traductor antes de empezar a mandar contenido para su traducción
+ Tareas creadas por ti
+ creadas por tí. Para ver una vista detallada incluyendo los comentarios, pulsa en "Detalles" o tan solo en el nombre de la página. También puedes descargar la página como XML directamente pulsando en el enlace "Descargar Xml". Para cerrar una tarea de traducción, por favor ve a la vista de Detalles y pulsa el botón de "Cerrar".]]>
+ La página '%0%' se ha mandado a traducción
+ Manda la página '%0%' a traducción
+ Asignada por
+ Tarea abierta
+ Total de palabras
+ Traducir a
+ Traducción hecha.
+ Puedes previsualizar las páginas que acabas de traducir, pulsando debajo. Si la página original existe, se mostrará una comparación de las 2 páginas.
+ La traducción ha fallado. El archivo xml es inválido
+ Opciones para traducir
+ Traductor
+ Subir traducción xml
+
+
+ Caché del navegador
+ Papelera de reciclaje
+ Paquetes creados
+ Tipos de datos
+ Diccionario
+ Paquetes instalados
+ Instalar skin
+ Instalar starter kit
+ Idiomas
+ Instalar paquete local
+ Macros
+ Tipos de medios
+ Miembros
+ Grupos de miembros
+ Roles
+ Tipos de miembros
+ Tipos de documento
+ Paquetes
+ Paquetes
+ Ficheros Python
+ Instalar desde repositorio
+ Instalar pasarela
+ Módulos pasarela
+ Ficheros de script
+ Scripts
+ Hojas de estilo
+ Plantillas
+ Archivos XSLT
+
+
+ Existe una nueva actualización
+ %0% esta listo, pulsa aquí para descargar
+ No hay conexión al servidor
+ Error al comprobar la actualización. Por favor revisa "trace-stack" para conseguir más información.
+
+
+ Administrador
+ Campo de categoria
+ Cambiar contraseña
+ Change Your Password
+ Confirm new password
+ Puede cambiar su contraseña para acceder al 'back office' de Umbraco rellenando el siguiente formulario y haciendo clic en el botón 'Cambiar contraseña'
+ Canal de contenido
+ Campo descriptivo
+ Deshabilitar usuario
+ Tipo de documento
+ Editor
+ Campo de citas
+ Idioma
+ Login
+ Nodo de comienzo en la libreria de medios
+ Secciones
+ Deshabilitar acceso a Umbraco
+ Contraseña
+ Reset password
+ Su contraseña ha sido cambiada
+ Por favor confirme su nueva contraseña
+ Introduzca su nueva contraseña
+ La nueva contraseña no puede estar vacía
+ Current password
+ Invalid current password
+ La nueva contraseña no coincide con la contraseña de confirmación. Por favor, vuela a intentarlo!'
+ La contraseña de confirmación no coincide con la nueva contraseña!'
+ Reemplazar los permisos de los nodos hijo
+ Estas modificando los permisos para las páginas:
+ Selecciona las páginas para modificar sus permisos
+ Buscar en todos los hijos
+ Nodo de comienzo en contenido
+ Nombre de usuario
+ Permisos de usuarios
+ Tipo de usuario
+ Tipos de usuarios
+ Redactor
+ Tu perfil
+ Tu historial reciente
+ La sesión caduca en
+
+
diff --git a/Blog/umbraco/Config/Lang/fr.xml b/Blog/umbraco/Config/Lang/fr.xml
new file mode 100644
index 0000000..da34587
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/fr.xml
@@ -0,0 +1,992 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ Gérer les noms d'hôtes
+ Informations d'audit
+ Parcourir
+ Changer le type de document
+ Copier
+ Créer
+ Créer un package
+ Supprimer
+ Désactiver
+ Vider la corbeille
+ Exporter un type
+ Importer un type
+ Importer un package
+ Editer dans Canvas
+ Déconnexion
+ Déplacer
+ Notifications
+ Accès public
+ Publier
+ Dépublier
+ Rafraîchir
+ Republier le site entier
+ Permissions
+ Version antérieure
+ Envoyer pour publication
+ Envoyer pour traduction
+ Trier
+ Envoyer pour publication
+ Traduire
+ Mettre à jour
+ Valeur par défaut
+
+
+ Permission refusée.
+ Ajouter nouveau domaine
+ Supprimer
+ Noeud invalide.
+ Domaine invalide.
+ Domaine déjà assigné.
+ Domaine
+ Langage
+ Nouveau domaine '%0%' créé
+ Domaine '%0%' supprimé
+ Domaine '%0%' déjà assigné
+ Les domaines contenant un chemin d'un niveau sont autorisés, ex : "example.com/en". Pour autant, cela
+ devrait être évité. Utilisez plutôt la gestion des noms d'hôte.]]>
+ Domaine '%0%' mis à jour
+ Editer les domaines
+ Hériter
+ Culture
+ ou hériter la culture des noeuds parent. S'appliquera aussi'
+ au noeud courant, à moins qu'un domaine soit appliqué aussi.]]>
+ Domaines
+
+
+ Voir pour
+
+
+ Choisir
+ Choisir le répertoire courant
+ Faire autre chose
+ Gras
+ Annuler l'indentation de paragraphe
+ Insérer champ de formulaire
+ Insérer une entête graphique
+ Editer le HTML
+ Indenter le paragraphe
+ Italique
+ Centrer
+ Justifier à gauche
+ Justifier à droite
+ Insérer un lien
+ Insérer une ancre
+ Liste à puces
+ Liste numérique
+ Insérer une macro
+ Insérer une image
+ Editer les relations
+ Sauver
+ Sauver et publier
+ Sauver et envoyer pour approbation
+ Prévisualiser
+ La prévisualisation est désactivée car aucun modèle n'a été assigné.
+ Choisir un style
+ Afficher les styles
+ Insérer un tableau
+
+
+ Pour changer le type de document du contenu séléctionné, choisissez un type valide pour cet emplacement, qui soit conforme à la structure des types de documents.
+ Puis modifiez si nécessaire le mappage des propriétés du type actuel vers le nouveau, et cliquez sur Sauver
+ Le contenu a été republié.
+ Propriété actuelle
+ Type actuel
+ Le type de document ne peut être changé, il n'y a pas d'alternatives valides pour cet emplacement.
+ Type de document modifié
+ Mapper les propriétés
+ Mapper à la propriété
+ Nouveau modèle
+ Nouveau type
+ aucun
+ Contenu
+ Choisir le nouveau Type de Document
+ Le type de document du contenu séléctionné a a bien été changé en [new type] et les propriétés suivantes mappées :
+ en
+ Impossible de terminer le mappage des propriétés car une ou plus des propriétés ont plus de un mappage défini.
+ Seuls les types de documents valides pour cet emplacement sont affichés.
+
+
+ A propos de cette page
+ Alias
+ (comment décririez-vous l'image oralement)
+ Liens alternatifs
+ Cliquez pour éditer cet élément
+ Créé par
+ Auteur original
+ Mis à jour par
+ Créé
+ Date/heure à laquelle ce document a été créé
+ Type de Document
+ Edition
+ Expire le
+ Cet élément a été changé après la publication
+ Cet élément n'est pas publié
+ Dernière publication
+ Il n'y a aucun élément à afficher dans cette liste.
+ Type de Média
+ Lien vers des média(s)
+ Groupe de membres
+ Rôle
+ Type de membre
+ Aucune date choisie
+ Titre de page
+ Propriétés
+ Ce document est publié mais n'est pas visible car son parent '%0%' est dépublié
+ Oups : ce document est publié mais n'est pas présent dans le cache (erreur interne Umbraco)
+ Publier
+ Statut de publication
+ Publié le
+ Dépublié le
+ Supprimer la date
+ Ordre de tri mis à jour
+ Pour trier les noeuds, faites les glisser à l'aide de la souris ou cliquez sur les entêtes de colonne. Vous pouvez séléctionner plusieurs noeuds en gardant la touche "shift" ou "ctrl" enfoncée pendant votre séléction.
+ Statistiques
+ Titre (optionnel)
+ Type
+ Dépublié
+ Dernière édition
+ Date/heure à laquelle ce document a été édité
+ Supprimer fichier(s)
+ Lien vers un document
+ Membre du/des groupe(s)
+ Pas un membre du/des groupe(s)
+ Elements enfants
+ Cible
+
+
+ Cliquez pour télécharger
+ Faites glisser vos fichier ici...
+
+
+ Où voulez-vous créer le nouveau %0%
+ Créer un élément sous
+ Choisissez un type et un titre
+ "Types de documents".]]>
+ "Types de médias".]]>
+
+
+ Parcourir votre site
+ - Cacher
+ Si Umbraco ne s'ouvre pas, vous devriez peut-être autoriser l'ouverture des popups pour ce site.
+ s'est ouvert dans une nouvelle fenêtre
+ Redémarrer
+ Visiter
+ Bienvenue
+
+
+ Name
+ Gérer les noms d'hôtes
+ Fermer cette fenêtre
+ Êtes-vous sûr de vouloir supprimer
+ Êtes-vous sûr de vouloir désactiver
+ Cochez cette case pour confirmer la suppression de %0% élément(s)
+ Êtes-vous sûr ?
+ Êtes-vous sûr ?
+ Couper
+ Editer une entrée du Dictionnaire
+ Editer le langage
+ Insérer une ancre
+ Insérer un caractère
+ Insérer une entête graphique
+ Insérer une image
+ Insérer un lien
+ Insérer une macro
+ Insérer un tableau
+ Dernière modification
+ Lien
+ Lien interne :
+ Si vous utilisez des ancres, insérer # avant le lien
+ Ouvrir dans une nouvelle fenêtre ?
+ Paramètres de macro
+ Cette macro ne contient aucune propriété éditable
+ Coller
+ Editer les permissions pour
+ Les éléments dans la corbeille sont en cours de suppression. Ne fermez pas cette fenêtre avant que cette opération soit terminée.
+ La corbeille est maintenant vide
+ Les éléments supprimés de la corbeille sont supprimés définitivement
+ regexlib.com a actuellement des problèmes sur lesquels nous n'avons aucun contrôle. Excusez-nous pour le désagrément.]]>
+ Rechercher une expression régulière Search for a regular expression to add validation to a form field. Example: 'email, 'zip-code' 'url'
+ Supprimer la macro
+ Champ requis
+ Le site a été réindéxé
+ Le cache du site a été mis à jour. Tous les contenus publiés sont à jour. Et tous les contenus dépubliés sont rendus invisibles.
+ Le cache du site va être mis à jour. Tous les contenus publiés seront à jour. Et tous les contenus dépubliés seront rendus invisibles.
+ Nombre de colonnes
+ Nombre de lignes
+ Définir un placeholder id en mettant un ID sur votre placeholder vous pouvez injecter du contenu à cet endroit depuis vos modèles enfants,
+ en faisant référence à cet id au sein d'un élément <asp:content />.]]>
+ Séléctionnez un placeholder id depuis la liste ci-dessous. Vous pouvez seulement
+ choisir un ID depuis le modèle parent.]]>
+ Cliquez pour voir l'image en taille maximale
+ Séléctionner un élément
+ Voir l'élément de cache
+
+
+ %0%' ci-dessous Vous pouvez ajouter d'autres langages depuis le menu ci-dessous "Langages".
+ ]]>
+ Nom de Culture
+
+
+ Votre nom d'utilisateur
+ Votre mot de passe
+ Nommer %0%...
+ Entrez un nom...
+ Rechercher...
+ Filtrer...
+
+
+ Types de noeuds enfants autorisés
+ Créer
+ Supprimer onglet
+ Description
+ Nouvel onglet
+ Onglet
+ Miniature
+ Activer la vue liste
+
+
+ Ajouter une prévaleur
+ Type de données en base de donées
+ GUID du Property Editor
+ Property editor
+ Boutons
+ Activer les paramètres avancés pour
+ Activer le menu contextuel
+ Taille maximale par défaut des images insérées
+ CSS relatives
+ Afficher le libellé
+ Largeur et hauteur
+
+
+ Vos données ont été sauvegardées, mais avant de publier votre page il y a des erreurs que vous devez corriger :
+ Le Membership Provider n'autorise pas le changement des mots de passe (EnablePasswordRetrieval doit être définit à true)
+ %0% existe déjà
+ Il y a des erreurs :
+ Il y a des erreurs :
+ Le mot de passe doit contenir un minimum de %0% caractères et contenir au moins %1% caractère(s) non-alphanumerique
+ %0% doit être un entier
+ Le champ %0% dans l'onglet %1% est obligatoire
+ %0% est un champ obligatoire
+ %0% dans %1% n'est pas correctement formaté
+ %0% n'est pas correctement formaté
+
+
+ Le type de fichier spécifié n'est pas autorisé par l'administrateur
+ NOTE ! Même si CodeMirror est activé dans la configuration, il est désactivé sur Internet Explorer car il n'est pas stable sur ce navigateur.
+ Remplissez l'alias et le nom de la nouvelle propriété
+ Il y a un problème de droits de lecture/écriture sur un fichier ou dossier spécifique
+ Entrez un titre
+ Choisissez un type
+ Vous allez définir une taille d'image supérieure à sa taille d'origine. Êtes-vous sûr ?
+ Erreur dans le script Python
+ Le script Python n'a pas été sauvegardé, car il contient des erreur(s)
+ Noeud de départ supprimé, contactez votre administrateur
+ Séléctionnez du contenu avant de changer le style
+ Aucun style actif disponible
+ Placez le curseur à gauche des deux cellules que vous voulez fusionner
+ Vous ne pouvez pas scinder une cellule que vous n'avez pas fusionné.
+ Erreur dans le code source XSLT
+ Le XSLT n'a pas été sauvegardé, car il contient des erreur(s)
+ Il y a une erreur de configuration du type de données de cette propriété. Vérifiez ce type de données.
+
+
+ A propos
+ Action
+ Actions
+ Ajouter
+ Alias
+ Êtes-vous sûr ?
+ Bordure
+ par
+ Annuler
+ Marge de cellule
+ Choisir
+ Fermer
+ Fermer la fenêtre
+ Commenter
+ Confirmer
+ Contraindre les proportions
+ Continuer
+ Copier
+ Créer
+ Base de données
+ Date
+ Defaut
+ Supprimer
+ Supprimé
+ Suppression...
+ Design
+ Dimensions
+ Bas
+ Télécharger
+ Editer
+ Edité
+ Elements
+ Email
+ Erreur
+ Trouver
+ Hauteur
+ Aide
+ Icone
+ Importer
+ Marge intérieure
+ Insérer
+ Installer
+ Justifier
+ Langage
+ Layout
+ Chargement
+ Fermé
+ Connexion
+ Déconnexion
+ Déconnexion
+ Macro
+ Déplacer
+ Plus
+ Nom
+ Nouveau
+ Suivant
+ Non
+ de
+ OK
+ Ouvrir
+ ou
+ Mot de passe
+ Chemin
+ Placeholder ID
+ Un moment s'il vous plaît...
+ Précédent
+ Propriétés
+ Email de réception des données de formulaire
+ Corbeille
+ Restant
+ Renommer
+ Renouveller
+ Requis
+ Réessayer
+ Permissions
+ Rechercher
+ Serveur
+ Montrer
+ Afficher la page à l'envoi
+ Taille
+ Trier
+ Type
+ Rechercher...
+ Haut
+ Mettre à jour
+ Upgrader
+ Télécharger
+ Url
+ Utilisateur
+ Nom d'utilisateur
+ Valeur
+ Voir
+ Bienvenue...
+ Largeur
+ Oui
+ Dossier
+ Résultats de recherche
+
+
+ Background color
+ Gras
+ Couleur de texte
+ Police
+ Texte
+
+
+ Page
+
+
+ L'installeur n'a pas pu se connecter à la base de données.
+ Impossible de modifier le fichier web.config file. Modifiez s'il vous plait la "connection string" manuellement.
+ Votre base de données a été détectée et identifiée telle que
+ Configurtion de la base de données
+ install pour installer la base de données Umbraco %0%
+ ]]>
+ Suivant pour procéder.]]>
+ Base de données non trouvée ! Vérifiez les informations de la "connection string" dans le fichier web.config.
+
Pour poursuivre, éditez le fichier "web.config" (avec Visual Studio ou votre éditeur de texte favori), scrollez jusqu'en bas, ajoutez une "connection string" dans la ligne "umbracoDbDSN" et sauvegardez votre fichier.
]]>
+
+ Contactez votre administrateur système si nécessaire.
+ Si vous installez Umbraco sur votre ordinateur, vous aurez probablement besoin de consulter votre administrateur système.]]>
+
+ Appuyez sur le bouton Upgrader pour mettre à jour votre base de données vers Umbraco %0%
+
+ Ne vous inquiétez pas : aucun contenu ne sera supprimé et tout continuera à fonctionner parfaitement ensuite !
+
+ ]]>
+ Appuyez sur Suivant pour
+ poursuivre. ]]>
+ Suivant pour poursuivre la configuration]]>
+ Le mot de passe par défaut doit être changé !]]>
+ L'utilisateur par défaut a été désactivé ou n'a pas accès à Umbraco!
Aucune action n'est requise. Cliquez sur Suivant pour poursuivre.]]>
+ Le mot de passe par défaut a été modifié avec succès !
Aucune action n'est requise. Cliquez sur Suivant pour poursuivre.]]>
+ Le mot de passe a été changé !
+
+ Umbraco créer un utilisateur par défaut avec le login ('admin') et le mot de passe ('default').
+ Il est important que ce mot de passe soit changé pour quelque-chose de sécurisé et unique.
+
+
+ Cette étape va vérifier le mot de passe par défaut et vérifier s'il est nécessaire de le changer.
+
+ ]]>
+ Pour bien commencer, regardez nos vidéos d'introduction
+ En cliquant sur le bouton Suvant (ou en modifiant umbracoConfigurationStatus dans le fichier web.config), vous acceptez la licence de ce logiciel telle que spécifiée dans le champ ci-dessous. Remarque : cette distribution Umbraco consiste en deux licences différentes, la licence open source MIT pour le framework et la licence Umbraco freewarequi couvre l'UI.
+ Pas encore installé.
+ Fichiers et dossiers affectés
+ Plus d'informations sur la définition des permissions
+ Vous devez donner à ASP.NET les droits de modification sur les fichiers/dossiers suivants
+ Vos permissions sont presques parfaites !
+ Vous pouvez faire fonctionner Umbraco sans problèmes, mais vous ne serez pas en mesure d'installer des packages, ce qui est hautement recommandé pour tirer pleinement parti d'Umbraco.]]>
+ Comment le résoudre
+ Cliquez ici pour lire la version texte
+ tutoriel vidéo sur la définition des permissions pour Umbraco, ou lisez la version texte.]]>
+ Vos permissions pourraient être problématiques !
+
+ Vous pouvez faire fonctionner Umbraco sans problèmes, mais vous ne serez pas en mesure d'installer des packages, ce qui est hautement recommandé pour tirer pleinement parti d'Umbraco.]]>
+ Vos permissions ne sont pas prêtes pour Umbraco !
+
+ Pour faire fonctionner Umbraco, vous aurez besoin de mettre à jour les permissions sur les fichiers/dossiers.]]>
+ Vos permissions sont parfaites !
+ Vous êtes prêt à faire fonctionner Umbraco et installer des packages !]]>
+ Résoudre un problème sur un dossier
+ Suivz ce lien pour plus d'informations sur ASP.NET et la création de dossiers
+ Définir les permissions de dossier
+
+ Je veux démarrer "from scratch"
+ Apprenez comment)
+ Vous pouvez toujours choisir d'installer Runway plus tard. Pour cela allez dans la séction "Développeur" et séléctionnez "Packages".
+ ]]>
+ Vous avez mis en oeuvre une plateforme Umbraco clean. Que voulez-vous faire ensuite ?
+ Runway est installé
+
+ Voici la liste des modules recommandés, cochez ceux que vous souhaitez installer, ou regardez la liste complète des modules
+ ]]>
+ Recommandé uniquement pour les utilisateurs expérimentés
+ Je veux commencer avec un site simple
+
+ "Runway" est un simple site fournissant des types de documents et modèles basiques. L'installeur peut mettre en oeuvre Runway automatiquement pour vous,
+ mais vous pouvez facilement léditer, lenrichir, ou le supprimer ensuite. Il n'est pas nécessaire et vous pouvez parfaitement utiliser Umbraco sans. Pour autant,
+ Runway offre un socle facile basé sur des bonnes pratiques pour vous permettre de commencer rapidement.
+ Si vous choisissez d'installer Runway, vous pouvez, de manière optionnelle, choisir des blocks appelés Runway Modules pour enrichir les pages du site.
+
+
+ Inclus avec Runway : Home page, Getting Started page, Installing Modules page.
+ Modules optionnels : Top Navigation, Sitemap, Contact, Gallery.
+
+ ]]>
+ Qu'est ce que Runway
+ Step 1/5 : Licence
+ Step 2/5 : Configuration base de données
+ Step 3/5 : Validation des permissions de fichiers
+ Step 4/5 : Sécurité Umbraco
+ Step 5/5 : Umbraco est prêt
+ Merci d'avoir choisi Umbraco
+ Parcourir votre nouveau site
+Vous avez installé Runway, alors pourquoi pas jeter un oeil au look de votre nouveau site ?]]>
+ Aide et information
+Obtenez de l'aide de notre award winning communauté, parcourez la documentation our regardez quelques vidéos sur "Comemnt construire un site simple", "Comment utiliser les packages" et un guide rapide sur la terminologie Umbraco]]>
+ Umbraco %0% est installé et prêt à être utilisé
+ /web.config file et mettre à jour le paramètre AppSetting dans umbracoConfigurationStatus en bas de la valeur de '%0%'.]]>
+ démarrer maintenant en cliquant sur le bouton "Lancer Umbraco" ci-dessous.
+Si vous débutez sur Umbraco, vous pouvez trouver plein de ressources sur nos pages "Getting Started".]]>
+ Lancer Umbraco
+Pour gérer votre site, ouvrez simplement le backoffice Umbraco et commencez à ajouter du contenu, mettez à jour les templates et feuilles de styles ou ajoutez ds nouvelles fonctionnalités]]>
+ La connexion à la base de données a échoué.
+ Umbraco Version 3
+ Umbraco Version 4
+ Regarder
+ umbraco %0%, qu'il s'agisse d'une installation récente ou de la version 3.0
+
]]>
+ La notification [%0%] à propos de %1% a été executée sur %2%
+ Notifications
+
+
+
+ localisez le package. Les packages Umbraco ont généralement une extension .umb ou .zip.
+ ]]>
+ Auteur
+ Demon
+ Documentation
+ Meta data du package
+ Nom du package
+ Le package ne contient aucun éléments
+
+ Vous pouvez supprimer tranquillement le package de votre installation en cliquant sur "Désinstaller" ci-dessous.]]>
+ Aucune mises à jour disponibles
+ Options de package
+ Package readme
+ Package repository
+ Confirmation de désinstallation
+ Package was uninstalled
+ Le package a été désinstallé avec succès
+ Désintaller le package
+
+ Remarque : tous les documents, media etc dépendants des éléments que vous supprimerez, arrêteront de fonctionner, ce qui peut provoquer une instabilité du système,
+ désinstallez avec prudence. En cas de doute, contactez l'auteur du package.]]>
+ Télécharger la mise à jour depuis le repository
+ Mettre à jour le package
+ Instructions de mise à jour
+ Il y a une mise à jour disponible pour ce package. Vous pouvez la télécharger directement depuis le repository.
+ Version de package
+ Historique des version de package
+ Voir le site internet du package
+
+
+ Coller en conservant le formatage (non recommandé)
+ Le texte que vous tentez de coller contient des caractères spéciaux ou de formatage. Cela peut être dû à une copie d'un texte de Microsoft Word. Umbraco peut supprimer les caractères spéciaux et le formatage automatiquement, de manière à ce que le texte collé soit plus utilisable pour le Web.
+ Coller en tant que texte brut sans formatage
+ Coller, mais supprimer le formatage (recommendé)
+
+
+ Protection basée sur les rôles
+ via les groupes de membres Umbraco.]]>
+ l'authentification basée sur les rôles.]]>
+ Page d'erreur
+ Utilisé quand les gens sont connectés, mais n'ont pas accès
+ Choisissez comment restreindre l'accès à cette page
+ %0% est maintenant protégée
+ Protection supprimée de %0%
+ Page de connexion
+ Choisissez la page qui a le formulaire de login
+ Supprimer la protection
+ Choisissez la page qui contient le formulaire de login et les messages d'erreur
+ Piochez les roles qui ont accès à cette page
+ Définissez l'identifiant et mot de passe pour cette page
+ Protection utilisateur unique
+ Si vous souhaitez simplement mettre en place une protection par identifiant et mot de passe
+
+
+
+
+
+
+
+
+ Inclure les pages enfants non publiées
+ Publication en cours - veuillez patienter...
+ %0% sur %1% des pages ont été publiées...
+ %0% a été publié
+ %0% et ses pages enfants ont été publiées
+ Publier %0% et ses pages enfants
+ ok pour publier %0% et le rendre ainsi accessible publiquement.
+ Vous pouvez publier cette page et ses sous pages en cochant publier tous les enfants ci-dessous.
+ ]]>
+
+
+ Vous n'avez configuré aucune couleurs approuvées
+
+
+ Ajouter un lien externe
+ Ajouter un lien interne
+ Ajouter
+ Légende
+ Page interne
+ URL
+ Descendre
+ Monter
+ Ouvrir dans une nouvelle fenêtre
+ Supprimer le lien
+
+
+ Version actuelle
+ Le texte en Rouge signifit qu'il a été supprimé de la version choisie, vert signifie ajouté]]>
+ Le document est passé à une version antérieure
+ Ceci affiche la version choisie en tant que HTML, si vous souhaitez voir les différences entre les deux versions en même temps, utilisez la vue différentielle
+ Revenir à
+ Choisissez une version
+ Voir
+
+
+ Editer le fichier de script
+
+
+ Concierge
+ Contenu
+ Courier
+ Développeur
+ Assistant de configuration Umbraco
+ Medias
+ Membres
+ Newsletters
+ Paramètres
+ Statistiques
+ Traduction
+ Utilisateurs
+ Aide
+
+
+ Template par défaut
+ Clé de dictionnaire
+ Pour importer un type de document, trouvez le fichier ".udt" sur votre ordinateur en cliquant sur le bouton "Parcourir" et cliquez sur "Importer" (une confirmation vous sera demandé à l'écran d'après)
+ Titre du nouvel onglet
+ Type de noeud
+ Type
+ Feuille de style
+ Script
+ Propriété de feuille de style
+ Onglet
+ Titre de l'onglet
+ Onglets
+ Type de contenu master activé
+ Ce type de contenu utilise
+ en tant que type de contenu master, les onglets du type de contenu master ne sont pas affichés et peuvent seulement être modifiés dans le type de contenu master lui-même.
+ Aucune propriétés définies dans cet onglet. Cliquez sur le lien "Ajouter une nouvelle propriété" en haut pour créer une nouvelle propriété.
+ Type de contenu parent
+ Créer le template correspondant
+
+
+ Tri achevé.
+ Faites glisser les différents éléments ci-dessous vers le haut ou le bas pour définir comment ils doivent être triés. Ou cliquez sur les entêtes de colonne pour trier la collection complète d'éléments
+ Ne fermez pas cette fenêtre durant le tri.]]>
+
+
+ La publication a été annulée par un extension tierce.
+ Le type de propriété existe déjà
+ Type de propriété créé
+ Type de données : %1%]]>
+ Type de propriété supprimé
+ Type de documet sauvegardé
+ Onglet créé
+ Onglet supprimé
+ Onglet d'ID : %0% supprimé
+ Feuille de style non sauvegardée
+ Feuille de style sauvegardée
+ Feuille de style sauvegardée sans erreurs
+ Type de données sauvegardée
+ Element de dictionnaire sauvegardé
+ La publication a échoué car la page parent n'est pas publiée
+ Contenu publié
+ et visible sur le site
+ Content sauvegardé
+ N'oubliez pas de publier pour rendre les changements visibles
+ Envoyer pour approbation
+ Les changements ont été envoyés pour approbation
+ Media sauvegardé
+ Media sauvegardé sans erreurs
+ Membre sauvegardé
+ Propriété de feuille de style sauvegardé
+ Feuille de style sauvegardé
+ Template sauvegardé
+ Erreur lors de la sauvegarde de l'utilisateur
+ Utilisateur sauvegardé
+ Type d'utilisateur sauvegardé
+ Fichier non sauvegardé
+ Le fichier n'a pas pu être sauvegardé. Vérifiez les permissions de fichier.
+ Fichier sauvegardé
+ Fichier sauvegardé sans erreurs
+ Langage sauvegardé
+ Le script Python n'a pas été sauvegardé
+ Le script Python n'a pas été sauvegardé à cause d'erreurs
+ Le script Python a été sauvegardé
+ Aucune erreur dans le script Python
+ Modèle non sauvegardé
+ Assurez-vous de ne pas avoir 2 modèles avec le même alias.
+ Modèle sauvegardé
+ Modèle sauvegardé sans aucune erreurs !
+ Le XSLT n'a pas été sauvegardé
+ Le XSLT contenait une erreur
+ Le XSLT n'a pas pu être sauvegardé, vérifiez les permissions de fichier
+ Le XSLT a été sauvegardé
+ Aucune erreurs dans le XSLT
+ Contenu publié
+ Vue partielle sauvegardée
+ Vue partielle sauvegardée sans erreurs !
+ Vue partielle non sauvegardée
+ Une erreur est survenue lors de la sauvegarde du fichier.
+
+
+ Utilise la synthaxe CSS. Ex : h1, .redHeader, .blueTex
+ Editer la feuille de style
+ Editer la propriété de feuille de style
+ Nommer pour identifier la propriété dans le Rich Text Editor
+ Prévisualiser
+ Styles
+
+
+ Editer le modèle template
+ Insérer une zone de contenu
+ Insérer un placeholder de zone de contenu
+ Insérer un élément de dictionnaire
+ Insert Macro
+ Insert umbraco page field
+ Modèle master
+ Guide rapide aux tags des modèles Umbraco
+ Modèle
+
+
+ Champ alternatif
+ Texte alternatif
+ Casse
+ Encodage
+ Choisir un champ
+ Convertir les sauts de ligne
+ Remplace les sauts de ligne avec des balises <br>
+ Champs particuliers
+ Oui, la date seulement
+ Formater comme une date
+ Encoder en HTML
+ Remplacera les caractères spéciaux par leur équivalent HTML.
+ Sera insérer après la valeur du champ
+ Sera inséré après la valeur du champ
+ Minuscules
+ Aucun
+ Inserer après le champ
+ Inserer après le champ
+ Recursif
+ Supprimer les balises paragraphes
+ Supprimera tous les <P>
+ Champs standards
+ Majuscules
+ Encode en URL
+ Formatera les caractères spéciaux de manière à ce qu'ils soient utilisés dans une URL
+ Sera seulement utilisé quand toutes les valeurs ci-dessous seront vides
+ Ce champ sera utilisé seulement si le champ primaire est vide
+ Yes, with time. Separator:
+
+
+ Tâches qui vous sont assignées
+ vous sont assignées. Pour voir une vue détaillée incluant les commentaires, cliquez sur "Details" ou juste le nom de la page.
+ Vous pouvez télécharger la format au format XML en cliquant sur le lien "Télécharger XML".
+ Pour terminer une tâche de traduction, allez sur Details, puis cliquer sur le bouton "Terminer tâche".
+ ]]>
+ Terminer tâche
+ Détails
+ Télécharger toutes les traductions au format XML
+ Télécharger XML
+ Télécharger la DTD XML
+ Champs
+ Inclure les pages enfants
+
+ [%0%] tâches de traductions pour %1%
+ Aucun utilisateurs traducteurs trouvés. Vous devez créer un utilisateur traducteur avant d'envoyer votre contenu pour traduction
+ Tâches que vous avez créé
+ créées par vous. Pour voir une vue détaillée incluant les commentaires,
+ cliquez sur "Détails" ou juste le nom de la page. Vous pouvez aussi télécharger la page au format XML en cliquant sur le lien "Télécharger XML".
+ Pour terminer une tâche de traduction, allez sur Details, puis cliquer sur le bouton "Terminer tâche".
+ ]]>
+ La page '%0%' a été envoyé pour traduction
+ Envoyer la page '%0%' pour traduction
+ Assignée par
+ Tâches ouvertures
+ Nombre total de mots
+ Traduire en
+ Traduction complétée.
+ Vous pouvez prévisualiser les pages que vous avez traduites, en cliquant ci-dessous. Si la page originale est trouvée, vous aurez la comparaison entre les deux pages.
+ Traductio échouée, il semble que le fichier XML soit corrompu
+ Options de traduction
+ Traducteur
+ Uploader le fichier de traduction XML
+
+
+ Navigateur de cache
+ Corbeille
+ Packages créés
+ Typesde données
+ Dictionnaire
+ Packages installés
+ Installer un skin
+ Installer un starter kit
+ Langages
+ Installer un package local
+ Macros
+ Types de médias
+ Membres
+ Groupes de membres
+ Rôles
+ Types de membres
+ Types de documents
+ Packages
+ Packages
+ Fichiers Python
+ Installer depuis le repository
+ Installer Runway
+ Modules Runway
+ Fichiers de script
+ Scripts
+ Feuilles de style
+ Modèles
+ Fichiers XSLT
+
+
+ Nouvelle mise à jour prête
+ %0% est prêt, cliquez ici pour télécharger
+ Aucune connexion au serveur
+ Erreur lors de la recherche de mises à jour. Vérifiez la stack trace pour obtenir plus d'informations sur l'erreur.
+
+
+ Administrateur
+ Champ catégorie
+ Changer le mot de passe
+ Changez votre mot de passe
+ Confirmez votre nouveau mot de passe
+ Vous pouvez changer votre mot de passe d'accès à Umbraco en remplissant le formulaire ci-dessous puis en cliquant sur le bouton "Changer le mot de passe"
+ Canal de contenu
+ Champ description
+ Désactiver l'utilisateur
+ Type de document
+ Editeur
+ Champ extrait
+ Langage
+ Identifiant
+ Noeud de départ dans la librarie de médias
+ Sections
+ Désactiver l'accès Umbraco
+ Mot de passe
+ Réinitialiser le mot de passe
+ Your password has been changed!
+ Confirmez s'il vous plait votre nouveau mot de passe
+ Entrez votre nouveau mot de passe
+ Votre nouveau mot de passe ne peut être vide !
+ Mot de passe actuel
+ Mot de passe actuel invalide
+ Il y avait une différence entre le nouveau mot de passe et le mot de passe confirmé. Veuillez réessayer
+ Le mot de passe confirmé ne match pas le nouveau mot de passe saisi
+ Remplacer les permissions des noeuds enfants
+ Vous modifiez actuellement les permissions pour les pages :
+ Choisissez les pages pour lesquelles modifier les permissions
+ Rechercher tous les enfants
+ Noeud de départ du contenu
+ Nom d'utilisateur
+ Permissions utilisateur
+ Type d'utilisateur
+ Types d'utilisateur
+ Rédacteur
+ Votre profil
+ Votre historique récent
+ La session expire dans
+
+
diff --git a/Blog/umbraco/Config/Lang/he.xml b/Blog/umbraco/Config/Lang/he.xml
new file mode 100644
index 0000000..4c91548
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/he.xml
@@ -0,0 +1,869 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ נהל שמות מתחם
+ מעקב ביקורות
+ צפה בתוכן
+ העתק
+ צור
+ צור חבילה
+ מחק
+ נטרל
+ רוקן סל מיחזור
+ ייצא סוג קובץ
+ ייצא אל.NET
+ ייצא אל .NET
+ ייבא סוג מסמך
+ ייבא חבילה
+ ערוך במצב "קנבס"
+ יציאה
+ הזז
+ התראות
+ גישה ציבורית
+ פרסם
+ רענן פריטי תוכן
+ פרסם את כל האתר מחדש
+ הרשאות
+ חזור לאחור
+ שלח לפירסום
+ שלח לתירגום
+ מיין
+ שלח לפירסום
+ תרגם
+ עדכן
+ מחק
+ בצע
+ תזמן
+ ייבא נתונים
+ צור הגדרות ילדים
+ יומן משימות מתוזמנות
+
+
+ הוסף דומיין חדש
+ דומיין
+ הדומיין החדש %0% נוסף בהצלחה
+ הדומיין %0% נמחק
+ הדומיין %0% כבר מוקצה
+ לדוגמא: yourdomain.com, www.yourdomain.com
+ הדומיין %0% עודכן בהצלחה
+ ערוך דומיין נוכחי
+
+
+ צופה עבור
+
+
+ מודגש
+ בטל מרחק שוליים מהפסקה
+ הוסף מתוך שדה
+ הוספת קו גרפי
+ ערוך -Html
+ מרחק שוליים מהפסקה
+ נטוי
+ ממורכז
+ מוצמד לשמאל
+ מוצמד לימין
+ הוספת לינק
+ הוספת לינק מקומי (עוגן)
+ רשימת תבליטים
+ רשימה ממוספרת
+ הוספת מקרו
+ הוספת תמונה
+ ערוך הקשר
+ שמור
+ שמור ופרסם
+ שמור ושלח לאישור
+ תצוגה מקדימה
+ בחר עיצוב
+ הצג עיצוב
+ הוספת טבלה
+
+
+ אודות עמוד זה
+ קישור חלופי
+ (תיאור התמונה בקצרה)
+ קישור חלופי
+ לחץ לעריכת פריט זה
+ נוצר על ידי
+ נוצר בתאריך
+ סוג מסמך
+ עריכה
+ הוסר ב
+ פריט זה שונה לאחר פירסומו
+ פריט זה לא פורסם
+ פורסם לאחרונה
+ סוג מדיה
+ קבוצת חברים
+ תפקיד
+ סוג חבר
+ לא נבחר מידע
+ כותרת עמוד
+ הגדרות
+ מסמך זה פורסם אך לא זמין לצפיה, עקב כך שמסמך האב '%0%' ממתין לפירסום
+ פרסם
+ סטטוס פירסום
+ פורסם ב
+ נקה מידע
+ סידור ממוין עודכן
+ כדי למיין את המסמכים, פשוט יש לגרור את המסמכים או ללחוץ על אחד מכותרות העמודות. ניתן לבחור מספר מסמכים בו זמנית על ידי לחיצת "Shift" או "Ctrl" בזמן הבחירה.
+ סטטיסטיקות
+ כותרת (לא חובה)
+ סוג
+ ממתין לפירסום
+ נערך לאחרונה
+ הסר קובץ
+ קשר למסמך
+
+
+ היכן ברצונך ליצור את %0%
+ צור ב
+ בחר סוג וכותרת
+
+
+ סייר באתר
+ - הסתר מידע לצמיתות
+ במידה ואומברקו לא פתוח, יש צורך לאשר חלונות קופצים מאתר זה.
+ נפתח בחלון חדש
+ הפעל מחדש
+ בקר
+ ברוכים הבאים
+
+
+ שם
+ ניהול שם מתחם
+ סגור חלון זה
+ האם הינך בטוח שברצונך למחוק זאת?
+ האם הינך בטוח שברצונך לכבות זאת?
+ סמן תיבה זו לאשר מחיקה סופית של %0% פריט/ים
+ האם הינך בטוח?
+ האם אתה בטוח?
+ גזור
+ ערוך פרט מילון
+ ערוך שפה
+ הוסף קישור מקומי
+ הוסף תו
+ הוסף פס גרפי
+ הוסף תמונה
+ הוסף קישור
+ לחץ להוספת מאקרו חדש
+ הוסף טבלה
+ נערך לאחרונה
+ קישור
+ קישור פנימי:
+ בעת שימוש בקישוריים פנימיים, הוסף "#" בתחילת הקישור
+ לפתוח בחלון חדש?
+ הגדרות מאקרו
+ המאקרו לא מכיל מאפיינים שניתן לערוך
+ הדבק
+ ערוך הרשאות עבור
+ הפריטים הנמצאים בסל המיחזור נמחקים כעת, השאר חלון זה פתוח עד לגמר פעולת המחיקה.
+ סל המיחזור ריק כעת
+ מחיקת פריטים מסל המיחזור תמחוק את הפריטים לצמיתות
+ regexlib.com's webservice is currently experiencing some problems, which we have no control over. We are very sorry for this inconvenience.]]>
+ חיפוש ביטויים להוספת אימות עבור שדות טופס. לדוגמא: 'כתובת אימייל', 'מיקוד', 'כתובת אתר' ועוד
+ הסר מאקרו
+ שדה חובה
+ האתר אונדקס מחדש
+ זיכרון המטמון של האתר רוענן בהצלחה. כל התוכן המפורסם כעת מעודכן, שאר התוכן המיועד לפירסום ימתין לפירסום
+ זיכרון המטמון של האתר ירוענן. כל התוכן שפורסם ירוענן בהתאם, שאר התוכן המיועד לפירסום ימתין לפירסום
+ מספר עמודות
+ מספר שורות
+ Set a placeholder id by setting an ID on your placeholder you can inject content into this template from child templates,
+ by refering this ID using a <asp:content /> element.]]>
+ Select a placeholder id from the list below. You can only
+ choose Id's from the current template's master.]]>
+ לחץ על התמונה לגודל מלא
+ בחר פריט
+ צפה בפרטי זיכרון מטמון
+
+
+ %0%' למטה ניתן להוסיף שפות נוספות תחת "שפות" בתפריט בצד שמאל
+ ]]>
+ שם התצוגה לשפה
+
+
+ תת פריטי תוכן מאושרים:
+ צור
+ מחק לשונית
+ תיאור
+ לשונית חדשה
+ לשונית
+ תמונה ממוזערת
+
+
+ הוסף ערך מקדים
+ סוג מידע עבור בסיס נתונים
+ Data Editor GUID
+ הפוך שליטה
+ כפתורים
+ הפעל הגדרות מתקדמות עבור
+ הפעל תפריט מקושר
+ גודל תמונה מקסימלי כברירת מחדל עבור תמונות המתווספות
+ סגנונות עיצוב קרובים
+ הצג תוויות
+ רוחב ואורך
+
+
+ המידע שלך נשמר, אך לפני שניתן יהיה לפרסם אותו יש צורך לתקן את השגיאות הבאות:
+ ספק החברות הנוכחית לא תומך בשינוי סיסמה (EnablePasswordRetrieval צריך להיות מוגדר על true)
+ השדה %0% כבר קיים
+ התרחשו שגיאות:
+ התרחשו שגיאות:
+ הסיסמה חייבת להיות במינימום של %0% תווים characters long and contain at least %1% non-alpha numeric character(s)
+ %0% חייב להיות מספר שלם
+ השדה %0% בלשונית %1% הינו זה חובה
+ השדה %0% הינו זה חובה
+ %0% ב- %1% אינו הפורמט התקין
+ %0% אינו פורמט תקין
+
+
+ שים לב! למרות ש- CodeMirror מופעל מההגדרות, הוא נמצא במצב כבוי באינטרנט אקספלורר מפאת חוסר יציבות.
+ אנא הזן את את הכינוי והשם עבור סוג המידע!
+ קיימת בעיית הרשאות גישה בקריאה/כתיבה עבור הקובץ או התיקיה הזו
+ אנא בחר כותרת
+ אנא בחר סוג
+ הינך עומד לשנות את התמונה לגודל גדול יותר מהמקור, האם ברצונך להמשיך
+ שגיאות ב- python script
+ ה- python script לא נשמר, מכיל שגיאות
+ הפריט תוכן ההתחלתי נמחק, צור קשר עם מנהל האתר.
+ תחילה יש לסמן תוכן לפני שינוי עיצוב
+ סגנונות עיצוב פעילים לא זמינים
+ יש למקם את הסמן משמאל לשני התאים אותם תרצה למזג
+ אין אפשרות לפצל תא שלא מוזג לפני כן.
+ שגיאה במקור XSLT
+ קובץ ה- XSLT לא נשמר, הקובץ מכיל שגיאות.
+
+
+ אודות
+ פעולה
+ הוסף
+ כינוי
+ האם אתה בטוח?
+ גבול
+ או
+ בטל
+ שוליים לתא
+ בחר
+ סגור
+ סגור חלון
+ הערה
+ אישור
+ שמור על פרופורציות
+ המשך
+ העתק
+ צור
+ בסיס נתונים
+ תאריך
+ ברירת מחדל
+ מחק
+ נמחק
+ מחיקה...
+ עיצוב
+ מימדים
+ למטה
+ הורדה
+ עריכה
+ נערך
+ אלמנטים
+ כתובת אימייל
+ שגיאה
+ חפש
+ אורך
+ עזרה
+ אייקון
+ ייבא
+ שוליים פנימיים
+ הוסף
+ התקנה
+ ליישר
+ שפה
+ תכנית
+ טוען
+ נעול
+ התחבר
+ התנתק
+ התנתק
+ מקרו
+ הזז
+ שם
+ חדש
+ הבא
+ לא
+ של
+ אישור
+ פתח
+ או
+ סיסמה
+ נתיב
+ Placeholder קוד זיהוי
+ אנא המתן בבקשה...
+ הקודם
+ הגדרות
+ כתובת אימייל לקבלת טופס
+ סל מיחזור
+ נשאר
+ שנה שם
+ חידוש
+ נסה שנית
+ הרשאות
+ חיפוש
+ שרת
+ הצג
+ הצג עמוד בשליחה
+ גודל
+ סדר
+ סוג
+ הקלד לחיפוש...
+ למעלה
+ עדכן
+ שדרג
+ העלאה
+ כתובת URL
+ משתמש
+ שם משתמש
+ ערך
+ צפיה
+ ברוכים הבאים...
+ רוחב
+ כן
+
+
+ צבע רקע
+ מובלט
+ צבע טקסט
+ פונט
+ טקסט
+
+
+ עמוד
+
+
+ ההתקנה לא מצליחה להתחבר לבסיס הנתונים.
+ אין אפשרות לשמור את הקובץ Web.config file. הגדר את ה- connection string באופן ידני.
+ בסיס הנתונים שלך נמצא והוא מזוהה כ
+ הגדרת בסיס נתונים
+ install button to install the Umbraco %0% database
+ ]]>
+ Next to proceed.]]>
+ Database not found! Please check that the information in the "connection string" of the “web.config” file is correct.
+
To proceed, please edit the "web.config" file (using Visual Studio or your favourite text editor), scroll to the bottom, add the connection string for your database in the key named "UmbracoDbDSN" and save the file.
]]>
+
+ Please contact your ISP if necessary.
+ If you're installing on a local machine or server you might need information from your system administrator.]]>
+
+ Press the upgrade button to upgrade your database to Umbraco %0%
+
+ Don't worry - no content will be deleted and everything will continue working afterwards!
+
+ ]]>
+ Press Next to
+ proceed. ]]>
+ next to continue the configuration wizard]]>
+ The Default users’ password needs to be changed!]]>
+ The Default user has been disabled or has no access to Umbraco!
No further actions needs to be taken. Click Next to proceed.]]>
+ The Default user's password has been successfully changed since the installation!
No further actions needs to be taken. Click Next to proceed.]]>
+ הסיסמה שונתה!
+
+ Umbraco creates a default user with a login ('admin') and password ('default'). It's important that the password is
+ changed to something unique.
+
+
+ This step will check the default user's password and suggest if it needs to be changed.
+
+ ]]>
+ התחל מכאן, צפה בסרטוני ההדרכה עבור אומברקו
+ על ידי לחיצה על 'הבא', הנך מאשר את פרטי התקנון כפי שמפורט בתיבת הטקטס למטה. שים לב, הפצה זו של אומברקו כוללת שני גירסאות שונות של רשיון,קוד פתוח ברשיון MIT עבור ה- framework ורשיון Umbraco freeware המכסה את ה- UI.
+ לא הותקן עדיין.
+ קבצים ותיקיות המושפעים
+ מידע נוסף אודות התקנה ורשאות עבור אומרקו ניתן לקרוא כאן
+ על מנת לבצע זאת, יש צורך לאפשר הרשאות ל ASP.NET לערוך את הקצבים או התיקיות הבאות
+ Your permission settings are almost perfect!
+ You can run Umbraco without problems, but you will not be able to install packages which are recommended to take full advantage of Umbraco.]]>
+ איך לפתור
+ לחץ כאן לקרוא את גירסת הטקסט
+ video tutorial on setting up folder permissions for Umbraco or read the text version.]]>
+ Your permission settings might be an issue!
+
+ You can run Umbraco without problems, but you will not be able to create folders or install packages which are recommended to take full advantage of Umbraco.]]>
+ Your permission settings are not ready for Umbraco!
+
+ In order to run Umbraco, you'll need to update your permission settings.]]>
+ Your permission settings are perfect!
+ You are ready to run Umbraco and install packages!]]>
+ פתירת בעיות בתיקיה
+ עקוב אחר הלינק המצורף על מנת לפתור בעיות עם ASP.NET ויצירת תיקיות חדשות.
+ הגדרת הרשאות לתיקיה
+
+ אני רוצה להתחיל מאתר ריק
+ learn how)
+ You can still choose to install Runway later on. Please go to the Developer section and choose Packages.
+ ]]>
+ סיימת להתקין את מערכת אומברקו, מה ברצונך לעשות כעת?
+ Runway הותקן
+
+ This is our list of recommended modules, check off the ones you would like to install, or view the full list of modules
+ ]]>
+ המלצות עבור משתמשים מנוסים
+ ברצוני להתחיל עם אתר פשוט
+
+ "Runway" is a simple website providing some basic document types and templates. The installer can set up Runway for you automatically,
+ but you can easily edit, extend or remove it. It’s not necessary and you can perfectly use Umbraco without it. However,
+ Runway offers an easy foundation based on best practices to get you started faster than ever.
+ If you choose to install Runway, you can optionally select basic building blocks called Runway Modules to enhance your Runway pages.
+
+
+ Included with Runway: Home page, Getting Started page, Installing Modules page.
+ Optional Modules: Top Navigation, Sitemap, Contact, Gallery.
+
+ ]]>
+ מה זה Runway
+ צעד 1/5 אישור רשיון
+ צעד 2/5: הגדרת בסיס נתונים
+ צעד 3/5: אימות קובץ ההרשאות
+ צעד 4/5: בדיקת האבטחה של אומברקו
+ צעד 5/5: אומברקו מוכנה להתחיל
+ תודה שבחרת באומברקו
+ Browse your new site
+You installed Runway, so why not see how your new website looks.]]>
+ Further help and information
+Get help from our award winning community, browse the documentation or watch some free videos on how to build a simple site, how to use packages and a quick guide to the Umbraco terminology]]>
+ אומברקו %0% מותקנת ומוכנה לשימוש
+ /web.config file and update the AppSetting key UmbracoConfigurationStatus in the bottom to the value of '%0%'.]]>
+ started instantly by clicking the "Launch Umbraco" button below. If you are new to Umbraco,
+you can find plenty of resources on our getting started pages.]]>
+ Launch Umbraco
+To manage your website, simply open the Umbraco back office and start adding content, updating the templates and stylesheets or add new functionality]]>
+ ההתחברות לבסיס הנתונים נכשלה.
+ Umbraco גירסה 3
+ Umbraco גירסה 4
+ צפה
+ Umbraco %0% for a fresh install or upgrading from version 3.0.
+
]]>
+ [%0%] התראות %1% בוצעו ב %2%
+ התראות
+
+
+
+ ויש לבחור את החבילה הרצויה. לחבילות Umbraco יש בד"כ יש סיומות בשם ".umb" או ".zip".
+ ]]>
+ יוצר החבילה
+ הדגמה
+ תיעוד
+ מטה דטה עבור החבילה
+ שם החבילה
+ החבילה לא מכילה אף פריט
+
+ ניתן למחוק בבטיחות רבה את החבילה מהמערכת על ידי לחיצה על "הסר חבילה".]]>
+ אין עידכונים זמינים
+ אפשרויות חבילה
+ תיאור החבילה
+ מאגר חבילות
+ אשר הסרה
+ החבילה הוסרה
+ החבילה הוסרה בהצלחה!
+ הסר חבילה
+
+ הערה:כל מסמך, מדיה וכו' התלוים בפריטים שהסרת יפסיקו לעבוד, ויכולים להביא למצב של אי יציבות למערכת,
+ יש למחוק קבצים עם זהירות יתרה, אם יש ספק יש לפנות ליוצר החבילה.]]>
+ הורד עידכון מהמאגר
+ שידרוג חבילה
+ הורדות שידרוג
+ קיים עידכון זמין עבור חבילה זו. ניתן להוריד אותו ישירות ממאגר החבילות של אומברקו.
+ גירסת החבילה
+ צפה באתר החבילה
+
+
+ שמור עיצוב בהדבקה (לא מומלץ)
+ הטקסט שאתה עומד להדביק מכיל עיצוב או תווים מיוחדים. דבר זה יגול להגרם בעת העתקה ממסמך בוורד. אומברקו יכולה להסיר את העיצוב או תווים מיוחדים על מנת שהטקסט המועתק יתאים ל- Web.
+ הסר עיצוב באופן מלא בהדבקה
+ הדבק אך הסר רק עיצוב (מומלץ)
+
+
+ תפקיד בסיסי בהגנה
+ על ידי שימוש בקבוצות הקיימות ב Umbraco.]]>
+ בזיהוי תפקיד המשתמש.]]>
+ עמוד שגיאות
+ השתמש בעת התחברות משתמשים וללא אפשרות גישה
+ בחר איך להגביל את הגישה לעמוד זה
+ %0% כעת מוגן
+ הגנה הוסרה עבור %0%
+ עמוד התחברות
+ בחר את העמוד המכיל טופס התחברות
+ הסר הגנה
+ בחר את העמודים המכילים פרטי התחברות והודעות שגיאה
+ בחר את הכללים אשר יש להם גישה לעמוד זה
+ הגדר שם משתמש וסיסמה עבור עמוד זה
+ הגנת משתמש יחיד
+ אם ברצונך להגדיר הגנה פשוטה בעזרת שימוש בשם משתמש וסיסמה
+
+
+
+ כלול עמודי ילדים שלא פורסמו
+ אנא המתן - הפירסום בתהליך...
+ %0% מתוך %1% עמודים פורסמם בהצלחה...
+ העמוד %0% פורסם.
+ העמוד %0% וכל תתי העמודים פורסמו
+ פרסם את העמוד %0% ואת כל תתי העמודים
+ ok כדי לפרסם %0% ולהפוך תוכן זה זמין לציבור הרחב
+ הינך יכולה לפרסם את כל תתי העמודים על ידי סימון פרסם את העמוד את כל תתי העמודים למטה.
+ ]]>
+
+
+ הוסף קישור חיצוני
+ הוסף קישור פנימי
+ הוסף
+ כותרת
+ עמוד פנימי
+ קישור
+ הורד למטה
+ העלה למעלה
+ פתח בחלון חדש
+ הסר קישור
+
+
+ גירסה עדכנית
+ טקסט אדום לא יוצג בגרסא שנבחרה, טקסט ירוק מייצט טקסט שנוסף.]]>
+ המסמך שוחזר בהצלחה
+ להלן הגרסא שנבחרה כHTML, אם הינך לצפות בשינויים בין שתי הגרסאות בו זמנית, בחר ב diff
+ חזור לאחור אל
+ בחר גירסה
+ תצוגה
+
+
+ ערוך קובץ סקריפט
+
+
+ Concierge
+ תוכן
+ Courier
+ מפתח
+ אשף הגדרת אומברקו
+ מדיה
+ חברים
+ עיתון
+ הגדרות
+ סטטיסטיקות
+ תירגום
+ משתמשים
+
+
+ תבנית ברירת מחדל
+ מפתח מילון
+ על מנת לייבא סוג מסמך,מצא את הקובץ ".udt" במחשב שלך על ידי לחיצה על 'סייר' ואז 'ייבא' (ייתכן ותצטרך לבצע אימות במסך הבא)
+ כותרת לשונית חדשה
+ סוג פריט תוכן
+ סוג
+ גליונות סגנון
+ תכונות גליונות סגנון
+ לשונית
+ כותרת לשונית
+ לשוניות
+
+
+ המיון הושלם.
+ יש לגרור את הפריטים מעלה או מטה כדי להגדיר את סדר התוכן. או לחץ על כותרת העמודה כדי למיין את כל פריטי התוכן
+ נא לא לסגור את החלון בזמן המיון]]>
+
+
+ הפירסום בוטל על ידי תוסף צד שלישי
+ סוג תכונה כבר קיים
+ סוג תכונה נשמר
+ סוג מידע: %1%]]>
+ סוג תכונה נמחק
+ סוג מסמך נשמר
+ נוצרה לשונית
+ לשונית נמחקה
+ לשונית עם מזהה: %0% נמחקה
+ סגנון עיצוב לא נשמר
+ סגנון עיצוב נשמר
+ סגנון עיצוב נשמר ללא שגיאות
+ סוג מידע נשמר
+ פריט במילון נשמר
+ הפירסום נכשל, עמוד האב לא מפורסם
+ התוכן פורסם
+ ומוצג לצפיה באתר
+ תוכן נשמר
+ זכור לפרסם את התוכן על מנת שהשינויים יוצגו
+ נשלח לאישור
+ השינויים נשלחו לאישור
+ חבר נשמר
+ תגונה של סגנון עיצוב נשמרה
+ סגנון עיצוב נשמר
+ תבנית נשמרה
+ שגיאה בעת שמירת משתמש (בדוק Log)
+ הגדרות משתמש נשמרו
+ קובץ לא נשמר
+ אין אפשרות לשמור את הקובץ, בדוק הרשאות
+ הקובץ נשמר
+ הקובץ נשמר ללא שגיאות
+ שפה נשמרה
+ Python script לא נשמרו
+ Python script לא נשמרו עקב שגיאות
+ Python script נשמר
+ לא נמצאו שגיאות ב- python script
+ התבנית לא נשמרה
+ שים לב שאין 2 תבניות עם אותו השם/כינוי
+ התבנית נשמרה
+ התבנית נשמרה ללא שגיאות!
+ הקובץ XSLT לאנשמר
+ הקובץ XSLT מכיל שגיאה
+ אין אפשרות לשמור את ה- XSLT, בדוק הרשאות קובץ לפני
+ הקובץ XSLT נשמר
+ אין שגיאות ב- XSLT
+
+
+ השתמש בסינטקס CSS לדוגמא: h1, .redHeader, .blueTex
+ ערוך סגנון עיצוב
+ ערוך הגדרות סגנון עיצוב
+ שם לזיהוי הגדרות ה- style בעורך הטקסט העשיר
+ תצוגה מקדימה
+ עיצובים
+
+
+ ערוך תבנית
+ הוסף איזור תוכן
+ הוסף content area placeholder
+ הוסף פריט מילון
+ הוסף מקרו
+ הוסף שדה עמוד לאומברקו
+ תבנית ראשית
+ מדריך מהיר עבור תבנית תגיות באומברקו
+ תבנית
+
+
+ שדה אלטרנטיבי
+ טקסט חלופי
+ מסגרת
+ בחר שדה
+ המרת מעברי שורה
+ החלף מעברי שורה עם תגית ה HTML <br>
+ כן, תאריך בלבד
+ פורמט תאריך
+ קידוד HTML
+ תווים מיוחדים יוחלפו בתווי HTML מתאימים.
+ יוכנס אחרי ערך השדה
+ יוכנס לפני ערך השדה
+ אותיות קטנות
+ ללא
+ הוסף אחרי השדה
+ הוסף לפני השדה
+ רקורסיבי
+ הסר תגי פסקה
+ מסיר את כל ה- <P> בתחילת ובסוף הטקסט
+ אותיות גדולות
+ קידוד URL
+ תווים מיוחדים יעוצבו ב- URL
+ יבוצע שימוש אך ורק עם ערך השדה יהיה ריק
+ בשדה זה יבוצע שימוש אך ורק אם השדה העיקרי יהיה ריק
+ כן, עם שעה. תו מפריד:
+
+
+ משימות משוייכות אליך
+ שמשוייכות אלייך. כדי לצפות בפרטים נוספים הכוללים תגובות, יש ללחוץ על "פרטים" או על שם העמוד.
+ ניתן בנוסף להוריד את הקובץ כ XML ישירות למחשב על ידי לחיצה ב"הורד קובץ XML".
+ כדי לסגור את משימת התרגום, אנא בחר בצפיה נרחבת ואז יש ללחוץ על כפתור "סגור משימה".
+ ]]>
+ סגור משימה
+ פרטי תירגום
+ הורד את כל התירגומים כקובץ xml
+ הורד קובץ xml
+ הורד xml DTD
+ שדות
+ כלול דפי משנה
+
+ [%0%] משימות תירגום עבור %1%
+ לא נמצאו משתמשמים המוגדרים כמתרגמים. יש ליצור משתמש המוגדר כמתרגם לפני שליחת תוכן לתירגום
+ משימות שנוצרו על ידך
+ שנוצרו על ידיך. כדי לצפות בפרטים נוספים הכוללים תגובות,
+ יש ללחוץ על "פרטי תרגום" או על ידי שם העמוד. ניתן בנוסף להוריד את העמוד כקובץ XML ישירות למחשב על ידי לחיצה על "הורד קובץ XML".
+ כדי לסגור את משימת התרגום, אנא בחר בצפיה נרחבת ואז יש ללחוץ על כפתור "סגור משימה".
+ ]]>
+ העמוד '%0%' נשלח לתירגום
+ שלח את העמוד '%0%' לתירגום
+ הוקצה על ידי
+ משימה נפתחה
+ סך הכל מילים
+ תרגם עבור
+ התירגום הושלם.
+ ניתן לראות תצוגה מקדימה של העמודים שכבר תורגמו על ידי לחיצה על הלינק למטה. If the original page is found, you will get a comparison of the 2 pages.
+ התירגום נכשל, קובץ ה- xml עלול להיות מקולקל
+ אפשרויות תירגום
+ מתרגם
+ העלה קובץ תירגום ב xml
+
+
+ זיכרון מטמון בדפדפן
+ סל מיחזור
+ יצירת חבילות
+ סוגי מידע
+ מילון
+ חבילות מותקנות
+ התקן עיצוב
+ התקן ערכת התחלה
+ שפות
+ התקן חבילה מקומית
+ מקרו
+ סוגי מדיה
+ משתמשים
+ קבוצות משתמשים
+ כללים
+ סוגי משתמשים
+ סוגי מסמכים
+ חבילות
+ חבילות
+ קבצי פייתון
+ התקן מתוך מאגר
+ התקן Runway
+ מודולי Runway
+ קבצי סקריפטים
+ סקריפטים
+ גיליונות סגנון
+ תבניות
+ קבצי XSLT
+
+
+ עידכון חדש זמין
+ %0% זמין, כאן להורדה
+ אין תקשורת עם השרת
+ בדיקת עידכונים נכשלה. בדוק את ה trace-stack למידע נוסף
+
+
+ מנהל ראשי
+ שדה קטגוריה
+ שנה את הסיסמה שלך
+ בעמוד זה ניתן לשנות את הסיסמה שלך ולאחר מכן ללחוץ על הכפתור 'שנה סיסמה' למטה
+ ערוץ תוכן
+ שדה תיאור
+ נטרל משתמש
+ שדה מסמך
+ עורך
+ שדה תקציר
+ שפה
+ שם משתמש
+ התחלה בפריט המדיה
+ אזורים
+ נטרל גישת אומברקו
+ סיסמה
+ הסיסמה שונתה בהצלחה!
+ אישור סיסמה
+ הזן את הסיסמה החדשה שלך
+ שדה סיסמה לא יכול להיות ריק !
+ סיסמאות לא תואמות, אנא בדוק זאת ונסה שנית
+ אישור סיסמה לא תואם !
+ החלף הרשאות בכל תתי הפריטים
+ הינך משנה הרשאות לעמודים הבאים:
+ בחר עמוד/עמודים לשינוי הרשאות
+ חפש בכל הפריטים
+ התחלה בפריט התוכן
+ שם תצוגה
+ הרשאות משתמש
+ סוג משתמש
+ סוגי משתמש
+ כותב
+
+
diff --git a/Blog/umbraco/Config/Lang/it.xml b/Blog/umbraco/Config/Lang/it.xml
new file mode 100644
index 0000000..b0a89cc
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/it.xml
@@ -0,0 +1,846 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ Gestisci hostnames
+ Audit Trail
+ Sfoglia
+ Copia
+ Crea
+ Crea pacchetto
+ Cancella
+ Disabilita
+ Svuota il cestino
+ Esporta il tipo di documento
+ Importa il tipo di documento
+ Importa il pacchetto
+ Modifica in Area di Lavoro
+ Uscita
+ Sposta
+ Notifiche
+ Accesso pubblico
+ Pubblica
+ Aggiorna nodi
+ Ripubblica intero sito
+ Permessi
+ Annulla ultima modifica
+ Invia per la pubblicazione
+ Invia per la traduzione
+ Ordina
+ Invia la pubblicazione
+ Traduci
+ Annulla pubblicazione
+ Aggiorna
+
+
+ Aggiungi nuovo dominio
+ Dominio
+
+
+
+
+
+ Hostname non valido
+ Modifica il dominio corrente
+
+
+ Visualizzazione per
+
+
+ Grassetto
+ Cancella rientro paragrafo
+ Inserisci dal file
+ Inserisci intestazione grafica
+ Modifica Html
+ Inserisci rientro paragrafo
+ Corsivo
+ Centra
+ Allinea testo a sinistra
+ Allinea testo a destra
+ Inserisci Link
+ Inserisci local link (ancora)
+ Elenco puntato
+ Elenco numerato
+ Inserisci macro
+ Inserisci immagine
+ Modifica relazioni
+ Salva
+ Salva e pubblica
+ Salva e invia per approvazione
+ Anteprima
+
+ Scegli lo stile
+ Mostra gli stili
+ Inserisci tabella
+
+
+ Informazioni su questa pagina
+ Link alternativo
+
+ Links alternativi
+ Clicca per modificare questo elemento
+ Creato da
+ Creato il
+ Tipo di documento
+ Modifica
+ Attivo fino al
+
+
+ Ultima pubblicazione
+ Link ai media
+ Tipo di media
+ Gruppo di membri
+ Ruolo
+ Tipologia Membro
+
+ Titolo della Pagina
+
+
+ Pubblicato
+ Stato della pubblicazione
+ Pubblicato il
+ Rimuovi data
+ Ordinamento dei nodi aggiornato
+
+ Statistiche
+ Titolo (opzionale)
+ Tipo
+ Non pubblicare
+ Ultima modifica
+ Rimuovi il file
+ Link al documento
+
+
+
+ Crea al
+ Scegli il tipo ed il titolo
+
+
+
+
+
+ hai aperto una nuova finestra
+ Riavvia
+ Visita
+ Benvenuto
+
+
+ Nome
+ Gestione alias Hostnames
+ Chiudi questa finestra
+
+
+
+
+
+ Taglia
+ Modifica elemento Dictionary
+ Modifica il linguaggio
+ Inserisci il link locale
+ Inserisci carattere
+
+
+ Inserisci link
+ Inserisci macro
+ Inserisci tabella
+ Ultima modifica
+ Link
+
+
+
+ Impostazioni Macro
+
+ Incolla
+ Modifica il Permesso per
+
+
+
+ regexlib.com ha attualmente qualche problema, di cui non abbiamo il controllo. Siamo spiacevoli dell'inconveniente.]]>
+
+ Elimina Macro
+ Campo obbligatorio
+
+
+
+ Numero di colonne
+ Numero di righe
+ Imposta identificativo del placeholder. Settando tale ID puoi inserire il contenuto in questo template dai template figli, facendo riferimento a questo ID usando il codice <asp:content />.]]>
+ Seleziona Identificativo del placeholder dalla lista seguente. Puoi scegliere solo l'ID appartenente al template master corrente.]]>
+
+ Seleziona elemento
+ Visualizza gli elementi in cache
+
+
+
+
+
+
+ Possibili nodetypes figli
+ Crea
+ Cancella tab
+ Descrizione
+ Nuova tab
+ Tab
+ Miniatura
+
+
+
+
+
+ Rendering controllo
+ Bottoni
+ Abilita impostazioni avanzate per
+ Abilita menu contestuale
+ Dimensione massima delle immagini inserite
+ Fogli di stile collegati
+ Visualizza etichetta
+ Larghezza e altezza
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Info
+ Azione
+ Aggiungi
+ Alias
+
+ Bordo
+ o
+ Annulla
+
+ Scegli
+ Chiudi
+ Chiudi la finestra
+ Commento
+ Conferma
+ Blocca le proporzioni
+ Continua
+ Copia
+ Crea
+ Base di dati
+ Data
+ Default
+ Elimina
+ Eliminato
+ Elimina...
+ Design
+ Dimensioni
+
+ Scarica
+ Modifica
+ Modificato
+ Elementi
+ Email
+ Errore
+ Trova
+ Cartella
+ Altezza
+ Guida
+ Icona
+ Importa
+
+ Inserisci
+ Installa
+ Giustificato
+ Lingua
+ Layout
+ Caricamento
+ Bloccato
+ Login
+ Log off
+ Logout
+ Macro
+ Sposta
+ Nome
+ Nuovo
+ Successivo
+ No
+ di
+ Ok
+ Apri
+ o
+ Password
+ Percorso
+
+
+ Precedente
+
+
+ Cestino
+ Rimangono
+ Rinomina
+ Rinnova
+ Riprova
+ Permessi
+ Cerca
+ Server
+ Mostra
+ Mostra la pagina inviata
+ Dimensione
+ Ordina
+ Tipo
+
+ Su
+ Aggiorna
+ Aggiornamento
+ Carica
+ Url
+ Utente
+
+ Valore
+ Vedi
+ Benvenuto...
+ Larghezza
+ Si
+
+
+ Colore di sfondo
+ Grassetto
+ Colore del testo
+ Carattere
+ Testo
+
+
+ Pagina
+
+
+
+
+
+
+ installa per installare il database Umbraco %0% ]]>
+ Avanti per proseguire.]]>
+
+ Database non trovato! Perfavore, controlla che le informazioni della stringa di connessione nel file "web.config" siano corrette.
+
Per procedere, edita il file "web.config" (utilizzando Visual Studio o l'editor di testo che preferisci), scorri in basso, aggiungi la stringa di connessione per il database chiamato "umbracoDbDSN" e salva il file.
]]>
+
+
+ Premi il tasto aggiorna per aggiornare il database ad Umbraco %0%
Non preoccuparti, il contenuto non verrà perso e tutto continuerà a funzionare dopo l'aggiornamento!
]]>
+ Premi il tasto Avanti per continuare.]]>
+ Avanti per continuare la configurazione.]]>
+ La password predefinita per l'utente di default deve essere cambiata!]]>
+ L'utente di default è stato disabilitato o non ha accesso ad Umbraco!
Non è necessario eseguire altre operazioni. Clicca il tasto Avanti per continuare.]]>
+ La password è stata modificata con successo
Non è necessario eseguire altre operazioni. Clicca il tasto Avanti per continuare.]]>
+
+ Umbraco crea un utente ('admin')predefinito e password ('default'). E' importante modificare la password con una personale.
Questo passaggio controlla la password predefinita e ricorda, se necessario, di modificarla.
]]>
+
+
+
+
+
+
+ Le impostazioni dei permessi sono perfette!
Puoi eseguire Umbraco senza problemi, ma potresti non poter installare i pacchetti che sono consigliati per sfruttare tutti i vantaggi offerti da Umbraco.]]>
+
+
+ video tutorial su come impostare i permessi delle cartelle per Umbraco o leggi la versione testuale.]]>
+ Le impostazioni dei permessi potrebbero avere dei problemi!
Puoi eseguire Umbraco, ma potresti non essere in grado di creare cartelle o installare pacchetti che sono raccomandati per sfruttare tutti i vantaggi di Umbraco.]]>
+ Le impostazioni dei permessi non sono corrette per Umbraco!
Per eseguire Umbraco, devi aggiornare le impostazioni dei permessi.]]>
+ La configurazione dei permessi è perfetta!
Sei pronto per avviare Umbraco e installare i pacchetti!]]>
+
+
+
+
+
+ Guarda come) Puoi anche installare eventuali Runway in un secondo momento. Vai nella sezione Developer e scegli Pacchetti.]]>
+
+ Runway è installato
+
+ Questa è la lista dei nostri moduli raccomandati, seleziona quali vorresti installare, o vedi l'intera lista di moduli
+ ]]>
+ Raccommandato solo per utenti esperti
+ Vorrei iniziare da un sito semplice
+
+ "Runway" è un semplice sito web contenente alcuni tipi di documento e alcuni templates di base. L'installer configurerà Runway per te automaticamente,
+ ma tu potrai facilmente modificarlo, estenderlo o eliminarlo. Non è necessario installarlo e potrai usare Umbraco anche senza di esso, ma
+ Runway ti offre le basi e le best practices per cominciare velocemente.
+ Se sceglierai di installare Runway, volendo potrai anche selezionare i moduli di Runway per migliorare le pagine.
+
+
+ Inclusi in Runway: Home page, pagina Guida introduttiva, pagina Installazione moduli
+ Moduli opzionali: Top Navigation, Sitemap, Contatti, Gallery.
+
+ ]]>
+ Cosa è Runway
+ Passo 1/5 Accettazione licenza
+ Passo 2/5: Configurazione database
+ Passo 3/5: Controllo permessi dei file
+ Passo 4/5: Controllo impostazioni sicurezza
+ Passo 5/5: Umbraco è pronto per iniziare
+ Grazie per aver scelto Umbraco
+ Naviga per il tuo nuovo sito
+Hai installato Runway, quindi perché non dare uno sguardo al vostro nuovo sito web.]]>
+ Ulteriori informazioni e assistenza
+Fatti aiutare dalla nostra community, consulta la documentazione o guarda alcuni video gratuiti su come costruire un semplice sito web, come usare i pacchetti e una guida rapida alla terminologia Umbraco]]>
+
+ /web.config e aggiornare la chiave AppSetting UmbracoConfigurationStatus impostando il valore '%0%'.]]>
+
+ iniziare immediatamente cliccando sul bottone "Avvia Umbraco". Se sei nuovo a Umbraco, si possono trovare un sacco di risorse sulle nostre pagine Getting Started.]]>
+
+ Avvia Umbraco
+Per gestire il tuo sito web, è sufficiente aprire il back office di Umbraco e iniziare ad aggiungere i contenuti, aggiornando i modelli e i fogli di stile o aggiungere nuove funzionalità]]>
+ Connessione al database non riuscita.
+ Umbraco Versione 3
+ Umbraco Versione 4
+ Guarda
+ Umbraco %0% per una nuova installazione o per l'aggiornamento dalla versione 3.0.
+
]]>
+ [%0%] Notifica per %1% eseguita su %2%
+ Notifiche
+
+
+
+ e selezionando il pacchetto. I pacchetti Umbraco generalmente hanno l'estensione ".umb" o ".zip".
+ ]]>
+ Autore
+ Dimostrazione
+ Documentazione
+ Meta dati pacchetto
+ Nome del pacchetto
+ Il pacchetto non contiene tutti gli elementi
+
+ E' possibile rimuovere questo pacchetto dal sistema cliccando "rimuovi pacchetto" in basso.]]>
+ Non ci sono aggiornamenti disponibili
+ Opzioni pacchetto
+ Pacchetto leggimi
+ Pacchetto repository
+ Conferma eliminazione
+
+
+ Disinstalla pacchetto
+
+ Avviso: tutti i documenti, i media, etc a seconda degli elementi che rimuoverai, smetteranno di funzionare, e potrebbero portare a un'instabilità del sistema,
+ perciò disinstalla con cautela. In caso di dubbio contattare l'autore del pacchetto.]]>
+
+ Aggiorna pacchetto
+
+
+ Versione del pacchetto
+ Vedi sito web pacchetto
+
+
+
+
+
+
+
+
+
+ usando i gruppi di membri di Umbraco.]]>
+ l'autenticazione basata sui ruoli.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ok per pubblicare %0% e rendere questo contenuto accessibile al pubblico.
Puoi pubblicare questa pagina e tutte le sue sottopagine selezionando pubblica tutti i figli qui sotto.]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Il testo in rosso non verrà mostrato nella versione selezionata, quello in verde verrà aggiunto]]>
+
+
+
+
+
+
+
+
+
+
+ Concierge
+ Contenuto
+ Courier
+ Sviluppo
+ Configurazione guidata Umbraco
+ Media
+ Membri
+ Newsletters
+ Impostazioni
+ Statistiche
+ Traduzione
+ Utenti
+
+
+
+ Tipo di contenuto master abilitato
+ Questo tipo di contenuto usa
+
+
+
+
+
+ Tipo
+ Foglio di stile
+
+ Tab
+ Titolo tab
+ Tabs
+
+
+
+
+ Non chiudere questa finestra durante l'operazione]]>
+
+
+
+
+
+ Tipo di dati: %1%]]>
+
+ Tipo di documento salvato
+ Tab creata
+ Tab eliminata
+ Tab con id: %0% eliminata
+ Contenuto non pubblicare
+
+
+
+ Tipo di dato salvato
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tipo utente salvato
+
+
+
+
+
+ Partial view salvata
+ Partial view salvata senza errori!
+ Partial view non salvata
+ Errore durante il salvataggio del file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Anteprima
+ Stili
+
+
+
+
+
+
+
+
+ Master template
+
+ Template
+
+
+
+
+
+ Scegli il campo
+ Converte le interruzioni di linea
+
+ Campi Personalizzati
+
+
+
+
+
+
+ Minuscolo
+ Nessuno
+
+
+ Ricorsivo
+
+
+ Campi Standard
+ Maiuscolo
+
+
+
+
+
+
+
+ Task assegnati a te
+ assegnate a te. Per vedere i dettagli, commenti inclusi, clicca su "Dettagli" o sul nome della pagina.
+ Puoi anche scaricare la pagina direttamente in formato XML cliccando sul link "Scarica Xml".
+ Per chiudere una traduzione, vai sulla vista Dettagli e clicca sul pulsante "Chiudi".
+ ]]>
+ chiudi task
+ Dettagli
+ Scarica tutte le traduzioni in formato xml
+ Scarica xml
+ Scarica xml DTD
+ Campi
+ Includi le sottopagine
+
+ [%0%] Traduzione per %1%
+
+
+ create da te. Per vedere i dettagli, inclusi i commenti,
+ clicca su "Dettagli" o sul nome della pagina. Puoi anche scaricare la pagina direttamente in formato XML cliccando sul link "Scarica Xml".
+ Per chiudere una traduzione, vai sulla vista Dettagli e clicca sul pulsante "Chiudi".
+ ]]>
+
+
+
+
+
+
+
+
+
+
+ Traduttore
+
+
+
+ Cache Browser
+ Cestino
+ Pacchetti creati
+ Tipi di dato
+ Dizionario
+ Pacchetti installati
+ Installare skin
+ Installare starter kit
+ Lingue
+ Installa un pacchetto locale
+ Macros
+ Tipi di media
+ Membri
+ Gruppi di Membri
+ Ruoli
+ Tipologia Membri
+ Tipi di documento
+ Pacchetti
+ Pacchetti
+ Files Python
+ Installa dal repository
+ Installa Runway
+ Moduli Runway
+ Files di scripting
+ Scripts
+ Fogli di stile
+ Templates
+ Files XSLT
+
+
+
+
+
+
+
+
+ Amministratore
+ Campo Categoria
+ Cambia la tua password
+
+ Conferma la nuova password
+ Contenuto del canale
+ Campo Descrizione
+ Disabilita l'utente
+ Tipo di Documento
+ Editor
+ Campo Eccezione
+ Lingua
+ Login
+
+ Sezioni
+ Modifica la tua password
+
+ Password
+
+
+ Password attuale
+
+
+
+
+
+
+
+
+
+
+ Username
+
+
+
+ Writer
+
+
diff --git a/Blog/umbraco/Config/Lang/ja.xml b/Blog/umbraco/Config/Lang/ja.xml
new file mode 100644
index 0000000..0d3d808
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/ja.xml
@@ -0,0 +1,1060 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ ドメインの割り当て
+ 動作記録
+ ノードの参照
+ ドキュメントタイプの変更
+ コピー
+ 新規作成
+ パッケージの作成
+ 削除
+ 無効
+ ごみ箱を空にする
+ ドキュメントタイプの書出
+ ドキュメントタイプの読込
+ パッケージの読み込み
+ ライブ編集
+ ログアウト
+ 移動
+ メール通知
+ 一般公開
+ 公開
+ 公開を止める
+ 最新の情報に更新
+ サイトのリフレッシュ
+ 復元
+ アクセス権
+ 以前の版に戻る
+ 公開に送る
+ 翻訳に送る
+ 並べ替え
+ 公開する
+ 翻訳
+ 更新
+ 初期値
+
+
+ アクセスが拒否されました
+ ドメインの割り当て
+ ドメインの削除
+ 適当でないノード名
+ 適当でないホスト名
+ そのホスト名は既に利用されています
+ 言語コード
+ ドメイン
+ ドメイン '%0%' が新たに割り当てられました
+ ドメイン '%0%' は削除されました
+ ドメイン '%0%' は既に割り当てられています
+ ドメイン '%0%' は更新されました
+ ドメインの編集
+
+ Inherit
+ カルチャの割り当て
+
+ ドメイン割り当て
+
+
+ これらを表示
+
+
+ 選択
+ 現在のフォルダを選択
+ その他のアクション
+ 太字
+ インデント解除
+ フィールドから挿入
+ グラフィックヘッドラインの挿入
+ HTMLの編集
+ インデント
+ イタリック
+ 中央揃え
+ 左揃え
+ 右揃え
+ リンクの挿入
+ アンカーの挿入
+ 番号なしリスト
+ 番号付きリスト
+ マクロの挿入
+ 画像の挿入
+ 関係性の編集
+ リストに戻る
+ 保存
+ 保存及び公開
+ 保存して承認に送る
+ プレビュー
+ テンプレートが指定されていないのでプレビューは無効になっています
+ スタイルの選択
+ スタイルの表示
+ 表の挿入
+
+
+ ドキュメントタイプを変更するには、まず有効なドキュメントタイプのリストから選択します
+ 確認および現在のドキュメントタイプからのマッピングを割り当て、保存します。
+ コンテントは再公開されています
+ 現在のプロパティ
+ 現在のドキュメントタイプ
+ 有効な代替タイプが存在しないため変更することができません。選択されたコンテントの親の下に許可されたドキュメントタイプへのみ変更ができます
+ ドキュメントタイプを変更しました
+ プロパティを割り当てる
+ 割り当てるプロパティ
+ 新しいテンプレート
+ 新しいドキュメントタイプ
+ None
+ コンテント
+ ドキュメントタイプを変更する
+ プロパティが以下のように割り当てられました
+ から
+ 1つ以上のプロパティを割り当てられませんでした。プロパティが定義が重複しています
+ 有効なドキュメントタイプのみが表示されます
+
+
+ 公開されました
+ このページについて
+ エイリアス
+ (画像を電話でわかるように言葉で説明)
+ 別名のリンク
+ クリックでアイテムを編集する
+ 作成者
+ 作成者
+ 更新者
+ 作成日時
+ このドキュメントが作成された日時
+ ドキュメントタイプ
+ 変種中
+ 公開終了日時
+ このページは公開後変更されています
+ このページは公開されていません
+ 公開日時
+ リストに表示するアイテムはありません
+ メディアタイプ
+ メディアの項目へのリンク
+ メンバーグループ
+ 役割
+ メンバータイプ
+ 日時が選択されていません
+ タイトル
+ プロパティ
+ このページは公開されましたが、親ページの '%0%' が非公開のため閲覧できません
+ このコンテントは公開されていますがキャッシュされていません(内部エラー)
+ 公開
+ 公開状態
+ 公開開始日時
+ 公開停止日時
+ 日時の消去
+ 並び順が更新されました
+ ノードをドラッグ、クリック、または列のヘッダーをクリックする事でノードを簡単にソートできます。SHIFT、CONTROLキーを使い複数のノードを選択する事もできます。
+ 統計
+ タイトル (オプション)
+ 代替テキスト (オプション)
+ 型
+ 非公開
+ 最終更新日時
+ このドキュメントが最後に更新された日時
+ ファイルの消去
+ ページへのリンク
+ グループのメンバー
+ グループのメンバーではありません
+ 子コンテンツ
+ ターゲット
+
+
+ クリックしてアップロードする
+ ファイルをここへドロップ..
+
+
+ メンバーの新規作成
+ 全てのメンバー
+
+
+ どこに新しい %0% を作りますか
+ ここに作成
+ 型とタイトルを選んでください
+ "document types".]]>
+ "media types".]]>
+
+
+ ウェブサイトを参照する
+ 次回から表示しない
+ Umbracoが起動しない時は、このサイトのポップアップを許可してください。
+ 新規ウィンドウで開く
+ 再起動
+ 訪れる
+ ようこそ
+
+
+ 名前
+ ドメインの割り当て
+ このウィンドウを閉じる
+ 削除しますか?
+ 無効にしますか?
+ これらの %0% 個の項目を削除する場合は、チェックボックスにチェックを入れてください
+ ログアウトしますか?
+ 本当にいいですか?
+ 切り取り
+ ディクショナリのアイテムの編集
+ 言語の編集
+ アンカーの挿入
+ 文字の挿入
+ ヘッドライン画像の挿入
+ 画像の挿入
+ リンクの挿入
+ クリックするとマクロを追加
+ 表の挿入
+ 最近の更新
+ リンク
+ 内部リンク:
+ 内部リンクを使うときは、リンクの前に "#" を挿入してください。
+ 新規ウィンドウで開きますか?
+ マクロの設定
+ このマクロは編集できるプロパティがありません
+ 貼り付け
+ 許可の編集
+ ごみ箱を空にしています。実行中はウィンドウを閉じないでください。
+ ごみ箱は空です
+ ごみ箱から削除すると復活させることはできません
+ regexlib.comのウェブサービスに現在問題が起きているかもしれず、操作できませんでした。大変申し訳ありませんがこの機能は使用できません。]]>
+ フォームのフィールドを正規表現で検証できます。例: 'email, 'zip-code' 'url'
+ マクロを削除
+ 必須フィールド
+ サイトは再インデックスされました
+ ウェブサイトのキャッシュがリフレッシュされました。 公開されているコンテンツはリフレッシュされましたが、非公開のコンテンツは非公開のままです。
+ ウェブサイトのキャッシュがリフレッシュされます。 公開されているコンテンツはリフレッシュされますが、非公開のコンテンツは非公開のままです。
+ 行数
+ 列数
+ プレースホルダにidを設定して、子テンプレートからもこのテンプレートをコンテントに入れられるようにできます。
+ IDは<asp:content />エレメントとして用います。]]>
+ プレースホルダのidを選択してください。
+ このテンプレートのマスターで使用可能なIdのみ選択可能です。]]>
+ クリックすると画像がフルサイズで表示されます
+ 項目の選択
+ キャッシュされている項目の表示
+
+
+ %0%' の別の言語版を編集するには、左側のメニューの'言語'でその言語を追加します
+ ]]>
+ カルチャ名
+
+
+ ユーザー名を入力...
+ パスワードを入力...
+ %0%と命名します...
+ ここに名称を入力してください...
+ 検索する...
+ 条件で絞り込む...
+ タグを追加します...
+
+
+ ルートノードとして許可する
+ これを有効にするとコンテンツとメディアツリーのルートレベルに作成することができます
+ 子ノードとして許可するタイプ
+ Document Type Compositions
+ 新規作成
+ 削除
+ 説明
+ 新規見出し
+ 見出し
+ サムネイル
+ リストビューを有効にする
+ 子ノードをツリーに表示せずにリストビューに表示します
+ 現在のリストビュー
+ 有効なリストビューデータタイプ
+ カスタムリストビューを作成する
+ カスタムリストビューを削除する
+
+
+ 値の前に追加
+ データベースのデータ型
+ データ型のGUID
+ 対応させるコントロール
+ ボタン
+ 高度な設定を有効にする
+ コンテキストメニューを有効にする
+ 挿入される画像のデフォルト最大サイズ
+ 関連付けるスタイルシート
+ ラベルの表示
+ 幅と高さ
+
+
+ データは保存されましたが、公開前にこのページの幾つかのエラーを修正しなければなりません:
+ 現在のメンバーシッププロバイダではパスワードを変更できません (EnablePasswordRetrievalがtrueでなければなりません)
+ %0% は既にあります
+ 次の様なエラーが発生しています:
+ 次の様なエラーが発生しています:
+ パスワードは最低でも %0% 文字の長さかつ %1% 文字以上の数以外の文字を含める必要があります
+ %0% は整数でなければなりません
+ %1% タブの %0% フィールドは必須です
+ %0% は必須です
+ %1% の %0% は正しい書式ではありません
+ %0% は正しい書式ではありません
+
+
+ 指定されたファイルタイプは管理者のみに許可されます
+ 注意! CodeMirrorが設定で有効化されていますが、 Internet Explorerでは不安定なので無効化してください。
+ 新しいプロパティ型のエイリアスと名前の両方を設定してください!
+ 特定のファイルまたはフォルタの読み込み/書き込みアクセスに問題があります
+ タイトルを入力してください
+ 型を選択してください
+ 元画像より大きくしようとしていますが、本当によろしいのですか?
+ Pythonスクリプトにエラーがあります
+ 1つ以上のエラーがあるのでこのPythonスクリプトは保存できませんでした
+ 開始ノードが削除されています。管理者に連絡してください。
+ スタイルを変更する前にコンテントをマークしてください
+ 有効なスタイルがありません
+ 結合したい2つのセルの左側にカーソルを置いてください
+ このセルは結合されたものではないので分離する事はできません。
+ XSLTソースにエラーがあります
+ 1つ以上のエラーがあるのでこのXSLTは保存できませんでした
+ このプロパティに使用されているデータタイプにエラーがあります
+
+
+ Umbracoについて
+ アクション
+ アクション選択
+ 追加
+ エイリアス
+ 確かですか?
+ 枠線
+ または
+ キャンセル
+ セルの余白
+ 選択
+ 閉じる
+ ウィンドウを閉じる
+ コメント
+ 確認
+ 縦横比
+ 続行
+ コピー
+ 新規作成
+ データベース
+ 日付
+ 既定
+ 削除
+ 削除済
+ 削除中...
+ デザイン
+ 次元
+ 下
+ ダウンロード
+ 編集
+ 編集済
+ 要素
+ 電子メール
+ エラー
+ 検索
+ 高さ
+ ヘルプ
+ アイコン
+ インポート
+ 内側の余白
+ 挿入
+ インストール
+ 位置揃え
+ 言語
+ レイアウト
+ 読み込み中
+ ロックされています
+ ログイン
+ ログオフ
+ ログアウト
+ マクロ
+ 移動
+ もっと
+ 名前
+ 新規
+ 次へ
+ いいえ
+ of
+ OK
+ 開く
+ または
+ パスワード
+ パス
+ プレースホルダのID
+ しばらくお待ちください...
+ 前へ
+ プロパティ
+ フォームからEmailを受信
+ ごみ箱
+ 残り
+ 名前の変更
+ 更新
+ この項目は必須です
+ 再試行
+ 許可
+ 検索
+ サーバー
+ 表示
+ 送信後にページを表示
+ サイズ
+ 並べ替え
+ 型
+ 検索...
+ 上
+ 更新
+ アップグレード
+ アップロード
+ URL
+ ユーザー
+ ユーザー名
+ 値
+ ビュー
+ ようこそ...
+ 幅
+ はい
+ フォルダー
+ 検索結果
+
+
+ 背景色
+ 太字
+ テキストの色
+ フォント
+ テキスト
+
+
+ ページ
+
+
+ インストーラーはデータベースに接続できませんでした。
+ web.configファイルを保存できませんでした。接続文字列を手作業で編集してください。
+ データベースが見つかりました。識別子:
+ データベースの設定
+ インストールボタンを押すと Umbraco %0% のデータベースへインストールします
+ ]]>
+ 次へを押して続行してください。]]>
+ データベースを見つけられません!"web.config"ファイルの中の"接続文字列"を確認してください。
+
]]>
+
+ 필요하시다면 사용하시는 ISP쪽에 문의하시기 바랍니다..
+ 로컬 머신이나 서버에 설치되어 있다면 해당 시스템 관리자에게 문의하시기 바랍니다.]]>
+ 업그레이드 버튼을 누르면 여러분의 데이터베이스를 Umbraco %0% 로 업데이트합니다.
어떤 컨텐트도 삭제되지 않으니 걱정마세요!
]]>
+ 계속 진행하시려면 다음 을 누르세요. ]]>
+ 다음을 클릭하시면 설정마법사를 계속 진행합니다.]]>
+ 기본 사용자의 암호가 변경되어야 합니다!]]>
+ 기본 사용자가 비활성화되었거나 Umbraco에 접근할 수 없습니다!
더 이상 과정이 필요없으시면 다음을 눌러주세요.]]>
+ 설치후 기본사용자의 암호가 성공적으로 변경되었습니다!
더 이상 과정이 필요없으시면 다음을 눌러주세요.]]>
+ 비밀번호가 변경되었습니다!
+
+ Umbraco 는 로긴을 위한 기본 ('admin') 사용자를 만들고 암호를 ('default')로 설정합니다. 암호를 꼭변경하셔야 합니다.
+
+
+ 이 과정은 기본 사용자의 암호를 체크하고 변경이 필요한 부분을 제안합니다.
+
+ ]]>
+ 편리한 시작을 위해, 소개 Video를 시청하세요
+ 다음버튼을 누르시면 (또는Web.config에 UmbracoConfigurationStatus를 수정하시면), 여러분은 아래에 명시된 소프트웨어 라이센스를 수락합니다. Umbraco 배포는 2가지 다른 라이센스로 구성되어 있습니다. 프레임워크에는 오픈소스 MIT라이센스가 UI에는 Umbraco 프리웨어 라이센스가 적용됩니다.
+ 아직 설치되지 않았습니다.
+ 영향받는 파일과 폴더
+ Umbraco권한관리을 위해 더정보가 필요하시면 여기를 누르세요
+ 다음 파일/폴더에 ASP.NET 수정권한이 필요합니다.
+ 권한 설정이 대부분 완벽합니다!
+ 여러분은 문제없이 Umbraco사용이 가능하지만 일부 추천 패키지가 설치되지 않을 수 있습니다.]]>
+ 문제해결방법
+ 문서버전을 읽으시려면 클릭하세요
+ Video tutorial를 시청하세요.]]>
+ 퍼미션 세팅에 문제가 있을 수 있습니다.
+
+ Umbraco를 문제없이 실행할 수 있지만, 폴더를 만들거나 추천패키지를 설치하지 못할 수 있습니다.]]>
+ 권한 설정이 완료되지 않았습니다!
+
+ Umbraco 실행을 위해, 권한설정을 업데이트하세요.]]>
+ 권한세팅이 완벽합니다!
+ Umbraco 패키지 설치를 진행할 준비가 되었습니다. ]]>
+ 폴더 문제해결
+ 다음 링크는 ASP.NET이나 폴더생성문제에 대한 더 많은 정보를 제공합니다.
+ 폴더 권한 세팅
+ Umbraco 는 특정 디렉토리에 쓰기/수정 권한이 필요합니다. 이것은 PDF나 그림과 같은 파일을 저장하고 cache같은 임시데이터을 위해 사용됩니다.
+ scratch를 시작하기 원합니다.
+ learn how)
+ Runway설치를 나중에 실행하실 수 있습니다. 개발도구 부분에서 패키지를 선택하세요.
+ ]]>
+ 여러분은 Umbraco 플랫폼 설치를 완료하였습니다. 다음엔 어떤 작업을 원하십니까?
+ Runway 가 설치됨
+
+ 이것은 저희가 권장하는 모듈들입니다. 설치를 원하시는 모듈을 확인하세요 모듈이 없다면 전체 모듈리스트를 보세요
+ ]]>
+ 경험이 있는 사용자 분들만 추천합니다.
+ 간단한 웹사이트 생성을 원합니다.
+
+ "Runway" 는 간단한 웹사이트 생성을 위한 기본 문서타입과 템플릿을 제공합니다. 인스톨러를 이용해 Runway를 자동으로 설치하신 후
+ 여러분은 쉽게 수정, 확장, 삭제가 가능하십니다.
+ Umbraco에 익숙하시다면 Runway 가 필요없지만 그렇지 않으신경우 Runway는 가장 빨리 시작할 수 있는 최고의 예제를 제공합니다.
+ Runway 설치를 선택하시면, 여러분은 옵션으로 Runway 페이지에 쓰이는 Runway 모듈로 불리는 기본 빌딩 블록들을 선택하실 수 있습니다.
+
+
+ Runway 포함사항: 홈페이지, Getting Started 페이지, 모듈 설치페이지.
+ 옵션 모듈들: 네이게이션, 사이트맵, 연락처, 갤러리.
+
+ ]]>
+ Runway 란?
+ Step 1/5 라이센스 허가
+ Step 2/5 데이터베이스 설정
+ Step 3/5 파일권한 확인
+ Step 4/5 Umbraco 보안설정 확인
+ Step 5/5 Umbraco를 시작할 준비가 되었습니다.
+ Umbraco를 선택해주셔서 감사합니다.
+ 새 사이트 보기
+ Runway가 설치되었습니다, 새 웹사이트를 볼 수 있습니다.]]>
+ 고급 도움말과 정보
+ 우수 커뮤니티에서 도음을 받으세요. 간단한 사이트제작이나 패키지 사용법, Umbraco기술의 퀵가이드를 제공하는 문서를 보시거나 무료 비디오를 시청하세요.]]>
+ Umbraco %0% 가 설치되어 사용준비가 되었습니다.
+ /web.config file을 수동으로 편집해야 합니다. AppSetting 키의 UmbracoConfigurationStatus 를 '%0%'의 값으로 설정하세요.]]>
+ Umbraco 와 첫만남이시면 아래의 "Umbraco 접속하기" 버튼을 클릭하여 즉시 시작하실 수 있습니다.
+ 시작페이지에서 풍부한 리소소를 제공받을 수 있습니다.]]>
+ Umbraco 실행
+사이트 관리를 위해서 Umbraco 관리자를 여시고 컨텐츠를 추가하시거나 템플릿과 스타일시트 업데이트 또는 새기능을 추가하세요]]>
+ 데이터베이스에 연결 실패
+ Umbraco 버전 3
+ Umbraco 버전 4
+ 보기
+ Umbraco %0% 로 신규설치나 업그레이드가 가능하도록 도와줍니다.
+
]]>
+ %1%에 대한 [%0]알림이 %2%에 생성되었습니다
+ 알림
+
+
+
+ Umbraco 패키지는 보통 ".umb" 나 ".zip" 확장자를 가집니다.
+ ]]>
+ 저자
+ 데모
+ 문서화
+ 패키지 메타데이터
+ 패키지 이름
+ 패키지가 포함한 아이템이 없습니다.
+
+ 아래 "패키지 삭제"를 클릭하시면 안전하게 시스템에서 삭제하실 수 있습니다.]]>
+ 업그레이드할 패키지가 없습니다.
+ 패키지 옵션
+ 패키지 정보
+ 패키지 저장소
+ 삭제 확인
+ 패키지가 삭제되었습니다.
+ 패키지가 성공적으로 삭제되었습니다.
+ 패키지 삭제
+
+ 알림: 문서, 미디어등 삭제항목에 관련된 모든 항목이 삭제됩니다, 작업을 중단하면 시스템이 불안정적으로 동작할 수 있습니다.
+ 삭제는 매우 주의를 요하기 때문에 의심스러운항목은 패키지 제작자에게 문의하시기 바랍니다.]]>
+ 저장소에서 업데이트 다운로드
+ 업그레이드 패키지
+ 업그레이드 지시사항
+ 업그레이드할 패키지가 없습니다. Umbraco패키지 저장소에서 직접다운로드하실 수 있습니다.
+ 패키지 버전
+ 패키지 웹사이트 보기
+
+
+ 포맷을 포함여하 붙여넣기(권장하지 않음)
+ 붙여넣으려는 텍스트에 특수한 문자나 포맷이 포함되어있습니다. Microsoft Word문서에서 바로 복사해와서 문제가 발생된것일 수 있습니다. Umbraco는 붙여넣으려는 컨텐츠가 웹에 적합하도록 특수한 문자나 포맷을 자동으로 제거합니다
+ 포맷을 전혀 적용하지 않고 붙여넣기
+ 포맷을 제거하고 붙여넣기(권장)
+
+
+ 역할 기반 제한
+ Umbraco의 사용자그룹을 사용하세요.]]>
+ 사용자 그룹부터 생성해야합니다.]]>
+ 에러 페이지
+ 로그인을 시도할 때 접근할 수 없습니다.
+ 이페이지의 접근제한을 어떻게 제한할지 선택하세요
+ %0% 제한되었습니다.
+ %0% 의 제한이 제거되었습니다
+ 로그인 페이지
+ 로그인 폼 양식페이지를 선택하세요
+ 제한 제거
+ 로그인 폼과 에러메세지가 포함된 페이지를 선택하세요
+ 이 페이지에 접근할 역할을 선택하세요
+ 이 페이지에 로그인과 암호 설정
+ 사용자 제한
+ 로그인과 암호를 이용해 사용자 제한
+
+
+ 제3공급자 익스텐션 취소때문에 %0% 가 발행할 수없습니다.
+ 미발행된 자식 문서 포함
+ 발행 진행중 - 잠시만 기다리세요...
+ %1% 페이지를 제외한 %0% 가 발행됨...
+ %0% 발행됨
+ %0% 과 서브페이지가 발행되었습니다
+ %0% 와 모든 서브페이지 발행
+ %0%를 발행하기위해 확인를 클릭하세요 and thereby making it's content publicly available.
+ 이 페이지와 모든 서브페이지를 아래 모든 자식문서 발행을 체크하여 발행할 수 있습니다.
+ ]]>
+
+
+ 외부링크 추가
+ 내부링크 추가
+ 추가
+ 설명
+ 내부 페이지
+ URL
+ 아래로 이동
+ 위로 이동
+ 새 창 열기
+ 링크 삭제
+
+
+ 현재 버전
+ 빨간 텍스트는 선택한 버전에선 보이지 않습니다. 녹색은 추가되었음을 의미합니다]]>
+ 문서가 롤백되었습니다.
+ 선택한 버전을 html로 보여줍니다. 두 버전의 차이점을 동시에 보시려면, 차이점 보기를 사용하세요
+ 롤백
+ 버전 선택
+ 보기
+
+
+ 스크립트 파일 편집
+
+
+ 안내
+ 컨텐츠
+ 가이드
+ 개발도구
+ Umbraco 설치마법사
+ 미디어
+ 구성원
+ 뉴스레터
+ 세팅
+ 통계
+ 변환
+ 사용자
+
+
+ 기본 템플릿
+ 사전 키
+ 문서를 가져오시려면 사용하시는 컴퓨터에 ".udt"를 찾아 선택하시고 "가져오기"를 클릭하세요(다음 단계에서 확인여부를 문의합니다)
+ 새 색인 제목
+ 노드타입
+ 타입
+ 스타일시트
+ 스타일시트 속성
+ 색인
+ 색인 제목
+ 색인
+
+
+ 정렬 완료
+ 다른 아이템을 마우스로 위,아래로 드래그 하여 이동하거나 열의 헤더를 클릭하여 아이템을 정렬할 수 있습니다
+ 정렬하는 동안 이 창을 닫지 마십시오]]>
+
+
+ 3rd party add-in 때문에 발행이 취소되었습니다.
+ 속성타입이 이미존재합니다
+ 속성타입 생성되었습니다
+ 데이터타입: %1%]]>
+ 속성타입 삭제됨
+ 컨텐츠타입 저장됨
+ 색인 생성
+ 색인 삭제
+ Tab with id: %0% 삭제됨
+ 스타일시트 저장되지 않음
+ 스타일시트 저장
+ 스타일시트 에러없이 저장
+ 데이터타입 저장됨
+ 사전 항목 저장됨
+ 부모페이지가 발행되지 않았기때문에 발행에 실패했습니다.
+ 컨텐츠 발행됨
+ and 웹사이트에서 보기
+ 컨텐츠 저장됨
+ 변경된 내용이 적용되어 발행됨을 기억하세요
+ 승인을 위해 전송
+ 변경사항이 승인을 위해 전송되었습니다.
+ 사용자 저장됨
+ 스타일시트 속성 저장됨
+ 스타일시트 저장됨
+ 템플릿 저장됨
+ 사용자 저장에러(로그 확인)
+ 사용자 저장됨
+ 파일 저장되지 않음
+ 파일이 저장되지 않았습니다. 권한을 확인하세요
+ 파일 저장
+ 파일이 에러없이 저장
+ 언어 저장됨
+ Python 스크립트가 저장되지 않았습니다.
+ Python 스크립트가 에러때문에 저장되지 않았습니다.
+ Python 스크립트 저장
+ Python 스크립트 에러없음
+ 템플릿이 저장되지 않음
+ 2 템플릿에 동일한 별칭이 적용되지 않았는지 확인하시기 바랍니다.
+ 템플릿 저장
+ 탬플릿이 에러없이 저장되었습니다!
+ XSLT 저장되지 않음
+ XSLT 에 에러가 포함됨
+ XSLT가 저장되지 않았습니다. 권한을 확인하세요
+ XSLT 저장
+ XSLT 에러없음
+
+
+ CSS 태그를 사용하세요 예: h1, .redHeader, .blueTex
+ 스타일시트 편집
+ 스타일시트 속성편집
+ rich text editor 에 스타일속성을 확인할 수 있는 이름을 붙이세요
+ 미리보기
+ 스타일
+
+
+ 템플릿 편집
+ 컨텐츠범위 삽입
+ 컨텐츠범위 Placeholder 삽입
+ 사전 항목 삽입
+ 매크로 삽입
+ Umbraco 페이지필드 삽입
+ 마스터 템플릿
+ Umbraco 템플릿태그 퀵가이드
+ 템플릿
+
+
+ 대체 필드
+ 대체 글꼴
+ Casing
+ 필드 선택
+ 줄바꿈문자 변환
+ 줄바꿈문자를 Html태그 &lt;br&gt; 로 변경
+ 예, 날짜만
+ 날짜포맷으로
+ HTML 인코딩
+ HTML과 동일하게 특수문자를 변경하시겠습니까
+ 필드 값 후에 삽입하시겠습니까
+ 필드값 전에 삽입하시겠습니까
+ 소문자
+ 없음
+ 필드뒤에 삽입
+ 필드앞에 삽입
+ Recursive
+ 단락 태그삭제
+ 문서 시작과 끝의 &lt;P&gt; 를 삭제하시겠습니까
+ 대문자
+ URL 인코딩
+ URL의 특수문자를 포맷하겠습니까
+ 필드 위의 값들이 비었을때만 사용가능합니다.
+ 이 필드는 최초필드가 비었을때만 사용가능합니다.
+ 예, 시간를 :로 구분하여
+
+
+ 할당된 작업
+ 당신에게 할당된 번역작업들을 볼 수 있습니다.
+ 상세내역을 보시려면 "상세" 나 페이지 이름을 클릭하세요.
+ "Xml 다운로드" 링크를 클릭하시면 Xml로 페이지를 다운로드 할 수 있습니다.
+ 번역작업을 닫으시려면, 상세보기로 가셔서 "닫기" 버튼을 클릭하세요.
+ ]]>
+ 작업 닫기
+ 번역 세부항목
+ 모든 번역작업을 XML로 다운로드
+ XML 다운로드
+ 다운로드 xml DTD
+ 필드
+ 서브페이지 포함
+
+ Translation task for %1%을 위한 [%0%] 번역작업
+ 번역자를 찾을 수 없습니다. 컨텐츠를 번역하기위해 발송하시기 전에 번역자를 생성하세요.
+ 생성한 작업
+ 생성한 작업 페이지를 볼 수 있습니다.
+ 상세내역을 보시려면 "상세" 나 페이지 이름을 클릭하세요.
+ "Xml 다운로드" 링크를 클릭하시면 Xml로 페이지를 다운로드 할 수 있습니다.
+ 번역작업을 닫으시려면, 상세보기로 가셔서 "닫기" 버튼을 클릭하세요.
+ ]]>
+ '%0%' 페이지가 번역을 위해 전송되었습니다.
+ 번역을 위해 '%0%' 페이지 전송하기Send the page '%0%' to translation
+ 할당자
+ 작업 열기
+ 총 단어 수
+ 번역
+ 번역 완료
+ 아래를 클릭하셔서 방금 번역한 페이지를 미리볼 수 있습니다. 원본 페이지가 있다면 두 페이지를 비교해보시기 바랍니다.
+ 번역에 실패했습니다. Xml 파일에 문제가 있을수 있습니다.
+ 번역 옵션
+ 번역자
+ 번역 XML 업로드
+
+
+ 캐시 브라우저
+ 휴지통
+ 생성된 패키지
+ 데이터 타입
+ 사전
+ 설치된 패키지
+ TRANSLATE ME: 'Install skin'
+ TRANSLATE ME: 'Install starter kit'
+ 언어
+ 로컬 패키지 설치
+ 매크로
+ 미디어 타입
+ 구성원
+ 구성원 그룹
+ 역할
+ 구성원 유형
+ 문서 타입
+ 패키지
+ 패키지
+ Python 파일
+ 저장소에 설치
+ Runway 설치
+ Runway 모듈
+ 스크립트 파일
+ 스크립트
+ 스타일시트
+ 템플릿
+ XSLT 파일
+
+
+ 새 업데이트가 준비되었습니다.
+ %0% 가 준비되었습니다. 다운로드를 위해 여기를 클릭하세요
+ 연결할 서버가 없습니다연결할 서버가 없습니다
+ 업데이트을 위해 에러를 체크합니다 더많은 정보를 보시려면 stack 추적을 하세요
+
+
+ 관리자
+ 카테고리 필드
+ Change Your Password
+ You can change your password for accessing the Umbraco Back Office by filling out the form below and click the 'Change Password' button
+ 컨텐츠 채널
+ 설명 필드
+ 사용자 비활성화
+ 문서 타입
+ 편집자
+ 필드 발췌
+ 언어
+ 로그인
+ 미디어 라이브러리에 시작노드
+ 세부항목
+ Umbraco 접속 비활성화
+ 비밀번호
+ Your password has been changed!
+ Please confirm the new password
+ Enter your new password
+ Your new password cannot be blank!
+ There was a difference between the new password and the confirmed password. Please try again!
+ The confirmed password doesn't match the new password!
+ 자식노드 권한변경
+ 현재 이페이지의 권한을 수정하는 중입니다:
+ 권한변경할 페이지를 선택해주세요
+ 하위항목 모두찾기
+ 컨텐츠의 시작노드
+ 사용자명
+ 사용자권한
+ 사용자 타입
+ 사용자 타입
+ 작성자
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Config/Lang/nl.xml b/Blog/umbraco/Config/Lang/nl.xml
new file mode 100644
index 0000000..3efba6f
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/nl.xml
@@ -0,0 +1,994 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ Beheer domeinnamen
+ Documentgeschiedenis
+ Node bekijken
+ Wijzig document type
+ Kopiëren
+ Nieuw
+ Nieuwe package
+ Verwijderen
+ Uitschakelen
+ Prullenbak leegmaken
+ Documenttype exporteren
+ Documenttype importeren
+ Package importeren
+ Aanpassen in Canvas
+ Afsluiten
+ Verplaatsen
+ Meldingen
+ Publieke toegang
+ Publiceren
+ Depubliceren
+ Nodes opnieuw inladen
+ Herpubliceer de site
+ Rechten
+ Vorige versies
+ Klaar voor publicatie
+ Klaar voor vertalen
+ Sorteren
+ Klaar voor publicatie
+ Vertalen
+ Bijwerken
+ Standaardwaarde
+
+
+ Permission denied.
+ Nieuw domein toevoegen
+ verwijderen
+ Ongeldige node.
+ Ongeldig domeinformaat.
+ Domein is reeds aanwezig.
+ Domein
+ Taal
+ Nieuw domein '%0%' is aangemaakt
+ Domein '%0%' is verwijderd
+ Domein '%0' is al aanwezig
+ Domein '%0%' is bijgewerkt
+ Bewerk huidige domeinen
+ Zgn. 'one-level' paden in domeinen worden ondersteund, bijv. "example.com/en". Echter, ze
+ zouden moeten worden vermeden. Gebruik bij voorkeur de cultuurinstelling hierboven.]]>
+ Overerven
+ Cultuur
+ of erf de cultuur over van de ouder nodes. Zal ook van toepassing
+ zijn op de huidige node, tenzij een domein hieronder ook van toepassing is.]]>
+ Domeinen
+
+
+ Tonen voor
+
+
+ Selecteren
+ Selecteer huidige map
+ Doe iets anders
+
+ Vet
+ Paragraaf uitspringen
+ Voeg formulierveld in
+ Voeg grafische titel in
+ Wijzig Html
+ Paragraaf inspringen
+ Cursief
+ Centreren
+ Links Uitlijnen
+ Rechts Uitlijnen
+ Link Invoegen
+ Lokale link invoegen (anker)
+ Opsomming
+ Nummering
+ Macro invoegen
+ Afbeelding invoegen
+ Relaties wijzigen
+ Terug naar overzicht
+ Opslaan
+ Opslaan en publiceren
+ Opslaan en verzenden voor goedkeuring
+ voorbeeld bekijken
+ Voorbeeld bekijken is uitgeschakeld omdat er geen template is geselecteerd
+ Stijl kiezen
+ Stijlen tonen
+ Tabel invoegen
+
+
+ Om het documenttype voor de geselecteerde inhoud te wijzigen, selecteert u eerst uit de lijst van geldige types voor deze locatie.
+ Bevestig en/of wijzig vervolgens de toewijzing van eigenschappen van het huidige naar het nieuwe type en klik op Opslaan.
+ De inhoud is opnieuw gepubliceerd.
+ Huidige eigenschap
+ Huidig type
+ Het documenttype kan niet worden gewijzigd, omdat er geen alternatieven geldig zijn voor deze locatie.
+ Documenttype gewijzigd
+ Eigenschappen toewijzen
+ Toewijzen aan eigenschap
+ Nieuw sjabloon
+ Nieuw type
+ geen
+ Inhoud
+ Selecteer nieuw documenttype
+ Het documenttype van de geselecteerde inhoud is succesvol gewijzigd naar [new type] en de volgende eigenschappen zijn toegekend:
+ aan
+ Toewijzen van eigenschappen kan niet worden afgerond, omdat één of meer eigenschappen meer dan één toewijzing hebben.
+ Alleen alternatieve types geldig voor de huidige locatie worden weergegeven.
+
+
+ Is gepubliceerd
+ Over deze pagina
+ Alternatieve link
+ (hoe zou jij de foto beschrijven via de telefoon)
+ Alternatieve links
+ Klik om dit item te wijzigen
+ Aangemaakt door
+ Oorspronkelijke auteur
+ Bijgewerkt door
+ Aangemaakt op
+ Datum/tijd waarop dit document is aangemaakt
+ Documenttype
+ Aanpassen
+ Verloopt op
+ Dit item is gewijzigd na publicatie
+ Dit item is niet gepubliceerd
+ Laatst gepubliceerd op
+ Nog geen items om weer te geven.
+ Mediatype
+ Link naar media item(s)
+ Ledengroep
+ Rol
+ Ledentype
+ Geen datum gekozen
+ Pagina Titel
+ Eigenschappen
+ Dit document is gepubliceerd maar niet zichtbaar omdat de bovenliggende node '%0%' niet gepubliceerd is
+ Oeps: dit document is gepubliceerd, maar het is niet in de cache (interne serverfout)
+ Publiceren
+ Publicatiestatus
+ Publiceren op
+ Depubliceren op
+ Verwijderdatum
+ De sorteervolgorde is gewijzigd
+ Om nodes te sorteren, sleep de nodes of klik op één van de kolomtitels. Je kan meerdere nodes tegelijk selecteren door de "shift"- of "control"knop in te drukken tijdens het selecteren.
+ Statistieken
+ Titel (optioneel)
+ Alternatieve tekst (optioneel)
+ Type
+ Depubliceren
+ Laatst gewijzigd
+ Date/time this document was edited
+ Bestand(en) verwijderen
+ Link naar het document
+ Lid van groep(en)
+ Geen lid van groep(en)
+
+ Kinderen
+ Doel
+
+
+ Klik om te uploaden
+ Plaats je bestanden hier...
+
+
+ Waar wil je de nieuwe %0% aanmaken?
+ Aanmaken onder
+ Kies een type en een titel
+
+ "Documenttypes" strong>.]]>
+
+ "Mediatypes".]]>
+
+
+ Open je website
+ - Verbergen
+ Als Umbraco niet geopend wordt dan moet je misschien popups toelaten voor deze site.
+ is geopend in een nieuw venster
+ Herstarten
+ Bezoek
+ Welkom
+
+
+ Naam
+ Beheer domeinnamen
+ Sluit dit venster
+ Weet je zeker dat je dit wilt verwijderen
+ Weet je zeker dat je dit wilt uitschakelen
+ Vink aub dit keuzevak aan om het verwijderen van %0% item(s) te bevestigen
+ Weet je het zeker?
+ Weet je het zeker?
+ Knippen
+ Pas woordenboekitem aan
+ Taal aanpassen
+ Lokale link invoegen
+ Karakter invoegen
+ Voeg grafische titel in
+ Afbeelding invoegen
+ Link invoegen
+ Klik om een Macro toe te voegen
+ Tabel invoegen
+ Laatst aangepast op
+ Link
+ Interne link:
+ Plaats een hekje (“#”) voor voor interne links.
+ In nieuw venster openen?
+ Macro Settings
+ Deze macro heeft geen eigenschappen die u kunt bewerken
+ Plakken
+ Bewerk rechten voor
+ De items worden nu uit de prullenbak verwijderd. Sluit dit venster niet terwijl de actie nog niet voltooid is.
+ De prullenbak is nu leeg.
+ Als items worden verwijderd uit de prullenbak, zijn ze voorgoed verwijderd.
+ regexlib.com ondervindt momenteel prolemen waarover we geen controle hebben. Onze excuses voor het ongemak.]]>
+ Zoek naar een regular expressie om validatie aan een formulierveld toe te voegen. Voorbeeld: 'email, 'post-code' 'url'
+ Verwijder Macro
+ Verplicht veld
+ Site is opnieuw geïndexeerd
+ De site is opnieuw gepubliceerd
+ De cache zal worden vernieuwd. Alle gepubliceerde inhoud zal worden ge-update, terwijl ongepubliceerde inhoud ongepubliceerd zal blijven.
+ Aantal kolommen
+ Aantal regels
+ Plaats een placeholder id door een ID op uw placeholder te zetten kunt u inhoud plaatsen in deze template vanuit onderliggende templates,
+ door te referreren naar deze ID door gebruik te maken van een <asp:content /> element.]]>
+ Selecteer een placeholder id uit onderstaande lijst. U kunt alleen
+ Id's kiezen van de master van de huidige template..]]>
+ Klik op de afbeelding voor volledige grootte
+ Kies een item
+ Toon cache item
+
+
+
+ Cultuurnaam
+
+
+ Typ je gebruikersnaam
+ Typ je wachtwoord
+ Benoem de %0%...
+ Typ een naam...
+ Typ om te zoeken...
+ Typ om te filteren...
+ Typ om tags toe te voegen (druk op enter na elke tag)...
+
+
+
+ Toestaan op root-niveau
+ Wanneer aangevinkt dan mag dit document type aangemaakt worden op het root-niveau van content of media trees.
+ Toegelaten subnodetypes
+ Document Type Composities
+ Nieuw
+ Tab verwijderen
+ Omschrijving
+ Nieuwe tab
+ Tab
+ Miniatuur
+ Lijstweergave inschakelen
+ Stelt het content item in zodat een sorteer- en zoekbare lijstweergave van onderliggende nodes wordt getoond. De onderliggende nodes worden niet in de tree getoond
+ Huidige lijstweergave
+ De actieve data type in lijstweergave
+ Maak een aangepaste lijstweergave
+ Verwijder aangepaste lijstweergave
+
+
+ Prevalue toevoegen
+ Datebase datatype
+ Data Editor GUID
+ Render control
+ Buttons
+ Geavanceerde instellingen inschakelen voor
+ Context menu inschakelen
+ Maximum standaard grootte van afbeeldingen
+ Gerelateerde stylesheets
+ Toon label
+ Breedte en hoogte
+
+
+ Je data is opgeslagen, maar voordat je deze pagina kunt publiceren moet je eerst aan paar problemen herstellen:
+ Het wachtwoord veranderen wordt door de huidige Membership Provider niet ondersteund (EnablePasswordRetrieval moet op true staan)
+ %0% bestaat al
+ Er zijn fouten geconstateerd:
+ Er zijn fouten geconstateerd:
+ Het wachtwoord moet minstens %0% tekens lang zijn en moet minstens %1% cijfers bevatten
+ %0% moet een geheel getal zijn
+ %0% op tab %1% is een verplicht veld
+ %0% is een verplicht veld
+ %0% op tab %1% is niet in het correcte formaat
+ %0% is niet in het correcte formaat
+
+
+ Het opgegeven bestandstype is niet toegestaan door de beheerder
+ OPMERKING! Ondanks dat CodeMiror is ingeschakeld, is het uitgeschakeld in Internet Explorer omdat het niet stabiel genoeg is.
+ Zowel de alias als de naam van het nieuwe eigenschappen type moeten worden ingevuld!
+ Er is een probleem met de lees/schrijf rechten op een bestand of map
+ Vul een titel in
+ Selecteer een type
+ U wilt een afbeelding groter maken dan de originele afmetingen. Weet je zeker dat je wilt doorgaan?
+ Fout in python script
+ Het python script is niet opgeslagen omdat het fouten bevat
+ Start node is verwijderd, neem contact op met uw systeembeheerder
+ Markeer de inhoud voordat u de stijl aanpast
+ Geen actieve stijlen beschikbaar
+ Plaats de cursor links van de twee cellen die je wilt samenvoegen
+ Je kunt een cel die is samengevoegd niet delen
+ Fout in de XSLT bron
+ De XSLT is niet opgeslagen omdat deze fout(en) bevat
+ Er is een configuratiefout bij het gegevenstype dat wordt gebruikt voor deze eigenschap. Controleer het gegevenstype
+
+
+ Over
+ Actie
+ Acties
+ Toevoegen
+ Alias
+ Weet je het zeker?
+ Rand
+ of
+ Annuleren
+ Cel marge
+ Kiezen
+ Sluiten
+ Venster sluiten
+ Opmerking
+ Bevestigen
+ Verhouding behouden
+ Doorgaan
+ Kopiëren
+ Aanmaken
+ Databank
+ Datum
+ Standaard
+ Verwijderen
+ Verwijderd
+ Verwijderen...
+ Ontwerp
+ Afmetingen
+ Beneden
+ Download
+ Aanpassen
+ Aangepast
+ Elementen
+ E-mail
+ Fout
+ Zoeken
+ Hoogte
+ Help
+ Icoon
+ Importeren
+ Binnenmarge
+ Invoegen
+ Installeren
+ Uitvullen
+ Taal
+ Lay-out
+ Bezig met laden
+ Geblokkeerd
+ Inloggen
+ Afmelden
+ Afmelden
+ Macro
+ Verplaatsen
+ Meer
+ Naam
+ Nieuw
+ Volgende
+ Nee
+ van
+ Ok
+ Openen
+ of
+ Wachtwoord
+ Pad
+ Placeholder ID
+ Een ogenblik geduld a.u.b.
+ Vorige
+ Eigenschappen
+ E-mail om formulier te ontvangen
+ Prullenbak
+ Overgebleven
+ Hernoemen
+ Vernieuw
+ Verplicht
+ Opnieuw proberen
+ Rechten
+ Zoek
+ Server
+ Tonen
+ Toon pagina bij versturen
+ Formaat
+ Sorteren
+ Type
+ Type om te zoeken...
+ Omhoog
+ Bijwerken
+ Upgrade
+ Upload
+ Url
+ Gebruiker
+ Gebruikersnaam
+ Waarde
+ Toon
+ Welkom...
+ Breedte
+ Ja
+ Map
+
+ Zoekresultaten
+
+
+ Achtergrondkleur
+ Vet
+ Tekstkleur
+ Lettertype
+ Tekst
+
+
+ Pagina
+
+
+ De installer kan geen connectie met de database maken.
+ De web.config kon niet worden opgeslagen. Gelieve de connectiestring handmatig aan te passen.
+ Je database is gevonden en is geïdentificeerd als
+ Database configuratie
+ installeren om de Umbraco %0% database te installeren]]>
+ Volgende om door te gaan.]]>
+ De database kon niet gevonden worden! Gelieve na te kijken of de informatie in de "connection string" van het "web.config" bestand correct is.
Om door te gaan, gelieve het "web.config" bestand aan te passen (met behulp van Visual Studio of je favoriete tekstverwerker), scroll in het bestand naar beneden, voeg de connection string voor je database toe in de key met naam "umbracoDbDSN" en sla het bestand op.
]]>
+ Gelieve contact op te nemen met je ISP indien nodig. Wanneer je installeert op een lokale computer of server, dan heb je waarschijnlijk informatie nodig van je systeembeheerder.]]>
+ Klik de upgrade knop om je database te upgraden naar Umbraco %0%
Maak je geen zorgen - er zal geen inhoud worden gewist en alles blijft gewoon werken!
]]>
+ Klik Volgende om verder te gaan.]]>
+ volgende om door te gaan]]>
+ Het wachtwoord van de default gebruiker dient veranderd te worden!]]>
+ De default gebruiker is geblokkeerd of heeft geen toegang tot Umbraco!
Geen verdere actie noodzakelijk. Klik Volgende om verder te gaan.]]>
+ Het wachtwoord van de default gebruiker is sinds installatie met succes veranderd.
Geen verdere actie noodzakelijk. Klik Volgende om verder te gaan.]]>
+ Het wachtwoord is veranderd!
+ Umbraco maakt een default gebruiker aan met login ('admin') and wachtwoord ('default'). Het is belangrijk dat dit wachtwoord wordt veranderd in iets unieks.
Deze stap controleert het password van de default gebruiker en adviseert of het veranderd dient te worden.
]]>
+ Neem een jumpstart en bekijk onze introductie videos
+
+ Nog niet geïnstalleerd.
+ Betreffende bestanden en mappen
+ Meer informatie over het instellen van machtigingen voor Umbraco vind je hier
+ Je dient ASP.NET 'modify' machtiging te geven voor de volgende bestanden/mappen
+ Je machtigingen zijn bijna perfect!
Je kunt Umbraco zonder problemen starten, maar je kunt nog geen packages installeren om volledig van Umbraco te profiteren.]]>
+ Hoe op te lossen
+ Klik hier om de tekst versie te lezen
+ video tutorial over het instellen van machtigingen voor Umbraco, of lees de tekst versie.]]>
+ Je machtigingen zijn misschien incorrect!
Je kunt Umbraco probleemloos starten, maar je kunt nog geen mappen aanmaken of packages installeren om zo volledig van Umbraco te profiteren.]]>
+ Je machtigingen zijn nog niet gereed gemaakt voor Umbraco!
Om Umbraco te starten zul je je machtigingen moeten aanpassen.]]>
+ Je machtigingen zijn perfect!
Je bent nu klaar om Umbraco te starten en om packages te installeren!]]>
+ Map probleem wordt opgelost
+ Volg deze link voor meer informatie over problemen met ASP.NET en het aanmaken van mappen
+ Machtigingen worden aangepast
+ Umbraco heeft write/modify toegang nodig op bepaalde mappen om bestanden zoals plaatjes en PDF's op te slaan. Het slaat ook tijdelijke data (ook bekend als 'de cache') op om de snelheid van je website te verbeteren.
+ Ik wil met een lege website beginnen
+ leer hoe). Je kunt er later alsnog voor kiezen om Runway te installeren. Ga dan naar de Ontwikkelaar sectie en kies Packages.]]>
+ Je hebt zojuist een blanco Umbraco platform geinstalleerd. Wat wil je nu doen?
+ Runway is geinstalleerd
+ Dit is onze lijst van aanbevolen modules. Vink de modules die je wilt installeren, of bekijk de volledige lijst modules]]>
+ Alleen aanbevolen voor gevorderde gebruikers
+ Ik wil met een eenvoudige website beginnen
+ "Runway" is een eenvoudige website die je van enkele elementaire documenttypes en templates voorziet. De installer kan Runway automatisch voor je opzetten, maar je kunt het gemakkelijk aanpassen, uitbreiden of verwijderen. Het is niet vereist en je kunt Umbraco prima zonder Runway gebruiken.
+
+Echter, Runway biedt een gemakkelijke basis om je snel op weg te helpen. Als je er voor kiest om Runway te installeren, dan kun je optioneel de bouwstenen (genaamd Runway Modules) kiezen om je Runway pagina's te verbeteren. Runway omvat: Home pagina, Getting Started pagina, Module installatie pagina. Optionele Modules: Top Navigatie, Sitemap, Contact, Gallery.
+ ]]>
+ Wat is Runway
+ Stap 1/5: Licentie aanvaarden
+ Stap 2/5: Database configureren
+ Stap 3/5: Controleren van rechten op bestanden
+ Stap 4/5: Umbraco beveiliging controleren
+ Stap 5/5: Umbraco is klaar
+ Bedankt dat je voor Umbraco hebt gekozen
+ Browse je nieuwe site Je hebt Runway geinstalleerd, dus kijk eens hoe je nieuwe site eruit ziet.]]>
+ Meer hulp en informatie Vind hulp in onze bekroonde community, blader door de documentatie of bekijk enkele gratis videos over het bouwen van een eenvoudige site, het gebruiken van packages en een overzicht van Umbraco terminologie]]>
+ Umbraco %0% is geïnstalleerd en klaar voor gebruik.
+ /web.config bestand aanpassen, en de Appsetting key UmbracoConfigurationStatus onder in het bestand veranderen naar '%0%'.]]>
+ meteen beginnen door de "Launch Umbraco" knop hieronder te klikken. Als je een beginnende Umbraco gebruiker bent, dan kun je you can find veel informatie op onze "getting started" pagina's vinden.]]>
+ Launch Umbraco Om je website te beheren open je simpelweg de Umbraco back office en begin je inhoud toe te voegen, templates en stylesheets aan te passen of nieuwe functionaliteit toe te voegen]]>
+ Verbinding met de database mislukt.
+ Umbraco versie 3
+ Umbraco versie 4
+ Bekijken
+ Umbraco %0% voor een nieuwe installatie of een upgrade van versie 3.0.
+ Dit is een bericht van uw Content Management Systeem.
+
+ ]]>
+ [%0%] Notificatie over %1% uitgevoerd op %2%
+ Notificaties
+
+
+ Kies een package op je computer door op "Bladeren" te klikken en de package te selecteren. Umbraco packages hebben meestal ".umb" of ".zip" als extensie.
+ Auteur
+ Demonstratie
+ Documentatie
+ Package meta data
+ Package naam
+ Package bevat geen inhoud
+
+ Je kunt dit package veilig verwijderen door 'verwijder package' te klikken.
+ ]]>
+ Geen upgrades beschikbaar
+ Package opties
+ Package lees mij
+ Package repository
+ Bevestig verwijderen
+ Package is verwijderd
+ De package is succesvol verwijderd
+ Verwijder package
+
+ Waarschuwing: alle documenten, media etc, die afhankelijk zijn van de items die je verwijderd, zullen niet meer werken en kan leiden tot een instabiele installatie,
+ wees dus voorzichtig met verwijderen. Als je niet zeker bent, neem dan contact op met de auteur van de package.
+ ]]>
+ Download update uit de repository
+ Upgrade package
+ Upgrade instructies
+ Er is een upgrade beschikbaar voor deze package. Je kunt het direct downloaden uit de Umbraco package repository.
+ Package versie
+ Package versiehistorie
+ Bekijk de package website
+
+
+ Plakken met alle opmaak (Niet aanbevolen)
+ De tekst die je probeert te plakken bevat speciale karakters en/of opmaak. Dit kan veroorzaakt worden doordat de tekst vanuit Microsoft Word is gekopieerd. Umbraco kan deze speciale karakters en formattering automatisch verwijderen zodat de geplakte tekst geschikt is voor het web.
+ Plakken als ruwe tekst en alle opmaak verwijderen
+ Plakken, en verwijder de opmaak (aanbevolen)
+
+
+ Geavanceerd: Beveilig door de Member Groups te seecteren die toegang hebben op de pagina
+ gebruik makend van Umbraco's member groups.]]>
+ role-based authentication.]]>
+ Error Pagina
+ Gebruikt om te tonen als een gebruiker is ingelogd, maar geen rechten heeft om de pagina te bekijken
+ Hoe wil je de pagina beveiligen?
+ %0% is nu beveiligd
+ Beveiliging verwijderd van %0%
+ Login Pagina
+ Kies de pagina met het login-formulier
+ Verwijder beveiliging
+ Kies de pagina's die het login-formulier en de error-berichten bevatten
+ Kies de roles wie toegang hebben tot deze pagina
+ Geef de gebruikersnaam en wachtwoord voor deze pagina
+ Eenvoudig: Beveilig door middel van gebruikersnaam en wachtwoord
+ Als je eenvoudige beveiliging wilt gebruiken met behulp van een enkele gebruikersnaam en wachtwoord
+
+
+
+
+
+
+
+ Inclusief ongepubliceerde kinderen
+ Publicatie in uitvoering - even geduld...
+ %0% van %1% pagina’s zijn gepubliceerd...
+ %0% is gepubliceerd
+ %0% en onderliggende pagina’s zijn gepubliceerd
+ Publiceer %0% en alle kinderen
+ ok om %0% te publiceren en de wijzigingen zichtbaar te maken voor bezoekers.
Aby kontynuować, dokonaj edycji pliku "web.config" (używając Visual Studio lub dowolnego edytora tekstu), przemieść kursor na koniec pliku, dodaj parametry połączenia do Twojej bazy danych w kluczu o nazwie "umbracoDbDSN" i zapisz plik.
]]>
+ Skontaktuj się z Twoim dostawą usług internetowych jeśli zajdzie taka potrzeba. W przypadku instalacji na lokalnej maszynie lub serwerze możesz potrzebować pomocy administratora.]]>
+ Naciśnij przycisk aktualizuj by zaktualizować swoją bazę danych do Umbraco %0%
Bez obaw - żadne dane nie zostaną usunięte i wszystko będzie działać jak należy!
]]>
+ Naciśnij przycisk Dalej aby kontynuować.]]>
+ Dalej aby kontynuować kreatora instalacji.]]>
+ Hasło domyślnego użytkownika musi zostać zmienione!]]>
+ Konto domyślnego użytkownika została wyłączone lub nie ma on dostępu do Umbraco!
Żadne dotatkowe czynności nie są konieczne. Naciśnij Dalej aby kontynuować.]]>
+ Hasło domyślnego użytkownika zostało zmienione od czasu instalacji!
Żadne dotatkowe czynności nie są konieczne. Naciśnij Dalej aby kontynuować.]]>
+ Hasło zostało zmienione!
+ Umbraco tworzy domyślne konto użytkownika o loginie ('admin') i haśle ('default'). Jest ważne, by zmienić hasło na inne.
Ten krok sprawdzi, czy hasło domyślnego użytkownika powinno być zmienione.
]]>
+ Aby szybko wejść w świat Umbraco, obejrzyj nasze filmy wprowadzające
+ Klikając przycisk dalej (lub modyfikując klucz UmbracoConfigurationStatus w pliku web.config), akceptujesz licencję na niniejsze oprogramowanie zgodnie ze specyfikacją w poniższym polu. Zauważ, że ta dystrybucja Umbraco składa się z dwoch licencji - licencja MIT typu open source dla kodu oraz licencja "Umbraco freeware", która dotyczy interfejsu użytkownika.
+ Nie zainstalowane.
+ Zmienione pliki i foldery
+ Więcej informacji na temat ustalania pozwoleń dla Umbraco znajdziesz tutaj
+ Musisz zezwolić procesowi ASP.NET na zmianę poniższych plików/folderów
+ Twoje ustawienia uprawnień są prawie idealne!
Umbraco będzie działało bez problemów, ale nie będzie możliwa instalacja pakietów, które są rekomendowane aby w pełni wykorzystać możliwości Umbraco.]]>
+ Jak to Rozwiązać
+ Kliknij tutaj, aby przeczytać wersję tekstową
+ video tutorial pokazujący jak ustawić uprawnienia dostępu do folderów dla Umbraco albo przeczytaj wersję tekstową.]]>
+ Twoje ustawienia uprawnień mogą stanowić problem! Umbraco będzie działało bez problemów, ale nie będzie możliwa instalacja pakietów, które są rekomendowane aby w pełni wykorzystać możliwości Umbraco.]]>
+ Twoje ustawienia uprawnień nie są gotowe na Umbraco!
Aby Umbraco mogło działać musisz uaktualnić swoje ustawienia zabezpieczeń.]]>
+ Twoje ustawienia uprawnień są idealne!
Umbraco będzie działać bez problemów i będzie można instalować pakiety!]]>
+ Rozwiązywanie problemów z folderami
+ Kliknij ten link, aby uzyskać więcej informacji na temat problemów z ASP.NET i tworzeniem folderów.
+ Ustawianie uprawnień dostępu do folderów
+ Umbraco potrzebuje uprawnień do zapisu/odczytu pewnych katalogów w celu przechowywania plików jak obrazki i PDF'y. Umbraco przechowuje także tymczasowe dane (aka: cache) aby zwiększyć wydajność Twojej strony.
+ Chce zacząć od zera
+ dowiedz się jak) Ciągle możesz wybrać, aby zainstalować Runway w późniejszym terminie. W tym celu przejdź do sekcji Deweloper i wybierz Pakiety.]]>
+ Właśnie stworzyłeś czystą instalację platformy Umbraco. Co chcesz zrobić teraz?
+ Pakiet Runway zainstalowany pomyślnie
+ To jest nasza lista rekomendowanych modułów. Zaznacz te, które chcesz zainstalować lub wyświetl pełną listę modułów ]]>
+ Rekomendowane tylko dla doświadczonych użytkowników
+ Chce rozpocząć z prostą stroną
+ Pakiet "Runway" to prosta strona dostarczająca kilka podstawowych typów dokumentów i szablonów. Instalator może automatycznie zainstalować pakiet Runway za Ciebie, ale możesz w łatwy sposób edytować, rozszerzyć lub usunąć go. Nie jest on potrzebny i możesz doskonale używać Umbraco bez niego. Jednakże pakiet Runway oferuje łatwą podstawę bazującą na najlepszych praktych, która pozwolić Ci rozpocząć pracę w mgnieniu oka. Jeśli zdecydujesz się zainstalować pakiet Runway, możesz opcjonalnie wybrać podstawowe klocki zwane Modułami Runway, aby poprawić swoje strony. Dołączone z pakietem Runway: Strona domowa, strona Jak rozpocząć pracę, strona Instalowanie Modułów. Opcjonalne moduły:Górna nawigacja, Mapa strony, Formularz kontaktowy, Galeria. ]]>
+ Co to jest pakiet Runway
+ Krok 1/5 Akceptacja licencji
+ Krok 2/5: Konfiguracja bazy danych
+ Krok 3/5: Sprawdzanie uprawnień plików
+ Krok 4/5: Sprawdzanie zabezpieczeń Umbraco
+ Krok 5/5: Umbraco jest gotowy do pracy
+ Dziękujemy za wybór Umbraco
+ Przeglądaj swoją nową stronę Pakiet Runway został zainstalowany, zobacz zatem jak wygląda Twoja nowa strona.]]>
+ Dalsza pomoc i informacje Zaczerpnij pomocy z naszej nagrodzonej społeczności, przeglądaj dokumentację lub obejrzyj niektóre darmowe filmy o tym jak budować proste strony, jak używać pakietów i szybki przewodnik po terminologii Umbraco]]>
+ Umbraco %0% zostało zainstalowane i jest gotowe do użycia
+ plik web.config i zaktualizować klucz AppSetting o nazwie UmbracoConfigurationStatus na dole do wartości '%0%'.]]>
+ rozpocząć natychmiast klikając przycisk "Uruchom Umbraco" poniżej. Jeżeli jesteś nowy dla Umbraco znajdziesz mnóstwo materiałów na naszych stronach "jak rozpocząć".]]>
+ Uruchom Umbraco Aby zarządzać swoją stroną po prostu otwórz zaplecze Umbraco i zacznij dodawać treść, aktualizować szablony i style lub dodawaj nową funkcjonalność]]>
+ Połączenie z bazą danych nie zostało ustanowione.
+ Umbraco wersja 3
+ Umbraco wersja 4
+ Zobacz
+ Umbraco %0% dla świżej instalacji lub aktualizacji z wersji 3.0.
]]>
+ [%0%] Powiadomienie o %1% wykonane na %2%
+ Powiadomienie
+
+
+ Wskaż pakiet z twojego komputera, poprzez kliknięcie na przycisk 'Przeglądaj' i wskaż gdzie jest zapisany. Pakiety Umbraco przeważnie posiadają rozszerzenie ".umb" lub ".zip".
+ Autor
+ Demonstracja
+ Dokumentacja
+ Metadane pakietu
+ Nazwa pakietu
+ Pakiet nie zawiera żadnych elementów
+ Możesz bezpiecznie go usunąć z systemu poprzez kliknięcie na przycisku "odinstaluj pakiet"]]>
+ Nie ma dostępnych aktualizacji
+ Opcje pakietu
+ Opis pakietu
+ Repozytorium pakietu
+ Potwierdź odinstalowanie
+ Pakiet został odinstalowany
+ Pakiet został pomyślnie odinstalowany
+ Odinstaluj pakiet
+ span style="color: Red; font-weight: bold;">Uwaga: wszystkie elementy, media itp w zależności od elementów, które usuwasz przestaną działać, i mogą spowodować niestabilność systemu, więc odinstalowuj z uwagą. W przypadku problemów kontaktuj się z autorem pakietu.]]>
+ Pobierz aktualizację z repozytorium
+ Aktualizuj pakiet
+ Instrukcja aktualizacji
+ Jest dostępna aktualizacja dla tego pakietu. Możesz ją pobrać wprost z repozytorium pakietów Umbraco.
+ Wersja pakietu
+ Odwiedź stronę pakietu
+
+
+ Wklej z zachowaniem formatowania (Nie zalecane)
+ Tekst, który wklejasz zawiera specjalne znaki formatujące. Prawdopodobnie tekst pochodzi z programu Microsoft Word. Umbraco może usunąć specjalne znaki lub formatowanie automatycznie, więc skopiowana treść będzie lepiej dopasowana do wyświetlania w Internecie.
+ Wklej sam tekst, bez żadnego formatowania
+ Wklej, usuwając formatowanie (zalecane)
+
+
+ Ochrona w oparciu o role
+ użyj grup członkowskich Umbraco ]]>
+ Musisz utworzyć grupę przed użyciem uwierzytelniania opartego na rolach
+ Strona błędu
+ Używana kiedy użytkownicy są zalogowani, ale nie posiadają dostępu
+ Wybierz sposób ograniczenia dostępu do tej strony
+ %0% jest teraz zabezpieczona
+ Ze strony %0% usunięto zabezpieczenia dostępu
+ Strona logowania
+ Wybierz stronę z formularzem logowania
+ Usuń ochronę
+ Wybierz strony, które zawierają formularz logowania i komunikatów o błędach
+ Wybierz role, które mają mieć dostęp do tej strony
+ Ustaw login i hasło dla tej strony
+ Ochrona pojedynczego użytkownika
+ Jeżeli chcesz ustawić prostą ochronę używając pojedynczego loginu i hasła
+
+
+ %0% nie może zostać opublikowany, ze względu na odwołanie akcji przez rozszerzenie firm trzecich
+ Dołącz nieopublikowane węzły pochodne (dzieci)
+ Publikacja w toku - proszę czekać...
+ Opublikowano %0% z %1% stron...
+ %0% został opublikowany
+ %0% oraz podstrony zostały opublikowane
+ Publikuj %0% z wszytkimi podstronami
+ OK em>, aby publikować % 0% strong> i spowodować upublicznienie całej treści.
Możesz opublikować tą stronę wraz ze wszystkimi podstronami zaznaczając poniżej publikuj wszystkie węzły pochodne]]>
+
+
+ Dodaj link zewnętrzny
+ Dodaj link wewnętrzny
+ Dodaj
+ Opis
+ Strona wewnętrzna
+ URL
+ Przesuń w dół
+ Przesuń do góry
+ Otwórz w nowym oknie
+ Usuń link
+
+
+ Aktualna wersja
+ Red tekst nie będzie pokazany w wybranej wersji, zielony tekst został dodany]]>
+ Dokument został przywrócony
+ Tu widać wybraną wersję jako html, jeżeli chcesz zobaczyć różnicę pomiędzy 2 wersjami w tym samym czasie, użyj podglądu róznic
+ Cofnij do
+ Wybierz wersję
+ Zobacz
+
+
+ Edytuj skrypt
+
+
+ Concierge
+ Treść
+ Kurier
+ Deweloper
+ Konfigurator Umbraco
+ Media
+ Członkowie
+ Biuletyny
+ Ustawienia
+ Statystyki
+ Tłumaczenie
+ Użytkownicy
+
+
+ Domyślny szablon
+ Klucz słownika
+ By zaimportować typ dokumentu, wskaż plik ".udt" na swoim komputerze, klikając przycisk "Przeglądaj" i kliknij "Importuj" (zostaniesz poproszony o potwierdzenie w następnym kroku)
+ Nazwa nowej zakładki
+ Typ węzła
+ Typ
+ Arkusz styli
+ Właściwości arkusza styli
+ Zakładka
+ Nazwa zakładki
+ Zakładki
+
+
+ Sortowanie zakończone.
+ Przesuń poszczególne elementy w górę oraz w dół aż będą w odpowiedniej kolejności, lub kliknij na nagłówku kolumny aby posortować całą kolekcję elementów
+ Nie zamykaj tego okna podczas sortowania]]>
+
+
+ Publikacja została przerwana poprzez dodatek firmy trzeciej
+ Właściwość typu już istnieje
+ Właściwość typu została utworzona
+ typ danych: %1%]]>
+ Właściwość typu została usunięta
+ Zakładka została zapisana
+ Zakładkę utworzono
+ Zakładkę usunięto
+ Usunięto zakładkę o id:%0%
+ Arkusz stylów nie został zapisany
+ Arkusz stylów został zapisany
+ Arkusz stylów został zapisany bez żadnych błędów
+ Typ danych został zapisany
+ Element słownika został zapisany
+ Publikacja nie powiodła się ponieważ rodzic węzła nie jest opublikowany
+ Treść została opublikowana
+ i jest widoczna na stronie
+ Treść została zapisana
+ Pamiętaj, aby opublikować, aby zmiany były widoczne
+ Wysłano do zatwierdzenia
+ Zmiany zostały wysłane do akceptacji
+ Członek został zapisany
+ Właściwość arkusza stylów została zapisana
+ Arkusz stylów został zapisany
+ Szablon został zapisany
+ Błąd przy zapisie danych użytkownika (sprawdź log)
+ Użytkownik został zapisany
+ Plik nie został zapisany
+ Plik nie został zapisany. Sprawdź uprawnienia dostępu do pliku
+ Plik został zapisany
+ Plik został zapisany bez żadnych błędów
+ Język został zapisany
+ Skrypt python nie został zapisany
+ Wystąpiły błędy, skrypt nie może zostać zapisany
+ Skrypt python został zapisany
+ Brak błędów w skrypcie python
+ Szablon nie został zapisany
+ Proszę się upewnić że nie ma dwóch szablonów o tym samym aliasie
+ Szablon został zapisany
+ Szablon został zapisany bez żadnych błędów!
+ Nie zapisano XSLT
+ XSLT zawiera błędy
+ Nie można zapisać XSLT, sprawdź uprawnienia dostępu do pliku
+ Zapisano XSLT
+ XSLT nie zawiera błedów
+
+
+ Używaj składni CSS np.: h1, .czerwonyNaglowek, .niebieskiTekst
+ Edytuj arkusz stylów
+ Edytuj właściwość arkusza stylów
+ Nazwa dla znalezienia właściwości stylu w edytorze
+ Podgląd
+ Style
+
+
+ Edytuj szablon
+ Wstaw obszar zawartości
+ Wstaw miejsce dla obszaru zawartości
+ Wstaw element słownika
+ Wstaw makro
+ Wstaw pole strony Umbraco
+ Główny szablon
+ Szybki przewodnik po tagach szablonu Umbraco
+ Szablon
+
+
+ Pole alternatywne
+ Tekst alternatywny
+ Wielkość liter
+ Wybierz pole
+ Konwertuj złamania wiersza
+ Zamienia złamania wiersza na html-tag <br>
+ Tak, tylko data
+ Formatuj jako datę
+ Kodowanie HTML
+ Zamienia znaki specjalne na ich odpowiedniki HTML
+ Zostanie wstawione za wartością pola
+ Zostanie wstawione przed wartością pola
+ małe znaki
+ Nic
+ Wstaw za polem
+ Wstaw przed polem
+ Rekurencyjne
+ Usuń znaki paragrafu
+ Usuwa wszystkie <P> z początku i końca tekstu
+ WIELKIE LITERY
+ Kodowanie URL
+ Formatuje znaki specjalne w URLach
+ Zostanie użyte tylko wtedy gdy wartość pola jest pusta
+ To pole jest używane tylko wtedy gdy główne pole jest puste
+ Tak, z czasem. Separator:
+
+
+ Zadania przypisane dla Ciebie
+ przypisane do Ciebie. Aby zobaczyć szczegółowe informacje wraz z komentarzami, kliknij na "Szczegóły" lub po prostu na nazwę strony. Możesz również pobrać stronę jako XML poprzez kliknięcie na link "Pobierz XML". Aby zamknąć zadanie tłumaczenia, proszę w podglądzie szczegółowym kliknąć przycisk "Zamknij".]]>
+ zamknij zadanie
+ Szczegóły tłumaczenia
+ Pobierz wszystkie tłumaczenia jako XML
+ Pobierz XML
+ Pobierz XML DTD
+ Pola
+ Włączając podstrony
+ to jest automatyczny mail informujący że dokument %1% został zgłoszony jako wymagający tłumaczenia na '%5%' przez %2%. Wejdź na http://%3%/translation/details.aspx?id=%4% aby edytować. Lub zaloguj się do Umbraco aby zobaczyć wszystkie zadania do tłumaczenia http://%3%. Życzę miłego dnia! Umbraco robot]]>
+ [%0%] Tłumaczeń dla %1%
+ Nie znaleziono tłumaczy. Proszę utwórz tłumacza przed wysłaniem zawartości do tłumaczenia
+ Zadania stworzone przez Ciebie
+ stworzone przez Ciebie. Aby zobaczyć szczegółowe informacje wraz z komentarzami, kliknij na "Szczegóły" lub na nazwę strony. Możesz również pobrać stronę jako XML poprzez kliknięcie na link "Pobierz XML". Aby zamknąć zadanie tłumaczenia, proszę w podglądzie szczegółowym kliknąć przycisk "Zamknij".]]>
+ Strona '%0%' została wysłana do tłumaczenia
+ Wyślij stronę '%0%' do tłumaczenia
+ Przypisane przez
+ Zadanie otwarte
+ Liczba słów
+ Przetłumacz na
+ Tłumaczenie zakończone.
+ Możesz podglądnąć stronę, którą właśnie przetłumaczyłeś, poprzez kliknięcie poniżej. Jeżeli strona oryginalna istnieje, możesz porównać obie wersje
+ Błąd tłumaczenia, plik XML może być uszkodzony
+ Opcje tłumaczeń
+ Tłumacz
+ Załaduj przetłumaczony XML
+
+
+ Cache przeglądarki
+ Kosz
+ Utworzone pakiety
+ Typy danych
+ Słownik
+ Zainstalowane pakiety
+ TRANSLATE ME: 'Install skin'
+ TRANSLATE ME: 'Install starter kit'
+ Języki
+ Zainstaluj pakiet lokalny
+ Makra
+ Typy mediów
+ Członkowie
+ Grupy członków
+ Role
+ Typ członka
+ Typy dokumentów
+ Pakiety
+ Pakiety
+ Pliki Python
+ Zainstaluj z repozytorium
+ Zainstaluj Runway
+ Moduły Runway
+ TRANSLATE ME: 'Scripting Files'
+ Skrypty
+ Arkusze stylów
+ Szablony
+ Pliki XSLT
+
+
+ Aktualizacja jest gotowa
+ Gotowe jest %0%, kliknij tutaj aby pobrać
+ Brak połączenia z serwerem
+ Wystąpił błąd podczas sprawdzania aktualizacji. Przeglądnij trace-stack dla dalszych informacji
+
+
+ Administrator
+ Pole kategorii
+ TRANSLATE ME: 'Change Your Password'
+ TRANSLATE ME: 'You can change your password for accessing the Umbraco Back Office by filling out the form below and click the 'Change Password' button'
+ Zawartość
+ Opis
+ Wyłącz użytkownika
+ Typ dokumentu
+ Edytor
+ Wypis
+ Język
+ Login
+ Węzeł początkowy w bibliotece mediów
+ Sekcje
+ Wyłącz dostęp do Umbraco
+ Hasło
+ TRANSLATE ME: 'Your password has been changed!'
+ TRANSLATE ME: 'Please confirm the new password'
+ TRANSLATE ME: 'Enter your new password'
+ TRANSLATE ME: 'Your new password cannot be blank!'
+ TRANSLATE ME: 'There was a difference between the new password and the confirmed password. Please try again!'
+ TRANSLATE ME: 'The confirmed password doesn't match the new password!'
+ Zastąp prawa dostępu dla węzłów potomnych
+ Aktualnie zmieniasz uprawnienia dostępu do stron:
+ Wybierz strony, którym chcesz zmienić prawa dostępu
+ Przeszukaj wszystkie węzły potomne
+ Węzeł początkowy w treści
+ Nazwa użytkownika
+ Prawa dostępu użytkownika
+ Typ
+ Typy użytkowników
+ Pisarz
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Config/Lang/pt.xml b/Blog/umbraco/Config/Lang/pt.xml
new file mode 100644
index 0000000..953d4db
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/pt.xml
@@ -0,0 +1,830 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ Gerenciar hostnames
+ Caminho de Auditoria
+ Navegar o Nó
+ Copiar
+ Criar
+ Criar Pacote
+ Remover
+ Desabilitar
+ Esvaziar Lixeira
+ Exportar Tipo de Documento
+ Exportar para .NET
+ Exportar para .NET
+ Importar Tipo de Documento
+ Importar Pacote
+ Editar na Tela
+ Sair
+ Mover
+ Notificações
+ Acesso público
+ Publicar
+ Recarregar nós
+ Republicar site inteiro
+ Permissões
+ Reversão
+ Enviar para Publicação
+ Enviar para Tradução
+ Classificar
+ Enviar para publicação
+ Traduzir
+ Atualizar
+
+
+ Adicionar novo Domínio
+ Domínio
+ Novo domínio '%0%' foi criado
+ Domínio '%0%' foi removido
+ Domínio '%0%' já foi designado
+ ou seja: seudominio.com, www.seudominio.com
+ Domínio '%0%' foi atualizado
+ Editar Domínios Atuais
+
+
+ Visão para
+
+
+ Negrito
+ Remover Travessão de Parágrafo
+ Inserir campo de formulário
+ Inserir manchete de gráfico
+ Editar Html
+ Travessão de Parágrafo
+ Itálico
+ Centro
+ Justificar à Esquerda
+ Justificar à Direita
+ Inserir Link
+ Inserir link local (âncora)
+ Lista de tópicos
+ Lista numérica
+ Inserir macro
+ Inserir figura
+ Editar relacionamentos
+ Salvar
+ Salvar e publicar
+ Salvar e mandar para aprovação
+ Prévia
+ Escolha estilo
+ Mostrar estilos
+ Inserir tabela
+
+
+ Sobre esta página
+ Link alternativo
+ (como você descreveria a imagem pelo telefone)
+ Links Alternativos
+ Clique para editar este item
+ Criado por
+ Criado
+ Tipo de Documento
+ Editando
+ Remover em
+ Este item foi alterado após a publicação
+ Este item não está publicado
+ Última publicação
+ Tipo de Mídia
+ Grupo do Membro
+ Função
+ Tipo de Membro
+ Nenhuma data escolhida
+ Título da Página
+ Propriedades
+ Este documento está publicado mas não está visível porque o pai '%0%' não está publicado
+ Publicar
+ Status da Publicação
+ Publicado em
+ Remover Data
+ Ordem de classificação está atualizada
+ Para classificar os nós simplesmente arraste os nós ou clique em um dos títulos de colunas. Você pode selecionar múltiplos nós ao pressionar e segurar 'shift' ou 'control' durante a seleção
+ Estatísticas
+ Título (opcional)
+ Tipo
+ Des-Publicar
+ Última edição
+ Remover arquivo
+ Link ao documento
+
+
+ Onde você quer criar seu novo(a) %0%
+ Criado em
+ Escolha um tipo e um título
+
+
+ Navegue seu site
+ - Esconder
+ Se Umbraco não estiver abrindo talvez você precise hablitar pop-ups para este site
+ foi aberto em uma nova janela
+ Reiniciar
+ Visitar
+ Bem Vindo(a)
+
+
+ Nome
+ Gerenciar hostnames
+ Fechar esta janela
+ Certeza em remover
+ Certeza em desabilitar
+ Favor selecionar esta caixa para confirmar a remoção de %0% item(s)
+ Tem certeza
+ Tem certeza?
+ Cortar
+ Editar Item de Dicionário
+ Editar Linguagem
+ Inserir link local
+ Inserir charactere
+ Inserir manchete de gráfico
+ Inserir figura
+ Inserir Link
+ Inserir Macro
+ Inserir tabela
+ Última Edição
+ Link
+ Link interno:
+ Ao usar links locais insira "#" na frente do link
+ Abrir em nova janela?
+ Configurações de Macro
+ Este macro não contém nenhuma propriedade que possa ser editada
+ Colar
+ Editar Permissões para
+ Os itens na lixeira agora estão sendo removidos. Favor não fechar esta janela enquanto este processo é concluído
+ A lixeira agora está vazia
+ Quando itens são removidos da lixeira estes somem para sempre
+ regexlib.com está no momento sofrendo dificuldades dos quais não temos controle. Pedimos desculpas pela inconveniência.]]>
+ Busque por uma expressão regular para adicionar validação à um campo de formulário. Exemplo: 'email', 'zip-code' (código postal), 'url'
+ Remover Macro
+ Campo obrigatório
+ Site foi re-indexado
+ O cache do website foi atualizado. Todo conteúdo publicado está atualizado agora. No entanto, todo conteúdo não publicado ainda permanecerá invisível
+ O cache do website será atualizado. Todo conteúdo publicado será atualizado, enquanto o conteúdo que não foi publicado permanecerá invisível
+ Número de colunas
+ Número de linhas
+ Defina uma id de espaço reservado definindo uma ID em seu espaço reservado você pode injetar conteúdo dentro deste modelo desde modelos filhos usando esta ID como referência dentro de um elemento <asp:content />]]>
+ Selecione uma id de espaço reservado da lista abaixo. Você pode escolher somente as IDs em seu modelo mestre atual.]]>
+ Clique para ver a imagem em seu tamanho original
+ Escolha item
+ Ver Item em Cache
+
+
+ %0%' abaixo Você pode adicionar mais linguagens sob 'linguagens' no menu à esquerda]]>
+ Nome da Cultura
+
+
+ Tipos de nós filhos permitidos
+ Criar
+ Remover guia
+ Descrição
+ Nova guia
+ Guia
+ Miniatura
+
+
+ Adicionar valor prévio
+ Tipo de Dados do Banco de Dados
+ GUID do Editor de Propriedades
+ Editor de Propriedades
+ Botões
+ Habilitar configurações avançadas para
+ Habilitar menu de contexto
+ Tamanho padrão máximo para imagens inseridas
+ Stylesheets relacionadas
+ Mostrar Rótulo
+ Largura e altura
+
+
+ Seus dados foram salvos mas antes que possa publicar esta página existem alguns erros que precisam ser concertados:
+ O provedor de membros (Membership provider) atual não suporta alterações de senha (EnablePasswordRetrieval tem que estar definica como true)
+ %0% já existe
+ Houve erros:
+ Houve erros:
+ A senha deve ter no mínimo %0% caracteres e conter pelo menos %1% caractere(s) não alfa-númérico
+ %0% tem que ser um inteiro
+ O campo %0% na guia %1% é mandatório
+ %0% é um campo mandatório
+ %0% em %1% não está no formato correto
+ %0% não está em um formato correto
+
+
+ NOTA! Mesmo que CodeMirror esteja habilitado pela configuração o mesmo foi desabilitado em Internet Explorer pois não é estável o suficiente.
+ Favor preencher ambos apelidos e nome na sua nova propriedade de tipo!
+ Houve um erro com o acesso de ler/escrever em um arquivo ou pasta específica
+ Favor digitar um título
+ Favor escolher um tipo
+ Você está prestes a tornar esta figura maior que o tamanho original. Tem certeza que deseja proceguir?
+ Erro no script python
+ O script pyton não foi salvo por que contém erro(s)
+ Nó inicial removido, favor entrar em contato com seu administrador
+ Favor marcar conteúdo antes de alterar o estilo
+ Nenhum estilo ativo disponível
+ Favor colocar o cursos à esquerda das duas células que deseja mesclar
+ Você não pode dividir uma célula que não foi mesclada.
+ Erro na fonta XSLT
+ O XSLT não foi salvo porque contém erro(s)
+
+
+ Sobre
+ Ação
+ Adicionar
+ Apelido
+ Tem certeza?
+ Borda
+ por
+ Cancelar
+ Margem da célula
+ Escolher
+ Fechar
+ Fechar Janela
+ Comentário
+ Confirmar
+ Restrições de proporções
+ Continuar
+ Copiar
+ Criar
+ Banco de Dados
+ Data
+ Padrão
+ Remover
+ Removido
+ Removendo...
+ Desenho
+ Dimensões
+ Abaixo
+ Download
+ Editar
+ Editado
+ Elementos
+ Email
+ Erro
+ Buscar
+ Altura
+ Ajuda
+ Ícone
+ Importar
+ Margem interna
+ Inserir
+ Instalar
+ Justificar
+ Idioma
+ Esboço
+ Carregando
+ Travado
+ Login
+ Sair
+ Logout
+ Macro
+ Mover
+ Nome
+ Novo
+ Próximo
+ Não
+ de
+ OK
+ Abrir
+ ou
+ Senha
+ Caminho
+ ID do Espaço Reservado
+ Um momento por favor...
+ Prévio
+ Propriedades
+ Email para receber dados do formulário
+ Lixeira
+ Remanescentes
+ Renomear
+ Renovar
+ Tentar novamente
+ Permissões
+ Busca
+ Servidor
+ Mostrar
+ Mostrar página durante envio
+ Tamanho
+ Classificar
+ Tipo
+ Digite para buscar...
+ Acima
+ Atualizar
+ Atualizar
+ Subir (Upload)
+ Url
+ Usuário
+ Usuário
+ Valor
+ Ver
+ Bem Vindo(a)...
+ Largura
+ Sim
+
+
+ Cor de fundo
+ Negrito
+ Cor do Texto
+ Fonte
+ Texto
+
+
+ Página
+
+
+ O instalador não pôde conectar-se ao banco de dados.
+ Não foi possível salvar o arquivo web.config. Favor modificar a linha de conexão manualmente.
+ Seu banco de dados foi encontrado e identificado como
+ Configuração do Banco de Dados
+ instalar para instalar o banco de dados do Umbraco %0%]]>
+ Próximo para prosseguir.]]>
+ Banco de dados não encontrado! Favor checar se a informação no "connection string" do "web.config" esteja correta.
+
Para prosseguir, favor editar o arquivo "web.config" (usando Visual Studio ou seu editor de texto favorito), role até embaixo, adicione a connection string para seu banco de dados com a chave de nome "UmbracoDbDSN" e salve o arquivo
]]>
+ Favor contatar seu provedor de internet ou hospedagem web se necessário. Se você estiver instalando em uma máquina ou servidor local é possível que você precise dessas informações por um administrador de sistema.]]>
+
+ Pressione o botão atualizar para atualizar seu banco de dados para Umbraco %0%
+
+ Não se preocupe - nenhum conteúdo será removido e tudo estará funcionando depois disto!
+
+ ]]>
+ Pressione Próximo para prosseguir.]]>
+ próximo para continuar com o assistente de configuração]]>
+ A senha do usuário padrão precisa ser alterada!]]>
+ O usuário padrão foi desabilitado ou não tem acesso à Umbraco!
Nenhuma ação posterior precisa ser tomada. Clique Próximo para prosseguir.]]>
+ A senha do usuário padrão foi alterada com sucesso desde a instalação!
Nenhuma ação posterior é necessária. Clique Próximo para prosseguir.]]>
+ Senha foi alterada!
+
+ Umbraco cria um usuário padrão com o login ('admin') e senha ('default'). É importante que a senha seja alterada para algo único.
+
+
+ Este passo irá checar a senha do usuário padrão e sugerir uma alteração se necessário.
+
+
+ ]]>
+ Comece com o pé direito, assista nossos vídeos introdutórios
+ Ao clicar no próximo botão (ou modificando o UmbracoConfigurationStatus no web.config), você aceita a licença deste software cmo especificado na caixa abaixo. Note que esta distribuição de Umbraco consiste em duas licenças diferentes, a licença aberta MIT para a framework e a licença de software livre (freeware) Umbraco que cobre o UI.
+ Nenhum instalado ainda.
+ Pastas e arquivos afetados
+ Mais informações em como configurar permissões para Umbraco aqui
+ Você precisa conceder permissão de modificação ASP.NET aos seguintes arquivos/pastas
+ Suas permissões estão quase perfeitas!
+Você pode correr Umbraco sem problemas, mas não vai ser capaz de instalar pacotes que são recomendados para tirar total vantagem de Umbraco.]]>
+ Como Resolver
+ Clique aqui para ler a versão texto
+ vídeo tutorial sobre configuração de permissões de pastas para Umbraco ou leia a versão texto.]]>
+ Suas permissões podem ser um problema!
+
+Você pode correr Umbraco sem problemas mas não será capaz de criar pastas ou instalar pacotes que são recomendados para tirar total vantagem de Umbraco.]]>
+ Suas permissões não estão prontas para Umbraco!
+
+Para correr Umbraco você vai precisar atualizar as configurações de permissões.]]>
+ Suas configurações de permissões estão perfeitas!
Você está pronto para correr o Umbraco e instalar pacotes!]]>
+ Resolvendo problemas de pastas
+ Siga este link para mais informações sobre problemas com ASP.NET e criação de pastas
+ Configurando permissões de pastas
+
+ Eu quero começar do zero
+ learn how)
+ Você ainda pode escolher instalar Runway mais tarde. Favor ir à seção Desenvolvedor e selecione pacotes.]]>
+ Você acabou de configurar uma plataforma Umbraco limpa. O que deseja fazer a seguir?
+ Runway está instalado
+
+Esta é nossa lista de módulos recomendados, selecione os que gostaria de instalar, ou veja a lista completa de módulos]]>
+ Somente recomendado para usuários experientes
+ Eu quero começar com um site simples
+
+ "Runway" é um website simples que provê alguns documentos básicos e modelos. O instalador pode configurar Runway automaticamente mas você pode editar facilmente, extender ou removê-lo. Não é necessário e você pode perfeitamente usar Umbraco sem ele.
+No entanto, Runway oferece uma fundação básica sobre melhores práticas em como começar o mais rápido possível.
+Se escolher instalar Runway você pode opcionalmente selecionar blocos de construção básicos chamados módulos Runway para melhorar suas páginas Runway.
+
+ Incluso com Runway: Página Inicial, Começando, Instalando Módulos.
+ Módulos Opcionais: Navegação de Topo, Mapa de Site, Contato, Galeria.
+
+
+ ]]>
+ O que é Runway
+ Passo 1/5 Aceitar Licença
+ Passo 2/5: Configuração do Banco de Dados
+ Passo 3/5: Validando Permissões de Arquivos
+ Passo 4/5: Checar segurança Umbraco
+ Passo 5/5: Umbraco está pronto para ser usado
+ Obrigado por escolher Umbraco
+ Navegue seu site
+Você instalou Runway, então por que não ver como é seu novo website.]]>
+ Ajuda adicional e informações
+Consiga ajuda de nossa comunidade ganhadora de prêmios, navegue a documentação e assista alguns vídeos grátis sobre como construir um site simples, como usar pacotes e um guia prático sobre a terminologia Umbraco]]>
+ Umbraco %0% está instalado e pronto para uso
+ web.config e atualizar a chave AppSettings UmbracoConfigurationStatus no final para '%0%'.]]>
+ iniciar instantâneamente clicando em "Lançar Umbraco" abaixo. Se você é novo com Umbraco você pode encontrar vários recursos em nossa página para iniciantes.]]>
+ Lançar Umbraco
+Para gerenciar seu website, simplesmente abra a área administrativa do Umbraco para começar adicionando conteúdo, atualizando modelos e stylesheets e adicionando nova funcionalidade]]>
+ Conexão ao banco falhou.
+ Umbraco Versão 3
+ Umbraco Versão 4
+ Assistir
+ Umbraco %0% para uma nova instalação ou atualizando desde verão 3.0.
+
+ ]]>
+ [%0%] Notificação sobre %1% realizada em %2%
+ Notificações
+
+
+ e localizando o pacote. Pacotes Umbraco tem extensão ".umb" ou ".zip".]]>
+ Autor
+ Demonstração
+ Documentação
+ Dado meta do pacote
+ Nome do pacote
+ Pacote não contém nenhum item
+
+Você pode remover com segurança do seu sistema clicando em "desinstalar pacote" abaixo.]]>
+ Nenhuma atualização disponível
+ Oções do pacote
+ Leia-me do pacote
+ Repositório do pacote
+ Confirmar desinstalação
+ Pacote foi desinstalado
+ O pacote foi desinstalado com sucesso
+ Desinstalar pacote
+
+Aviso: quaisquer documentos, mídia, etc dependentes dos itens que forem removidos vão parar de funcionar e podem levar à instabilidade do sistema. Então desinstale com cuidado. Se tiver dúvidas, contate o autor do pacote]]>
+ Baixar atualização pelo repositório
+ Atualizar pacote
+ Instruções de atualização
+ Há uma atualizaçào disponível para este pacote. Você pode baixá-lo diretamente do repositório de pacotes do Umbraco.
+ Versão do pacote
+ Ver website do pacote
+
+
+ Colar com formatação completa (Não recomendado)
+ O texto que você está tentando colar contém caracteres ou formatação especial. Isto pode ser causado ao copiar textos diretamente do Microsoft Word. Umbraco pode remover os caracteres ou formatação especial automaticamente para que o conteúdo colado seja mais adequado para a internet.
+ Colar como texto crú sem nenhuma formatação
+ Colar, mas remover formatação (Recomendado)
+
+
+ Proteção baseada em função
+ usando grupos de membros do Umbraco.]]>
+ autenticação baseada em função.]]>
+ Página de Erro
+ Usado quando as pessoas estão logadas, mas não para ter acesso
+ Escolha como restringir o acesso à esta página
+ %0% agora está protegido
+ Proteção removida de %0%
+ Página de Login
+ Escolha a página que tem o formulário de login
+ Remover Proteção
+ Selecione as páginas que contém o formulário de login e mensagens de erro
+ Escolha as funções que terão acesso à esta página
+ Defina o login e senha para esta página
+ Proteção à um usuário específico
+ Se você deseja configurar proteção simples usando somente um usuário e senha
+
+
+ %0% não pode ser publicado devido à uma extensão de terceiros que cancelou a ação.
+ Incluir páginas filhas ainda não publicadas
+ Publicação em progresso - favor aguardar...
+ %0% de %1% páginas foram publicadas...
+ %0% foi publicada
+ %0% e sub-páginas foram publicadas
+ Publicar %0% e todoas suas sub-páginas
+ ok para publicar %0% e assim fazer com que seu conteúdo se torne disponível.
+Você pode publicar esta página e todas suas sub-páginas ao selecionar publicar todos filhos abaixo.]]>
+
+
+ Adicionar link externo
+ Adicionar link interno
+ Adicionar
+ Legenda
+ Página interna
+ URL
+ Mover Abaixo
+ Mover Acima
+ Abrir em nova janela
+ Remover Link
+
+
+ Versão atual
+ Texto vermelho não será mostrado na versão selecionada; verde significa adicionado]]>
+ Documento foi revertido
+ Isto mostra a versão selecionada como html se você deseja ver as diferenças entre as 2 versões ao mesmo tempo use a visão em diff
+ Reverter à
+ Selecione versão
+ Ver
+
+
+ Editar arquivo de script
+
+
+ Porteiro
+ Conteúdo
+ Mensageiro
+ Desenvolvedor
+ Assistente de Configuração Umbraco
+ Mídia
+ Membros
+ Boletins Informativos
+ Configurações
+ Estatísticas
+ Tradução
+ Usuários
+
+
+ Modelo padrão
+ Chave do Dicionário
+ Para importar um tipo de documento encontre o arquivo ".udt" em seu computador clicando em "Navegar" e depois clicando em "Importar"(você pode confirmar na próxima tela)
+ Novo Título da Guia
+ Tipo de Nó
+ Tipo
+ Stylesheet
+ Propriedade de Stylesheet
+ Guia
+ Título da Guia
+ Guias
+
+
+ Classificação concluída.
+ Arraste os diferentes itens para cima ou para baixo para definir como os mesmos serão arranjados. Ou clique no título da coluna para classificar a coleção completa de itens
+ Não feche esta janela durante a classificação]]>
+
+
+ Publicação foi cancelada por add-in de terceiros
+ Tipo de propriedade já existe
+ Tipo de propriedade criada
+ Tipo de Dado: %1%]]>
+ Tipo de propriedade removido
+ Tipo de Documento salvo
+ Guia criada
+ Guia removida
+ Guia com ID: %0% removida
+ Stylesheet não salva
+ Stylesheet salva
+ Stylesheet salva sem nenhum erro
+ Typo de Dado salvo
+ Item de Dicionário salvo
+ Publicação falhou porque a página pai não está publicada
+ Conteúdo publicado
+ e visível no website
+ Conteúdo salvo
+ Lembre-se de publicar para tornar as mudanças visíveis
+ Enviado para Aprovação
+ Alterações foram enviadas para aprovação
+ Membro salvo
+ Propriedade de Stylesheet salva
+ Stylesheet salva
+ Modelo salvo
+ Erro ao salvar usuário (verificar log)
+ Usuário Salvo
+ Arquivo não salvo
+ Arquivo não pode ser salvo. Favor checar as permissões do arquivo
+ Arquivo salvo
+ Arquivo salvo sem nenhum erro
+ Linguagem salva
+ Script Python não salvo
+ Script python não pode ser salvo devido à erro
+ Script Python salvo
+ Nenhum erro no script python
+ Modelo não salvo
+ Favor confirmar que não existem 2 modelos com o mesmo apelido
+ Modelo salvo
+ Modelo salvo sem nenhum erro!
+ XSLT não salvo
+ XSLT continha um erro
+ XSLT não pode ser salvo, cheque as permissões do arquivo
+ XSLT salvo
+ Nenhum erro no XSLT
+
+
+ Use sintaxe CSS ex: h1, .redHeader, .blueTex
+ Editar stylesheet
+ Editar propriedade do stylesheet
+ Nome para identificar a propriedade de estilo no editor de texto rico (richtext)
+ Prévia
+ Estilos
+
+
+ Editar modelo
+ Inserir área de conteúdo
+ Inserir área de conteúdo em espaço reservado
+ Inserir item de dicionário
+ Inserir Macro
+ Inserir campo de página Umbraco
+ Modelo mestre
+ Guia rápido para etiquetas de modelos Umbraco
+ Modelo
+
+
+ Campo alternativo
+ Texto alternativo
+ Letra Maíscula ou minúscula
+ Escolha campo
+ Converter Quebra de Linhas
+ Substitui quebra de linhas com a etiqueta html <br>
+ Sim, Data somente
+ Formatar como data
+ Codificar HTML
+ Vai substituir caracteres especiais por seus equivalentes em HTML.
+ Será inserida após o valor do campo
+ Será inserida antes do valor do campo
+ Minúscula
+ Nenhum
+ Inserir após campo
+ Inserir antes do campo
+ Recursivo
+ Remover etiquetas de parágrafo
+ Removerá quaisquer <P> do começo ao fim do texto
+ Maiúscula
+ Codificar URL
+ Vai formatar caracteres especiais em URLs
+ Será usado somente quando os valores nos campos acima estiverem vazios
+ Este campo somente será usado se o campo primário estiver em vazio
+ Sim, com hora. Separador:
+
+
+ Tarefas designadas à você
+ designadas à você. Para ver os detalhes, incluinddo comentários, clique em "Detalhes" ou no nome da página.
+Você também pode baixar a página como XML ao clicar no link "Download XML".
+Para fechar a tarefa de tradução vá até os detalhes e clique no botão "Fechar".]]>
+ fechar tarefa
+ Detalhes da Tradução
+ Download todas as tarefas de tradução como xml
+ Download Xml
+ Download Xml DTD
+ Campos
+ Incluir sub-páginas
+
+ Tarefa de tradução [%0%] para %1%
+ Nenhum usuário tradutor encontrado. Favor criar um usuário tradutor antes que possa começar a enviar conteúdo para tradução
+ Tarefas criadas por você
+ criadas por você. Para ver os detalhes, incluindo comentários, clique em "Detalhes" ou no nome da página. Você também pode baixar a página em XML ao clicar no link "Download XML".
+Para fechar a tarefa de tradução vá até os detalhes e clique no botão "Fechar".]]>
+ A página '%0%' foi enviada para tradução
+ Enviar página '%0%' para tradução
+ Designada por
+ Tarefa aberta
+ Total de palavras
+ Traduzir para
+ Tradução concluída.
+ Você pode visualizar as páginas que acaba de traduzir ao clicar abaixo. Se a página original for encontrada você poderá fazer a comparação entre as 2 páginas.
+ Tradução falhou, o arquivo xml pode estar corrupto
+ Opções de Tradução
+ Tradutor
+ Upload Xml de Tradução
+
+
+ Navegador de Cache
+ Lixeira
+ Pacotes criados
+ Tipo de Dado
+ Dicionário
+ Pacotes instalados
+ Instalar tema
+ Instalar kit de iniciante
+ Linguagens
+ Instalar pacote local
+ Macros
+ Tipos de Mídia
+ Membros
+ Grupos de Membros
+ Funções
+ Tipo de Membro
+ Tipos de Documentos
+ Pacotes
+ Pacotes
+ Arquivos Python
+ Instalar desde o repositório
+ Instalar Runway
+ Módulos Runway
+ Arquivos de Script
+ Scripts
+ Stylesheets
+ Modelos
+ Arquivos XSLT
+
+
+ Nova atualização pronta
+ %0% está pronto, clique aqui para download
+ Nenhuma conexão ao servidor
+ Erro ao procurar por atualização. Favor revisar os detalhes (stack-trace) para mais informações
+
+
+ Administrador
+ Campo de Categoria
+ Alterar Sua Senha
+ você pode alterar sua senha para acessar a área administrativa do Umbraco preenchendo o formulário abaixo e clicando no botão 'Alterar Senha'
+ Canal de Conteúdo
+ Campo de descrição
+ Desabilitar Usuário
+ Tipo de Documento
+ Editor
+ Campo de excerto
+ Linguagem
+ Login
+ Nó Inicial na Biblioteca de Mídia
+ Seções
+ Desabilitar Acesso Umbraco
+ Senha
+ Sua senha foi alterada!
+ Favor confirmar sua nova senha
+ Digite sua nova senha
+ Sua nova senha não pode estar em branco!
+ Há uma diferença entre a nova senha e a confirmação da senha. Favor tentar novamente!
+ A confirmação da senha não é igual à nova senha!
+ Substituir permissões do nó filho
+ Vocês está modificando permissões para as páginas no momento:
+ Selecione páginas para modificar suas permissões
+ Buscar todos filhos
+ Nó Inicial do Conteúdo
+ Nome de Usuário
+ Permissões de usuário
+ Tipo de usuário
+ Tipos de usuários
+ Escrevente
+
+
diff --git a/Blog/umbraco/Config/Lang/ru.xml b/Blog/umbraco/Config/Lang/ru.xml
new file mode 100644
index 0000000..9e0b8e8
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/ru.xml
@@ -0,0 +1,1043 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ Языки и домены
+ История исправлений
+ Просмотреть
+ Изменить тип документа
+ Копировать
+ Создать
+ Создать пакет
+ Значение по умолчанию
+ Удалить
+ Отключить
+ Очистить корзину
+ Экспортировать
+ Импортировать
+ Импортировать пакет
+ Править на месте
+ Выйти
+ Переместить
+ Уведомления
+ Публичный доступ
+ Опубликовать
+ Обновить узлы
+ Опубликовать весь сайт
+ Восстановить
+ Разрешения
+ Откатить
+ Направить на публикацию
+ Направить на перевод
+ Сортировать
+ Направить на публикацию
+ Перевести
+ Скрыть
+ Обновить
+
+
+ Добавить новый домен
+ Домен
+ Создан новый домен '%0%'
+ Домен '%0%' удален
+ Домен с именем '%0%' уже существует
+ Также здесь допустимы части адресов URL первого уровня, например "example.com/en",
+ однако их следует по возможности избегать. Рекомендуется использовать настройку культуры (языка), расположенную выше.]]>
+ Домен '%0%' обновлен
+ Такой домен уже назначен.
+ Унаследовать
+ Недопустимый формат домена.
+ Недопустимый узел.
+ Язык
+ Править существующие домены
+ Недостаточно полномочий.
+ удалить
+ Домены
+ Язык (культура)
+ или унаследуйте язык от родительских узлов.
+ Эта установка будет применена также и к текущему узлу, если только для него ниже явно не задан домен.]]>
+
+
+ Наблюдать за
+
+
+ Полужирный
+ Уменьшить отступ
+ Вставить поле формы
+ Вставить графический заголовок
+ Править исходный код HTML
+ Увеличить отступ
+ Курсив
+ По центру
+ По левому краю
+ По правому краю
+ Вставить ссылку
+ Вставить якорь (локальную ссылку)
+ Маркированный список
+ Нумерованный список
+ Вставить макрос
+ Вставить изображение
+ Править связи
+ Вернуться к списку
+ Сохранить
+ Сохранить и опубликовать
+ Сохранить и направить на публикацию
+ Выбрать
+ Выбрать текущую папку
+ Предварительный просмотр
+ Предварительный просмотр запрещен, так как документу не сопоставлен шаблон
+ Сделать что-нибудь еще
+ Выбрать стиль
+ Показать стили
+ Вставить таблицу
+
+
+ Чтобы сменить тип документа для выбранного узла, сначала выберите тип из списка разрешенных для данного расположения.
+ Затем подтвердите и/или исправьте сопоставление свойств текущего типа документа свойствам нового и нажмите "Сохранить".
+ Узел переопубликован.
+ Текущее свойство
+ Текущий тип
+ Тип документа не может быть изменен, так как для данного расположения нет разрешенных альтернатив.
+ Альтернативный тип станет доступным, если его разрешить как тип, пригодный для создания дочерних узлов внутри родительского узла данного документа.
+ Тип документа изменен
+ Сопоставление свойств
+ Сопоставлено свойству
+ Новый шаблон
+ Новый тип
+ нет
+ Узел
+ Выберите новый тип документа
+ Тип документа выбранного узла успешно изменен на [new type] и следующие свойства были перенесены:
+ в
+ Невозможно закончить перенос свойств, так как одно или более свойства имеют больше чем одно сопоставление.
+ Показаны только допустимые для данного расположения альтернативные типы.
+
+
+ Вы не указали ни одного допустимого цвета
+
+
+ Об этой странице
+ Алиас
+ (как бы Вы описали изображение по телефону)
+ Альтернативные ссылки
+ Альтернативный текст (необязательно)
+ Элементы списка
+ Нажмите для правки этого элемента
+ Создано пользователем
+ Исходный автор
+ Дата создания
+ Дата/время создания документа
+ Тип документа
+ Редактирование
+ Скрыть
+ Опубликовано
+ Этот документ был изменен после публикации
+ Этот документ не опубликован
+ Документ опубликован
+ В этом списке пока нет элементов.
+ Ссылка на медиа-элементы
+ Тип медиа-контента
+ Группа участников
+ Член групп(ы)
+ Роль участника
+ Тип участника
+ Дата не указана
+ Заголовок страницы
+ Не является членом групп(ы)
+ Свойства
+ Этот документ опубликован, но скрыт, потому что его родительский документ '%0%' не опубликован
+ ВНИМАНИЕ: этот документ опубликован, но его нет в глобальном кэше (внутренняя ошибка)
+ Опубликовать
+ Состояние публикации
+ Опубликовать
+ Очистить дату
+ Порядок сортировки обновлен
+ Для сортировки узлов просто перетаскивайте узлы или нажмите на заголовке столбца. Вы можете выбрать несколько узлов, удерживая клавиши "shift" или "ctrl" при пометке
+ Статистика
+ Цель
+ Заголовок (необязательно)
+ Тип
+ Скрыть
+ Распубликовать
+ Последняя правка
+ Дата/время редактирования документа
+ Обновлено
+ Удалить файл
+ Ссылка на документ
+
+
+ Где вы хотите создать новый %0%
+ Создать в узле
+ "Типы документов".]]>
+ "Типы медиа-материалов".]]>
+ Выберите тип и заголовок
+
+
+ Обзор сайта
+ - Скрыть -
+ Если административная панель не загружается, Вам, возможно, следует разрешить всплывающие окна для данного сайта
+ было открыто в новом окне
+ Перезапустить
+ Посетить
+ Рады приветствовать
+
+
+ Название
+ Управление доменами
+ Закрыть это окно
+ Вы уверены, что хотите удалить
+ Вы уверены, что хотите запретить
+ Пожалуйста, подтвердите удаление из корзины %0% элементов
+ Вы уверены?
+ Вы уверены?
+ Вырезать
+ Править статью словаря
+ Изменить язык
+ Вставить локальную ссылку (якорь)
+ Вставить символ
+ Вставить графический заголовок
+ Вставить изображение
+ Вставить ссылку
+ Вставить макрос
+ Вставить таблицу
+ Последняя правка
+ Ссылка
+ Внутренняя ссылка:
+ Для того чтобы определить локальную ссылку, используйте "#" первым символом
+ Открыть в новом окне?
+ Свойства макроса
+ Этот макрос не имеет редактируемых свойств
+ Вставить
+ Изменить разрешения для
+ Все элементы в корзине сейчас удаляются. Пожалуйста, не закрывайте это окно до окончания процесса удаления
+ Корзина пуста
+ Вы больше не сможете восстановить элементы, удаленные из корзины
+ regexlib.com испытывает в настоящее время некоторые трудности, не зависящие от нас. Просим извинить за причиненные неудобства.]]>
+ Используйте поиск регулярных выражений для добавления сервиса проверки к полю Вашей формы. Например: 'email, 'zip-code', 'url'
+ Удалить макрос
+ Обязательное поле
+ Сайт переиндексирован
+ Кэш сайта был обновлен. Все опубликованное содержимое приведено в актуальное состояние, в то время как неопубликованное содержимое по-прежнему не опубликовано
+ Кэш сайта будет полностью обновлен. Все опубликованное содержимое будет обновлено, в то время как неопубликованное содержимое по-прежнему останется неопубликованным
+ Количество столбцов
+ Количество строк
+ Идентификация контейнера (placeholder)
+ путем назначения Вашему элементу-контейнеру уникального идентификатора (ID) позволит Вам автоматически включать в шаблон содержимое из дочерних шаблонов путем указания этого идентификатора (ID) в конструкции <asp:content />.]]>
+ Выберите идентификатор элемента-контейнера (placeholder)
+ из нижеследующего списка. Список ограничивается идентификаторами, определенными в родительском шаблоне данного шаблона.]]>
+ Кликните на изображении, чтобы увидеть полноразмерную версию
+ Выберите элемент
+ Просмотр элемента кэша
+
+
+ %0%' Добавить другие языки можно, воспользовавшись пунктом 'Языки' в меню слева
+ ]]>
+ Название языка (культуры)
+
+
+ Допустим как корневой
+ Только узлы таких типов (с установленным флагом) могут быть созданы в корневом уровне дерева содержимого или медиа-библиотеки
+ Допустимые типы дочерних узлов
+ Составные типы документов
+ Создать
+ Создать пользовательский список
+ Текущий список
+ Текущий тип данных в виде списка
+ Удалить вкладку
+ Описание
+ Включить представление в виде списка
+ Включает представление узлов, дочерних к узлу данного типа, в виде сортируемого списка с функцией фильтра и поиска. Такие дочерние узлы при этом перестают быть видимыми в дереве.
+ Новая вкладка
+ Удалить пользовательский список
+ Вкладка
+ Миниатюра
+
+
+ Добавить предустановленное значение
+ Тип данных в БД
+ GUID типа данных
+ Редактор свойства
+ Кнопки
+ Включить расширенные настройки для
+ Включить контекстное меню
+ Максимальный размер по-умолчанию для вставляемых изображений
+ Сопоставленные стили CSS
+ Показать метку
+ Ширина и высота
+
+
+ Ваши данные сохранены, но для того, чтобы опубликовать этот документ, Вы должны сначала исправить следующие ошибки:
+ Текущий провайдер ролей пользователей не поддерживает изменение пароля (необходимо свойству EnablePasswordRetrieval в файле web.config присвоить значение true)
+ %0% уже существует
+ Обнаружены следующие ошибки:
+ Обнаружены следующие ошибки:
+ Пароль должен состоять как минимум из %0% символов, хотя бы %1% из которых не являются буквами
+ %0% должно быть целочисленным значением
+ %0% в %1% является обязательным полем
+ %0% является обязательным полем
+ %0% в %1%: данные в некорректном формате
+ %0% - данные в некорректном формате
+
+
+ ПРЕДУПРЕЖДЕНИЕ! Несмотря на то, что CodeMirror по-умолчанию разрешен в данной конфигурации, он по-прежнему отключен для браузеров Internet Explorer ввиду нестабильной работы
+ Укажите, пожалуйста, алиас и имя для этого свойства!
+ Использование данного типа файлов на сайте запрещено администратором
+ Ошибка доступа к указанному файлу или папке
+ Ошибка в конфигурации типа данных, используемого для свойства, проверьте тип данных
+ Укажите заголовок
+ Выберите тип
+ Вы пытаетесь увеличить изображение по сравнению с его исходным размером. Уверены, что хотите сделать это?
+ Ошибка в скрипте Python
+ Скрипт на языке Python не был сохранен, т.к. он содержит одну или несколько ошибок.
+ Начальный узел был удален, свяжитесь с Вашим администратором
+ Для смены стиля отметьте фрагмент текста
+ Не определен ни один доступный стиль
+ Поместите курсор в левую из двух ячеек, которые хотите объединить
+ Нельзя разделить ячейку, которая не была до этого объединена
+ Ошибка в XSLT-документе
+ XSLT-документ не был сохранен, т.к. он содержит одну или несколько ошибок
+
+
+ О системе
+ Действие
+ Действия
+ Добавить
+ Алиас
+ Вы уверены?
+ Границы
+ пользователем
+ Отмена
+ Отступ ячейки
+ Выбрать
+ Закрыть
+ Закрыть окно
+ Примечание
+ Подтвердить
+ Сохранять пропорции
+ Далее
+ Копировать
+ Создать
+ База данных
+ Дата
+ По-умолчанию
+ Удалить
+ Удалено
+ Удаляется...
+ Дизайн
+ Размеры
+ Вниз
+ Скачать
+ Изменить
+ Изменено
+ Элементы
+ Email адрес
+ Ошибка
+ Найти
+ Папка
+ Высота
+ Справка
+ Иконка
+ Импорт
+ Внутренний отступ
+ Вставить
+ Установить
+ Выравнивание
+ Язык
+ Макет
+ Загрузка
+ БЛОКИРОВКА
+ Логин
+ Выйти
+ Выход
+ Макрос
+ Больше
+ Переместить
+ Название
+ Новый
+ Следующий
+ Нет
+ из
+ Ok
+ Открыть
+ или
+ Пароль
+ Путь
+ Идентификатор контейнера
+ Минуточку...
+ Предыдущий
+ Свойства
+ Email адрес для получения данных
+ Корзина
+ Осталось
+ Переименовать
+ Обновить
+ Обязательное
+ Повторить
+ Разрешения
+ Поиск
+ Результаты поиска
+ Сервер
+ Показать
+ Показать страницу при отправке
+ Размер
+ Сортировать
+ Тип
+ Что искать?
+ Вверх
+ Обновить
+ Обновление
+ Загрузить
+ URL
+ Пользователь
+ Имя пользователя
+ Значение
+ Просмотр
+ Добро пожаловать...
+ Ширина
+ Да
+
+
+ Цвет фона
+ Полужирный
+ Цвет текста
+ Шрифт
+ Текст
+
+
+ снизу и добавьте Ваш первый элемент]]>
+ Добавить шаблон сетки
+ Настройте шаблон, задавая ширину колонок или добавляя дополнительные секции
+ Добавить конфигурацию строки
+ Настройте строку, задавая ширину ячеек или добавляя дополнительные ячейки
+ Добавить новые строки
+ Доступны все редакторы
+ Доступны все конфигурации строк
+ Кликните для встраивания
+ Кликните для вставки изображения
+ Колонки
+ Суммарное число колонок в шаблоне сетки
+ Шаблоны сетки
+ Шаблоны являются рабочим пространством для редактора сетки, обычно Вам понадобится не более одного или двух шаблонов
+ Вставить элемент
+ Заголовок для изображения...
+ Напишите...
+ Конфигурации строк
+ Строки - это последовательности ячеек с горизонтальным расположением
+ Установки будут сохранены только если они указаны в корректном формате json
+ Установки
+ Задайте установки, доступные редакторам для изменения
+ Стили
+ Задайте стили, доступные редакторам для изменения
+
+
+ Страница
+
+
+ перейти к
+ Разделы справки для
+ Обучающие видео для
+ Лучшие обучающие видеокурсы по Umbraco
+
+
+ Сбросить
+
+
+ Программа установки не может установить подключение к базе данных.
+ Невозможно сохранить изменения в файл web.config. Пожалуйста, вручную измените настройки строки подключения к базе данных.
+ База данных обнаружена и идентифицирована как
+ Конфигурация базы данных
+ Установить чтобы установить базу данных Umbraco %0%
+ ]]>
+ Далее для продолжения.]]>
+ База данных не найдена! Пожалуйста, проверьте настройки строки подключения ("connection string") в файле конфигурации "web.config"
+
Для настройки откройте файл "web.config" с помошью любого текстового редактора и добавьте нужную информацию в строку подключения (параметр "UmbracoDbDSN"),
+ затем сохраните файл.
]]>
+
+ Пожалуйста, свяжитесь с Вашим хостинг-провайдером, если есть необходимость, а если устанавливаете на локальную рабочую станцию или сервер, то получите информацию у Вашего системного администратора.]]>
+ Нажмите кнопку Обновление
+ для того, чтобы привести Вашу базу данных
+ в соответствие с версией Umbraco %0%
+
Пожалуйста, не волнуйтесь, ни одной строки Вашей базы данных
+ не будет потеряно при данной операции, и после ее завершения все будет работать!
+ ]]>
+
+ Нажмите кнопку Далее для продолжения.]]>
+ Далее для продолжения работы мастера настроек]]>
+ Пароль пользователя по-умолчанию необходимо сменить!]]>
+ Пользователь по-умолчанию заблокирован или не имеет доступа к Umbraco!
Не будет предпринято никаких дальнейших действий. Нажмите кнопку Далее для продолжения.]]>
+ Пароль пользователя по-умолчанию успешно изменен в процессе установки!
Нет надобности в каких-либо дальнейших действиях. Нажмите кнопку Далее для продолжения.]]>
+ Пароль изменен!
+ Umbraco создает пользователя по-умолчанию
+ с именем входа ('admin')
+ и паролем ('default').
+ ОЧЕНЬ ВАЖНО
+ изменить пароль по-умолчанию на что-либо уникальное.
+
Данный шаг произведет проверку пароля для пользователя по-умолчанию
+ и предложит сменить этот пароль в случае необходимости.
+ ]]>
+ Для начального обзора возможностей системы рекомендуем посмотреть ознакомительные видеоматериалы
+ Далее (или модифицируя вручную ключ "UmbracoConfigurationStatus" в файле "web.config"), Вы принимаете лицензионное соглашение для данного программного обеспечения, расположенное ниже. Пожалуйста, обратите внимание, что инсталляционный пакет Umbraco отвечает двум различным типам лицензий: лицензии MIT на программные продукты с открытым исходным кодом в части ядра системы и свободной лицензии Umbraco в части пользовательского интерфейса.]]>
+ Система не установлена.
+ Затронутые файлы и папки
+ Более подробно об установке разрешений для Umbraco рассказано здесь
+ Вам следует установить разрешения для учетной записи ASP.NET на модификацию следующих файлов и папок
+ Установки разрешений в Вашей системе почти полностью отвечают требованиям Umbraco!
+
Вы имеете возможность запускать Umbraco без проблем, однако не сможете воспользоваться такой сильной стороной системы Umbraco как установка дополнительных пакетов расширений и дополнений.]]>
+ Как решить проблему
+ Нажмите здесь, чтобы прочесть текстовую версию документа
+ видео-материал, посвященный установке разрешений для файлов и папок в Umbraco или прочтите текстовую версию документа.]]>
+ Установки разрешений в Вашей файловой системе могут быть неверными!
+
Вы имеете возможность запускать Umbraco без проблем,
+ однако не сможете воспользоваться такой сильной стороной системы Umbraco как установка дополнительных пакетов расширений и дополнений.]]>
+ Установки разрешений в Вашей файловой системе не подходят для работы Umbraco!
+
Если Вы хотите продолжить работу с Umbraco,
+ Вам необходимо скорректировать установки разрешений.]]>
+ Установки разрешений в Вашей системе идеальны!
+
Вы имеете возможность работать с Umbraco в полном объеме включая установку дополнительных пакетов расширений и дополнений!]]>
+ Решение проблемы с папками
+ Воспользуйтесь этой ссылкой для получения более подробной информации о проблемах создания папок от имени учетной записи ASP.NET
+ Установка разрешений на папки
+
+
+ Здесь можно узнать об этом подробнее) Вы также можете отложить установку "Runway" на более позднее время. Перейдите к разделу "Для разработчиков" и выберите пункт "Пакеты".
+ ]]>
+ Вы только что установили чистую платформу Umbraco. Какой шаг будет следующим?
+ "Runway" установлен
+ Ниже приведен список модулей, рекомендованных к установке, измените его при необходимости, или ознакомьтесь с полным списком модулей
+ ]]>
+ Рекомендовано только для опытных пользователей
+ Я хочу начать с установки простого демонстрационного сайта
+ "Runway" - это простой демонстрационный веб-сайт, предоставляющий базовый перечень шаблонов и типов документов.
+ Программа установки может настроить "Runway" для Вас автоматически,
+ но Вы можете в дальнейшем свободно изменять, расширять или удалить его.
+ Этот демонстрационный сайт не является необходимой частью, и Вы можете свободно
+ использовать Umbraco без него. Однако, "Runway" предоставляет Вам возможность
+ максимально быстро познакомиться с базовыми принциапми и техникой построения сайтов
+ на основе Umbraco. Если Вы выберете вариант с установкой "Runway",
+ Вам будет предложен выбор "базовых строительных блоков" (т.н. модулей Runway) для расширения возможностей страниц сайта "Runway".
+ В "Runway" входят:"Домашняя" (главная) страница, страница "Начало работы",
+ страница установки модулей. Дополнительные модули:Базовая навигация, Карта сайта, Форма обратной связи, Галерея.
+ ]]>
+ Что такое "Runway"
+ Шаг 1 из 5: Лицензионное соглашение
+ Шаг 2 из 5: конфигурация базы данных
+ Шаг 3 из 5: проверка файловых разрешений
+ Шаг 4 из 5: проверка безопасности
+ Шаг 5 из 5: система готова для начала работы
+ Спасибо, что выбрали Umbraco
+ Обзор Вашего нового сайтаВы установили "Runway",
+ почему бы не посмотреть, как выглядит Ваш новый сайт?]]>
+ Дальнейшее изучение и помощь
+ Получайте помощь от нашего замечательного сообщества пользователей, изучайте документацию или просматривайте наши свободно распространяемые видео-материалы о том, как создать собственный несложный сайт, как использовать расширения и пакеты, а также краткое руководство по терминологии Umbraco.]]>
+ Система Umbraco %0% установлена и готова к работе
+ web.config и изменить значение ключа UmbracoConfigurationStatus в секции AppSetting, установив его равным '%0%'.]]>
+ прямо сейчас,
+ воспользовавшись ссылкой "Начать работу с Umbraco". Если Вы новичок в мире Umbraco, Вы сможете найти много полезных ссылок на ресурсы на странице "Начало работы".]]>
+ Начните работу с Umbraco
+ Для того, чтобы начать администрировать свой сайт, просто откройте бэк-офис Umbraco и начните обновлять контент, изменять шаблоны страниц и стили CSS или добавлять новую функциональность]]>
+ Попытка соединения с базой данных потерпела неудачу.
+ Версия Umbraco 3
+ Версия Umbraco 4
+ Смотреть
+ Umbraco %0% в форме "чистой" установки или обновления предыдущей версии 3.x.
+
]]>
+ [%0%] Уведомление об операции %1% над документом %2%
+ Уведомления
+
+
+
+ и указав на нужный файл. Пакеты Umbraco обычно являются архивами с расширением ".umb" или ".zip".
+ ]]>
+ Автор
+ Демонстрация
+ Документация (описание)
+ Мета-данные пакета
+ Название пакета
+ Пакет ничего не содержит
+ Вы можете безопасно удалить данный пакет из системы, нажав на кнопку "Деинсталлировать пакет".]]>
+ Нет доступных обновлений
+ Опции пакета
+ Краткий обзор пакета
+ Репозиторий пакета
+ Подтверждение деинсталляции
+ Пакет деинсталлирован
+ Указанный пакет успешно удален из системы
+ Деинсталлировать пакет
+
+ Обратите внимание: все документы, медиа-файлы и другой контент, зависящий от этого пакета, перестанет нормально работать, что может привести к нестабильному поведению системы,
+ поэтому удаляйте пакеты очень осторожно. При наличии сомнений, свяжитесь с автором пакета.]]>
+ Скачать обновление из репозитория
+ Обновление пакета
+ Руководство по обновлению
+ Для данного пакета доступно обновление. Вы можете загрузить это обновление непосредственно из центрального репозитория пакетов Umbraco.
+ Версия пакета
+ История версий пакета
+ Перейти на веб-сайт пакета
+
+
+ Вставить, полностью сохранив форматирование (не рекомендуется)
+ Текст, который Вы пытаетесь вставить, содержит специальные символы и/или элемены форматирования. Это возможно при вставке текста, скопированного из Microsoft Word. Система может удалить эти элементы автоматически, чтобы сделать вставляемый текст более пригодным для веб-публикации.
+ Вставить как простой текст без форматирования
+ Вставить с очисткой форматирования (рекомендуется)
+
+
+ Укажите имя...
+ Укажите теги (нажимайте Enter после каждого тега)...
+ Укажите фильтр...
+ Назовите %0%...
+ Пароль
+ Что искать...
+ Имя пользователя
+
+
+ Расширенный: Защита на основе ролей (групп)
+ с использованием групп участников Umbraco.]]>
+ для применения ролевой модели безопасности.]]>
+ Страница сообщения об ошибке
+ Используется в случае, когда пользователь авторизован в системе, но не имеет доступа к документу.
+ Выберите способ ограничения доступа к документу
+ Правила доступа к документу %0% установлены
+ Правила доступа для документа %0% удалены
+ Страница авторизации (входа)
+ Используйте как страницу с формой для авторизации пользователей
+ Снять защиту
+ Выберите страницы авторизации и сообщений об ошибках
+ Выберитет роли пользователей, имеющих доступ к документу
+ Установите имя пользователя и пароль для доступа к этому документу
+ Простой: Защита по имени пользователя и паролю
+ Применяйте, если хотите установить самый простой способ доступа к документу - явно указанные имя пользователя и пароль
+
+
+
+
+
+
+ Включая неопубликованные дочерние документы
+ Идет публикация. Пожалуйста, подождите...
+ %0% из %1% документов опубликованы...
+ Документ %0% опубликован.
+ Документ %0% и его дочерние документы были опубликованы
+ Опубликовать документ %0% и все его дочерние документы
+ Ok для публикации документа %0%.
+ Тем самым Вы сделаете содержимое документа доступным для просмотра.
Вы можете опубликовать этот документ и все его дочерние документы, отметив опцию Опубликовать все дочерние документы.
+ ]]>
+
+
+ Заголовок
+ Укажите заголовок
+ выбрать страницу сайта
+ указать внешнюю ссылку
+ Укажите ссылку
+ Ссылка
+ В новом окне
+
+
+ Текущая версия
+ Красным отмечен текст, которого уже нет в последней версии, зеленым - текст, который добавлен]]>
+ Произведен откат к ранней версии
+ Текущая версия показана в виде HTML. Для просмотра различий в версиях выберите режим сравнения
+ Откатить к версии
+ Выберите версию
+ Просмотр
+
+
+ Править файл скрипта
+
+
+ Аналитика
+ Смотритель
+ Содержимое
+ Курьер
+ Для Разработчиков
+ Формы
+ Помощь
+ Мастер конфигурирования Umbraco
+ Медиа-материалы
+ Участники
+ Рассылки
+ Установки
+ Статистика
+ Перевод
+ Пользователи
+
+
+ в качестве родительского типа. Вкладки родительского типа не показаны и могут быть изменены непосредственно в родительском типе
+ Родительский тип контента разрешен
+ Данный тип контента использует
+ Создать шаблон для документов этого типа
+ Шаблон по-умолчанию
+ Словарная статья
+ Чтобы импортировать тип документа, найдите файл ".udt" на своем компьютере, нажав на кнопку "Обзор", затем нажмите "Импортировать" (на следующем экране будет запрошено подтверждение для этой операции).
+ Родительский тип документа
+ Заголовок новой вкладки
+ Тип узла (документа)
+ Для данной вкладки не определены свойства. Кликните по ссылке "Click here to add a new property" сверху, чтобы создать новое свойство.
+ Тип
+ Скрипт
+ Стили CSS
+ Правило стиля CSS
+ Вкладка
+ Заголовок вкладки
+ Вкладки
+
+
+ Сортировка завершена
+ Перетаскивайте элементы на нужное место вверх или вниз для определения необходимого Вам порядка сортировки. Также можно щелкнуть по заголовкам столбцов, чтобы отсортировать все элементы сразу.
+ Не закрывайте это окно до окончания процесса сортировки.]]>
+
+
+ Процесс публикации был отменен установленным пакетом дополнений.
+ Такое свойство уже существует.
+ Свойство создано
+ Тип данных: %1%]]>
+ Свойство удалено
+ Тип документа сохранен
+ Вкладка создана
+ Вкладка удалена
+ Вкладка с идентификатором (id): %0% удалена
+ Документ скрыт (публикация отменена)
+ Стиль CSS не сохранен
+ Стиль CSS сохранен
+ Стиль CSS сохранен без ошибок
+ Тип данных сохранен
+ Статья в словаре сохранена
+ Публикация не завершена, так как родительский документ не опубликован
+ Документ опубликован
+ и является видимым
+ Документ сохранен
+ Не забудьте опубликовать, чтобы сделать видимым
+ Отослано на утверждение
+ Изменения отосланы на утверждение
+ Медиа-элемент сохранен
+
+ Участник сохранен
+ Правило стиля CSS сохранено
+ Стиль CSS сохранен
+ Шаблон сохранен
+ Произошла ошибка при сохранении пользователя (проверьте журналы ошибок)
+ Пользователь сохранен
+ Тип пользователей сохранен
+ Файл не сохранен
+ Файл не может быть сохранен. Пожалуйста, проверьте установки файловых разрешений
+ Файл сохранен
+ Файл сохранен без ошибок
+ Язык сохранен
+ Представление не сохранено
+ Произошла ошибка при сохранении файла
+ Представление сохранено
+ Представление сохранено без ошибок
+ Cкрипт Python не сохранен
+ Cкрипт Python не может быть сохранен в связи с ошибками
+ Cкрипт Python сохранен
+ Cкрипт Python сохранен без ошибок
+ Шаблон не сохранен
+ Пожалуйста, проверьте, что нет двух шаблонов с одним и тем же алиасом (названием)
+ Шаблон сохранен
+ Шаблон сохранен без ошибок
+ XSLT-документ не сохранен
+ XSLT-документ содержит одну или несколько ошибок
+ XSLT-документ не может быть сохранен, проверьте установки файловых разрешений
+ XSLT-документ сохранен
+ Ошибок в XSLT-документе нет
+
+
+ Используется синтаксис селекторов CSS, например: h1, .redHeader, .blueTex
+ Изменить стиль CSS
+ Изменить правило стиля CSS
+ Название правила для отображения в редакторе документа
+ Предварительный просмотр
+ Стили
+
+
+ Править шаблон
+ Вставить контент-область
+ Вставить контейнер (placeholder)
+ Вставить статью словаря
+ Вставить макрос
+ Вставить поле документа
+ Мастер-шаблон
+ Краткая справка по тэгам шаблонов Umbraco
+ Шаблон
+
+
+ Альтернативное поле
+ Альтернативный текст
+ Регистр
+ Выбрать поле
+ Преобразовать переводы строк
+ Заменяет переводы строк на тэг html <br>
+ Пользовательские
+ Только дата
+ Кодировка
+ Форматировать как дату
+ Кодировка HTML
+ Заменяет спецсимволы эквивалентами в формате HTML
+ Будет добавлено после поля
+ Будет вставлено перед полем
+ В нижнем регистре
+ -Не указано-
+ Вставить после поля
+ Вставить перед полем
+ Рекурсивно
+ Удалить тэги параграфов
+ Удаляются тэги <p> в начале и в конце абзацев
+ Стандартные
+ В верхнем регистре
+ Кодирование URL
+ Форматирование специальных символов в URL
+ Это значение будет использовано только если предыдущие поля пусты
+ Это значение будет использовано только если первичное поле пусто
+ Дата и время. Разделитель:
+
+
+ Задачи, назначенные Вам
+ назначенные Вам. Для того, чтобы просмотреть подробные сведения,
+ включая комментарии, нажмите кнопку "Подробно" или просто кликните имя страницы. Вы ткже можете скачать XML-версию страницы нажав ссылку "Загрузить Xml". Чтобы закрыть задачу перевода, следует перейти к подробному просмотру и нажать там кнопку "Закрыть".
+ ]]>
+ Закрыть задачу
+ Подробности перевода
+ Загрузить все задачи по переводу в виде xml
+ Загрузить Xml
+ Загрузить xml DTD
+ Поля
+ Включить дочерние документы
+
+ [%0%] Задание по переводу %1%
+ Пользователей-переводчиков не обнаружено. Пожалуйста, создайте пользователя с ролью переводчика, перед тем как отсылать содержимое на перевод
+ Созданные Вами задания
+ созданных Вами.
+ Чтобы увидеть подробные данные, включая комментарии, нажмите кнопку "Подробно" или просто кликните название страницы.
+ Вы также можете загрузить XML-версию страницы, нажав на ссылку "Загрузить Xml". Чтобы завершить задачу перевода, Вам следует перейти к подробному просмотру и нажать там кнопку "Закрыть".
+ ]]>
+ Документ '%0%' был отправлен на перевод
+ Отправить документ '%0%' на перевод
+ Задание назначил
+ Задача создана
+ Всего слов
+ Перевести на
+ Перевод завершен.
+ Вы можете просмотреть документы, переведенные Вами, кликнув на ссылке ниже. Если будет найден оригинал документа, Вы увидите его и переведенный вариант в режиме сравнения.
+ Перевод не сохранен, файл xml может быть поврежден
+ Опции перевода
+ Переводчик
+ Загрузить переведенный xml
+
+
+ Аналитика
+ Обзор кэша
+ Корзина
+ Созданные пакеты
+ Типы данных
+ Словарь
+ Установленные пакеты
+ Установить тему
+ Установить стартовый набор
+ Языки
+ Установить локальный пакет
+ Макросы
+ Типы медиа-материалов
+ Участники
+ Группы участников
+ Роли участников
+ Типы участников
+ Типы документов
+ Пакеты дополнений
+ Пакеты дополнений
+ Скрипты Python
+ Установить из репозитория
+ Установить Runway
+ Модули Runway
+ Файлы скриптов
+ Скрипты
+ Стили CSS
+ Шаблоны
+ Файлы XSLT
+
+
+ Доступны обновления
+ Обновление %0% готово, кликните для загрузки
+ Нет связи с сервером
+ Во время проверки обновлений произошла ошибка. Пожалуйста, просмотрите жкрнал трассировки для получения дополнительной информации.
+
+
+ Администратор
+ Поле категории
+ Изменить пароль
+ Вы можете сменить свой пароль для доступа к административной панели Umbraco, заполнив нижеследующие поля и нажав на кнопку 'Изменить пароль'
+ Подтверждение нового пароля
+ Канал содержимого
+ Поле описания
+ Отключить пользователя
+ Тип документа
+ Редактор
+ Исключить поле
+ Язык
+ Имя входа (логин)
+ Начальный узел в Медиа-библиотеке
+ Разделы
+ Новый пароль
+ Отключить доступ к административной панели Umbraco
+ Пароль
+ Ваш пароль доступа изменен!
+ Подвердите новый пароль
+ Текущий пароль
+ Укажите новый пароль
+ Текущий пароль указан неверно
+ Пароль не может быть пустым
+ Новый пароль и его подтверждение не совпадают. Попробуйте еще раз
+ Новый пароль и его подтверждение не совпадают
+ Заменить разрешения для дочерних документов
+ Вы изменяете разрешения для следующих документов:
+ Выберите документы для изменения их разрешений
+ Сбросить пароль
+ Поиск всех дочерних документов
+ Сессия истекает через
+ Начальный узел содержимого
+ Переводчик
+ Имя пользователя
+ Разрешения для пользователя
+ Тип пользователя
+ Типы пользователей
+ Автор
+ Ваша недавняя история
+ Ваш профиль
+
+
diff --git a/Blog/umbraco/Config/Lang/sv.xml b/Blog/umbraco/Config/Lang/sv.xml
new file mode 100644
index 0000000..8ec091c
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/sv.xml
@@ -0,0 +1,894 @@
+
+
+
+ The Umbraco community
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ Hantera domännamn
+ Hantera versioner
+ Surfa på sidan
+ Ändra dokumenttyp
+ Kopiera
+ Skapa
+ Skapa paket
+ Standardvärde
+ Ta bort
+ Avaktivera
+ Töm papperskorgen
+ Exportera dokumenttyp
+ Importera dokumenttyp
+ Importera paket
+ Redigera i Canvas
+ Logga ut
+ Flytta
+ Meddelanden
+ Lösenordsskydd
+ Publicera
+ Ladda om noder
+ Publicera hela webbplatsen
+ Rättigheter
+ Ångra ändringar
+ Skicka för publicering
+ Skicka för översättning
+ Sortera
+ Skicka för publicering
+ Översätt
+ Avpublicera
+ Uppdatera
+
+
+ Lägg till nytt domännamn
+ Domännamn
+ Har skapat domännamnet %0%
+ Har tagit bort domännamnet %0%
+ Domänen %0% är redan tillagd
+ t.ex.: dittdomannamn.se, www.dittdomannamn.se
+ Domännamnet %0% har uppdaterats
+ Domänen är redan tilldelad
+ Ärv
+ Ogiltigt domännamn
+ Ogiltig nod
+ Språk
+ Redigera domännamn
+ Ingen behörighet
+ Ta bort
+ Domäner
+ Kultur
+ eller ärv kulturen från föregående noder. Appliceras även
+ på befintlig nod.]]>
+
+
+ Visar för
+
+
+ Fetstil
+ Minska indrag
+ Infoga formulärfält
+ Infoga grafisk rubrik
+ Ändra html
+ Öka indrag
+ Kursiv
+ Centrera
+ Vänsterjustera
+ Högerjustera
+ Infoga länk
+ Infoga intern länk (ankare)
+ Punktlista
+ Numrerad lista
+ Infoga macro
+ Infoga bild
+ Ändra relation
+ Återvänd till lista
+ Spara
+ Spara och publicera
+ Spara och skicka för godkännande
+ Välj
+ Välj aktuell mapp
+ Förhandsgranska
+ Förhandsgranskning är avstängt på grund av att det inte finns någon mall tilldelad
+ Ångra
+ Välj stil
+ Visa stil
+ Infoga tabell
+
+
+ För att ändra vald dokumenttyp, välj först i listan av giltiga typer för denna platsen.
+ Konfirmera sedan och/eller ändra mappningen av egenskaper från aktuell dokumenttyp till den nya, och klicka sedan på spara.
+ Innehållet har blivit publicerat på nytt
+ Aktuell egenskap
+ Aktuell typ
+ Dokumenttypen kan inte ändras, eftersom det inte finns några giltiga val för denna plats.
+ Dokumenttypen är ändrad
+ Mappningsegenskaper
+ Mappning till egenskap
+ Ny sidmall
+ Ny egenskap
+ ingen
+ Innehåll
+ Välj ny dokumenttyp
+ Dokumenttypen på valt innehåll har ändrats till [new type] utan problem och följande egenskaper är mappade:
+ till
+ Kunde inte slutföra egenskapsmappningen då en eller flera egenskaper har en eller flera mappningar definierade.
+ Enbart giltiga alternativa egenskaper visas för platsen
+
+
+ Du har inte konfigurerat några giltiga färger
+
+
+ Om denna sida
+ Alias
+ (hur skulle du beskriva denna bild för någon över telefon)
+ Alternativa länkar
+ Alternativ text (optionell)
+ Underliggande noder
+ Klicka för att redigera detta objekt
+ Skapad av
+ Ursprunglig författare
+ Skapad
+ Datum/tid som dokumentet skapades
+ Dokumenttyp
+ Redigering
+ Ta bort
+ Är publicerad
+ Detta objekt har ändrats efter publicering
+ Detta objekt är inte publicerat
+ Senast publicerat
+ Det finns inget att visa i listan
+ Länk till medieobjekt
+ Mediatyp
+ Medlemsgrupp
+ Medlem av grupp(er)
+ Roll
+ Medlemstyp
+ Inget datum valt
+ Sidnamn
+ Ej medlem av grupp(er)
+ Egenskaper
+ Detta dokument är publicerat men syns inte eftersom den överordnade sidan %0% inte är publicerad
+ Oops: detta dokument är publicerat men finns inte i cacheminnet (internt fel)
+ Publicera
+ Publiceringsstatus
+ Publiceringsdatum
+ Rensa datum
+ Sorteringsordningen har uppdaterats
+ För att sortera noderna, dra i dem eller klicka på någon av kolumnrubrikerna. Du kan markera flera noder samtidigt genom att hålla nere SHIFT eller CONTROL medan du klickar
+ Statistik
+ Mål
+ Titel (valfritt)
+ Typ
+ Avpublicera
+ Avpubliceras
+ Senast redigerad
+ Datum/tid detta dokument ändrats
+ Uppdaterad av
+ Ta bort fil
+ Länk till dokument
+
+
+ Var vill du skapa den nya %0%
+ Skapa innehåll under
+ "dokumenttyper".]]>
+ "mediatyper".]]>
+ Välj typ och rubrik
+
+
+ Surfa på din webbplats
+ - Dölj
+ Om Umbraco inte öppnas kan det bero på att du måste tillåta poppuppfönster att öppnas från denna webbplats
+ har öppnats i ett nytt fönster
+ Starta om
+ Välkommen
+ Besök
+
+
+ Namn
+ Hantera domännamn
+ Stäng fönstret
+ Är du säker på att du vill ta bort
+ Är du säker på att du vill avaktivera
+ Kryssa i denna ruta för att bekräfta att %0% objekt tas bort
+ Är du säker?
+ Är du säker?
+ Klipp ut
+ Redigera ord i ordboken
+ Redigera språk
+ Infoga ankarlänk
+ Infoga tecken
+ Infoga grafisk rubrik
+ Infoga bild
+ Lägg in länk
+ Infoga makro
+ Infoga tabell
+ Senast redigerad
+ Länk
+ Intern länk:
+ När du använder lokala länkar, lägg till "#" framför länken
+ Öppna i nytt fönster?
+ Makroinställningar
+ Detta makro innehåller inga egenskaper som du kan redigera
+ Klistra in
+ Redigera rättigheter för
+ Allt som ligger i papperskorgen tas nu bort. Stäng inte detta fönster förrän detta är klart
+ Papperskorgen är nu tom
+ Om du tömmer papperskorgen kommer allt som ligger i den att tas bort permanent
+ regexlib.com's webbtjänst har för närvarande driftsstörningar. Tyvärr kan vi inte göra något åt detta.]]>
+ Sök efter en regular expression som kan validera ett formulärsfält. t.ex. 'email' eller 'url'
+ Ta bort makro
+ Obligatoriskt formulärsfält
+ Webbplatsen har indexerats
+ Cache för webbplatsen har uppdaterats. Allt publicerat innehåll är nu uppdaterat. Innehåll som inte har publicerats är fortfarande opublicerat.
+ Webbplatsens cache kommer att uppdateras. Allt innehåll som är publicerat kommer att uppdateras. Innehåll som inte är publicerat kommer att förbli opublicerat.
+ Antal kolumner
+ Antal rader
+ Ge din platshållare ett id du kan skjuta in innehåll från underordnade sidmallar i platshållaren genom att ge den ett ID. Du refererar sedan till detta ID med hjälp av en <asp:content /> tagg.]]>
+ Välj ett platshållar-ID från listan nedan. Du kan bara välja de ID som finns i denna malls huvudmall.]]>
+ Klicka på förhandsgranskningsbilden för att se bilden i full storlek
+ Välj ett objekt
+ Se cachat objekt
+
+
+ Redigera de olika översättningarna för ordboksinlägget %0% nedan. Du kan lägga till ytterligare språk under 'språk' i menyn till vänster.
+ Språknamn
+
+
+ Tillåt i roten
+ Endast innehållstyper med denna markerad kan skapas i roten av innehåll samt media
+ Tillåtna typer för underliggande noder
+ Dokumenttypssammansättning
+ Skapa
+ Skapa en anpassad listvy
+ Aktuell listvy
+ Datatyp för markerad listvy
+ Ta bort flik
+ Beskrivning
+ Aktivera listvy
+ Konfigurerar innehållet till att visa en sorterbar & sökbar lista av nodens barn, barnen kommer ej att visas i trädet.
+ Ny flik
+ Radera anpassad listvy
+ Flik
+ Miniatyrbild
+
+
+ Lägg till värde
+ Datatyp i databasen
+ Datatyp GUID
+ Rendera som
+ Knappar
+ Slå på avancerade inställningar för
+ Slå på kontextmeny
+ Maximal förinställd storlek för bilder som läggs in
+ Relaterade stilmallar
+ Visa etikett
+ Bredd och höjd
+
+
+ Informationen har sparats, men innan du kan publicera denna sida måste du åtgärda följande fel:
+ Det går inte att byta lösenord i den medlemshanterare du har valt (EnablePasswordRetrieval måste vara satt till 'true').
+ %0% redan finns
+ Följande fel inträffade:
+ Följande fel inträffade:
+ Lösenordet måste bestå av minst %0% tecken varav minst %1% är icke-alfanumeriska tecken (t.ex. %, #, !, @).
+ %0% måste vara ett heltal
+ %0% under %1% är ett obligatoriskt fält
+ %0% är ett obligatoriskt fält
+ %0% under %1% har ett felaktigt format
+ %0% har ett felaktigt format
+
+
+ Även om CodeMirror är aktiverad i konfigurationen, så är den avaktiverad i Internet Explorer på grund av att den inte är tillräckligt stabil
+ Du måste ange både alias och namn för den nya egenskapstypen!
+ Filtypen är icke godkännd av administratören
+ Ett fel upptäcktes i läsningen/skrivningen till den aktuella filen eller mappen
+ Det finns ett konfigurationsfel med datatypen som används för denna egenskapen, vänligen undersök datatypen
+ Du måste skriva en rubrik
+ Du måste välja en typ
+ Du kommer att göra bilden större än originalstorleken. Är du säker på att du vill fortsätta?
+ Ett fel inträffade i pythonscriptet
+ Pythonscriptet har inte sparats eftersom det innehåller ett eller flera fel.
+ Startsidan har tagits bort, var vänlig kontakta administratören
+ Du måste markera något innan du kan göra stiländringar
+ Det finns inga tillgängliga stilar
+ Placera markören i den vänstra av de två celler du vill slå ihop
+ Du kan inte dela en cell som inte är ihopslagen.
+ Fel i XSLT-scriptet
+ XSLT-scriptet har inte sparats eftersom det innehåller ett eller flera fel
+
+
+ Om
+ Åtgärd
+ Händelser
+ Lägg till
+ Alias
+ Är du säker?
+ Kant
+ eller
+ Avbryt
+ Cellmarginal
+ Välj
+ Stäng
+ Stäng fönstret
+ Kommentar
+ Bekräfta
+ Begränsa proportioner
+ Fortsätt
+ Kopiera
+ Skapa
+ Databas
+ Datum
+ Standard
+ Ta bort
+ Borttagen
+ Tar bort...
+ Design
+ Dimensioner
+ Ner
+ Ladda ned
+ Redigera
+ Redigerad
+ Element
+ E-post
+ Fel
+ Hitta
+ Mapp
+ Höjd
+ Hjälp
+ Ikon
+ Importera
+ Innermarginal
+ Lägg in
+ Installera
+ Justera
+ Språk
+ Layout
+ Laddar
+ Låst
+ Logga in
+ Logga ut
+ Logga ut
+ Makro
+ Fler
+ Flytta
+ Namn
+ Nytt
+ Nästa
+ Nej
+ av
+ OK
+ Öppna
+ eller
+ Lösenord
+ Sökväg
+ Platshållar-ID
+ Ett ögonblick...
+ Föregående
+ Egenskaper
+ E-postadress för formulärsdata
+ Papperskorg
+ Återstående
+ Döp om
+ Förnya
+ Obligatorisk
+ Försök igen
+ Rättigheter
+ Sök
+ Sökresultat
+ Server
+ Visa
+ Vilken sida skall visas när formuläret är skickat
+ Storlek
+ Sortera
+ Skriv
+ Skriv för att söka...
+ Upp
+ Uppdatera
+ Uppgradera
+ Ladda upp
+ URL
+ Användare
+ Användarnamn
+ Värde
+ Välkommen...
+ Bredd
+ Titta på
+ Ja
+
+
+ Bakgrundsfärg
+ Fetstil
+ Textfärg
+ Typsnitt
+ Text
+
+
+ Sida
+
+
+ Installationsprogrammet kan inte ansluta till databasen.
+ Kunde inte spara filen web.config. Vänligen ändra databasanslutnings-inställningarna manuellt.
+ Din databas har lokaliserats och är identifierad som
+ Databaskonfiguration
+ installera]]>
+ Nästa för att fortsätta.]]>
+ Databasen kunde inte hittas! Kontrollera att informationen i databasanslutnings-inställningarna i filen "web.config" är rätt.
För att fortsätta måste du redigera filen "web.config" (du kan använda Visual Studio eller din favorit text-redigerare), bläddra till slutet, lägg till databasanslutnings-inställningarna för din databas i fältet som heter "umbracoDbDSN" och spara filen.
]]>
+ Eventuellt kan du behöva kontakta ditt webb-hotell. Om du installerar på en lokal maskin eller server kan du få informationen från din systemadministratör.]]>
+ Tryck Uppgradera knappen för att uppgradera din databas till Umbraco %0%
Du behöver inte vara orolig. Inget innehåll kommer att raderas och efteråt kommer allt att fungera som vanligt!
]]>
+ Tryck Nästa för att fortsätta.]]>
+ Nästa för att fortsätta med konfigurationsguiden]]>
+ Lösenordet på standardanvändaren måste bytas!]]>
+ Standardanvändaren har avaktiverats eller har inte åtkomst till Umbraco!
Du behöver inte göra något ytterligare här. Klicka Next för att fortsätta.]]>
+ Standardanvändarens lösenord har ändrats sedan installationen!
Du behöver inte göra något ytterligare här. Klicka Nästa för att fortsätta.]]>
+ Lösenordet är ändrat!
+ Umbraco skapar en standardanvändare med login ('admin') och lösenordet ('default'). Det är viktigt att lösenordet ändras till något unikt.
Det här steget kommer kontrollera standardanvändarens lösenord och låta dig vet om det behöver ändras.
]]>
+ Få en flygande start, kolla på våra introduktionsvideor
+ Genom att klicka på Nästa knappen (eller redigera UmbracoConfigurationStatus i web.config), accepterar du licensavtalet för den här mjukvaran som det är skrivet i rutan nedan. Observera att den här Umbracodistributionen består av två olika licensavtal, "the open source MIT license" för ramverket och "the Umbraco freeware license" som täcker användargränssnittet.
+ Inte installerad än.
+ Berörda filer och mappar
+ Här hittar du mer information om att sätta rättigheter för Umbraco
+ Du måste ge ASP.NET ändra rättigheter till följande filer/mappar
+ Dina rättighetsinställningar är nästa perfekta!
+
Du kan köra Umbraco utan problem, men du kommer inte att kunna installera paket vilket är rekommenderat för att kunna utnyttja Umbraco fullt ut.]]>
+ Hur skall man lösa
+ Klicka här för att läsa text-versionen
+ video-självstudiekurs om hur du konfigurerar mapp-rättigheter för Umbraco eller läs text-versionen.]]>
+ Dina rättighetsinställningar kan vara ett problem!
Du kan köra Umbraco utan problem, men du kommer inte att kunna skapa mappar eller installera paket vilket är rekommenderat för att kunna utnyttja Umbraco fullt ut.]]>
+ Dina rättighetsinställningar är inte reda för Umbraco!
För att kunna köra Umbraco måste du ändra dina rättighetsinställningar.]]>
+ Dina rättighetsinställningar är perfekta!
Du är redo att köra Umbraco och installera paket!]]>
+ Lösa mapp problem
+ Följ den här länken för mer information om problem med ASP.NET och att skapa mappar
+ Konfigurerar mapprättigheter
+ Umbraco behöver skriv/ändra rättigheter till vissa mappar för att spara filer som bilder och PDFer. Umbraco sparar också temporär data (så kallad cache) för att öka prestandan på din webbplats.
+ Jag vill börja från början
+ lär dig hur) Du kan fortfarande välja att installera Runway senare. Gå in i Utvecklarsektionen och välj Paket.]]>
+ Du har just installerat en ren Umbraco platform. Vad vill du göra härnäst?
+ Runway är installerat
+ Det här är vår lista över rekommenderade moduler, markera de moduler du vill installera, eller visa den fullständiga listan]]>
+ Endast rekommenderad för erfarna användare
+ Jag vill börja med en enkel webbplats
+ "Runway" är en enkel webbplats med några enkla dokumentyper och mallar. Installationsguiden kan automatiskt installera Runway åt dig, men du kan lätt ändra, utöka eller ta bort den. Det är inte nödvändigt och du kan använda Umbraco utan den, men Runway erbjuder en enkel grund baserad på bästa praxis för att hjälpa dig igång snabbare än någonsin tidigare. Om du väljer att installera Runway, kan du välja till grundläggande byggstenar så kallade Runway-moduler för att utöka dina Runway-sidor. Inkluderat i Runway: Startsida, "komma igång"-sida och en sidan om att installera moduler. Tilläggs moduler: Toppnavigation, Sitemap, Kontakt och galleri. ]]>
+ Vad är Runway
+ Steg 1/5 Acceptera licensavtalet
+ Steg 2/5: Databaskonfiguration
+ Steg 3/5: Bekräftar filrättigheter
+ Steg 4/5: Umbraco säkerhetskontroll
+ Steg 5/5: Umbraco är redo att ge dig en flygande start
+ Tack för att du valde Umbraco
+ Besök din nya webbplats Du installerade Runway, så varför inte se hur din nya webbplats ser ut.]]>
+ Ytterligare hjälp och information Få hjälp från våra prisbelönta community, bläddra i dokumentationen eller titta på några gratis videor om hur man bygger en enkel webbplats, hur du använder paket eller en snabbguide till Umbracos terminologi]]>
+ Umbraco %0% är installerat och klart för användning
+ /web.config filen och ändra AppSettingsnyckeln UmbracoConfigurationStatus på slutet till %0%]]>
+ börja omedelbart genom att klicka på "Starta Umbraco"-knappen nedan. Om du är en ny Umbraco användarekan du hitta massor av resurser på våra kom igång sidor.]]>
+ Starta Umbraco För att administrera din webbplats öppnar du bara Umbraco back office och börjar lägga till innehåll, uppdatera mallar och stilmallar eller lägga till nya funktioner.]]>
+ Anslutningen till databasen misslyckades.
+ Se
+ Umbraco %0% antingen för en ny installation eller en uppgradering från version 3.0.
]]>
+ [%0%] Meddelande för att informera om att %1% har utförts på %2%
+ Notifieringar
+
+
+ och leta upp paketet. Umbracos installationspaket har oftast filändelsen ".umb" eller ".zip".]]>
+ Utvecklare
+ Demonstration
+ Dokumentation
+ Paket metadata
+ Paketnamn
+ Paketet innehåller inga poster
+ Det är säkert att ta bort den ur systemet genom att klicka på "avinstallera paket" nedan.]]>
+ Inga uppdateringar tillgängliga
+ Paketalternativ
+ Paket läsmig
+ Paketvalv
+ Bekräfta avinstallation
+ Paketet har avinstallerats
+ Paketet har avinstallerats utan problem
+ Avinstallera paket
+ OBS! dokument, media osv som använder de borttagna posterna kommer sluta fungera vilket kan leda till att systemet blir instabilt. Avinstallera därför med försiktighet. Om du är osäker, kontakta personen som skapat paketet.]]>
+ Hämta uppdatering från paketvalvet
+ Uppdatera paket
+ Uppdateringsinstruktioner
+ Det finns an uppdaterad version av paketet. Du kan hämta den direkt från Umbracos paketvalv.
+ Paketversion
+ Versionshistorik för paket
+ Besök paketets webbplats
+
+
+ Klistra in med helt bibehållen formatering (rekommenderas ej)
+ Texten du försöker klistra in innehåller specialtecken och/eller formateringstaggar. Detta kan bero på att texten kommer från t.ex. Microsoft Word. Umbraco kan ta bort specialtecken och formateringstaggar automatiskt så att innehållet lämpar sig bättre för webbpublicering.
+ Klistra in texten helt utan formatering
+ Klistra in texen och ta bort specialformatering (rekommenderas)
+
+
+ Fyll i ett namn...
+ Skriv för att filtrera...
+ Namnge %0%...
+ Fyll i ditt lösenord
+ Skriv för att söka...
+ Fyll i ditt lösenord
+ Skriv för att lägga till taggar (och tryck enter efter varje tagg)...
+
+
+ Rollbaserat lösenordsskydd
+ Då används Umbracos medlemsgrupper.]]>
+ rollbaserat lösenordsskydd.]]>
+ Sida med felmeddelande
+ Används när en användare är inloggad, men saknar rättigheter att se sidan
+ Välj hur du vill lösenordsskydda sidan
+ %0% är nu lösenordsskyddad
+ Lösenordsskyddet är nu borttaget på %0%
+ Inloggningssida
+ Välj sidan med inloggningsformuläret
+ Ta bort lösenordsskydd
+ Välj sidorna med inloggningsformulär och felmeddelande
+ Välj de roller som ska ha tillgång till denna sida
+ Ange användarnamn och lösenord för denna sida
+ Samma lösenord för alla användare
+ Välj detta alternativ om du vill skydda sidan med ett enkelt användarnamn och lösenord. Alla loggar då in med samma inloggningsuppgifter.
+
+
+ %0% kunde inte publiceras på grund av dess tidsinställda publicering.
+ %0% kunde inte publiceras på grund av att ett tredjepartstillägg avbröt publiceringen.
+ %0% kan inte publiceras, på grund av att överordnad nod inte är publicerad.
+ %0% kunde inte publiceras på grund av följande orsaker: %1% passerade inte valideringen.
+ Inkludera opublicerade undersidor
+ Publicering pågår - vänligen vänta...
+ %0% av %1% sidor har publicerats...
+ %0% har publicerats
+ %0% och underliggande sidor har publicerats
+ Publicera %0% och alla dess underordnade sidor
+ ok för att publicera %0%. Därmed blir innehållet publikt.
Du kan publicera denna sida och alla dess undersidor genom att kryssa i publicera alla undersidor. ]]>
+
+
+ ange en extern länk
+ ange en intern sida
+ Rubrik
+ Länk
+ Öppna i nytt fönster
+ Ange visningstext
+ Ange adress
+
+
+ Återställ
+
+
+ Nuvarande version
+ Röd text kommer inte att synas i den valda versionen. , Grön betyder att den har tillkommit]]>
+ Dokumentet har återgått till en tidigare version
+ Här visas den valda sidversionen i HTML. Om du vill se skillnaden mellan två versioner samtidigt, välj istället "Diff".
+ Återgå till
+ Vald version
+ Visningsläge
+
+
+ Redigera script
+
+
+ Analytics
+ Concierge
+ Innehåll
+ Courier
+ Utvecklare
+ Formulär
+ Hjälp
+ Umbraco konfigurationsguide
+ Media
+ Medlemmar
+ Nyhetsbrev
+ Inställningar
+ Statistik
+ Översättning
+ Användare
+
+
+ som huvudinnehållstyp. Tabbar från huvudinnehållstyper visas inte och kan endast redigeras på själva huvudinnehållstypen.
+ Huvudinnehållstyp påslagen
+ Denna huvudinnehållstyp använder
+ Defaultmall
+ Ordboksnyckel
+ För att importera en dokumenttyp, leta upp ".udt"-filen på din hårddisk genom att klicka på "Browse"-knappen och sedan på "Importera" (du får bekräfta ditt val i nästa steg).
+ Namn på ny flik
+ Nodtyp
+ Inga egenskaper definierade i denna sektion. Klicka på "Lägg till ny egenskap" länken vid toppen för att skapa en ny egenskap.
+ Typ
+ Skript
+ Stilmall
+ Egenskap för stilmall
+ Flik
+ Fliknamn
+ Flikar
+ Huvuddokumenttyp
+ Skapa matchande mall
+
+
+ Sortering klar
+ Välj i vilken ordning du vill ha sidorna genom att dra dem upp eller ner i listan. Du kan också klicka på kolumnrubrikerna för att sortera grupper av sidor
+ Stäng inte fönstret under tiden sidorna sorteras.]]>
+
+
+ Publiceringen avbröts av ett tredjepartstillägg
+ Egenskapstyp finns redan
+ Egenskapstyp skapad
+ Datatyp: %1%]]>
+ Egenskapstypen har tagits bort
+ Innehållstypen har sparats
+ Ny flik skapad
+ Fliken har tagits bort
+ Fliken med id: %0% har tagits bort
+ Innehållet är avpublicerat
+ Stilmallen kunde inte sparas
+ Stilmallen sparades
+ Stilmallen sparades utan fel
+ Datatypen har sparats
+ Ordet sparades i ordboken
+ Det gick inte att publicera sidan eftersom dess överordnade sida inte är publicerad
+ Innehållet är publicerat
+ och syns på webbplatsen
+ Innehållet har sparats
+ Kom ihåg att publicera för att ändringarna ska synas på webbplatsen
+ Skickat för godkännande
+ Ändringarna har skickats för godkännande
+ Mediaobjektet är sparat
+ Media sparat
+ Medlemmen har sparats
+ Egenskap för stilmall har sparats
+ Stilmallen har sparats
+ Sidmallen har sparats
+ Ett fel inträffade när användaren sparades (läs logg-filen)
+ Användaren har sparats
+ Användartypen har sparats
+ Filen sparades inte
+ filen kunde inte sparas. Kontrollera filrättigheterna
+ Filen har sparats
+ Filen sparades utan fel
+ Språket har sparats
+ Partial view Ej sparad
+ Ett fel uppstod när filen sparades
+ Partial view sparad
+ Partial view sparad utan fel!
+ Pythonscriptet har inte sparats
+ Pythonscriptet kunde inte sparas på grund av ett fel
+ Pythonscriptet har sparats
+ Inga fel i pythonscriptet
+ Sidmallen har inte sparats
+ Kontrollera att du inte har två sidmallar med samma alias
+ Sidmallen har sparats
+ Sidmallen sparades utan fel
+ XSLT-scriptet sparades inte
+ XSLT-scriptet innehöll ett fel
+ XSLT-scripet kunde inte sparas, kontrollera filrättigheterna
+ XSLT-scriptet har sparats
+ Inga fel i XSLT-scriptet
+
+
+ Använder CSS-syntax, t ex: h1, .redHeader, .blueTex
+ Redigera stilmall
+ Redigera egenskaper för stilmall
+ Namnet som används för att identifiera stilen i HTML-editorn
+ Förhandsgranska
+ Stilar
+
+
+ Redigera sidmall
+ Lägg in innehållsyta
+ Lägg in platshållare för innehållsyta
+ Lägg in ord från ordboken
+ Lägg in makro
+ Lägg in sidfält
+ Huvudmall
+ Snabbguide för taggar i Umbracos sidmallar
+ Sidmall
+
+
+ Lägg till
+ Lägg till rad
+ nedan för att lägga till ditt första element]]>
+ Klicka för att lägga in
+ Klicka för att lägga till bild
+ Bildtext...
+ Skriv här...
+ Rutnätslayouter
+ Layouter är arbetsytan för rutnätet, oftast så behöver du bara en eller två layouter
+ Lägg till layout
+ Redigera layouten genom att sätta kolumnbredd och lägg till fler sektioner
+ Radkonfigureringar
+ Rader är fördefinierade celler, arrangerade horisontellt
+ Lägg till radkonfiguration
+ Justera rad genom att ställa in cellbredder och lägga till ytterligare celler
+ Kolumner
+ Sammanlagda antalet kolumner i rutnätslayout
+ Inställningar
+ Konfigurera vilka inställningar redaktörer kan ändra
+ Stilar
+ Konfigurera vilken styling redaktörer kan ändra
+ Inställningarna kommer bara att sparas om det inmatade json-konfigurationen är giltig
+ Tillåt alla editors
+ Tillåt alla rad- konfigurationer
+
+
+ Alternativt fält
+ Alternativ text
+ Casing
+ Välj fält
+ Konvertera radbrytningar
+ Byter radbrytningar mot html-taggen <br>
+ Anpassade fält
+ Ja, endast datum
+ Omkodning
+ Formatera som datum
+ HTML-omkodning
+ Ersätter specialtecken med deras HTML-motsvarigheter.
+ Kommer läggas till efter fältets värde
+ Kommer läggas till före fältets värde
+ Gemener
+ Ingen
+ Infoga efter fält
+ Infoga före fält
+ Rekursiv
+ Avlägsna stycke-taggar
+ Kommer att avlägsna alla <P> i början och slutet av texten
+ Standardfält
+ Versaler
+ URL-koda
+ Om fältets innehåll skall sändas till en url, skall detta slås på så att specialtecken kodas
+ Texten kommer användas om ovanstående fält är tomma
+ Fältet kommer användas om det primära fältet ovan är tomt
+ Ja, med tid. Separator:
+
+
+ Arbetsuppgifter som tilldelats dig
+ som har tilldelats dig. För att se en detaljvy med kommentarer, klicka på "Detaljer" eller på sidans namn. Du kan också ladda ned sidan i XML-format genom att klicka på länken "Ladda ned XML". För att markera ett översättningsjobb som avslutat, gå till detaljvyn och klicka på knappen "Stäng".]]>
+ Stäng arbetsuppgift
+ Översättningsdetaljer
+ Ladda ned alla översättningsjobb i XML-format
+ Ladda ned i XML-format
+ Ladda hem DTD för XML
+ Fält
+ Inkludera undersidor
+ Hej %0%. Detta är ett automatisk mail skickat for att informera dig om att det finns en översättningsförfrågan på dokument '%1%' till '%5%' skickad av %2%. För att redigera, besök http://%3%/translation/details.aspx?id=%4%. För att få en översikt över dina översättningsuppgigter loggar du in i Umbraco på: http://%3%
+ [%0%] Översättningsuppgift för %1%
+ Hittade inga användare som är översättare. Vänligen skapa en användare som är översättare innan du börjar skicka innehåll för översättning
+ Arbetsuppgifter som du har skapat
+ som du har skapat. För att se en detaljvy med kommentarer, klicka på "Detaljer" eller på sidans namn. Du kan också ladda ned sidan i XML-format genom att klicka på länken "Ladda ned XML". För att markera ett översättningsjobb som avslutat, gå till detaljvyn och klicka på knappen "Stäng".]]>
+ Sidan %0% har skickats för översättning
+ Skicka sidan %0% för översättning
+ Tilldelat av
+ Arbetsuppgift öppnad
+ Totalt antal ord
+ Översätt till
+ Översättning klar.
+ Du kan förhandsgranska sidorna du nyss har översatt genom att klicka nedan. Om originalsidan finns kommer du att se en jämförelse mellan din sida och originalsidan.
+ Översättningen misslyckades. XML-filen kan vara korrupt
+ Valmöjligheter översättning
+ Översättare
+ Ladda upp översättning i XML-format
+
+
+ Analytics
+ Cacha webbläsare
+ Papperskorg
+ Skapade paket
+ Datatyper
+ Ordbok
+ Installerade paket
+ Installera skin
+ Installera Startkit
+ Språk
+ Installera lokalt paket
+ Makron
+ Mediatyper
+ Medlem
+ Medlemsgrupper
+ Roller
+ Medlemstyper
+ Dokumenttyper
+ Paket
+ Paket
+ Python-filer
+ Installera från gemensamt bibliotek
+ Installera Runway
+ Runway-moduler
+ Skript-filer
+ Skript
+ Stilmallar
+ Sidmallar
+ XSLT-filer
+
+
+ Ny uppdatering tillgänglig
+ %0% är klart, klicka här för att ladda ner
+ Ingen kontakt med server
+ Fel vid kontroll av uppdatering. Se trace-stack för mer information.
+
+
+ Administratör
+ Kategorifält
+ Ändra lösenord
+ Du kan byta ditt lösenord för Umbraco Back Office genom att fylla i nedanstående formulär och klicka på knappen "Ändra lösenord".
+ Bekräfta det nya lösenordet
+ Innehållskanal
+ Fält för beskrivning
+ Avaktivera användare
+ Dokumenttyp
+ Redaktör
+ Fält för utdrag
+ Språk
+ Login
+ Startnod i mediabiblioteket
+ Sektioner
+ Byt ditt lösenord
+ Inaktivera tillgång till Umbraco
+ Lösenord
+ Ditt lösenord är nu ändrat!
+ Vänligen bekräfta ditt nya lösenord
+ Nuvarande lösenord
+ Vänligen fyll i ditt nya lösenord
+ Nuvarande lösenord är ogiltigt
+ Ditt nya lösenord kan inte vara tomt!
+ Lösenorden matchar inte. Vänligen försök igen!
+ Det bekräftade lösenordet matchar inte det nya lösenordet!
+ Ersätt rättigheterna på underliggande noder
+ Du redigerar nu rättigheterna för sidorna:
+ Välj de sidor vars rättigheter du vill redigera
+ Återställ lösenord
+ Sök igenom alla undernoder
+ Sessionen går ut
+ Startnod i innehåll
+ Användarens namn
+ Användarrättigheter
+ Användartyp
+ Användartyper
+ Skribent
+ Din nuvarande historik
+ Översättare
+ Din profil
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Config/Lang/zh.xml b/Blog/umbraco/Config/Lang/zh.xml
new file mode 100644
index 0000000..813fe01
--- /dev/null
+++ b/Blog/umbraco/Config/Lang/zh.xml
@@ -0,0 +1,925 @@
+
+
+
+ 孙柱梁
+ http://our.umbraco.org/documentation/Extending-Umbraco/Language-Files
+
+
+ 管理主机名
+ 跟踪审计
+ 浏览节点
+ 改变文档类型
+ 复制
+ 创建
+ 创建扩展包
+ 删除
+ 禁用
+ 清空回收站
+ 导出文档类型
+ 导入文档类型
+ 导入扩展包
+ 实时编辑模式
+ 退出
+ 移动
+ 提醒
+ 公众访问权限
+ 发布
+ 重新加载节点
+ 重新发布整站
+ 权限
+ 回滚
+ 提交至发布者
+ 发送给翻译
+ 排序
+ 提交至发布者
+ 翻译
+ 取消发布
+ 更新
+
+
+ 禁止访问
+ 添加域名
+ 移除
+ 错误的节点
+ 域名重复
+ 域名
+ 语言
+ 新域名 '%0%' 已创建
+ 域名 '%0%' 已删除
+ 域名 '%0%' 已使用
+
+
+ https://www.example.com/、example.com/en、……使用 * 代表任意域名,
+ 只需要设置语言部分即可。]]>
+
+ 域名 '%0%' 已更新
+ 域名错误
+ 编辑当前域名
+ 继承
+ 语言
+
+ 也可以从父节点继承。]]>
+
+ 域名
+
+
+ 查看
+
+
+ 粗体
+ 取消段落缩进
+ 插入表单字段
+ 插入图片标题
+ 编辑Html
+ 段落缩进
+ 斜体
+ 居中
+ 左对齐
+ 右对齐
+ 插入链接
+ 插入本地链接(锚点)
+ 圆点列表
+ 数字列表
+ 插入宏
+ 插入图片
+ 编辑关联
+ 保存
+ 保存并发布
+ 保存并提交审核
+ 预览
+ 因未设置模板无法预览
+ 选择样式
+ 显示样式
+ 插入表格
+
+
+ 要更改所选节点的文档类型,先在列表中选择合适的文档类型。
+ 然后设置当前文档类型到新文档类型的各字段间的对应映射关系并保存。
+ 内容已被重新发布
+ 当前属性
+ 当前类型
+ 不能改变文档类型,因为没有可替代的类型。
+ 文档类型已更改
+ 要映射的字段
+ 映射字段
+ 新模板
+ 新类型
+ 无
+ 内容
+ 选择新的文档类型
+ 选中文档的类型已被成功更改为[new type],以下字段被映射:
+ 至
+ 不能完成字段映射,因为存在一个字段映射至多字段的问题。
+ 仅显示可作为替代的文档类型。
+
+
+ 关于本页
+ 别名
+ (图片的替代文本)
+ 替代链接
+ 点击编辑
+ 创建者
+ 创建时间
+ 文档类型
+ 编辑
+ 过期于
+ 该项发布之后有更改
+ 该项没有发布
+ 最近发布
+ 媒体链接地址
+ 媒体类型
+ 会员组
+ 角色
+ 会员类型
+ 没有选择时间
+ 页标题
+ 属性
+ 该文档不可见,因为其上级 '%0%' 未发布。
+ 该文档已发布,但是没有更新至缓存(内部错误)
+ 发布
+ 发布状态
+ 发布于
+ 清空时间
+ 排序完成
+ 拖拽项目或单击列头即可排序,可以按住Shift多选。
+ 统计
+ 标题(可选)
+ 类型
+ 取消发布
+ 最近编辑
+ 移除文件
+ 链接到文档
+ 会员组成员
+ 非会员组成员
+
+
+ 您想在哪里创建 %0%
+ 创建在
+ 选择类型和标题
+
+
+ 浏览您的网站
+ - 隐藏
+ 如果Umbraco没有打开,您可能需要允许弹出式窗口。
+ 已经在新窗口中打开
+ 重启
+ 访问
+ 欢迎
+
+
+ 锚点名称
+ 管理主机名
+ 关闭窗口
+ 您确定要删除吗
+ 您确定要禁用吗
+ 单击此框确定删除%0%项
+ 您确定吗?
+ 您确定吗?
+ 剪切
+ 编辑字典项
+ 编辑语言
+ 插入本地链接
+ 插入字符
+ 插入图片标题
+ 插入图片
+ 插入链接
+ 插入宏
+ 插入表格
+ 最近编辑
+ 链接
+ 内部链接:
+ 本地链接请用“#”号开头
+ 在新窗口中打开?
+ 宏设置
+
+ 粘贴
+ 编辑权限
+ 正在清空回收站,请不要关闭窗口。
+ 回收站已清空
+ 从回收站删除的项目将不可恢复
+ regexlib.com的服务暂时出现问题。]]>
+ 查找正则表达式来验证输入,如: 'email、'zip-code'、'url'。
+ 移除宏
+ 必填项
+ 站点已重建索引
+ 网站缓存已刷新,所有已发布的内容更新生效。
+ 网站缓存将会刷新,所有已发布的内容将会更新。
+ 表格列数
+ 表格行数
+ 设置一个占位符id 您可以在子模板中通过该ID来插入内容,引用格式: <asp:content />。]]>
+ 选择一个占位符id。]]>
+ 点击图片查看完整大小
+ 拾取项
+ 查看缓存项
+
+
+ %0%’ 您可以在左侧的“语言”中添加一种语言]]>
+ 语言名称
+
+
+ 允许子项节点类型
+ 创建
+ 删除选项卡
+ 描述
+ 新建选项卡
+ 选项卡
+ 缩略图
+
+
+ 添加预设值
+ 数据库数据类型
+ 数据类型唯一标识
+ 渲染控件
+ 按钮
+ 允许高级设置
+ 允许快捷菜单
+ 插入图片默认最大
+ 关联的样式表
+ 显示标签
+ 宽和高
+
+
+ 数据已保存,但是发布前您需要修正一些错误:
+ 当前成员提供程序不支持修改密码(EnablePasswordRetrieval的值应该为true)
+ %0% 已存在
+ 发现错误:
+ 发现错误:
+ 密码最少%0%位,且至少包含%1%位非字母数字符号
+ %0% 必须是整数
+ %1% 中的 %0% 字段是必填项
+ %0% 是必填项
+ %1% 中的 %0% 格式不正确
+ %0% 格式不正确
+
+
+ 该文件类型已被管理员禁用
+ 注意,尽管配置中允许CodeMirror,但是它在IE上不够稳定,所以无法在IE运行。
+ 请为新的属性类型填写名称和别名!
+ 权限有问题,访问指定文件或文件夹失败!
+ 请输入标题
+ 请选择类型
+ 图片尺寸大于原始尺寸不会提高图片质量,您确定要把图片尺寸变大吗?
+ python脚本错误
+ python脚本未保存,因为包含错误。
+ 默认打开页面不存在,请联系管理员
+ 请先选择内容,再设置样式。
+ 没有可用的样式
+ 请把光标放在您要合并的两个单元格中的左边单元格
+ 非合并单元格不能分离。
+ XSLT源码出错
+ XSLT未保存,因为包含错误。
+
+
+ 关于
+ 操作
+ 添加
+ 别名
+ 您确定吗?
+ 边框
+ 或
+ 取消
+ 单元格边距
+ 选择
+ 关闭
+ 关闭窗口
+ 备注
+ 确认
+ 强制属性
+ 继续
+ 复制
+ 创建
+ 数据库
+ 时间
+ 默认
+ 删除
+ 已删除
+ 正在删除…
+ 设计
+ 规格
+ 下
+ 下载
+ 编辑
+ 已编辑
+ 元素
+ 邮箱
+ 错误
+ 查找文档
+ 文件夹
+ 高
+ 帮助
+ 图标
+ 导入
+ 内边距
+ 插入
+ 安装
+ 对齐
+ 语言
+ 布局
+ 加载中
+ 锁定
+ 登录
+ 退出
+ 注销
+ 宏
+ 移动
+ 名称
+ 新的
+ 下一步
+ 否
+ 属于
+ 确定
+ 打开
+ 或
+ 密码
+ 路径
+ 占位符ID
+ 请稍候…
+ 上一步
+ 属性
+ 接收数据邮箱
+ 回收站
+ 保持状态中
+ 重命名
+ 更新
+ 重试
+ 权限
+ 搜索
+ 服务器
+ 显示
+ 在发送时预览
+ 大小
+ 排序
+ 类型
+ 输入内容开始查找…
+ 上
+ 更新
+ 更新
+ 上传
+ 链接地址
+ 用户
+ 用户名
+ 值
+ 查看
+ 欢迎…
+ 宽
+ 是
+
+
+ 背景色
+ 粗体
+ 前景色
+ 字体
+ 文本
+
+
+ 页面
+
+
+ 无法连接到数据库。
+ 无法保存web.config文件,请手工修改。
+ 发现数据库
+ 数据库配置
+ 安装进行 %0% 数据库配置]]>
+ 下一步继续。]]>
+ 数据库未找到!请检查数据库连接串设置。
+
+
+ <%--Scripting to for configuring a list view--%>
+
+
+ <%} %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Master Content Type enabled This Content Type uses as a Master Content Type. Properties from Master Content Types are not shown and can only be edited on the Master Content Type itself
+
+
+
+
+
+
+
+
+
+<%-- cannot put a <%= block here 'cos it prevents the Controls collection from being modified = use a literal --%>
+
\ No newline at end of file
diff --git a/Blog/umbraco/Controls/GenericProperties/GenericProperty.ascx b/Blog/umbraco/Controls/GenericProperties/GenericProperty.ascx
new file mode 100644
index 0000000..eb9cdda
--- /dev/null
+++ b/Blog/umbraco/Controls/GenericProperties/GenericProperty.ascx
@@ -0,0 +1,80 @@
+<%@ Control Language="c#" AutoEventWireup="True" Inherits="umbraco.controls.GenericProperties.GenericProperty" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
+<%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %>
+
+
The following list shows the Public Properties from the
+ Control. By checking the Properties and click the "Save Properties" button at
+
+ the bottom, umbraco will create the corresponding Macro Elements.
+
+
+
+
+
+
+
+
The following Macro Parameters was added:
+
+
+ Important: You might need to reload the macro to see the changes.
Choose the repository you want to submit the package to
+
+
+
+
+
+
+
+
+
+
Please enter your credentials to authenticate your user.
+
If you do not have a user on the umbraco package repository, you can create one here.
+
If you do not have a user on this private repository, contact your repository administrator to gain access
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Upload additional documentation for your package to help new users getting started with your package
+
+
+
+
+
+
+
+
+
+
+
+
+
By clicking "submit package" below you understand that your package will be submitted to a package repository and will in some cases be publicly available to download.
+
Please notice: only packages with complete read-me, author information and install information gets considered for inclusion.
+
The package administrators group reservers the right to decline packages based on lack of documentation, poorly written readme and missing author information
+ Remember: .xslt and .ascx files for your macros
+ will be added automaticly, but you will still need to add assemblies,
+ images and script files manually to the list below.
+
+ Here you can add custom installer / uninstaller events to perform certain tasks
+ during installation and uninstallation.
+
+ All actions are formed as a xml node, containing data for the action to be performed.
+ Package actions documentation
+
+ This repository requires authentication before you can download any packages from
+ it.
+ Please enter email and password to login.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Please note: Installing a package containing several items and
+ files can take some time. Do not refresh the page or navigate away before, the installer
+ notifies you once the install is completed.
+
+ This package contains .NET code. This is not unusual as .NET code
+ is used for any advanced functionality on an Umbraco powered website.
+
+ However, if you don't know the author of the package or are unsure why this package
+ contains these files, it is adviced not to continue the installation.
+
+ This package contains legacy property editors which are not compatible with Umbraco 7
+
+ This package may not function correctly if the package developer has not indicated that
+ it is compatible with version 7. Any DataTypes this package creates that do not have
+ a Version 7 compatible property editor will be converted to use a Label/NoEdit property editor.
+
+ This package contains .NET binary files that might not be compatible with this version of Umbraco.
+ If you aren't sure what these errors mean or why they are listed please contact the package creator.
+
+ This package contains one or more macros which have the same alias as an existing one on your site, based on the Macro Alias.
+
+
+ If you choose to continue your existing macros will be replaced with the ones from this package. If you do not want to overwrite your existing macros you will need to change their alias.
+
+ This package contains one or more templates which have the same alias as an existing one on your site, based on the Template Alias.
+
+
+ If you choose to continue your existing template will be replaced with the ones from this package. If you do not want to overwrite your existing templates you will need to change their alias.
+
+ This package contains one or more stylesheets which have the same alias as an existing one on your site, based on the Stylesheet Name.
+
+
+ If you choose to continue your existing stylesheets will be replaced with the ones from this package. If you do not want to overwrite your existing stylesheets you will need to change their name.
+
+
+ The Stylesheets in question:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Installing package, please wait...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ All items in the package have been installed
+
+ Overview of what was installed can be found under "installed package" in the developer
+ section.
+ Umbraco v
+
+ Copyright 2001 -
+
+ Umbraco / Niels Hartvig
+ Developed by the Umbraco Core
+ Team
+
+
+ Umbraco is licensed under the open source license MIT
+
+ Visit umbraco.org
+ for more information.
+
+ Dedicated to Gry, August, Villum and Oliver!
+
+
+
+
+ <%--
+ No thanks, do not install a starterkit!
+ --%>
+
+
+
+
+
+
">
+
+
+
Oops...the installer can't connect to the repository
+ Starter Kits could not be fetched from the repository as there was no connection - which can occur if you are using a proxy server or firewall with certain configurations,
+ or if you are not currently connected to the internet.
+
+ Click Continue to complete the installation then navigate to the Developer section of your Umbraco installation
+ where you will find the Starter Kits listed in the Packages tree.
+
+
+
+
+
+
+
+
+
+
+
Oops...the installer encountered an error
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Install/Views/Index.cshtml b/Blog/umbraco/Install/Views/Index.cshtml
new file mode 100644
index 0000000..666f6a5
--- /dev/null
+++ b/Blog/umbraco/Install/Views/Index.cshtml
@@ -0,0 +1,73 @@
+@using Umbraco.Web
+@using Umbraco.Web.Install.Controllers
+@{
+ Layout = null;
+}
+
+
+
+
+
+
+
+ Install Umbraco
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
A server error occurred
+
This is most likely due to an error during application startup
+
+
+
+
+
+
+
+
+
Did you know
+
+
+
+
{{installer.feedback}}
+
+
+
There has been a problem with the build.
+
This might be because you could be offline or on a slow connection. Please try the following steps
';
+
+ element.replaceWith(template);
+
+ return function(scope, elem, attr, controller) {
+
+ //flag to track the last loaded section when the tree 'un-loads'. We use this to determine if we should
+ // re-load the tree again. For example, if we hover over 'content' the content tree is shown. Then we hover
+ // outside of the tree and the tree 'un-loads'. When we re-hover over 'content', we don't want to re-load the
+ // entire tree again since we already still have it in memory. Of course if the section is different we will
+ // reload it. This saves a lot on processing if someone is navigating in and out of the same section many times
+ // since it saves on data retreival and DOM processing.
+ var lastSection = "";
+
+ //setup a default internal handler
+ if (!scope.eventhandler) {
+ scope.eventhandler = $({});
+ }
+
+ //flag to enable/disable delete animations
+ var deleteAnimations = false;
+
+
+ /** Helper function to emit tree events */
+ function emitEvent(eventName, args) {
+ if (scope.eventhandler) {
+ $(scope.eventhandler).trigger(eventName, args);
+ }
+ }
+
+ /** This will deleteAnimations to true after the current digest */
+ function enableDeleteAnimations() {
+ //do timeout so that it re-enables them after this digest
+ $timeout(function () {
+ //enable delete animations
+ deleteAnimations = true;
+ }, 0, false);
+ }
+
+
+ /*this is the only external interface a tree has */
+ function setupExternalEvents() {
+ if (scope.eventhandler) {
+
+ scope.eventhandler.clearCache = function(section) {
+ treeService.clearCache({ section: section });
+ };
+
+ scope.eventhandler.load = function(section) {
+ scope.section = section;
+ loadTree();
+ };
+
+ scope.eventhandler.reloadNode = function(node) {
+
+ if (!node) {
+ node = scope.currentNode;
+ }
+
+ if (node) {
+ scope.loadChildren(node, true);
+ }
+ };
+
+ /**
+ Used to do the tree syncing. If the args.tree is not specified we are assuming it has been
+ specified previously using the _setActiveTreeType
+ */
+ scope.eventhandler.syncTree = function(args) {
+ if (!args) {
+ throw "args cannot be null";
+ }
+ if (!args.path) {
+ throw "args.path cannot be null";
+ }
+
+ var deferred = $q.defer();
+
+ //this is super complex but seems to be working in other places, here we're listening for our
+ // own events, once the tree is sycned we'll resolve our promise.
+ scope.eventhandler.one("treeSynced", function (e, syncArgs) {
+ deferred.resolve(syncArgs);
+ });
+
+ //this should normally be set unless it is being called from legacy
+ // code, so set the active tree type before proceeding.
+ if (args.tree) {
+ loadActiveTree(args.tree);
+ }
+
+ if (angular.isString(args.path)) {
+ args.path = args.path.replace('"', '').split(',');
+ }
+
+ //reset current node selection
+ //scope.currentNode = null;
+
+ //Filter the path for root node ids (we don't want to pass in -1 or 'init')
+
+ args.path = _.filter(args.path, function (item) { return (item !== "init" && item !== "-1"); });
+
+ //Once those are filtered we need to check if the current user has a special start node id,
+ // if they do, then we're going to trim the start of the array for anything found from that start node
+ // and previous so that the tree syncs properly. The tree syncs from the top down and if there are parts
+ // of the tree's path in there that don't actually exist in the dom/model then syncing will not work.
+
+ userService.getCurrentUser().then(function(userData) {
+
+ var startNodes = [userData.startContentId, userData.startMediaId];
+ _.each(startNodes, function (i) {
+ var found = _.find(args.path, function (p) {
+ return String(p) === String(i);
+ });
+ if (found) {
+ args.path = args.path.splice(_.indexOf(args.path, found));
+ }
+ });
+
+
+ loadPath(args.path, args.forceReload, args.activate);
+
+ });
+
+
+
+ return deferred.promise;
+ };
+
+ /**
+ Internal method that should ONLY be used by the legacy API wrapper, the legacy API used to
+ have to set an active tree and then sync, the new API does this in one method by using syncTree.
+ loadChildren is optional but if it is set, it will set the current active tree and load the root
+ node's children - this is synonymous with the legacy refreshTree method - again should not be used
+ and should only be used for the legacy code to work.
+ */
+ scope.eventhandler._setActiveTreeType = function(treeAlias, loadChildren) {
+ loadActiveTree(treeAlias, loadChildren);
+ };
+ }
+ }
+
+
+ //helper to load a specific path on the active tree as soon as its ready
+ function loadPath(path, forceReload, activate) {
+
+ if (scope.activeTree) {
+ syncTree(scope.activeTree, path, forceReload, activate);
+ }
+ else {
+ scope.eventhandler.one("activeTreeLoaded", function (e, args) {
+ syncTree(args.tree, path, forceReload, activate);
+ });
+ }
+ }
+
+
+ //given a tree alias, this will search the current section tree for the specified tree alias and
+ //set that to the activeTree
+ //NOTE: loadChildren is ONLY used for legacy purposes, do not use this when syncing the tree as it will cause problems
+ // since there will be double request and event handling operations.
+ function loadActiveTree(treeAlias, loadChildren) {
+ scope.activeTree = undefined;
+
+ function doLoad(tree) {
+ var childrenAndSelf = [tree].concat(tree.children);
+ scope.activeTree = _.find(childrenAndSelf, function (node) {
+ if(node && node.metaData && node.metaData.treeAlias) {
+ return node.metaData.treeAlias.toUpperCase() === treeAlias.toUpperCase();
+ }
+ return false;
+ });
+
+ if (!scope.activeTree) {
+ throw "Could not find the tree " + treeAlias + ", activeTree has not been set";
+ }
+
+ //This is only used for the legacy tree method refreshTree!
+ if (loadChildren) {
+ scope.activeTree.expanded = true;
+ scope.loadChildren(scope.activeTree, false).then(function() {
+ emitEvent("activeTreeLoaded", { tree: scope.activeTree });
+ });
+ }
+ else {
+ emitEvent("activeTreeLoaded", { tree: scope.activeTree });
+ }
+ }
+
+ if (scope.tree) {
+ doLoad(scope.tree.root);
+ }
+ else {
+ scope.eventhandler.one("treeLoaded", function(e, args) {
+ doLoad(args.tree.root);
+ });
+ }
+ }
+
+
+ /** Method to load in the tree data */
+
+ function loadTree() {
+ if (!scope.loading && scope.section) {
+ scope.loading = true;
+
+ //anytime we want to load the tree we need to disable the delete animations
+ deleteAnimations = false;
+
+ //default args
+ var args = { section: scope.section, tree: scope.treealias, cacheKey: scope.cachekey, isDialog: scope.isdialog ? scope.isdialog : false };
+
+ //add the extra query string params if specified
+ if (scope.customtreeparams) {
+ args["queryString"] = scope.customtreeparams;
+ }
+
+ treeService.getTree(args)
+ .then(function(data) {
+ //set the data once we have it
+ scope.tree = data;
+
+ enableDeleteAnimations();
+
+ scope.loading = false;
+
+ //set the root as the current active tree
+ scope.activeTree = scope.tree.root;
+ emitEvent("treeLoaded", { tree: scope.tree });
+ emitEvent("treeNodeExpanded", { tree: scope.tree, node: scope.tree.root, children: scope.tree.root.children });
+
+ }, function(reason) {
+ scope.loading = false;
+ notificationsService.error("Tree Error", reason);
+ });
+ }
+ }
+
+ /** syncs the tree, the treeNode can be ANY tree node in the tree that requires syncing */
+ function syncTree(treeNode, path, forceReload, activate) {
+
+ deleteAnimations = false;
+
+ treeService.syncTree({
+ node: treeNode,
+ path: path,
+ forceReload: forceReload
+ }).then(function (data) {
+
+ if (activate === undefined || activate === true) {
+ scope.currentNode = data;
+ }
+
+ emitEvent("treeSynced", { node: data, activate: activate });
+
+ enableDeleteAnimations();
+ });
+
+ }
+
+ scope.selectEnabledNodeClass = function (node) {
+ return node ?
+ node.selected ?
+ 'icon umb-tree-icon sprTree icon-check blue temporary' :
+ '' :
+ '';
+ };
+
+ /** method to set the current animation for the node.
+ * This changes dynamically based on if we are changing sections or just loading normal tree data.
+ * When changing sections we don't want all of the tree-ndoes to do their 'leave' animations.
+ */
+ scope.animation = function() {
+ if (deleteAnimations && scope.tree && scope.tree.root && scope.tree.root.expanded) {
+ return { leave: 'tree-node-delete-leave' };
+ }
+ else {
+ return {};
+ }
+ };
+
+ /* helper to force reloading children of a tree node */
+ scope.loadChildren = function(node, forceReload) {
+ var deferred = $q.defer();
+
+ //emit treeNodeExpanding event, if a callback object is set on the tree
+ emitEvent("treeNodeExpanding", { tree: scope.tree, node: node });
+
+ //standardising
+ if (!node.children) {
+ node.children = [];
+ }
+
+ if (forceReload || (node.hasChildren && node.children.length === 0)) {
+ //get the children from the tree service
+ treeService.loadNodeChildren({ node: node, section: scope.section })
+ .then(function(data) {
+ //emit expanded event
+ emitEvent("treeNodeExpanded", { tree: scope.tree, node: node, children: data });
+
+ enableDeleteAnimations();
+
+ deferred.resolve(data);
+ });
+ }
+ else {
+ emitEvent("treeNodeExpanded", { tree: scope.tree, node: node, children: node.children });
+ node.expanded = true;
+
+ enableDeleteAnimations();
+
+ deferred.resolve(node.children);
+ }
+
+ return deferred.promise;
+ };
+
+ /**
+ Method called when the options button next to the root node is called.
+ The tree doesnt know about this, so it raises an event to tell the parent controller
+ about it.
+ */
+ scope.options = function(n, ev) {
+ emitEvent("treeOptionsClick", { element: elem, node: n, event: ev });
+ };
+
+ /**
+ Method called when an item is clicked in the tree, this passes the
+ DOM element, the tree node object and the original click
+ and emits it as a treeNodeSelect element if there is a callback object
+ defined on the tree
+ */
+ scope.select = function (n, ev) {
+ //on tree select we need to remove the current node -
+ // whoever handles this will need to make sure the correct node is selected
+ //reset current node selection
+ scope.currentNode = null;
+
+ emitEvent("treeNodeSelect", { element: elem, node: n, event: ev });
+ };
+
+ scope.altSelect = function(n, ev) {
+ emitEvent("treeNodeAltSelect", { element: elem, tree: scope.tree, node: n, event: ev });
+ };
+
+ //watch for section changes
+ scope.$watch("section", function(newVal, oldVal) {
+
+ if (!scope.tree) {
+ loadTree();
+ }
+
+ if (!newVal) {
+ //store the last section loaded
+ lastSection = oldVal;
+ }
+ else if (newVal !== oldVal && newVal !== lastSection) {
+ //only reload the tree data and Dom if the newval is different from the old one
+ // and if the last section loaded is different from the requested one.
+ loadTree();
+
+ //store the new section to be loaded as the last section
+ //clear any active trees to reset lookups
+ lastSection = newVal;
+ }
+ });
+
+ setupExternalEvents();
+ loadTree();
+ };
+ }
+ };
+}
+
+angular.module("umbraco.directives").directive('umbTree', umbTreeDirective);
+
+/**
+ * @ngdoc directive
+ * @name umbraco.directives.directive:umbTreeItem
+ * @element li
+ * @function
+ *
+ * @description
+ * Renders a list item, representing a single node in the tree.
+ * Includes element to toggle children, and a menu toggling button
+ *
+ * **note:** This directive is only used internally in the umbTree directive
+ *
+ * @example
+
+
+
+
+
+ */
+angular.module("umbraco.directives")
+.directive('umbTreeItem', function ($compile, $http, $templateCache, $interpolate, $log, $location, $rootScope, $window, treeService, $timeout, localizationService) {
+ return {
+ restrict: 'E',
+ replace: true,
+
+ scope: {
+ section: '@',
+ eventhandler: '=',
+ currentNode: '=',
+ node: '=',
+ tree: '='
+ },
+
+ //TODO: Remove more of the binding from this template and move the DOM manipulation to be manually done in the link function,
+ // this will greatly improve performance since there's potentially a lot of nodes being rendered = a LOT of watches!
+
+ template: '
' +
+ '
' +
+ //NOTE: This ins element is used to display the search icon if the node is a container/listview and the tree is currently in dialog
+ //'' +
+ ' ' +
+ '' +
+ '' +
+ //NOTE: These are the 'option' elipses
+ '' +
+ '
' +
+ '
' +
+ '
',
+
+ link: function (scope, element, attrs) {
+
+ localizationService.localize("general_search").then(function (value) {
+ scope.searchAltText = value;
+ });
+
+ //flag to enable/disable delete animations, default for an item is true
+ var deleteAnimations = true;
+
+ // Helper function to emit tree events
+ function emitEvent(eventName, args) {
+
+ if (scope.eventhandler) {
+ $(scope.eventhandler).trigger(eventName, args);
+ }
+ }
+
+ // updates the node's DOM/styles
+ function setupNodeDom(node, tree) {
+
+ //get the first div element
+ element.children(":first")
+ //set the padding
+ .css("padding-left", (node.level * 20) + "px");
+
+ //remove first 'ins' if there is no children
+ //show/hide last 'ins' depending on children
+ if (!node.hasChildren) {
+ element.find("ins:first").remove();
+ element.find("ins").last().hide();
+ }
+ else {
+ element.find("ins").last().show();
+ }
+
+ var icon = element.find("i:first");
+ icon.addClass(node.cssClass);
+ icon.attr("title", node.routePath);
+
+ element.find("a:first").text(node.name);
+
+ if (!node.menuUrl) {
+ element.find("a.umb-options").remove();
+ }
+
+ if (node.style) {
+ element.find("i:first").attr("style", node.style);
+ }
+ }
+
+ //This will deleteAnimations to true after the current digest
+ function enableDeleteAnimations() {
+ //do timeout so that it re-enables them after this digest
+ $timeout(function () {
+ //enable delete animations
+ deleteAnimations = true;
+ }, 0, false);
+ }
+
+ /** Returns the css classses assigned to the node (div element) */
+ scope.getNodeCssClass = function (node) {
+ if (!node) {
+ return '';
+ }
+ var css = [];
+ if (node.cssClasses) {
+ _.each(node.cssClasses, function(c) {
+ css.push(c);
+ });
+ }
+ if (node.selected) {
+ css.push("umb-tree-node-checked");
+ }
+ return css.join(" ");
+ };
+
+ //add a method to the node which we can use to call to update the node data if we need to ,
+ // this is done by sync tree, we don't want to add a $watch for each node as that would be crazy insane slow
+ // so we have to do this
+ scope.node.updateNodeData = function (newNode) {
+ _.extend(scope.node, newNode);
+ //now update the styles
+ setupNodeDom(scope.node, scope.tree);
+ };
+
+ /**
+ Method called when the options button next to a node is called
+ In the main tree this opens the menu, but internally the tree doesnt
+ know about this, so it simply raises an event to tell the parent controller
+ about it.
+ */
+ scope.options = function (n, ev) {
+ emitEvent("treeOptionsClick", { element: element, tree: scope.tree, node: n, event: ev });
+ };
+
+ /**
+ Method called when an item is clicked in the tree, this passes the
+ DOM element, the tree node object and the original click
+ and emits it as a treeNodeSelect element if there is a callback object
+ defined on the tree
+ */
+ scope.select = function (n, ev) {
+ if (ev.ctrlKey ||
+ ev.shiftKey ||
+ ev.metaKey || // apple
+ (ev.button && ev.button === 1) // middle click, >IE9 + everyone else
+ ) {
+ return;
+ }
+
+ emitEvent("treeNodeSelect", { element: element, tree: scope.tree, node: n, event: ev });
+ ev.preventDefault();
+ };
+
+ /**
+ Method called when an item is right-clicked in the tree, this passes the
+ DOM element, the tree node object and the original click
+ and emits it as a treeNodeSelect element if there is a callback object
+ defined on the tree
+ */
+ scope.altSelect = function (n, ev) {
+ emitEvent("treeNodeAltSelect", { element: element, tree: scope.tree, node: n, event: ev });
+ };
+
+ /** method to set the current animation for the node.
+ * This changes dynamically based on if we are changing sections or just loading normal tree data.
+ * When changing sections we don't want all of the tree-ndoes to do their 'leave' animations.
+ */
+ scope.animation = function () {
+ if (scope.node.showHideAnimation) {
+ return scope.node.showHideAnimation;
+ }
+ if (deleteAnimations && scope.node.expanded) {
+ return { leave: 'tree-node-delete-leave' };
+ }
+ else {
+ return {};
+ }
+ };
+
+ /**
+ Method called when a node in the tree is expanded, when clicking the arrow
+ takes the arrow DOM element and node data as parameters
+ emits treeNodeCollapsing event if already expanded and treeNodeExpanding if collapsed
+ */
+ scope.load = function (node) {
+ if (node.expanded) {
+ deleteAnimations = false;
+ emitEvent("treeNodeCollapsing", { tree: scope.tree, node: node, element: element });
+ node.expanded = false;
+ }
+ else {
+ scope.loadChildren(node, false);
+ }
+ };
+
+ /* helper to force reloading children of a tree node */
+ scope.loadChildren = function (node, forceReload) {
+ //emit treeNodeExpanding event, if a callback object is set on the tree
+ emitEvent("treeNodeExpanding", { tree: scope.tree, node: node });
+
+ if (node.hasChildren && (forceReload || !node.children || (angular.isArray(node.children) && node.children.length === 0))) {
+ //get the children from the tree service
+ treeService.loadNodeChildren({ node: node, section: scope.section })
+ .then(function (data) {
+ //emit expanded event
+ emitEvent("treeNodeExpanded", { tree: scope.tree, node: node, children: data });
+ enableDeleteAnimations();
+ });
+ }
+ else {
+ emitEvent("treeNodeExpanded", { tree: scope.tree, node: node, children: node.children });
+ node.expanded = true;
+ enableDeleteAnimations();
+ }
+ };
+
+ //if the current path contains the node id, we will auto-expand the tree item children
+
+ setupNodeDom(scope.node, scope.tree);
+
+ var template = '
';
+ var newElement = angular.element(template);
+ $compile(newElement)(scope);
+ element.append(newElement);
+
+ }
+ };
+});
+
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:umbTreeSearchBox
+* @function
+* @element ANY
+* @restrict E
+**/
+function treeSearchBox(localizationService, searchService, $q) {
+ return {
+ scope: {
+ searchFromId: "@",
+ searchFromName: "@",
+ showSearch: "@",
+ section: "@",
+ hideSearchCallback: "=",
+ searchCallback: "="
+ },
+ restrict: "E", // restrict to an element
+ replace: true, // replace the html element with the template
+ templateUrl: 'views/directives/umb-tree-search-box.html',
+ link: function (scope, element, attrs, ctrl) {
+
+ scope.term = "";
+ scope.hideSearch = function() {
+ scope.term = "";
+ scope.hideSearchCallback();
+ };
+
+ localizationService.localize("general_typeToSearch").then(function (value) {
+ scope.searchPlaceholderText = value;
+ });
+
+ if (!scope.showSearch) {
+ scope.showSearch = "false";
+ }
+
+ //used to cancel any request in progress if another one needs to take it's place
+ var canceler = null;
+
+ function performSearch() {
+ if (scope.term) {
+ scope.results = [];
+
+ //a canceler exists, so perform the cancelation operation and reset
+ if (canceler) {
+ console.log("CANCELED!");
+ canceler.resolve();
+ canceler = $q.defer();
+ }
+ else {
+ canceler = $q.defer();
+ }
+
+ var searchArgs = {
+ term: scope.term,
+ canceler: canceler
+ };
+
+ //append a start node context if there is one
+ if (scope.searchFromId) {
+ searchArgs["searchFrom"] = scope.searchFromId;
+ }
+
+ searcher(searchArgs).then(function (data) {
+ scope.searchCallback(data);
+ //set back to null so it can be re-created
+ canceler = null;
+ });
+ }
+ }
+
+ scope.$watch("term", _.debounce(function(newVal, oldVal) {
+ scope.$apply(function() {
+ if (newVal !== null && newVal !== undefined && newVal !== oldVal) {
+ performSearch();
+ }
+ });
+ }, 200));
+
+ var searcher = searchService.searchContent;
+ //search
+ if (scope.section === "member") {
+ searcher = searchService.searchMembers;
+ }
+ else if (scope.section === "media") {
+ searcher = searchService.searchMedia;
+ }
+ }
+ };
+}
+angular.module('umbraco.directives').directive("umbTreeSearchBox", treeSearchBox);
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:umbTreeSearchResults
+* @function
+* @element ANY
+* @restrict E
+**/
+function treeSearchResults() {
+ return {
+ scope: {
+ results: "=",
+ selectResultCallback: "="
+ },
+ restrict: "E", // restrict to an element
+ replace: true, // replace the html element with the template
+ templateUrl: 'views/directives/umb-tree-search-results.html',
+ link: function (scope, element, attrs, ctrl) {
+
+ }
+ };
+}
+angular.module('umbraco.directives').directive("umbTreeSearchResults", treeSearchResults);
+/**
+* @description Utility directives for key and field events
+**/
+angular.module('umbraco.directives')
+
+.directive('onKeyup', function () {
+ return function (scope, elm, attrs) {
+ elm.bind("keyup", function () {
+ scope.$apply(attrs.onKeyup);
+ });
+ };
+})
+
+.directive('onKeydown', function () {
+ return {
+ link: function (scope, elm, attrs) {
+ scope.$apply(attrs.onKeydown);
+ }
+ };
+})
+
+.directive('onBlur', function () {
+ return function (scope, elm, attrs) {
+ elm.bind("blur", function () {
+ scope.$apply(attrs.onBlur);
+ });
+ };
+})
+
+.directive('onFocus', function () {
+ return function (scope, elm, attrs) {
+ elm.bind("focus", function () {
+ scope.$apply(attrs.onFocus);
+ });
+ };
+})
+
+.directive('onRightClick',function(){
+
+ document.oncontextmenu = function (e) {
+ if(e.target.hasAttribute('on-right-click')) {
+ e.preventDefault();
+ e.stopPropagation();
+ return false;
+ }
+ };
+
+ return function(scope,el,attrs){
+ el.bind('contextmenu',function(e){
+ e.preventDefault();
+ e.stopPropagation();
+ scope.$apply(attrs.onRightClick);
+ return false;
+ });
+ };
+});
+/**
+ * @ngdoc directive
+ * @name umbraco.directives.directive:autoScale
+ * @element div
+ * @function
+ *
+ * @description
+ * Resize div's automatically to fit to the bottom of the screen, as an optional parameter an y-axis offset can be set
+ * So if you only want to scale the div to 70 pixels from the bottom you pass "70"
+ *
+ * @example
+
+
+
+
+
+ */
+angular.module("umbraco.directives")
+ .directive('autoScale', function ($window) {
+ return function (scope, el, attrs) {
+
+ var totalOffset = 0;
+ var offsety = parseInt(attrs.autoScale, 10);
+ var window = angular.element($window);
+ if (offsety !== undefined){
+ totalOffset += offsety;
+ }
+
+ setTimeout(function () {
+ el.height(window.height() - (el.offset().top + totalOffset));
+ }, 500);
+
+ window.bind("resize", function () {
+ el.height(window.height() - (el.offset().top + totalOffset));
+ });
+
+ };
+ });
+/*
+
+ http://vitalets.github.io/checklist-model/
+
+*/
+angular.module('umbraco.directives')
+.directive('checklistModel', ['$parse', '$compile', function($parse, $compile) {
+ // contains
+ function contains(arr, item) {
+ if (angular.isArray(arr)) {
+ for (var i = 0; i < arr.length; i++) {
+ if (angular.equals(arr[i], item)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ // add
+ function add(arr, item) {
+ arr = angular.isArray(arr) ? arr : [];
+ for (var i = 0; i < arr.length; i++) {
+ if (angular.equals(arr[i], item)) {
+ return arr;
+ }
+ }
+ arr.push(item);
+ return arr;
+ }
+
+ // remove
+ function remove(arr, item) {
+ if (angular.isArray(arr)) {
+ for (var i = 0; i < arr.length; i++) {
+ if (angular.equals(arr[i], item)) {
+ arr.splice(i, 1);
+ break;
+ }
+ }
+ }
+ return arr;
+ }
+
+ // http://stackoverflow.com/a/19228302/1458162
+ function postLinkFn(scope, elem, attrs) {
+ // compile with `ng-model` pointing to `checked`
+ $compile(elem)(scope);
+
+ // getter / setter for original model
+ var getter = $parse(attrs.checklistModel);
+ var setter = getter.assign;
+
+ // value added to list
+ var value = $parse(attrs.checklistValue)(scope.$parent);
+
+ // watch UI checked change
+ scope.$watch('checked', function(newValue, oldValue) {
+ if (newValue === oldValue) {
+ return;
+ }
+ var current = getter(scope.$parent);
+ if (newValue === true) {
+ setter(scope.$parent, add(current, value));
+ } else {
+ setter(scope.$parent, remove(current, value));
+ }
+ });
+
+ // watch original model change
+ scope.$parent.$watch(attrs.checklistModel, function(newArr, oldArr) {
+ scope.checked = contains(newArr, value);
+ }, true);
+ }
+
+ return {
+ restrict: 'A',
+ priority: 1000,
+ terminal: true,
+ scope: true,
+ compile: function(tElement, tAttrs) {
+ if (tElement[0].tagName !== 'INPUT' || !tElement.attr('type', 'checkbox')) {
+ throw 'checklist-model should be applied to `input[type="checkbox"]`.';
+ }
+
+ if (!tAttrs.checklistValue) {
+ throw 'You should provide `checklist-value`.';
+ }
+
+ // exclude recursion
+ tElement.removeAttr('checklist-model');
+
+ // local scope var storing individual checkbox model
+ tElement.attr('ng-model', 'checked');
+
+ return postLinkFn;
+ }
+ };
+}]);
+angular.module("umbraco.directives")
+ .directive('delayedMouseleave', function ($timeout, $parse) {
+ return {
+ restrict: 'A',
+ link: function (scope, element, attrs, ctrl) {
+ var active = false;
+ var fn = $parse(attrs.delayedMouseleave);
+
+ function mouseLeave(event) {
+ var callback = function () {
+ fn(scope, { $event: event });
+ };
+
+ active = false;
+ $timeout(function () {
+ if (active === false) {
+ scope.$apply(callback);
+ }
+ }, 650);
+ }
+
+ function mouseEnter(event, args){
+ active = true;
+ }
+
+ element.on("mouseleave", mouseLeave);
+ element.on("mouseenter", mouseEnter);
+
+ //unbind!!
+ scope.$on('$destroy', function () {
+ element.off("mouseleave", mouseLeave);
+ element.off("mouseenter", mouseEnter);
+ });
+ }
+ };
+ });
+
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:umbPanel
+* @description This is used for the editor buttons to ensure they are displayed correctly if the horizontal overflow of the editor
+ * exceeds the height of the window
+**/
+angular.module("umbraco.directives.html")
+ .directive('detectFold', function ($timeout, $log, windowResizeListener) {
+ return {
+ require: "^?umbTabs",
+ restrict: 'A',
+ link: function (scope, el, attrs, tabsCtrl) {
+
+ var firstRun = false;
+ var parent = $(".umb-panel-body");
+ var winHeight = $(window).height();
+ var calculate = function () {
+ if (el && el.is(":visible") && !el.hasClass("umb-bottom-bar")) {
+
+ //now that the element is visible, set the flag in a couple of seconds,
+ // this will ensure that loading time of a current tab get's completed and that
+ // we eventually stop watching to save on CPU time
+ $timeout(function() {
+ firstRun = true;
+ }, 4000);
+
+ //var parent = el.parent();
+ var hasOverflow = parent.innerHeight() < parent[0].scrollHeight;
+ //var belowFold = (el.offset().top + el.height()) > winHeight;
+ if (hasOverflow) {
+ el.addClass("umb-bottom-bar");
+
+ //I wish we didn't have to put this logic here but unfortunately we
+ // do. This needs to calculate the left offest to place the bottom bar
+ // depending on if the left column splitter has been moved by the user
+ // (based on the nav-resize directive)
+ var wrapper = $("#mainwrapper");
+ var contentPanel = $("#leftcolumn").next();
+ var contentPanelLeftPx = contentPanel.css("left");
+
+ el.css({ left: contentPanelLeftPx });
+ }
+ }
+ return firstRun;
+ };
+
+ var resizeCallback = function(size) {
+ winHeight = size.height;
+ el.removeClass("umb-bottom-bar");
+ calculate();
+ };
+
+ windowResizeListener.register(resizeCallback);
+
+ //Only execute the watcher if this tab is the active (first) tab on load, otherwise there's no reason to execute
+ // the watcher since it will be recalculated when the tab changes!
+ if (el.closest(".umb-tab-pane").index() === 0) {
+ //run a watcher to ensure that the calculation occurs until it's firstRun but ensure
+ // the calculations are throttled to save a bit of CPU
+ var listener = scope.$watch(_.throttle(calculate, 1000), function (newVal, oldVal) {
+ if (newVal !== oldVal) {
+ listener();
+ }
+ });
+ }
+
+ //listen for tab changes
+ if (tabsCtrl != null) {
+ tabsCtrl.onTabShown(function (args) {
+ calculate();
+ });
+ }
+
+ //ensure to unregister
+ scope.$on('$destroy', function() {
+ windowResizeListener.unregister(resizeCallback);
+ });
+ }
+ };
+ });
+
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:fixNumber
+* @restrict A
+* @description Used in conjunction with type='number' input fields to ensure that the bound value is converted to a number when using ng-model
+* because normally it thinks it's a string and also validation doesn't work correctly due to an angular bug.
+**/
+function fixNumber($parse) {
+ return {
+ restrict: "A",
+ require: "ngModel",
+
+ link: function (scope, elem, attrs, ctrl) {
+
+ //parse ngModel onload
+ var modelVal = scope.$eval(attrs.ngModel);
+ if (modelVal) {
+ var asNum = parseFloat(modelVal, 10);
+ if (!isNaN(asNum)) {
+ $parse(attrs.ngModel).assign(scope, asNum);
+ }
+ }
+
+ //always return an int to the model
+ ctrl.$parsers.push(function (value) {
+ if (value === 0) {
+ return 0;
+ }
+ return parseFloat(value || '', 10);
+ });
+
+ //always try to format the model value as an int
+ ctrl.$formatters.push(function (value) {
+ if (angular.isString(value)) {
+ return parseFloat(value, 10);
+ }
+ return value;
+ });
+
+ //This fixes this angular issue:
+ //https://github.com/angular/angular.js/issues/2144
+ // which doesn't actually validate the number input properly since the model only changes when a real number is entered
+ // but the input box still allows non-numbers to be entered which do not validate (only via html5)
+ if (typeof elem.prop('validity') === 'undefined') {
+ return;
+ }
+
+ elem.bind('input', function (e) {
+ var validity = elem.prop('validity');
+ scope.$apply(function () {
+ ctrl.$setValidity('number', !validity.badInput);
+ });
+ });
+ }
+ };
+}
+angular.module('umbraco.directives').directive("fixNumber", fixNumber);
+angular.module("umbraco.directives").directive('focusWhen', function ($timeout) {
+ return {
+ restrict: 'A',
+ link: function (scope, elm, attrs, ctrl) {
+ attrs.$observe("focusWhen", function (newValue) {
+ if (newValue === "true") {
+ $timeout(function() {
+ elm.focus();
+ });
+ }
+ });
+ }
+ };
+});
+
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:headline
+**/
+angular.module("umbraco.directives")
+ .directive('hotkey', function ($window, keyboardService, $log) {
+
+ return function (scope, el, attrs) {
+
+ //support data binding
+
+ var keyCombo = scope.$eval(attrs["hotkey"]);
+ if (!keyCombo) {
+ keyCombo = attrs["hotkey"];
+ }
+
+ keyboardService.bind(keyCombo, function() {
+ var element = $(el);
+
+ if(element.is("a,button,input[type='button'],input[type='submit']") && !element.is(':disabled') ){
+ element.click();
+ }else{
+ element.focus();
+ }
+ });
+
+ };
+ });
+angular.module("umbraco.directives")
+.directive('localize', function ($log, localizationService) {
+ return {
+ restrict: 'E',
+ scope:{
+ key: '@'
+ },
+ replace: true,
+ link: function (scope, element, attrs) {
+ var key = scope.key;
+ localizationService.localize(key).then(function(value){
+ element.html(value);
+ });
+ }
+ };
+})
+.directive('localize', function ($log, localizationService) {
+ return {
+ restrict: 'A',
+ link: function (scope, element, attrs) {
+ var keys = attrs.localize.split(',');
+
+ angular.forEach(keys, function(value, key){
+ var attr = element.attr(value);
+ if(attr){
+ if(attr[0] === '@'){
+ var t = localizationService.tokenize(attr.substring(1), scope);
+ localizationService.localize(t.key, t.tokens).then(function(val){
+ element.attr(value, val);
+ });
+ }
+ }
+ });
+
+ }
+ };
+});
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:preventDefault
+**/
+angular.module("umbraco.directives")
+ .directive('preventDefault', function() {
+ return function(scope, element, attrs) {
+
+ var enabled = true;
+ //check if there's a value for the attribute, if there is and it's false then we conditionally don't
+ //prevent default.
+ if (attrs.preventDefault) {
+ attrs.$observe("preventDefault", function (newVal) {
+ enabled = (newVal === "false" || newVal === 0 || newVal === false) ? false : true;
+ });
+ }
+
+ $(element).click(function (event) {
+ if (event.metaKey || event.ctrlKey) {
+ return;
+ }
+ else {
+ if (enabled === true) {
+ event.preventDefault();
+ }
+ }
+ });
+ };
+ });
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:preventEnterSubmit
+* @description prevents a form from submitting when the enter key is pressed on an input field
+**/
+angular.module("umbraco.directives")
+ .directive('preventEnterSubmit', function() {
+ return function(scope, element, attrs) {
+
+ var enabled = true;
+ //check if there's a value for the attribute, if there is and it's false then we conditionally don't
+ //prevent default.
+ if (attrs.preventEnterSubmit) {
+ attrs.$observe("preventEnterSubmit", function (newVal) {
+ enabled = (newVal === "false" || newVal === 0 || newVal === false) ? false : true;
+ });
+ }
+
+ $(element).keypress(function (event) {
+ if (event.which === 13) {
+ event.preventDefault();
+ }
+ });
+ };
+ });
+/**
+ * @ngdoc directive
+ * @name umbraco.directives.directive:resizeToContent
+ * @element div
+ * @function
+ *
+ * @description
+ * Resize iframe's automatically to fit to the content they contain
+ *
+ * @example
+
+
+
+
+
+ */
+angular.module("umbraco.directives")
+ .directive('resizeToContent', function ($window, $timeout) {
+ return function (scope, el, attrs) {
+ var iframe = el[0];
+ var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
+ if (iframeWin.document.body) {
+
+ $timeout(function(){
+ var height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight;
+ el.height(height);
+ }, 3000);
+ }
+ };
+ });
+
+angular.module("umbraco.directives")
+ .directive('selectOnFocus', function () {
+ return function (scope, el, attrs) {
+ $(el).bind("click", function () {
+ var editmode = $(el).data("editmode");
+ //If editmode is true a click is handled like a normal click
+ if (!editmode) {
+ //Initial click, select entire text
+ this.select();
+ //Set the edit mode so subsequent clicks work normally
+ $(el).data("editmode", true);
+ }
+ }).
+ bind("blur", function () {
+ //Reset on focus lost
+ $(el).data("editmode", false);
+ });
+ };
+ });
+
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:noDirtyCheck
+* @restrict A
+* @description Can be attached to form inputs to prevent them from setting the form as dirty (http://stackoverflow.com/questions/17089090/prevent-input-from-setting-form-dirty-angularjs)
+**/
+function noDirtyCheck() {
+ return {
+ restrict: 'A',
+ require: 'ngModel',
+ link: function (scope, elm, attrs, ctrl) {
+ elm.focus(function () {
+ ctrl.$pristine = false;
+ });
+ }
+ };
+}
+angular.module('umbraco.directives.validation').directive("noDirtyCheck", noDirtyCheck);
+/**
+ * General-purpose validator for ngModel.
+ * angular.js comes with several built-in validation mechanism for input fields (ngRequired, ngPattern etc.) but using
+ * an arbitrary validation function requires creation of a custom formatters and / or parsers.
+ * The ui-validate directive makes it easy to use any function(s) defined in scope as a validator function(s).
+ * A validator function will trigger validation on both model and input changes.
+ *
+ * @example
+ * @example
+ * @example
+ * @example
+ *
+ * @param val-custom {string|object literal} If strings is passed it should be a scope's function to be used as a validator.
+ * If an object literal is passed a key denotes a validation error key while a value should be a validator function.
+ * In both cases validator function should take a value to validate as its argument and should return true/false indicating a validation result.
+ */
+
+ /*
+ This code comes from the angular UI project, we had to change the directive name and module
+ but other then that its unmodified
+ */
+angular.module('umbraco.directives.validation')
+.directive('valCustom', function () {
+
+ return {
+ restrict: 'A',
+ require: 'ngModel',
+ link: function (scope, elm, attrs, ctrl) {
+ var validateFn, watch, validators = {},
+ validateExpr = scope.$eval(attrs.valCustom);
+
+ if (!validateExpr){ return;}
+
+ if (angular.isString(validateExpr)) {
+ validateExpr = { validator: validateExpr };
+ }
+
+ angular.forEach(validateExpr, function (exprssn, key) {
+ validateFn = function (valueToValidate) {
+ var expression = scope.$eval(exprssn, { '$value' : valueToValidate });
+ if (angular.isObject(expression) && angular.isFunction(expression.then)) {
+ // expression is a promise
+ expression.then(function(){
+ ctrl.$setValidity(key, true);
+ }, function(){
+ ctrl.$setValidity(key, false);
+ });
+ return valueToValidate;
+ } else if (expression) {
+ // expression is true
+ ctrl.$setValidity(key, true);
+ return valueToValidate;
+ } else {
+ // expression is false
+ ctrl.$setValidity(key, false);
+ return undefined;
+ }
+ };
+ validators[key] = validateFn;
+ ctrl.$formatters.push(validateFn);
+ ctrl.$parsers.push(validateFn);
+ });
+
+ function apply_watch(watch)
+ {
+ //string - update all validators on expression change
+ if (angular.isString(watch))
+ {
+ scope.$watch(watch, function(){
+ angular.forEach(validators, function(validatorFn){
+ validatorFn(ctrl.$modelValue);
+ });
+ });
+ return;
+ }
+
+ //array - update all validators on change of any expression
+ if (angular.isArray(watch))
+ {
+ angular.forEach(watch, function(expression){
+ scope.$watch(expression, function()
+ {
+ angular.forEach(validators, function(validatorFn){
+ validatorFn(ctrl.$modelValue);
+ });
+ });
+ });
+ return;
+ }
+
+ //object - update appropriate validator
+ if (angular.isObject(watch))
+ {
+ angular.forEach(watch, function(expression, validatorKey)
+ {
+ //value is string - look after one expression
+ if (angular.isString(expression))
+ {
+ scope.$watch(expression, function(){
+ validators[validatorKey](ctrl.$modelValue);
+ });
+ }
+
+ //value is array - look after all expressions in array
+ if (angular.isArray(expression))
+ {
+ angular.forEach(expression, function(intExpression)
+ {
+ scope.$watch(intExpression, function(){
+ validators[validatorKey](ctrl.$modelValue);
+ });
+ });
+ }
+ });
+ }
+ }
+ // Support for val-custom-watch
+ if (attrs.valCustomWatch){
+ apply_watch( scope.$eval(attrs.valCustomWatch) );
+ }
+ }
+ };
+});
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:valHighlight
+* @restrict A
+* @description Used on input fields when you want to signal that they are in error, this will highlight the item for 1 second
+**/
+function valHighlight($timeout) {
+ return {
+ restrict: "A",
+ link: function (scope, element, attrs, ctrl) {
+
+ scope.$watch(function() {
+ return scope.$eval(attrs.valHighlight);
+ }, function(newVal, oldVal) {
+ if (newVal === true) {
+ element.addClass("highlight-error");
+ $timeout(function () {
+ //set the bound scope property to false
+ scope[attrs.valHighlight] = false;
+ }, 1000);
+ }
+ else {
+ element.removeClass("highlight-error");
+ }
+ });
+
+ }
+ };
+}
+angular.module('umbraco.directives.validation').directive("valHighlight", valHighlight);
+angular.module('umbraco.directives.validation')
+ .directive('valCompare',function () {
+ return {
+ require: "ngModel",
+ link: function (scope, elem, attrs, ctrl) {
+
+ //TODO: Pretty sure this should be done using a requires ^form in the directive declaration
+ var otherInput = elem.inheritedData("$formController")[attrs.valCompare];
+
+ ctrl.$parsers.push(function(value) {
+ if(value === otherInput.$viewValue) {
+ ctrl.$setValidity("valCompare", true);
+ return value;
+ }
+ ctrl.$setValidity("valCompare", false);
+ });
+
+ otherInput.$parsers.push(function(value) {
+ ctrl.$setValidity("valCompare", value === ctrl.$viewValue);
+ return value;
+ });
+ }
+ };
+});
+/**
+ * @ngdoc directive
+ * @name umbraco.directives.directive:valEmail
+ * @restrict A
+ * @description A custom directive to validate an email address string, this is required because angular's default validator is incorrect.
+ **/
+function valEmail(valEmailExpression) {
+
+ return {
+ require: 'ngModel',
+ restrict: "A",
+ link: function (scope, elm, attrs, ctrl) {
+
+ var patternValidator = function (viewValue) {
+ //NOTE: we don't validate on empty values, use required validator for that
+ if (!viewValue || valEmailExpression.EMAIL_REGEXP.test(viewValue)) {
+ // it is valid
+ ctrl.$setValidity('valEmail', true);
+ //assign a message to the validator
+ ctrl.errorMsg = "";
+ return viewValue;
+ }
+ else {
+ // it is invalid, return undefined (no model update)
+ ctrl.$setValidity('valEmail', false);
+ //assign a message to the validator
+ ctrl.errorMsg = "Invalid email";
+ return undefined;
+ }
+ };
+
+ ctrl.$formatters.push(patternValidator);
+ ctrl.$parsers.push(patternValidator);
+ }
+ };
+}
+
+angular.module('umbraco.directives.validation')
+ .directive("valEmail", valEmail)
+ .factory('valEmailExpression', function() {
+ return {
+ EMAIL_REGEXP: /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i
+ };
+ });
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:valFormManager
+* @restrict A
+* @require formController
+* @description Used to broadcast an event to all elements inside this one to notify that form validation has
+* changed. If we don't use this that means you have to put a watch for each directive on a form's validation
+* changing which would result in much higher processing. We need to actually watch the whole $error collection of a form
+* because just watching $valid or $invalid doesn't acurrately trigger form validation changing.
+* This also sets the show-validation (or a custom) css class on the element when the form is invalid - this lets
+* us css target elements to be displayed when the form is submitting/submitted.
+* Another thing this directive does is to ensure that any .control-group that contains form elements that are invalid will
+* be marked with the 'error' css class. This ensures that labels included in that control group are styled correctly.
+**/
+function valFormManager(serverValidationManager, $rootScope, $log, $timeout, notificationsService, eventsService, $routeParams) {
+ return {
+ require: "form",
+ restrict: "A",
+ link: function (scope, element, attr, formCtrl) {
+
+ scope.$watch(function () {
+ return formCtrl.$error;
+ }, function (e) {
+ scope.$broadcast("valStatusChanged", { form: formCtrl });
+
+ //find all invalid elements' .control-group's and apply the error class
+ var inError = element.find(".control-group .ng-invalid").closest(".control-group");
+ inError.addClass("error");
+
+ //find all control group's that have no error and ensure the class is removed
+ var noInError = element.find(".control-group .ng-valid").closest(".control-group").not(inError);
+ noInError.removeClass("error");
+
+ }, true);
+
+ var className = attr.valShowValidation ? attr.valShowValidation : "show-validation";
+ var savingEventName = attr.savingEvent ? attr.savingEvent : "formSubmitting";
+ var savedEvent = attr.savedEvent ? attr.savingEvent : "formSubmitted";
+
+ //This tracks if the user is currently saving a new item, we use this to determine
+ // if we should display the warning dialog that they are leaving the page - if a new item
+ // is being saved we never want to display that dialog, this will also cause problems when there
+ // are server side validation issues.
+ var isSavingNewItem = false;
+
+ //we should show validation if there are any msgs in the server validation collection
+ if (serverValidationManager.items.length > 0) {
+ element.addClass(className);
+ }
+
+ var unsubscribe = [];
+
+ //listen for the forms saving event
+ unsubscribe.push(scope.$on(savingEventName, function(ev, args) {
+ element.addClass(className);
+
+ //set the flag so we can check to see if we should display the error.
+ isSavingNewItem = $routeParams.create;
+ }));
+
+ //listen for the forms saved event
+ unsubscribe.push(scope.$on(savedEvent, function(ev, args) {
+ //remove validation class
+ element.removeClass(className);
+
+ //clear form state as at this point we retrieve new data from the server
+ //and all validation will have cleared at this point
+ formCtrl.$setPristine();
+ }));
+
+ //This handles the 'unsaved changes' dialog which is triggered when a route is attempting to be changed but
+ // the form has pending changes
+ var locationEvent = $rootScope.$on('$locationChangeStart', function(event, nextLocation, currentLocation) {
+ if (!formCtrl.$dirty || isSavingNewItem) {
+ return;
+ }
+
+ var path = nextLocation.split("#")[1];
+ if (path) {
+ if (path.indexOf("%253") || path.indexOf("%252")) {
+ path = decodeURIComponent(path);
+ }
+
+ if (!notificationsService.hasView()) {
+ var msg = { view: "confirmroutechange", args: { path: path, listener: locationEvent } };
+ notificationsService.add(msg);
+ }
+
+ //prevent the route!
+ event.preventDefault();
+
+ //raise an event
+ eventsService.emit("valFormManager.pendingChanges", true);
+ }
+
+ });
+ unsubscribe.push(locationEvent);
+
+ //Ensure to remove the event handler when this instance is destroyted
+ scope.$on('$destroy', function() {
+ for (var u in unsubscribe) {
+ unsubscribe[u]();
+ }
+ });
+
+ $timeout(function(){
+ formCtrl.$setPristine();
+ }, 1000);
+ }
+ };
+}
+angular.module('umbraco.directives.validation').directive("valFormManager", valFormManager);
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:valPropertyMsg
+* @restrict A
+* @element textarea
+* @requires formController
+* @description This directive is used to control the display of the property level validation message.
+* We will listen for server side validation changes
+* and when an error is detected for this property we'll show the error message.
+* In order for this directive to work, the valStatusChanged directive must be placed on the containing form.
+**/
+function valPropertyMsg(serverValidationManager) {
+
+ return {
+ scope: {
+ property: "="
+ },
+ require: "^form", //require that this directive is contained within an ngForm
+ replace: true, //replace the element with the template
+ restrict: "E", //restrict to element
+ template: "
{{errorMsg}}
",
+
+ /**
+ Our directive requries a reference to a form controller
+ which gets passed in to this parameter
+ */
+ link: function (scope, element, attrs, formCtrl) {
+
+ var watcher = null;
+
+ // Gets the error message to display
+ function getErrorMsg() {
+ //this can be null if no property was assigned
+ if (scope.property) {
+ //first try to get the error msg from the server collection
+ var err = serverValidationManager.getPropertyError(scope.property.alias, "");
+ //if there's an error message use it
+ if (err && err.errorMsg) {
+ return err.errorMsg;
+ }
+ else {
+ return scope.property.propertyErrorMessage ? scope.property.propertyErrorMessage : "Property has errors";
+ }
+
+ }
+ return "Property has errors";
+ }
+
+ // We need to subscribe to any changes to our model (based on user input)
+ // This is required because when we have a server error we actually invalidate
+ // the form which means it cannot be resubmitted.
+ // So once a field is changed that has a server error assigned to it
+ // we need to re-validate it for the server side validator so the user can resubmit
+ // the form. Of course normal client-side validators will continue to execute.
+ function startWatch() {
+ //if there's not already a watch
+ if (!watcher) {
+ watcher = scope.$watch("property.value", function (newValue, oldValue) {
+
+ if (!newValue || angular.equals(newValue, oldValue)) {
+ return;
+ }
+
+ var errCount = 0;
+ for (var e in formCtrl.$error) {
+ if (angular.isArray(formCtrl.$error[e])) {
+ errCount++;
+ }
+ }
+
+ //we are explicitly checking for valServer errors here, since we shouldn't auto clear
+ // based on other errors. We'll also check if there's no other validation errors apart from valPropertyMsg, if valPropertyMsg
+ // is the only one, then we'll clear.
+
+ if ((errCount === 1 && angular.isArray(formCtrl.$error.valPropertyMsg)) || (formCtrl.$invalid && angular.isArray(formCtrl.$error.valServer))) {
+ scope.errorMsg = "";
+ formCtrl.$setValidity('valPropertyMsg', true);
+ stopWatch();
+ }
+ }, true);
+ }
+ }
+
+ //clear the watch when the property validator is valid again
+ function stopWatch() {
+ if (watcher) {
+ watcher();
+ watcher = null;
+ }
+ }
+
+ //if there's any remaining errors in the server validation service then we should show them.
+ var showValidation = serverValidationManager.items.length > 0;
+ var hasError = false;
+
+ //create properties on our custom scope so we can use it in our template
+ scope.errorMsg = "";
+
+ var unsubscribe = [];
+
+ //listen for form error changes
+ unsubscribe.push(scope.$on("valStatusChanged", function(evt, args) {
+ if (args.form.$invalid) {
+
+ //first we need to check if the valPropertyMsg validity is invalid
+ if (formCtrl.$error.valPropertyMsg && formCtrl.$error.valPropertyMsg.length > 0) {
+ //since we already have an error we'll just return since this means we've already set the
+ // hasError and errorMsg properties which occurs below in the serverValidationManager.subscribe
+ return;
+ }
+ else if (element.closest(".umb-control-group").find(".ng-invalid").length > 0) {
+ //check if it's one of the properties that is invalid in the current content property
+ hasError = true;
+ //update the validation message if we don't already have one assigned.
+ if (showValidation && scope.errorMsg === "") {
+ scope.errorMsg = getErrorMsg();
+ }
+ }
+ else {
+ hasError = false;
+ scope.errorMsg = "";
+ }
+ }
+ else {
+ hasError = false;
+ scope.errorMsg = "";
+ }
+ }, true));
+
+ //listen for the forms saving event
+ unsubscribe.push(scope.$on("formSubmitting", function(ev, args) {
+ showValidation = true;
+ if (hasError && scope.errorMsg === "") {
+ scope.errorMsg = getErrorMsg();
+ }
+ else if (!hasError) {
+ scope.errorMsg = "";
+ stopWatch();
+ }
+ }));
+
+ //listen for the forms saved event
+ unsubscribe.push(scope.$on("formSubmitted", function(ev, args) {
+ showValidation = false;
+ scope.errorMsg = "";
+ formCtrl.$setValidity('valPropertyMsg', true);
+ stopWatch();
+ }));
+
+ //listen for server validation changes
+ // NOTE: we pass in "" in order to listen for all validation changes to the content property, not for
+ // validation changes to fields in the property this is because some server side validators may not
+ // return the field name for which the error belongs too, just the property for which it belongs.
+ // It's important to note that we need to subscribe to server validation changes here because we always must
+ // indicate that a content property is invalid at the property level since developers may not actually implement
+ // the correct field validation in their property editors.
+
+ if (scope.property) { //this can be null if no property was assigned
+ serverValidationManager.subscribe(scope.property.alias, "", function (isValid, propertyErrors, allErrors) {
+ hasError = !isValid;
+ if (hasError) {
+ //set the error message to the server message
+ scope.errorMsg = propertyErrors[0].errorMsg;
+ //flag that the current validator is invalid
+ formCtrl.$setValidity('valPropertyMsg', false);
+ startWatch();
+ }
+ else {
+ scope.errorMsg = "";
+ //flag that the current validator is valid
+ formCtrl.$setValidity('valPropertyMsg', true);
+ stopWatch();
+ }
+ });
+
+ //when the element is disposed we need to unsubscribe!
+ // NOTE: this is very important otherwise when this controller re-binds the previous subscriptsion will remain
+ // but they are a different callback instance than the above.
+ element.bind('$destroy', function () {
+ stopWatch();
+ serverValidationManager.unsubscribe(scope.property.alias, "");
+ });
+ }
+
+ //when the scope is disposed we need to unsubscribe
+ scope.$on('$destroy', function () {
+ for (var u in unsubscribe) {
+ unsubscribe[u]();
+ }
+ });
+ }
+
+
+ };
+}
+angular.module('umbraco.directives.validation').directive("valPropertyMsg", valPropertyMsg);
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:valPropertyValidator
+* @restrict A
+* @description Performs any custom property value validation checks on the client side. This allows property editors to be highly flexible when it comes to validation
+ on the client side. Typically if a property editor stores a primitive value (i.e. string) then the client side validation can easily be taken care of
+ with standard angular directives such as ng-required. However since some property editors store complex data such as JSON, a given property editor
+ might require custom validation. This directive can be used to validate an Umbraco property in any way that a developer would like by specifying a
+ callback method to perform the validation. The result of this method must return an object in the format of
+ {isValid: true, errorKey: 'required', errorMsg: 'Something went wrong' }
+ The error message returned will also be displayed for the property level validation message.
+ This directive should only be used when dealing with complex models, if custom validation needs to be performed with primitive values, use the simpler
+ angular validation directives instead since this will watch the entire model.
+**/
+
+function valPropertyValidator(serverValidationManager) {
+ return {
+ scope: {
+ valPropertyValidator: "="
+ },
+
+ // The element must have ng-model attribute and be inside an umbProperty directive
+ require: ['ngModel', '?^umbProperty'],
+
+ restrict: "A",
+
+ link: function (scope, element, attrs, ctrls) {
+
+ var modelCtrl = ctrls[0];
+ var propCtrl = ctrls.length > 1 ? ctrls[1] : null;
+
+ // Check whether the scope has a valPropertyValidator method
+ if (!scope.valPropertyValidator || !angular.isFunction(scope.valPropertyValidator)) {
+ throw new Error('val-property-validator directive must specify a function to call');
+ }
+
+ var initResult = scope.valPropertyValidator();
+
+ // Validation method
+ var validate = function (viewValue) {
+ // Calls the validition method
+ var result = scope.valPropertyValidator();
+ if (!result.errorKey || result.isValid === undefined || !result.errorMsg) {
+ throw "The result object from valPropertyValidator does not contain required properties: isValid, errorKey, errorMsg";
+ }
+ if (result.isValid === true) {
+ // Tell the controller that the value is valid
+ modelCtrl.$setValidity(result.errorKey, true);
+ if (propCtrl) {
+ propCtrl.setPropertyError(null);
+ }
+ }
+ else {
+ // Tell the controller that the value is invalid
+ modelCtrl.$setValidity(result.errorKey, false);
+ if (propCtrl) {
+ propCtrl.setPropertyError(result.errorMsg);
+ }
+ }
+ };
+
+ // Formatters are invoked when the model is modified in the code.
+ modelCtrl.$formatters.push(validate);
+
+ // Parsers are called as soon as the value in the form input is modified
+ modelCtrl.$parsers.push(validate);
+
+ }
+ };
+}
+angular.module('umbraco.directives.validation').directive("valPropertyValidator", valPropertyValidator);
+
+/**
+ * @ngdoc directive
+ * @name umbraco.directives.directive:valRegex
+ * @restrict A
+ * @description A custom directive to allow for matching a value against a regex string.
+ * NOTE: there's already an ng-pattern but this requires that a regex expression is set, not a regex string
+ **/
+function valRegex() {
+
+ return {
+ require: 'ngModel',
+ restrict: "A",
+ link: function (scope, elm, attrs, ctrl) {
+
+ var flags = "";
+ if (attrs.valRegexFlags) {
+ try {
+ flags = scope.$eval(attrs.valRegexFlags);
+ if (!flags) {
+ flags = attrs.valRegexFlags;
+ }
+ }
+ catch (e) {
+ flags = attrs.valRegexFlags;
+ }
+ }
+ var regex;
+ try {
+ var resolved = scope.$eval(attrs.valRegex);
+ if (resolved) {
+ regex = new RegExp(resolved, flags);
+ }
+ else {
+ regex = new RegExp(attrs.valRegex, flags);
+ }
+ }
+ catch(e) {
+ regex = new RegExp(attrs.valRegex, flags);
+ }
+
+ var patternValidator = function (viewValue) {
+ //NOTE: we don't validate on empty values, use required validator for that
+ if (!viewValue || regex.test(viewValue)) {
+ // it is valid
+ ctrl.$setValidity('valRegex', true);
+ //assign a message to the validator
+ ctrl.errorMsg = "";
+ return viewValue;
+ }
+ else {
+ // it is invalid, return undefined (no model update)
+ ctrl.$setValidity('valRegex', false);
+ //assign a message to the validator
+ ctrl.errorMsg = "Value is invalid, it does not match the correct pattern";
+ return undefined;
+ }
+ };
+
+ ctrl.$formatters.push(patternValidator);
+ ctrl.$parsers.push(patternValidator);
+ }
+ };
+}
+angular.module('umbraco.directives.validation').directive("valRegex", valRegex);
+/**
+ * @ngdoc directive
+ * @name umbraco.directives.directive:valServer
+ * @restrict A
+ * @description This directive is used to associate a content property with a server-side validation response
+ * so that the validators in angular are updated based on server-side feedback.
+ **/
+function valServer(serverValidationManager) {
+ return {
+ require: ['ngModel', '?^umbProperty'],
+ restrict: "A",
+ link: function (scope, element, attr, ctrls) {
+
+ var modelCtrl = ctrls[0];
+ var umbPropCtrl = ctrls.length > 1 ? ctrls[1] : null;
+ if (!umbPropCtrl) {
+ //we cannot proceed, this validator will be disabled
+ return;
+ }
+
+ var watcher = null;
+
+ //Need to watch the value model for it to change, previously we had subscribed to
+ //modelCtrl.$viewChangeListeners but this is not good enough if you have an editor that
+ // doesn't specifically have a 2 way ng binding. This is required because when we
+ // have a server error we actually invalidate the form which means it cannot be
+ // resubmitted. So once a field is changed that has a server error assigned to it
+ // we need to re-validate it for the server side validator so the user can resubmit
+ // the form. Of course normal client-side validators will continue to execute.
+ function startWatch() {
+ //if there's not already a watch
+ if (!watcher) {
+ watcher = scope.$watch(function () {
+ return modelCtrl.$modelValue;
+ }, function (newValue, oldValue) {
+
+ if (!newValue || angular.equals(newValue, oldValue)) {
+ return;
+ }
+
+ if (modelCtrl.$invalid) {
+ modelCtrl.$setValidity('valServer', true);
+ stopWatch();
+ }
+ }, true);
+ }
+ }
+
+ function stopWatch() {
+ if (watcher) {
+ watcher();
+ watcher = null;
+ }
+ }
+
+ var currentProperty = umbPropCtrl.property;
+
+ //default to 'value' if nothing is set
+ var fieldName = "value";
+ if (attr.valServer) {
+ fieldName = scope.$eval(attr.valServer);
+ if (!fieldName) {
+ //eval returned nothing so just use the string
+ fieldName = attr.valServer;
+ }
+ }
+
+ //subscribe to the server validation changes
+ serverValidationManager.subscribe(currentProperty.alias, fieldName, function (isValid, propertyErrors, allErrors) {
+ if (!isValid) {
+ modelCtrl.$setValidity('valServer', false);
+ //assign an error msg property to the current validator
+ modelCtrl.errorMsg = propertyErrors[0].errorMsg;
+ startWatch();
+ }
+ else {
+ modelCtrl.$setValidity('valServer', true);
+ //reset the error message
+ modelCtrl.errorMsg = "";
+ stopWatch();
+ }
+ });
+
+ //when the element is disposed we need to unsubscribe!
+ // NOTE: this is very important otherwise when this controller re-binds the previous subscriptsion will remain
+ // but they are a different callback instance than the above.
+ element.bind('$destroy', function () {
+ stopWatch();
+ serverValidationManager.unsubscribe(currentProperty.alias, fieldName);
+ });
+ }
+ };
+}
+angular.module('umbraco.directives.validation').directive("valServer", valServer);
+/**
+ * @ngdoc directive
+ * @name umbraco.directives.directive:valServerField
+ * @restrict A
+ * @description This directive is used to associate a content field (not user defined) with a server-side validation response
+ * so that the validators in angular are updated based on server-side feedback.
+ **/
+function valServerField(serverValidationManager) {
+ return {
+ require: 'ngModel',
+ restrict: "A",
+ link: function (scope, element, attr, ctrl) {
+
+ if (!attr.valServerField) {
+ throw "valServerField must have a field name for referencing server errors";
+ }
+
+ var fieldName = attr.valServerField;
+
+ //subscribe to the changed event of the view model. This is required because when we
+ // have a server error we actually invalidate the form which means it cannot be
+ // resubmitted. So once a field is changed that has a server error assigned to it
+ // we need to re-validate it for the server side validator so the user can resubmit
+ // the form. Of course normal client-side validators will continue to execute.
+ ctrl.$viewChangeListeners.push(function () {
+ if (ctrl.$invalid) {
+ ctrl.$setValidity('valServerField', true);
+ }
+ });
+
+ //subscribe to the server validation changes
+ serverValidationManager.subscribe(null, fieldName, function (isValid, fieldErrors, allErrors) {
+ if (!isValid) {
+ ctrl.$setValidity('valServerField', false);
+ //assign an error msg property to the current validator
+ ctrl.errorMsg = fieldErrors[0].errorMsg;
+ }
+ else {
+ ctrl.$setValidity('valServerField', true);
+ //reset the error message
+ ctrl.errorMsg = "";
+ }
+ });
+
+ //when the element is disposed we need to unsubscribe!
+ // NOTE: this is very important otherwise when this controller re-binds the previous subscriptsion will remain
+ // but they are a different callback instance than the above.
+ element.bind('$destroy', function () {
+ serverValidationManager.unsubscribe(null, fieldName);
+ });
+ }
+ };
+}
+angular.module('umbraco.directives.validation').directive("valServerField", valServerField);
+
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:valTab
+* @restrict A
+* @description Used to show validation warnings for a tab to indicate that the tab content has validations errors in its data.
+* In order for this directive to work, the valFormManager directive must be placed on the containing form.
+**/
+function valTab() {
+ return {
+ require: "^form",
+ restrict: "A",
+ link: function (scope, element, attr, formCtrl) {
+
+ var tabId = "tab" + scope.tab.id;
+
+ scope.tabHasError = false;
+
+ //listen for form validation changes
+ scope.$on("valStatusChanged", function(evt, args) {
+ if (!args.form.$valid) {
+ var tabContent = element.closest(".umb-panel").find("#" + tabId);
+ //check if the validation messages are contained inside of this tabs
+ if (tabContent.find(".ng-invalid").length > 0) {
+ scope.tabHasError = true;
+ } else {
+ scope.tabHasError = false;
+ }
+ }
+ else {
+ scope.tabHasError = false;
+ }
+ });
+
+ }
+ };
+}
+angular.module('umbraco.directives.validation').directive("valTab", valTab);
+function valToggleMsg(serverValidationManager) {
+ return {
+ require: "^form",
+ restrict: "A",
+
+ /**
+ Our directive requries a reference to a form controller which gets passed in to this parameter
+ */
+ link: function (scope, element, attr, formCtrl) {
+
+ if (!attr.valToggleMsg){
+ throw "valToggleMsg requires that a reference to a validator is specified";
+ }
+ if (!attr.valMsgFor){
+ throw "valToggleMsg requires that the attribute valMsgFor exists on the element";
+ }
+ if (!formCtrl[attr.valMsgFor]) {
+ throw "valToggleMsg cannot find field " + attr.valMsgFor + " on form " + formCtrl.$name;
+ }
+
+ //if there's any remaining errors in the server validation service then we should show them.
+ var showValidation = serverValidationManager.items.length > 0;
+ var hasCustomMsg = element.contents().length > 0;
+
+ //add a watch to the validator for the value (i.e. myForm.value.$error.required )
+ scope.$watch(function () {
+ //sometimes if a dialog closes in the middle of digest we can get null references here
+
+ return (formCtrl && formCtrl[attr.valMsgFor]) ? formCtrl[attr.valMsgFor].$error[attr.valToggleMsg] : null;
+ }, function () {
+ //sometimes if a dialog closes in the middle of digest we can get null references here
+ if ((formCtrl && formCtrl[attr.valMsgFor])) {
+ if (formCtrl[attr.valMsgFor].$error[attr.valToggleMsg] && showValidation) {
+ element.show();
+ //display the error message if this element has no contents
+ if (!hasCustomMsg) {
+ element.html(formCtrl[attr.valMsgFor].errorMsg);
+ }
+ }
+ else {
+ element.hide();
+ }
+ }
+ });
+
+ var unsubscribe = [];
+
+ //listen for the saving event (the result is a callback method which is called to unsubscribe)
+ unsubscribe.push(scope.$on("formSubmitting", function(ev, args) {
+ showValidation = true;
+ if (formCtrl[attr.valMsgFor].$error[attr.valToggleMsg]) {
+ element.show();
+ //display the error message if this element has no contents
+ if (!hasCustomMsg) {
+ element.html(formCtrl[attr.valMsgFor].errorMsg);
+ }
+ }
+ else {
+ element.hide();
+ }
+ }));
+
+ //listen for the saved event (the result is a callback method which is called to unsubscribe)
+ unsubscribe.push(scope.$on("formSubmitted", function(ev, args) {
+ showValidation = false;
+ element.hide();
+ }));
+
+ //when the element is disposed we need to unsubscribe!
+ // NOTE: this is very important otherwise if this directive is part of a modal, the listener still exists because the dom
+ // element might still be there even after the modal has been hidden.
+ element.bind('$destroy', function () {
+ for (var u in unsubscribe) {
+ unsubscribe[u]();
+ }
+ });
+
+ }
+ };
+}
+
+/**
+* @ngdoc directive
+* @name umbraco.directives.directive:valToggleMsg
+* @restrict A
+* @element input
+* @requires formController
+* @description This directive will show/hide an error based on: is the value + the given validator invalid? AND, has the form been submitted ?
+**/
+angular.module('umbraco.directives.validation').directive("valToggleMsg", valToggleMsg);
+angular.module('umbraco.directives.validation')
+.directive('valTriggerChange', function($sniffer) {
+ return {
+ link : function(scope, elem, attrs) {
+ elem.bind('click', function(){
+ $(attrs.valTriggerChange).trigger($sniffer.hasEvent('input') ? 'input' : 'change');
+ });
+ },
+ priority : 1
+ };
+});
+
+})();
\ No newline at end of file
diff --git a/Blog/umbraco/Js/umbraco.filters.js b/Blog/umbraco/Js/umbraco.filters.js
new file mode 100644
index 0000000..4c138a6
--- /dev/null
+++ b/Blog/umbraco/Js/umbraco.filters.js
@@ -0,0 +1,26 @@
+/*! umbraco
+ * https://github.com/umbraco/umbraco-cms/
+ * Copyright (c) 2015 Umbraco HQ;
+ * Licensed MIT
+ */
+
+(function() {
+
+angular.module('umbraco.filters', []);
+angular.module("umbraco.filters").filter('timespan', function() {
+ return function(input) {
+ var sec_num = parseInt(input, 10);
+ var hours = Math.floor(sec_num / 3600);
+ var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
+ var seconds = sec_num - (hours * 3600) - (minutes * 60);
+
+ if (hours < 10) {hours = "0"+hours;}
+ if (minutes < 10) {minutes = "0"+minutes;}
+ if (seconds < 10) {seconds = "0"+seconds;}
+ var time = hours+':'+minutes+':'+seconds;
+ return time;
+ };
+ });
+
+
+})();
\ No newline at end of file
diff --git a/Blog/umbraco/Js/umbraco.httpbackend.js b/Blog/umbraco/Js/umbraco.httpbackend.js
new file mode 100644
index 0000000..92c2a67
--- /dev/null
+++ b/Blog/umbraco/Js/umbraco.httpbackend.js
@@ -0,0 +1,31 @@
+var umbracoAppDev = angular.module('umbraco.httpbackend', ['umbraco', 'ngMockE2E', 'umbraco.mocks']);
+
+
+function initBackEnd($httpBackend, contentMocks, mediaMocks, treeMocks, userMocks, contentTypeMocks, sectionMocks, entityMocks, dataTypeMocks, dashboardMocks, macroMocks, utilMocks, localizationMocks, prevaluesMocks) {
+
+ console.log("httpBackend inited");
+
+ //Register mocked http responses
+ contentMocks.register();
+ mediaMocks.register();
+ sectionMocks.register();
+ treeMocks.register();
+ dataTypeMocks.register();
+ dashboardMocks.register();
+ userMocks.register();
+ macroMocks.register();
+ contentTypeMocks.register();
+ utilMocks.register();
+ localizationMocks.register();
+ prevaluesMocks.register();
+ entityMocks.register();
+
+ $httpBackend.whenGET(/^..\/config\//).passThrough();
+ $httpBackend.whenGET(/^views\//).passThrough();
+ $httpBackend.whenGET(/^js\//).passThrough();
+ $httpBackend.whenGET(/^lib\//).passThrough();
+ $httpBackend.whenGET(/^assets\//).passThrough();
+}
+
+
+umbracoAppDev.run(initBackEnd);
diff --git a/Blog/umbraco/Js/umbraco.installer.js b/Blog/umbraco/Js/umbraco.installer.js
new file mode 100644
index 0000000..ec2c961
--- /dev/null
+++ b/Blog/umbraco/Js/umbraco.installer.js
@@ -0,0 +1,467 @@
+/*! umbraco
+ * https://github.com/umbraco/umbraco-cms/
+ * Copyright (c) 2015 Umbraco HQ;
+ * Licensed MIT
+ */
+
+(function() {
+
+ angular.module('umbraco.install', []);
+angular.module("umbraco.install").controller("Umbraco.InstallerController",
+ function ($scope, installerService) {
+
+ //TODO: Decouple the service from the controller - the controller should be responsible
+ // for the model (state) and the service should be responsible for helping the controller,
+ // the controller should be passing the model into it's methods for manipulation and not hold
+ // state. We should not be assigning properties from a service to a controller's scope.
+ // see: https://github.com/umbraco/Umbraco-CMS/commit/b86ef0d7ac83f699aee35d807f7f7ebb6dd0ed2c#commitcomment-5721204
+
+ $scope.stepIndex = 0;
+ //comment this out if you just want to see tips
+ installerService.init();
+
+ //uncomment this to see tips
+ //installerService.switchToFeedback();
+
+ $scope.installer = installerService.status;
+
+ $scope.forward = function () {
+ installerService.forward();
+ };
+
+ $scope.backward = function () {
+ installerService.backward();
+ };
+
+ $scope.install = function () {
+ installerService.install();
+ };
+
+ $scope.gotoStep = function (step) {
+ installerService.gotoNamedStep(step);
+ };
+
+ $scope.restart = function () {
+ installerService.gotoStep(0);
+ };
+ });
+
+//this ensure that we start with a clean slate on every install and upgrade
+angular.module("umbraco.install").run(function ($templateCache) {
+ $templateCache.removeAll();
+});
+angular.module("umbraco.install").factory('installerService', function($rootScope, $q, $timeout, $http, $location, $log){
+
+ var _status = {
+ index: 0,
+ current: undefined,
+ steps: undefined,
+ loading: true,
+ progress: "100%"
+ };
+
+ var factTimer = undefined;
+ var _installerModel = {
+ installId: undefined,
+ instructions: {
+ }
+ };
+
+ //add to umbraco installer facts here
+ var facts = ['Umbraco helped millions of people watch a man jump from the edge of space',
+ 'Over 300 000 websites are currently powered by Umbraco',
+ "At least 2 people have named their cat 'Umbraco'",
+ 'On an average day, more than 1000 people download Umbraco',
+ 'umbraco.tv is the premier source of Umbraco video tutorials to get you started',
+ 'You can find the world\'s friendliest CMS community at our.umbraco.org',
+ 'You can become a certified Umbraco developer by attending one of the official courses',
+ 'Umbraco works really well on tablets',
+ 'You have 100% control over your markup and design when crafting a website in Umbraco',
+ 'Umbraco is the best of both worlds: 100% free and open source, and backed by a professional and profitable company',
+ "There's a pretty big chance, you've visited a website powered by Umbraco today",
+ "'Umbraco-spotting' is the game of spotting big brands running Umbraco",
+ "At least 4 people have the Umbraco logo tattooed on them",
+ "'Umbraco' is the danish name for an allen key",
+ "Umbraco has been around since 2005, that's a looong time in IT",
+ "More than 400 people from all over the world meet each year in Denmark in June for our annual conference CodeGarden",
+ "While you are installing Umbraco someone else on the other side of the planet is probably doing it too",
+ "You can extend Umbraco without modifying the source code and using either JavaScript or C#"
+ ];
+
+ /**
+ Returns the description for the step at a given index based on the order of the serverOrder of steps
+ Since they don't execute on the server in the order that they are displayed in the UI.
+ */
+ function getDescriptionForStepAtIndex(steps, index) {
+ var sorted = _.sortBy(steps, "serverOrder");
+ if (sorted[index]) {
+ return sorted[index].description;
+ }
+ return null;
+ }
+ /* Returns the description for the given step name */
+ function getDescriptionForStepName(steps, name) {
+ var found = _.find(steps, function(i) {
+ return i.name == name;
+ });
+ return (found) ? found.description : null;
+ }
+
+ //calculates the offset of the progressbar on the installaer
+ function calculateProgress(steps, next) {
+ var sorted = _.sortBy(steps, "serverOrder");
+
+ var pct = "100%";
+ for (var i = sorted.length - 1; i >= 0; i--) {
+ if(sorted[i].name == next){
+ pct = Math.floor((i+1) / steps.length * 100) + "%";
+ break;
+ }
+ }
+ return pct;
+ }
+
+ //helpful defaults for the view loading
+ function resolveView(view){
+
+ if(view.indexOf(".html") < 0){
+ view = view + ".html";
+ }
+ if(view.indexOf("/") < 0){
+ view = "views/install/" + view;
+ }
+
+ return view;
+ }
+
+ /** Have put this here because we are not referencing our other modules */
+ function safeApply (scope, fn) {
+ if (scope.$$phase || scope.$root.$$phase) {
+ if (angular.isFunction(fn)) {
+ fn();
+ }
+ }
+ else {
+ if (angular.isFunction(fn)) {
+ scope.$apply(fn);
+ }
+ else {
+ scope.$apply();
+ }
+ }
+ }
+
+ var service = {
+
+ status : _status,
+ //loads the needed steps and sets the intial state
+ init : function(){
+ service.status.loading = true;
+ if(!_status.all){
+ service.getSteps().then(function(response){
+ service.status.steps = response.data.steps;
+ service.status.index = 0;
+ _installerModel.installId = response.data.installId;
+ service.findNextStep();
+
+ $timeout(function(){
+ service.status.loading = false;
+ service.status.configuring = true;
+ }, 2000);
+ });
+ }
+ },
+
+ //loads available packages from our.umbraco.org
+ getPackages : function(){
+ return $http.get(Umbraco.Sys.ServerVariables.installApiBaseUrl + "GetPackages");
+ },
+
+ getSteps : function(){
+ return $http.get(Umbraco.Sys.ServerVariables.installApiBaseUrl + "GetSetup");
+ },
+
+ gotoStep : function(index){
+ var step = service.status.steps[index];
+ step.view = resolveView(step.view);
+
+ if(!step.model){
+ step.model = {};
+ }
+
+ service.status.index = index;
+ service.status.current = step;
+ service.retrieveCurrentStep();
+ },
+
+ gotoNamedStep : function(stepName){
+ var step = _.find(service.status.steps, function(s, index){
+ if (s.view && s.name === stepName) {
+ service.status.index = index;
+ return true;
+ }
+ return false;
+ });
+
+ step.view = resolveView(step.view);
+ if(!step.model){
+ step.model = {};
+ }
+ service.retrieveCurrentStep();
+ service.status.current = step;
+ },
+
+ /**
+ Finds the next step containing a view. If one is found it stores it as the current step
+ and retreives the step information and returns it, otherwise returns null .
+ */
+ findNextStep : function(){
+ var step = _.find(service.status.steps, function(s, index){
+ if(s.view && index >= service.status.index){
+ service.status.index = index;
+ return true;
+ }
+ return false;
+ });
+
+ if (step) {
+ if (step.view.indexOf(".html") < 0) {
+ step.view = step.view + ".html";
+ }
+
+ if (step.view.indexOf("/") < 0) {
+ step.view = "views/install/" + step.view;
+ }
+
+ if (!step.model) {
+ step.model = {};
+ }
+
+ service.status.current = step;
+ service.retrieveCurrentStep();
+
+ //returns the next found step
+ return step;
+ }
+ else {
+ //there are no more steps found containing a view so return null
+ return null;
+ }
+ },
+
+ storeCurrentStep : function(){
+ _installerModel.instructions[service.status.current.name] = service.status.current.model;
+ },
+
+ retrieveCurrentStep : function(){
+ if(_installerModel.instructions[service.status.current.name]){
+ service.status.current.model = _installerModel.instructions[service.status.current.name];
+ }
+ },
+
+ /** Moves the installer forward to the next view, if there are not more views than the installation will commence */
+ forward : function(){
+ service.storeCurrentStep();
+ service.status.index++;
+ var found = service.findNextStep();
+ if (!found) {
+ //no more steps were found so start the installation process
+ service.install();
+ }
+ },
+
+ backwards : function(){
+ service.storeCurrentStep();
+ service.gotoStep(service.status.index--);
+ },
+
+ install : function(){
+ service.storeCurrentStep();
+ service.switchToFeedback();
+
+ service.status.feedback = getDescriptionForStepAtIndex(service.status.steps, 0);
+ service.status.progress = 0;
+
+ function processInstallStep() {
+
+ $http.post(Umbraco.Sys.ServerVariables.installApiBaseUrl + "PostPerformInstall", _installerModel)
+ .success(function(data, status, headers, config) {
+ if (!data.complete) {
+
+ //progress feedback
+ service.status.progress = calculateProgress(service.status.steps, data.nextStep);
+
+ if (data.view) {
+ //set the current view and model to whatever the process returns, the view is responsible for retriggering install();
+ var v = resolveView(data.view);
+ service.status.current = { view: v, model: data.model };
+
+ //turn off loading bar and feedback
+ service.switchToConfiguration();
+ }
+ else {
+ var desc = getDescriptionForStepName(service.status.steps, data.nextStep);
+ if (desc) {
+ service.status.feedback = desc;
+ }
+ processInstallStep();
+ }
+ }
+ else {
+ service.complete();
+ }
+ }).error(function(data, status, headers, config) {
+ //need to handle 500's separately, this will happen if something goes wrong outside
+ // of the installer (like app startup events or something) and these will get returned as text/html
+ // not as json. If this happens we can't actually load in external views since they will YSOD as well!
+ // so we need to display this in our own internal way
+
+ if (status >= 500 && status < 600) {
+ service.status.current = { view: "ysod", model: null };
+ var ysod = data;
+ //we need to manually write the html to the iframe - the html contains full html markup
+ $timeout(function () {
+ document.getElementById('ysod').contentDocument.write(ysod);
+ }, 500);
+ }
+ else {
+ //this is where we handle installer error
+ var v = data.view ? resolveView(data.view) : resolveView("error");
+ var model = data.model ? data.model : data;
+ service.status.current = { view: v, model: model };
+ }
+
+ service.switchToConfiguration();
+
+ });
+ }
+ processInstallStep();
+ },
+
+ randomFact: function () {
+ safeApply($rootScope, function() {
+ service.status.fact = facts[_.random(facts.length - 1)];
+ });
+ },
+
+ switchToFeedback : function(){
+ service.status.current = undefined;
+ service.status.loading = true;
+ service.status.configuring = false;
+
+ //initial fact
+ service.randomFact();
+
+ //timed facts
+ factTimer = window.setInterval(function(){
+ service.randomFact();
+ },6000);
+ },
+
+ switchToConfiguration : function(){
+ service.status.loading = false;
+ service.status.configuring = true;
+ service.status.feedback = undefined;
+ service.status.fact = undefined;
+
+ if(factTimer){
+ clearInterval(factTimer);
+ }
+ },
+
+ complete : function(){
+
+ service.status.progress = "100%";
+ service.status.done = true;
+ service.status.feedback = "Redirecting you to Umbraco, please wait";
+ service.status.loading = false;
+
+ if(factTimer){
+ clearInterval(factTimer);
+ }
+
+ $timeout(function(){
+ window.location.href = Umbraco.Sys.ServerVariables.umbracoBaseUrl;
+ }, 1500);
+ }
+ };
+
+ return service;
+});
+
+angular.module("umbraco.install").controller("Umbraco.Installer.DataBaseController", function($scope, $http, installerService){
+
+ $scope.checking = false;
+ $scope.dbs = [
+ {name: 'Microsoft SQL Server Compact (SQL CE)', id: 0},
+ {name: 'Microsoft SQL Server', id: 1},
+ { name: 'Microsoft SQL Azure', id: 3 },
+ { name: 'MySQL', id: 2 },
+ {name: 'Custom connection string', id: -1}];
+
+ if(installerService.status.current.model.dbType === undefined){
+ installerService.status.current.model.dbType = 0;
+ }
+
+ $scope.validateAndForward = function(){
+ if(!$scope.checking && this.myForm.$valid){
+ $scope.checking = true;
+ var model = installerService.status.current.model;
+
+ $http.post(Umbraco.Sys.ServerVariables.installApiBaseUrl + "PostValidateDatabaseConnection",
+ model).then(function(response){
+
+ if(response.data === "true"){
+ installerService.forward();
+ }else{
+ $scope.invalidDbDns = true;
+ }
+
+ $scope.checking = false;
+ }, function(){
+ $scope.invalidDbDns = true;
+ $scope.checking = false;
+ });
+ }
+ };
+});
+angular.module("umbraco.install").controller("Umbraco.Installer.PackagesController", function ($scope, installerService) {
+
+ installerService.getPackages().then(function (response) {
+ $scope.packages = response.data;
+ });
+
+ $scope.setPackageAndContinue = function (pckId) {
+ installerService.status.current.model = pckId;
+ installerService.forward();
+ };
+
+});
+angular.module("umbraco.install").controller("Umbraco.Install.UserController", function($scope, installerService) {
+
+ $scope.passwordPattern = /.*/;
+ $scope.installer.current.model.subscribeToNewsLetter = true;
+
+ if ($scope.installer.current.model.minNonAlphaNumericLength > 0) {
+ var exp = "";
+ for (var i = 0; i < $scope.installer.current.model.minNonAlphaNumericLength; i++) {
+ exp += ".*[\\W].*";
+ }
+ //replace duplicates
+ exp = exp.replace(".*.*", ".*");
+ $scope.passwordPattern = new RegExp(exp);
+ }
+
+ $scope.validateAndInstall = function(){
+ installerService.install();
+ };
+
+ $scope.validateAndForward = function(){
+ if(this.myForm.$valid){
+ installerService.forward();
+ }
+ };
+
+});
+
+})();
\ No newline at end of file
diff --git a/Blog/umbraco/Js/umbraco.resources.js b/Blog/umbraco/Js/umbraco.resources.js
new file mode 100644
index 0000000..2fe8063
--- /dev/null
+++ b/Blog/umbraco/Js/umbraco.resources.js
@@ -0,0 +1,2854 @@
+/*! umbraco
+ * https://github.com/umbraco/umbraco-cms/
+ * Copyright (c) 2015 Umbraco HQ;
+ * Licensed MIT
+ */
+
+(function() {
+
+angular.module("umbraco.resources", []);
+/**
+ * @ngdoc service
+ * @name umbraco.resources.authResource
+ * @description
+ * This Resource perfomrs actions to common authentication tasks for the Umbraco backoffice user
+ *
+ * @requires $q
+ * @requires $http
+ * @requires umbRequestHelper
+ * @requires angularHelper
+ */
+function authResource($q, $http, umbRequestHelper, angularHelper) {
+
+ return {
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.authResource#performLogin
+ * @methodOf umbraco.resources.authResource
+ *
+ * @description
+ * Logs the Umbraco backoffice user in if the credentials are good
+ *
+ * ##usage
+ *
+ * @returns {Promise} resourcePromise object
+ *
+ */
+ performLogout: function() {
+ return umbRequestHelper.resourcePromise(
+ $http.post(
+ umbRequestHelper.getApiUrl(
+ "authenticationApiBaseUrl",
+ "PostLogout")));
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.authResource#getCurrentUser
+ * @methodOf umbraco.resources.authResource
+ *
+ * @description
+ * Sends a request to the server to get the current user details, will return a 401 if the user is not logged in
+ *
+ * ##usage
+ *
+ * authResource.getCurrentUser()
+ * .then(function(data) {
+ * //Do stuff for fetching the current logged in Umbraco backoffice user
+ * });
+ *
+ * @returns {Promise} resourcePromise object
+ *
+ */
+ getCurrentUser: function () {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "authenticationApiBaseUrl",
+ "GetCurrentUser")),
+ 'Server call failed for getting current user');
+ },
+
+ getCurrentUserLinkedLogins: function () {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "authenticationApiBaseUrl",
+ "GetCurrentUserLinkedLogins")),
+ 'Server call failed for getting current users linked logins');
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.authResource#isAuthenticated
+ * @methodOf umbraco.resources.authResource
+ *
+ * @description
+ * Checks if the user is logged in or not - does not return 401 or 403
+ *
+ * ##usage
+ *
+ * authResource.isAuthenticated()
+ * .then(function(data) {
+ * //Do stuff to check if user is authenticated
+ * });
+ *
+ * @returns {Promise} resourcePromise object
+ *
+ */
+ isAuthenticated: function () {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "authenticationApiBaseUrl",
+ "IsAuthenticated")),
+ {
+ success: function (data, status, headers, config) {
+ //if the response is false, they are not logged in so return a rejection
+ if (data === false || data === "false") {
+ return $q.reject('User is not logged in');
+ }
+ return data;
+ },
+ error: function (data, status, headers, config) {
+ return {
+ errorMsg: 'Server call failed for checking authentication',
+ data: data,
+ status: status
+ };
+ }
+ });
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.authResource#getRemainingTimeoutSeconds
+ * @methodOf umbraco.resources.authResource
+ *
+ * @description
+ * Gets the user's remaining seconds before their login times out
+ *
+ * ##usage
+ *
+ * authResource.getRemainingTimeoutSeconds()
+ * .then(function(data) {
+ * //Number of seconds is returned
+ * });
+ *
+ * @returns {Promise} resourcePromise object
+ *
+ */
+ getRemainingTimeoutSeconds: function () {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "authenticationApiBaseUrl",
+ "GetRemainingTimeoutSeconds")),
+ 'Server call failed for checking remaining seconds');
+ }
+
+ };
+}
+
+angular.module('umbraco.resources').factory('authResource', authResource);
+
+/**
+ * @ngdoc service
+ * @name umbraco.resources.contentResource
+ * @description Handles all transactions of content data
+ * from the angular application to the Umbraco database, using the Content WebApi controller
+ *
+ * all methods returns a resource promise async, so all operations won't complete untill .then() is completed.
+ *
+ * @requires $q
+ * @requires $http
+ * @requires umbDataFormatter
+ * @requires umbRequestHelper
+ *
+ * ##usage
+ * To use, simply inject the contentResource into any controller or service that needs it, and make
+ * sure the umbraco.resources module is accesible - which it should be by default.
+ *
+ *
+ * @param {Object} args arguments object
+ * @param {Int} args.id the ID of the node to copy
+ * @param {Int} args.parentId the ID of the parent node to copy to
+ * @param {Boolean} args.relateToOriginal if true, relates the copy to the original through the relation api
+ * @returns {Promise} resourcePromise object.
+ *
+ */
+ copy: function (args) {
+ if (!args) {
+ throw "args cannot be null";
+ }
+ if (!args.parentId) {
+ throw "args.parentId cannot be null";
+ }
+ if (!args.id) {
+ throw "args.id cannot be null";
+ }
+
+ return umbRequestHelper.resourcePromise(
+ $http.post(umbRequestHelper.getApiUrl("contentApiBaseUrl", "PostCopy"),
+ args),
+ 'Failed to copy content');
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.contentResource#unPublish
+ * @methodOf umbraco.resources.contentResource
+ *
+ * @description
+ * Unpublishes a content item with a given Id
+ *
+ * ##usage
+ *
+ *
+ * @param {Array} ids ids of content items to return as an array
+ * @returns {Promise} resourcePromise object containing the content items array.
+ *
+ */
+ getByIds: function (ids) {
+
+ var idQuery = "";
+ _.each(ids, function(item) {
+ idQuery += "ids=" + item + "&";
+ });
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "contentApiBaseUrl",
+ "GetByIds",
+ idQuery)),
+ 'Failed to retrieve data for content with multiple ids');
+ },
+
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.contentResource#getScaffold
+ * @methodOf umbraco.resources.contentResource
+ *
+ * @description
+ * Returns a scaffold of an empty content item, given the id of the content item to place it underneath and the content type alias.
+ *
+ * - Parent Id must be provided so umbraco knows where to store the content
+ * - Content Type alias must be provided so umbraco knows which properties to put on the content scaffold
+ *
+ * The scaffold is used to build editors for content that has not yet been populated with data.
+ *
+ * ##usage
+ *
+ * contentResource.getScaffold(1234, 'homepage')
+ * .then(function(scaffold) {
+ * var myDoc = scaffold;
+ * myDoc.name = "My new document";
+ *
+ * contentResource.publish(myDoc, true)
+ * .then(function(content){
+ * alert("Retrieved, updated and published again");
+ * });
+ * });
+ *
+ *
+ * @param {Int} parentId id of content item to return
+ * @param {String} alias contenttype alias to base the scaffold on
+ * @returns {Promise} resourcePromise object containing the content scaffold.
+ *
+ */
+ getScaffold: function (parentId, alias) {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "contentApiBaseUrl",
+ "GetEmpty",
+ [{ contentTypeAlias: alias }, { parentId: parentId }])),
+ 'Failed to retrieve data for empty content item type ' + alias);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.contentResource#getNiceUrl
+ * @methodOf umbraco.resources.contentResource
+ *
+ * @description
+ * Returns a url, given a node ID
+ *
+ * ##usage
+ *
+ *
+ * @param {Int} id Id of node to return the public url to
+ * @returns {Promise} resourcePromise object containing the url.
+ *
+ */
+ getNiceUrl: function (id) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "contentApiBaseUrl",
+ "GetNiceUrl",[{id: id}])),
+ 'Failed to retrieve url for id:' + id);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.contentResource#getChildren
+ * @methodOf umbraco.resources.contentResource
+ *
+ * @description
+ * Gets children of a content item with a given id
+ *
+ * ##usage
+ *
+ * contentResource.getChildren(1234, {pageSize: 10, pageNumber: 2})
+ * .then(function(contentArray) {
+ * var children = contentArray;
+ * alert('they are here!');
+ * });
+ *
+ *
+ * @param {Int} parentid id of content item to return children of
+ * @param {Object} options optional options object
+ * @param {Int} options.pageSize if paging data, number of nodes per page, default = 0
+ * @param {Int} options.pageNumber if paging data, current page index, default = 0
+ * @param {String} options.filter if provided, query will only return those with names matching the filter
+ * @param {String} options.orderDirection can be `Ascending` or `Descending` - Default: `Ascending`
+ * @param {String} options.orderBy property to order items by, default: `SortOrder`
+ * @returns {Promise} resourcePromise object containing an array of content items.
+ *
+ */
+ getChildren: function (parentId, options) {
+
+ var defaults = {
+ pageSize: 0,
+ pageNumber: 0,
+ filter: '',
+ orderDirection: "Ascending",
+ orderBy: "SortOrder"
+ };
+ if (options === undefined) {
+ options = {};
+ }
+ //overwrite the defaults if there are any specified
+ angular.extend(defaults, options);
+ //now copy back to the options we will use
+ options = defaults;
+ //change asc/desct
+ if (options.orderDirection === "asc") {
+ options.orderDirection = "Ascending";
+ }
+ else if (options.orderDirection === "desc") {
+ options.orderDirection = "Descending";
+ }
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "contentApiBaseUrl",
+ "GetChildren",
+ [
+ { id: parentId },
+ { pageNumber: options.pageNumber },
+ { pageSize: options.pageSize },
+ { orderBy: options.orderBy },
+ { orderDirection: options.orderDirection },
+ { filter: options.filter }
+ ])),
+ 'Failed to retrieve children for content item ' + parentId);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.contentResource#hasPermission
+ * @methodOf umbraco.resources.contentResource
+ *
+ * @description
+ * Returns true/false given a permission char to check against a nodeID
+ * for the current user
+ *
+ * ##usage
+ *
+ * contentResource.hasPermission('p',1234)
+ * .then(function() {
+ * alert('You are allowed to publish this item');
+ * });
+ *
+ *
+ * @param {String} permission char representing the permission to check
+ * @param {Int} id id of content item to delete
+ * @returns {Promise} resourcePromise object.
+ *
+ */
+ checkPermission: function(permission, id) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "contentApiBaseUrl",
+ "HasPermission",
+ [{ permissionToCheck: permission },{ nodeId: id }])),
+ 'Failed to check permission for item ' + id);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.contentResource#save
+ * @methodOf umbraco.resources.contentResource
+ *
+ * @description
+ * Saves changes made to a content item to its current version, if the content item is new, the isNew paramater must be passed to force creation
+ * if the content item needs to have files attached, they must be provided as the files param and passed separately
+ *
+ *
+ * ##usage
+ *
+ * contentResource.getById(1234)
+ * .then(function(content) {
+ * content.name = "I want a new name!";
+ * contentResource.save(content, false)
+ * .then(function(content){
+ * alert("Retrieved, updated and saved again");
+ * });
+ * });
+ *
+ *
+ * @param {Object} content The content item object with changes applied
+ * @param {Bool} isNew set to true to create a new item or to update an existing
+ * @param {Array} files collection of files for the document
+ * @returns {Promise} resourcePromise object containing the saved content item.
+ *
+ */
+ save: function (content, isNew, files) {
+ return saveContentItem(content, "save" + (isNew ? "New" : ""), files);
+ },
+
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.contentResource#publish
+ * @methodOf umbraco.resources.contentResource
+ *
+ * @description
+ * Saves and publishes changes made to a content item to a new version, if the content item is new, the isNew paramater must be passed to force creation
+ * if the content item needs to have files attached, they must be provided as the files param and passed separately
+ *
+ *
+ * ##usage
+ *
+ * contentResource.getById(1234)
+ * .then(function(content) {
+ * content.name = "I want a new name, and be published!";
+ * contentResource.publish(content, false)
+ * .then(function(content){
+ * alert("Retrieved, updated and published again");
+ * });
+ * });
+ *
+ *
+ * @param {Object} content The content item object with changes applied
+ * @param {Bool} isNew set to true to create a new item or to update an existing
+ * @param {Array} files collection of files for the document
+ * @returns {Promise} resourcePromise object containing the saved content item.
+ *
+ */
+ publish: function (content, isNew, files) {
+ return saveContentItem(content, "publish" + (isNew ? "New" : ""), files);
+ },
+
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.contentResource#sendToPublish
+ * @methodOf umbraco.resources.contentResource
+ *
+ * @description
+ * Saves changes made to a content item, and notifies any subscribers about a pending publication
+ *
+ * ##usage
+ *
+ * contentResource.getById(1234)
+ * .then(function(content) {
+ * content.name = "I want a new name, and be published!";
+ * contentResource.sendToPublish(content, false)
+ * .then(function(content){
+ * alert("Retrieved, updated and notication send off");
+ * });
+ * });
+ *
+ *
+ * @param {Object} content The content item object with changes applied
+ * @param {Bool} isNew set to true to create a new item or to update an existing
+ * @param {Array} files collection of files for the document
+ * @returns {Promise} resourcePromise object containing the saved content item.
+ *
+ */
+ sendToPublish: function (content, isNew, files) {
+ return saveContentItem(content, "sendPublish" + (isNew ? "New" : ""), files);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.contentResource#publishByid
+ * @methodOf umbraco.resources.contentResource
+ *
+ * @description
+ * Publishes a content item with a given ID
+ *
+ * ##usage
+ *
+ *
+ * @param {Int} id id of data type to retrieve
+ * @returns {Promise} resourcePromise object.
+ *
+ */
+ getById: function (id) {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "dataTypeApiBaseUrl",
+ "GetById",
+ [{ id: id }])),
+ 'Failed to retrieve data for data type id ' + id);
+ },
+
+ getAll: function () {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "dataTypeApiBaseUrl",
+ "GetAll")),
+ 'Failed to retrieve data');
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.contentResource#getScaffold
+ * @methodOf umbraco.resources.contentResource
+ *
+ * @description
+ * Returns a scaffold of an empty data type item
+ *
+ * The scaffold is used to build editors for data types that has not yet been populated with data.
+ *
+ * ##usage
+ *
+ * dataTypeResource.getScaffold()
+ * .then(function(scaffold) {
+ * var myType = scaffold;
+ * myType.name = "My new data type";
+ *
+ * dataTypeResource.save(myType, myType.preValues, true)
+ * .then(function(type){
+ * alert("Retrieved, updated and saved again");
+ * });
+ * });
+ *
+ *
+ * @returns {Promise} resourcePromise object containing the data type scaffold.
+ *
+ */
+ getScaffold: function () {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "dataTypeApiBaseUrl",
+ "GetEmpty")),
+ 'Failed to retrieve data for empty datatype');
+ },
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.dataTypeResource#deleteById
+ * @methodOf umbraco.resources.dataTypeResource
+ *
+ * @description
+ * Deletes a data type with a given id
+ *
+ * ##usage
+ *
+ *
+ * @param {Int} id id of content item to delete
+ * @returns {Promise} resourcePromise object.
+ *
+ */
+ deleteById: function(id) {
+ return umbRequestHelper.resourcePromise(
+ $http.post(
+ umbRequestHelper.getApiUrl(
+ "dataTypeApiBaseUrl",
+ "DeleteById",
+ [{ id: id }])),
+ 'Failed to delete item ' + id);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.dataTypeResource#save
+ * @methodOf umbraco.resources.dataTypeResource
+ *
+ * @description
+ * Saves or update a data type
+ *
+ * @param {Object} dataType data type object to create/update
+ * @param {Array} preValues collection of prevalues on the datatype
+ * @param {Bool} isNew set to true if type should be create instead of updated
+ * @returns {Promise} resourcePromise object.
+ *
+ */
+ save: function (dataType, preValues, isNew) {
+
+ var saveModel = umbDataFormatter.formatDataTypePostData(dataType, preValues, "save" + (isNew ? "New" : ""));
+
+ return umbRequestHelper.resourcePromise(
+ $http.post(umbRequestHelper.getApiUrl("dataTypeApiBaseUrl", "PostSave"), saveModel),
+ 'Failed to save data for data type id ' + dataType.id);
+ }
+ };
+}
+
+angular.module('umbraco.resources').factory('dataTypeResource', dataTypeResource);
+
+/**
+ * @ngdoc service
+ * @name umbraco.resources.entityResource
+ * @description Loads in basic data for all entities
+ *
+ * ##What is an entity?
+ * An entity is a basic **read-only** representation of an Umbraco node. It contains only the most
+ * basic properties used to display the item in trees, lists and navigation.
+ *
+ * ##What is the difference between entity and content/media/etc...?
+ * the entity only contains the basic node data, name, id and guid, whereas content
+ * nodes fetched through the content service also contains additional all of the content property data, etc..
+ * This is the same principal for all entity types. Any user that is logged in to the back office will have access
+ * to view the basic entity information for all entities since the basic entity information does not contain sensitive information.
+ *
+ * ##Entity object types?
+ * You need to specify the type of object you want returned.
+ *
+ * The core object types are:
+ *
+ * - Document
+ * - Media
+ * - Member
+ * - Template
+ * - DocumentType
+ * - MediaType
+ * - MemberType
+ * - Macro
+ * - User
+ * - Language
+ * - Domain
+ * - DataType
+ **/
+function entityResource($q, $http, umbRequestHelper) {
+
+ //the factory object returned
+ return {
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.entityResource#getPath
+ * @methodOf umbraco.resources.entityResource
+ *
+ * @description
+ * Returns a path, given a node ID and type
+ *
+ * ##usage
+ *
+ *
+ * @param {Int} id id of entity to return log history
+ * @returns {Promise} resourcePromise object containing the log.
+ *
+ */
+ getEntityLog: function (id) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "logApiBaseUrl",
+ "GetEntityLog",
+ [{ id: id }])),
+ 'Failed to retrieve user data for id ' + id);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.logResource#getUserLog
+ * @methodOf umbraco.resources.logResource
+ *
+ * @description
+ * Gets the current users' log history for a given type of log entry
+ *
+ * ##usage
+ *
+ *
+ * @param {String} type logtype to query for
+ * @param {DateTime} since query the log back to this date, by defalt 7 days ago
+ * @returns {Promise} resourcePromise object containing the log.
+ *
+ */
+ getUserLog: function (type, since) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "logApiBaseUrl",
+ "GetCurrentUserLog",
+ [{ logtype: type, sinceDate: since }])),
+ 'Failed to retrieve user data for id ' + id);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.logResource#getLog
+ * @methodOf umbraco.resources.logResource
+ *
+ * @description
+ * Gets the log history for a given type of log entry
+ *
+ * ##usage
+ *
+ *
+ * @param {Int} id id of media item to return
+ * @returns {Promise} resourcePromise object containing the media item.
+ *
+ */
+ getById: function (id) {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "mediaApiBaseUrl",
+ "GetById",
+ [{ id: id }])),
+ 'Failed to retrieve data for media id ' + id);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.mediaResource#deleteById
+ * @methodOf umbraco.resources.mediaResource
+ *
+ * @description
+ * Deletes a media item with a given id
+ *
+ * ##usage
+ *
+ *
+ * @param {Array} ids ids of media items to return as an array
+ * @returns {Promise} resourcePromise object containing the media items array.
+ *
+ */
+ getByIds: function (ids) {
+
+ var idQuery = "";
+ _.each(ids, function(item) {
+ idQuery += "ids=" + item + "&";
+ });
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "mediaApiBaseUrl",
+ "GetByIds",
+ idQuery)),
+ 'Failed to retrieve data for media ids ' + ids);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.mediaResource#getScaffold
+ * @methodOf umbraco.resources.mediaResource
+ *
+ * @description
+ * Returns a scaffold of an empty media item, given the id of the media item to place it underneath and the media type alias.
+ *
+ * - Parent Id must be provided so umbraco knows where to store the media
+ * - Media Type alias must be provided so umbraco knows which properties to put on the media scaffold
+ *
+ * The scaffold is used to build editors for media that has not yet been populated with data.
+ *
+ * ##usage
+ *
+ * mediaResource.getScaffold(1234, 'folder')
+ * .then(function(scaffold) {
+ * var myDoc = scaffold;
+ * myDoc.name = "My new media item";
+ *
+ * mediaResource.save(myDoc, true)
+ * .then(function(media){
+ * alert("Retrieved, updated and saved again");
+ * });
+ * });
+ *
+ *
+ * @param {Int} parentId id of media item to return
+ * @param {String} alias mediatype alias to base the scaffold on
+ * @returns {Promise} resourcePromise object containing the media scaffold.
+ *
+ */
+ getScaffold: function (parentId, alias) {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "mediaApiBaseUrl",
+ "GetEmpty",
+ [{ contentTypeAlias: alias }, { parentId: parentId }])),
+ 'Failed to retrieve data for empty media item type ' + alias);
+
+ },
+
+ rootMedia: function () {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "mediaApiBaseUrl",
+ "GetRootMedia")),
+ 'Failed to retrieve data for root media');
+
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.mediaResource#getChildren
+ * @methodOf umbraco.resources.mediaResource
+ *
+ * @description
+ * Gets children of a media item with a given id
+ *
+ * ##usage
+ *
+ * mediaResource.getChildren(1234, {pageSize: 10, pageNumber: 2})
+ * .then(function(contentArray) {
+ * var children = contentArray;
+ * alert('they are here!');
+ * });
+ *
+ *
+ * @param {Int} parentid id of content item to return children of
+ * @param {Object} options optional options object
+ * @param {Int} options.pageSize if paging data, number of nodes per page, default = 0
+ * @param {Int} options.pageNumber if paging data, current page index, default = 0
+ * @param {String} options.filter if provided, query will only return those with names matching the filter
+ * @param {String} options.orderDirection can be `Ascending` or `Descending` - Default: `Ascending`
+ * @param {String} options.orderBy property to order items by, default: `SortOrder`
+ * @returns {Promise} resourcePromise object containing an array of content items.
+ *
+ */
+ getChildren: function (parentId, options) {
+
+ var defaults = {
+ pageSize: 0,
+ pageNumber: 0,
+ filter: '',
+ orderDirection: "Ascending",
+ orderBy: "SortOrder"
+ };
+ if (options === undefined) {
+ options = {};
+ }
+ //overwrite the defaults if there are any specified
+ angular.extend(defaults, options);
+ //now copy back to the options we will use
+ options = defaults;
+ //change asc/desct
+ if (options.orderDirection === "asc") {
+ options.orderDirection = "Ascending";
+ }
+ else if (options.orderDirection === "desc") {
+ options.orderDirection = "Descending";
+ }
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "mediaApiBaseUrl",
+ "GetChildren",
+ [
+ { id: parentId },
+ { pageNumber: options.pageNumber },
+ { pageSize: options.pageSize },
+ { orderBy: options.orderBy },
+ { orderDirection: options.orderDirection },
+ { filter: options.filter }
+ ])),
+ 'Failed to retrieve children for media item ' + parentId);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.mediaResource#save
+ * @methodOf umbraco.resources.mediaResource
+ *
+ * @description
+ * Saves changes made to a media item, if the media item is new, the isNew paramater must be passed to force creation
+ * if the media item needs to have files attached, they must be provided as the files param and passed separately
+ *
+ *
+ * ##usage
+ *
+ * mediaResource.getById(1234)
+ * .then(function(media) {
+ * media.name = "I want a new name!";
+ * mediaResource.save(media, false)
+ * .then(function(media){
+ * alert("Retrieved, updated and saved again");
+ * });
+ * });
+ *
+ *
+ * @param {Object} media The media item object with changes applied
+ * @param {Bool} isNew set to true to create a new item or to update an existing
+ * @param {Array} files collection of files for the media item
+ * @returns {Promise} resourcePromise object containing the saved media item.
+ *
+ */
+ save: function (media, isNew, files) {
+ return saveMediaItem(media, "save" + (isNew ? "New" : ""), files);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.mediaResource#addFolder
+ * @methodOf umbraco.resources.mediaResource
+ *
+ * @description
+ * Shorthand for adding a media item of the type "Folder" under a given parent ID
+ *
+ * ##usage
+ *
+ *
+ * @param {Guid} key id of member item to delete
+ * @returns {Promise} resourcePromise object.
+ *
+ */
+ deleteByKey: function (key) {
+ return umbRequestHelper.resourcePromise(
+ $http.post(
+ umbRequestHelper.getApiUrl(
+ "memberApiBaseUrl",
+ "DeleteByKey",
+ [{ key: key }])),
+ 'Failed to delete item ' + key);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.memberResource#getScaffold
+ * @methodOf umbraco.resources.memberResource
+ *
+ * @description
+ * Returns a scaffold of an empty member item, given the id of the member item to place it underneath and the member type alias.
+ *
+ * - Member Type alias must be provided so umbraco knows which properties to put on the member scaffold
+ *
+ * The scaffold is used to build editors for member that has not yet been populated with data.
+ *
+ * ##usage
+ *
+ * memberResource.getScaffold('client')
+ * .then(function(scaffold) {
+ * var myDoc = scaffold;
+ * myDoc.name = "My new member item";
+ *
+ * memberResource.save(myDoc, true)
+ * .then(function(member){
+ * alert("Retrieved, updated and saved again");
+ * });
+ * });
+ *
+ *
+ * @param {String} alias membertype alias to base the scaffold on
+ * @returns {Promise} resourcePromise object containing the member scaffold.
+ *
+ */
+ getScaffold: function (alias) {
+
+ if (alias) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "memberApiBaseUrl",
+ "GetEmpty",
+ [{ contentTypeAlias: alias }])),
+ 'Failed to retrieve data for empty member item type ' + alias);
+ }
+ else {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "memberApiBaseUrl",
+ "GetEmpty")),
+ 'Failed to retrieve data for empty member item type ' + alias);
+ }
+
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.memberResource#save
+ * @methodOf umbraco.resources.memberResource
+ *
+ * @description
+ * Saves changes made to a member, if the member is new, the isNew paramater must be passed to force creation
+ * if the member needs to have files attached, they must be provided as the files param and passed separately
+ *
+ *
+ * ##usage
+ *
+ *
+ * @param {String} the unique package ID
+ * @returns {String} path to the downloaded zip file.
+ *
+ */
+ fetch: function (id) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "packageInstallApiBaseUrl",
+ "Fetch",
+ [{ packageGuid: id }])),
+ 'Failed to download package with guid ' + id);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.resources.packageInstallResource#createmanifest
+ * @methodOf umbraco.resources.packageInstallResource
+ *
+ * @description
+ * Creates a package manifest for a given folder of files.
+ * This manifest keeps track of all installed files and data items
+ * so a package can be uninstalled at a later time.
+ * After creating a manifest, you can use the ID to install files and data.
+ *
+ * ##usage
+ *
+ *
+ * @returns {Promise} resourcePromise object containing the rules.
+ *
+ */
+ getRulesByName: function (name) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "stylesheetApiBaseUrl",
+ "GetRulesByName",
+ [{ name: name }])),
+ 'Failed to retrieve stylesheets ');
+ }
+ };
+}
+
+angular.module('umbraco.resources').factory('stylesheetResource', stylesheetResource);
+
+/**
+ * @ngdoc service
+ * @name umbraco.resources.treeResource
+ * @description Loads in data for trees
+ **/
+function treeResource($q, $http, umbRequestHelper) {
+
+ /** internal method to get the tree node's children url */
+ function getTreeNodesUrl(node) {
+ if (!node.childNodesUrl) {
+ throw "No childNodesUrl property found on the tree node, cannot load child nodes";
+ }
+ return node.childNodesUrl;
+ }
+
+ /** internal method to get the tree menu url */
+ function getTreeMenuUrl(node) {
+ if (!node.menuUrl) {
+ throw "No menuUrl property found on the tree node, cannot load menu";
+ }
+ return node.menuUrl;
+ }
+
+ //the factory object returned
+ return {
+
+ /** Loads in the data to display the nodes menu */
+ loadMenu: function (node) {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(getTreeMenuUrl(node)),
+ "Failed to retrieve data for a node's menu " + node.id);
+ },
+
+ /** Loads in the data to display the nodes for an application */
+ loadApplication: function (options) {
+
+ if (!options || !options.section) {
+ throw "The object specified for does not contain a 'section' property";
+ }
+
+ if(!options.tree){
+ options.tree = "";
+ }
+ if (!options.isDialog) {
+ options.isDialog = false;
+ }
+
+ //create the query string for the tree request, these are the mandatory options:
+ var query = "application=" + options.section + "&tree=" + options.tree + "&isDialog=" + options.isDialog;
+
+ //the options can contain extra query string parameters
+ if (options.queryString) {
+ query += "&" + options.queryString;
+ }
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "treeApplicationApiBaseUrl",
+ "GetApplicationTrees",
+ query)),
+ 'Failed to retrieve data for application tree ' + options.section);
+ },
+
+ /** Loads in the data to display the child nodes for a given node */
+ loadNodes: function (options) {
+
+ if (!options || !options.node) {
+ throw "The options parameter object does not contain the required properties: 'node'";
+ }
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(getTreeNodesUrl(options.node)),
+ 'Failed to retrieve data for child nodes ' + options.node.nodeId);
+ }
+ };
+}
+
+angular.module('umbraco.resources').factory('treeResource', treeResource);
+
+/**
+ * @ngdoc service
+ * @name umbraco.resources.userResource
+ **/
+function userResource($q, $http, umbDataFormatter, umbRequestHelper) {
+
+ return {
+
+ disableUser: function (userId) {
+
+ if (!userId) {
+ throw "userId not specified";
+ }
+
+ return umbRequestHelper.resourcePromise(
+ $http.post(
+ umbRequestHelper.getApiUrl(
+ "userApiBaseUrl",
+ "PostDisableUser", [{ userId: userId }])),
+ 'Failed to disable the user ' + userId);
+ }
+ };
+}
+
+angular.module('umbraco.resources').factory('userResource', userResource);
+
+
+})();
\ No newline at end of file
diff --git a/Blog/umbraco/Js/umbraco.security.js b/Blog/umbraco/Js/umbraco.security.js
new file mode 100644
index 0000000..701b943
--- /dev/null
+++ b/Blog/umbraco/Js/umbraco.security.js
@@ -0,0 +1,178 @@
+/*! umbraco
+ * https://github.com/umbraco/umbraco-cms/
+ * Copyright (c) 2015 Umbraco HQ;
+ * Licensed MIT
+ */
+
+(function() {
+
+// Based loosely around work by Witold Szczerba - https://github.com/witoldsz/angular-http-auth
+angular.module('umbraco.security', [
+ 'umbraco.security.retryQueue',
+ 'umbraco.security.interceptor']);
+angular.module('umbraco.security.interceptor', ['umbraco.security.retryQueue'])
+ // This http interceptor listens for authentication successes and failures
+ .factory('securityInterceptor', ['$injector', 'securityRetryQueue', 'notificationsService', 'requestInterceptorFilter', function ($injector, queue, notifications, requestInterceptorFilter) {
+ return function(promise) {
+
+ return promise.then(
+ function(originalResponse) {
+ // Intercept successful requests
+
+ //Here we'll check if our custom header is in the response which indicates how many seconds the user's session has before it
+ //expires. Then we'll update the user in the user service accordingly.
+ var headers = originalResponse.headers();
+ if (headers["x-umb-user-seconds"]) {
+ // We must use $injector to get the $http service to prevent circular dependency
+ var userService = $injector.get('userService');
+ userService.setUserTimeout(headers["x-umb-user-seconds"]);
+ }
+
+ return promise;
+ }, function(originalResponse) {
+ // Intercept failed requests
+
+ //Here we'll check if we should ignore the error, this will be based on an original header set
+ var headers = originalResponse.config ? originalResponse.config.headers : {};
+ if (headers["x-umb-ignore-error"] === "ignore") {
+ //exit/ignore
+ return promise;
+ }
+ var filtered = _.find(requestInterceptorFilter(), function(val) {
+ return originalResponse.config.url.indexOf(val) > 0;
+ });
+ if (filtered) {
+ return promise;
+ }
+
+ //A 401 means that the user is not logged in
+ if (originalResponse.status === 401) {
+
+ // The request bounced because it was not authorized - add a new request to the retry queue
+ promise = queue.pushRetryFn('unauthorized-server', function retryRequest() {
+ // We must use $injector to get the $http service to prevent circular dependency
+ return $injector.get('$http')(originalResponse.config);
+ });
+ }
+ else if (originalResponse.status === 404) {
+
+ //a 404 indicates that the request was not found - this could be due to a non existing url, or it could
+ //be due to accessing a url with a parameter that doesn't exist, either way we should notifiy the user about it
+
+ var errMsg = "The URL returned a 404 (not found): " + originalResponse.config.url.split('?')[0] + "";
+ if (originalResponse.data && originalResponse.data.ExceptionMessage) {
+ errMsg += " with error: " + originalResponse.data.ExceptionMessage + "";
+ }
+ if (originalResponse.config.data) {
+ errMsg += " with data: " + angular.toJson(originalResponse.config.data) + " Contact your administrator for information.";
+ }
+
+ notifications.error(
+ "Request error",
+ errMsg);
+
+ }
+ else if (originalResponse.status === 403) {
+ //if the status was a 403 it means the user didn't have permission to do what the request was trying to do.
+ //How do we deal with this now, need to tell the user somehow that they don't have permission to do the thing that was
+ //requested. We can either deal with this globally here, or we can deal with it globally for individual requests on the umbRequestHelper,
+ // or completely custom for services calling resources.
+
+ //http://issues.umbraco.org/issue/U4-2749
+
+ //It was decided to just put these messages into the normal status messages.
+
+ var msg = "Unauthorized access to URL: " + originalResponse.config.url.split('?')[0] + "";
+ if (originalResponse.config.data) {
+ msg += " with data: " + angular.toJson(originalResponse.config.data) + " Contact your administrator for information.";
+ }
+
+ notifications.error(
+ "Authorization error",
+ msg);
+ }
+
+ return promise;
+ });
+ };
+ }])
+
+ .value('requestInterceptorFilter', function() {
+ return ["www.gravatar.com"];
+ })
+
+ // We have to add the interceptor to the queue as a string because the interceptor depends upon service instances that are not available in the config block.
+ .config(['$httpProvider', function ($httpProvider) {
+ $httpProvider.responseInterceptors.push('securityInterceptor');
+ }]);
+angular.module('umbraco.security.retryQueue', [])
+
+// This is a generic retry queue for security failures. Each item is expected to expose two functions: retry and cancel.
+.factory('securityRetryQueue', ['$q', '$log', function ($q, $log) {
+
+ var retryQueue = [];
+ var service = {
+ // The security service puts its own handler in here!
+ onItemAddedCallbacks: [],
+
+ hasMore: function() {
+ return retryQueue.length > 0;
+ },
+ push: function(retryItem) {
+ retryQueue.push(retryItem);
+ // Call all the onItemAdded callbacks
+ angular.forEach(service.onItemAddedCallbacks, function(cb) {
+ try {
+ cb(retryItem);
+ } catch(e) {
+ $log.error('securityRetryQueue.push(retryItem): callback threw an error' + e);
+ }
+ });
+ },
+ pushRetryFn: function(reason, retryFn) {
+ // The reason parameter is optional
+ if ( arguments.length === 1) {
+ retryFn = reason;
+ reason = undefined;
+ }
+
+ // The deferred object that will be resolved or rejected by calling retry or cancel
+ var deferred = $q.defer();
+ var retryItem = {
+ reason: reason,
+ retry: function() {
+ // Wrap the result of the retryFn into a promise if it is not already
+ $q.when(retryFn()).then(function(value) {
+ // If it was successful then resolve our deferred
+ deferred.resolve(value);
+ }, function(value) {
+ // Othewise reject it
+ deferred.reject(value);
+ });
+ },
+ cancel: function() {
+ // Give up on retrying and reject our deferred
+ deferred.reject();
+ }
+ };
+ service.push(retryItem);
+ return deferred.promise;
+ },
+ retryReason: function() {
+ return service.hasMore() && retryQueue[0].reason;
+ },
+ cancelAll: function() {
+ while(service.hasMore()) {
+ retryQueue.shift().cancel();
+ }
+ },
+ retryAll: function() {
+ while(service.hasMore()) {
+ retryQueue.shift().retry();
+ }
+ }
+ };
+ return service;
+}]);
+
+})();
\ No newline at end of file
diff --git a/Blog/umbraco/Js/umbraco.servervariables.js b/Blog/umbraco/Js/umbraco.servervariables.js
new file mode 100644
index 0000000..7ba1448
--- /dev/null
+++ b/Blog/umbraco/Js/umbraco.servervariables.js
@@ -0,0 +1,42 @@
+//create the namespace (NOTE: This loads before any dependencies so we don't have a namespace mgr so we just create it manually)
+var Umbraco = {};
+Umbraco.Sys = {};
+//define a global static object
+Umbraco.Sys.ServerVariables = {
+ umbracoUrls: {
+ "contentApiBaseUrl": "/umbraco/UmbracoApi/Content/",
+ "mediaApiBaseUrl": "/umbraco/UmbracoApi/Media/",
+ "dataTypeApiBaseUrl": "/umbraco/UmbracoApi/DataType/",
+ "sectionApiBaseUrl": "/umbraco/UmbracoApi/Section/",
+ "treeApplicationApiBaseUrl": "/umbraco/UmbracoTrees/ApplicationTreeApi/",
+ "contentTypeApiBaseUrl": "/umbraco/Api/ContentType/",
+ "mediaTypeApiBaseUrl": "/umbraco/Api/MediaType/",
+ "macroApiBaseUrl": "/umbraco/Api/Macro/",
+ "authenticationApiBaseUrl": "/umbraco/UmbracoApi/Authentication/",
+ //For this we'll just provide a file that exists during the mock session since we don't really have legay js tree stuff
+ "legacyTreeJs": "/belle/lib/lazyload/empty.js",
+ "serverVarsJs": "/belle/lib/lazyload/empty.js",
+ "imagesApiBaseUrl": "/umbraco/UmbracoApi/Images/",
+ "entityApiBaseUrl": "/umbraco/UmbracoApi/Entity/",
+ "dashboardApiBaseUrl": "/umbraco/UmbracoApi/Dashboard/",
+ "updateCheckApiBaseUrl": "/umbraco/Api/UpdateCheck/",
+ "relationApiBaseUrl": "/umbraco/UmbracoApi/Relation/",
+ "rteApiBaseUrl": "/umbraco/UmbracoApi/RichTextPreValue/"
+ },
+ umbracoSettings: {
+ "umbracoPath": "/umbraco",
+ "appPluginsPath" : "/App_Plugins",
+ "imageFileTypes": "jpeg,jpg,gif,bmp,png,tiff,tif",
+ "keepUserLoggedIn": true
+ },
+ umbracoPlugins: {
+ trees: [
+ { alias: "myTree", packageFolder: "MyPackage" }
+ ]
+ },
+ isDebuggingEnabled: true,
+ application: {
+ assemblyVersion: "1",
+ version: "7"
+ }
+};
\ No newline at end of file
diff --git a/Blog/umbraco/Js/umbraco.services.js b/Blog/umbraco/Js/umbraco.services.js
new file mode 100644
index 0000000..83c4442
--- /dev/null
+++ b/Blog/umbraco/Js/umbraco.services.js
@@ -0,0 +1,8341 @@
+/*! umbraco
+ * https://github.com/umbraco/umbraco-cms/
+ * Copyright (c) 2015 Umbraco HQ;
+ * Licensed MIT
+ */
+
+(function() {
+
+angular.module("umbraco.services", ["umbraco.security", "umbraco.resources"]);
+
+/**
+ * @ngdoc service
+ * @name umbraco.services.angularHelper
+ * @function
+ *
+ * @description
+ * Some angular helper/extension methods
+ */
+function angularHelper($log, $q) {
+ return {
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#rejectedPromise
+ * @methodOf umbraco.services.angularHelper
+ * @function
+ *
+ * @description
+ * In some situations we need to return a promise as a rejection, normally based on invalid data. This
+ * is a wrapper to do that so we can save on writing a bit of code.
+ *
+ * @param {object} objReject The object to send back with the promise rejection
+ */
+ rejectedPromise: function (objReject) {
+ var deferred = $q.defer();
+ //return an error object including the error message for UI
+ deferred.reject(objReject);
+ return deferred.promise;
+ },
+
+ /**
+ * @ngdoc function
+ * @name safeApply
+ * @methodOf umbraco.services.angularHelper
+ * @function
+ *
+ * @description
+ * This checks if a digest/apply is already occuring, if not it will force an apply call
+ */
+ safeApply: function (scope, fn) {
+ if (scope.$$phase || scope.$root.$$phase) {
+ if (angular.isFunction(fn)) {
+ fn();
+ }
+ }
+ else {
+ if (angular.isFunction(fn)) {
+ scope.$apply(fn);
+ }
+ else {
+ scope.$apply();
+ }
+ }
+ },
+
+ /**
+ * @ngdoc function
+ * @name getCurrentForm
+ * @methodOf umbraco.services.angularHelper
+ * @function
+ *
+ * @description
+ * Returns the current form object applied to the scope or null if one is not found
+ */
+ getCurrentForm: function (scope) {
+
+ //NOTE: There isn't a way in angular to get a reference to the current form object since the form object
+ // is just defined as a property of the scope when it is named but you'll always need to know the name which
+ // isn't very convenient. If we want to watch for validation changes we need to get a form reference.
+ // The way that we detect the form object is a bit hackerific in that we detect all of the required properties
+ // that exist on a form object.
+ //
+ //The other way to do it in a directive is to require "^form", but in a controller the only other way to do it
+ // is to inject the $element object and use: $element.inheritedData('$formController');
+
+ var form = null;
+ //var requiredFormProps = ["$error", "$name", "$dirty", "$pristine", "$valid", "$invalid", "$addControl", "$removeControl", "$setValidity", "$setDirty"];
+ var requiredFormProps = ["$addControl", "$removeControl", "$setValidity", "$setDirty", "$setPristine"];
+
+ // a method to check that the collection of object prop names contains the property name expected
+ function propertyExists(objectPropNames) {
+ //ensure that every required property name exists on the current scope property
+ return _.every(requiredFormProps, function (item) {
+
+ return _.contains(objectPropNames, item);
+ });
+ }
+
+ for (var p in scope) {
+
+ if (_.isObject(scope[p]) && p !== "this" && p.substr(0, 1) !== "$") {
+ //get the keys of the property names for the current property
+ var props = _.keys(scope[p]);
+ //if the length isn't correct, try the next prop
+ if (props.length < requiredFormProps.length) {
+ continue;
+ }
+
+ //ensure that every required property name exists on the current scope property
+ var containProperty = propertyExists(props);
+
+ if (containProperty) {
+ form = scope[p];
+ break;
+ }
+ }
+ }
+
+ return form;
+ },
+
+ /**
+ * @ngdoc function
+ * @name validateHasForm
+ * @methodOf umbraco.services.angularHelper
+ * @function
+ *
+ * @description
+ * This will validate that the current scope has an assigned form object, if it doesn't an exception is thrown, if
+ * it does we return the form object.
+ */
+ getRequiredCurrentForm: function (scope) {
+ var currentForm = this.getCurrentForm(scope);
+ if (!currentForm || !currentForm.$name) {
+ throw "The current scope requires a current form object (or ng-form) with a name assigned to it";
+ }
+ return currentForm;
+ },
+
+ /**
+ * @ngdoc function
+ * @name getNullForm
+ * @methodOf umbraco.services.angularHelper
+ * @function
+ *
+ * @description
+ * Returns a null angular FormController, mostly for use in unit tests
+ * NOTE: This is actually the same construct as angular uses internally for creating a null form but they don't expose
+ * any of this publicly to us, so we need to create our own.
+ *
+ * @param {string} formName The form name to assign
+ */
+ getNullForm: function (formName) {
+ return {
+ $addControl: angular.noop,
+ $removeControl: angular.noop,
+ $setValidity: angular.noop,
+ $setDirty: angular.noop,
+ $setPristine: angular.noop,
+ $name: formName
+ //NOTE: we don't include the 'properties', just the methods.
+ };
+ }
+ };
+}
+angular.module('umbraco.services').factory('angularHelper', angularHelper);
+/**
+ * @ngdoc service
+ * @name umbraco.services.appState
+ * @function
+ *
+ * @description
+ * Tracks the various application state variables when working in the back office, raises events when state changes.
+ *
+ * ##Samples
+ *
+ * ####Subscribe to global state changes:
+ *
+ *
+ */
+function appState(eventsService) {
+
+ //Define all variables here - we are never returning this objects so they cannot be publicly mutable
+ // changed, we only expose methods to interact with the values.
+
+ var globalState = {
+ showNavigation: null,
+ touchDevice: null,
+ showTray: null,
+ stickyNavigation: null,
+ navMode: null,
+ isReady: null,
+ isTablet: null
+ };
+
+ var sectionState = {
+ //The currently active section
+ currentSection: null,
+ showSearchResults: null
+ };
+
+ var treeState = {
+ //The currently selected node
+ selectedNode: null,
+ //The currently loaded root node reference - depending on the section loaded this could be a section root or a normal root.
+ //We keep this reference so we can lookup nodes to interact with in the UI via the tree service
+ currentRootNode: null
+ };
+
+ var menuState = {
+ //this list of menu items to display
+ menuActions: null,
+ //the title to display in the context menu dialog
+ dialogTitle: null,
+ //The tree node that the ctx menu is launched for
+ currentNode: null,
+ //Whether the menu's dialog is being shown or not
+ showMenuDialog: null,
+ //Whether the context menu is being shown or not
+ showMenu: null
+ };
+
+ /** function to validate and set the state on a state object */
+ function setState(stateObj, key, value, stateObjName) {
+ if (!_.has(stateObj, key)) {
+ throw "The variable " + key + " does not exist in " + stateObjName;
+ }
+ var changed = stateObj[key] !== value;
+ stateObj[key] = value;
+ if (changed) {
+ eventsService.emit("appState." + stateObjName + ".changed", { key: key, value: value });
+ }
+ }
+
+ /** function to validate and set the state on a state object */
+ function getState(stateObj, key, stateObjName) {
+ if (!_.has(stateObj, key)) {
+ throw "The variable " + key + " does not exist in " + stateObjName;
+ }
+ return stateObj[key];
+ }
+
+ return {
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#getGlobalState
+ * @methodOf umbraco.services.appState
+ * @function
+ *
+ * @description
+ * Returns the current global state value by key - we do not return an object reference here - we do NOT want this
+ * to be publicly mutable and allow setting arbitrary values
+ *
+ */
+ getGlobalState: function (key) {
+ return getState(globalState, key, "globalState");
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#setGlobalState
+ * @methodOf umbraco.services.appState
+ * @function
+ *
+ * @description
+ * Sets a global state value by key
+ *
+ */
+ setGlobalState: function (key, value) {
+ setState(globalState, key, value, "globalState");
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#getSectionState
+ * @methodOf umbraco.services.appState
+ * @function
+ *
+ * @description
+ * Returns the current section state value by key - we do not return an object here - we do NOT want this
+ * to be publicly mutable and allow setting arbitrary values
+ *
+ */
+ getSectionState: function (key) {
+ return getState(sectionState, key, "sectionState");
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#setSectionState
+ * @methodOf umbraco.services.appState
+ * @function
+ *
+ * @description
+ * Sets a section state value by key
+ *
+ */
+ setSectionState: function(key, value) {
+ setState(sectionState, key, value, "sectionState");
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#getTreeState
+ * @methodOf umbraco.services.appState
+ * @function
+ *
+ * @description
+ * Returns the current tree state value by key - we do not return an object here - we do NOT want this
+ * to be publicly mutable and allow setting arbitrary values
+ *
+ */
+ getTreeState: function (key) {
+ return getState(treeState, key, "treeState");
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#setTreeState
+ * @methodOf umbraco.services.appState
+ * @function
+ *
+ * @description
+ * Sets a section state value by key
+ *
+ */
+ setTreeState: function (key, value) {
+ setState(treeState, key, value, "treeState");
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#getMenuState
+ * @methodOf umbraco.services.appState
+ * @function
+ *
+ * @description
+ * Returns the current menu state value by key - we do not return an object here - we do NOT want this
+ * to be publicly mutable and allow setting arbitrary values
+ *
+ */
+ getMenuState: function (key) {
+ return getState(menuState, key, "menuState");
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#setMenuState
+ * @methodOf umbraco.services.appState
+ * @function
+ *
+ * @description
+ * Sets a section state value by key
+ *
+ */
+ setMenuState: function (key, value) {
+ setState(menuState, key, value, "menuState");
+ },
+
+ };
+}
+angular.module('umbraco.services').factory('appState', appState);
+
+/**
+ * @ngdoc service
+ * @name umbraco.services.editorState
+ * @function
+ *
+ * @description
+ * Tracks the parent object for complex editors by exposing it as
+ * an object reference via editorState.current.entity
+ *
+ * it is possible to modify this object, so should be used with care
+ */
+angular.module('umbraco.services').factory("editorState", function() {
+
+ var current = null;
+ var state = {
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#set
+ * @methodOf umbraco.services.editorState
+ * @function
+ *
+ * @description
+ * Sets the current entity object for the currently active editor
+ * This is only used when implementing an editor with a complex model
+ * like the content editor, where the model is modified by several
+ * child controllers.
+ */
+ set: function (entity) {
+ current = entity;
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#reset
+ * @methodOf umbraco.services.editorState
+ * @function
+ *
+ * @description
+ * Since the editorstate entity is read-only, you cannot set it to null
+ * only through the reset() method
+ */
+ reset: function() {
+ current = null;
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.angularHelper#getCurrent
+ * @methodOf umbraco.services.editorState
+ * @function
+ *
+ * @description
+ * Returns an object reference to the current editor entity.
+ * the entity is the root object of the editor.
+ * EditorState is used by property/parameter editors that need
+ * access to the entire entity being edited, not just the property/parameter
+ *
+ * editorState.current can not be overwritten, you should only read values from it
+ * since modifying individual properties should be handled by the property editors
+ */
+ getCurrent: function() {
+ return current;
+ }
+ };
+
+ //TODO: This shouldn't be removed! use getCurrent() method instead of a hacked readonly property which is confusing.
+
+ //create a get/set property but don't allow setting
+ Object.defineProperty(state, "current", {
+ get: function () {
+ return current;
+ },
+ set: function (value) {
+ throw "Use editorState.set to set the value of the current entity";
+ },
+ });
+
+ return state;
+});
+/**
+ * @ngdoc service
+ * @name umbraco.services.assetsService
+ *
+ * @requires $q
+ * @requires angularHelper
+ *
+ * @description
+ * Promise-based utillity service to lazy-load client-side dependencies inside angular controllers.
+ *
+ * ##usage
+ * To use, simply inject the assetsService into any controller that needs it, and make
+ * sure the umbraco.services module is accesible - which it should be by default.
+ *
+ *
+ * angular.module("umbraco").controller("my.controller". function(assetsService){
+ * assetsService.load(["script.js", "styles.css"], $scope).then(function(){
+ * //this code executes when the dependencies are done loading
+ * });
+ * });
+ *
+ *
+ * You can also load individual files, which gives you greater control over what attibutes are passed to the file, as well as timeout
+ *
+ *
+ *
+ * For these cases, there are 2 individual methods, one for javascript, and one for stylesheets:
+ *
+ *
+ * angular.module("umbraco").controller("my.controller". function(assetsService){
+ * assetsService.loadCss("stye.css", $scope, {media: 'print'}, 10000 }).then(function(){
+ * //loadcss cannot determine when the css is done loading, so this will trigger instantly
+ * });
+ * });
+ *
+ */
+angular.module('umbraco.services')
+.factory('assetsService', function ($q, $log, angularHelper, umbRequestHelper, $rootScope, $http) {
+
+ var initAssetsLoaded = false;
+ var appendRnd = function (url) {
+ //if we don't have a global umbraco obj yet, the app is bootstrapping
+ if (!Umbraco.Sys.ServerVariables.application) {
+ return url;
+ }
+
+ var rnd = Umbraco.Sys.ServerVariables.application.version + "." + Umbraco.Sys.ServerVariables.application.cdf;
+ var _op = (url.indexOf("?") > 0) ? "&" : "?";
+ url = url + _op + "umb__rnd=" + rnd;
+ return url;
+ };
+
+ function convertVirtualPath(path) {
+ //make this work for virtual paths
+ if (path.startsWith("~/")) {
+ path = umbRequestHelper.convertVirtualToAbsolutePath(path);
+ }
+ return path;
+ }
+
+ var service = {
+ loadedAssets: {},
+
+ _getAssetPromise: function (path) {
+
+ if (this.loadedAssets[path]) {
+ return this.loadedAssets[path];
+ } else {
+ var deferred = $q.defer();
+ this.loadedAssets[path] = { deferred: deferred, state: "new", path: path };
+ return this.loadedAssets[path];
+ }
+ },
+ /**
+ Internal method. This is called when the application is loading and the user is already authenticated, or once the user is authenticated.
+ There's a few assets the need to be loaded for the application to function but these assets require authentication to load.
+ */
+ _loadInitAssets: function () {
+ var deferred = $q.defer();
+ //here we need to ensure the required application assets are loaded
+ if (initAssetsLoaded === false) {
+ var self = this;
+ self.loadJs(umbRequestHelper.getApiUrl("serverVarsJs", "", ""), $rootScope).then(function () {
+ initAssetsLoaded = true;
+
+ //now we need to go get the legacyTreeJs - but this can be done async without waiting.
+ self.loadJs(umbRequestHelper.getApiUrl("legacyTreeJs", "", ""), $rootScope);
+
+ deferred.resolve();
+ });
+ }
+ else {
+ deferred.resolve();
+ }
+ return deferred.promise;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.assetsService#loadCss
+ * @methodOf umbraco.services.assetsService
+ *
+ * @description
+ * Injects a file as a stylesheet into the document head
+ *
+ * @param {String} path path to the css file to load
+ * @param {Scope} scope optional scope to pass into the loader
+ * @param {Object} keyvalue collection of attributes to pass to the stylesheet element
+ * @param {Number} timeout in milliseconds
+ * @returns {Promise} Promise object which resolves when the file has loaded
+ */
+ loadCss: function (path, scope, attributes, timeout) {
+
+ path = convertVirtualPath(path);
+
+ var asset = this._getAssetPromise(path); // $q.defer();
+ var t = timeout || 5000;
+ var a = attributes || undefined;
+
+ if (asset.state === "new") {
+ asset.state = "loading";
+ LazyLoad.css(appendRnd(path), function () {
+ if (!scope) {
+ asset.state = "loaded";
+ asset.deferred.resolve(true);
+ } else {
+ asset.state = "loaded";
+ angularHelper.safeApply(scope, function () {
+ asset.deferred.resolve(true);
+ });
+ }
+ });
+ } else if (asset.state === "loaded") {
+ asset.deferred.resolve(true);
+ }
+ return asset.deferred.promise;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.assetsService#loadJs
+ * @methodOf umbraco.services.assetsService
+ *
+ * @description
+ * Injects a file as a javascript into the document
+ *
+ * @param {String} path path to the js file to load
+ * @param {Scope} scope optional scope to pass into the loader
+ * @param {Object} keyvalue collection of attributes to pass to the script element
+ * @param {Number} timeout in milliseconds
+ * @returns {Promise} Promise object which resolves when the file has loaded
+ */
+ loadJs: function (path, scope, attributes, timeout) {
+
+ path = convertVirtualPath(path);
+
+ var asset = this._getAssetPromise(path); // $q.defer();
+ var t = timeout || 5000;
+ var a = attributes || undefined;
+
+ if (asset.state === "new") {
+ asset.state = "loading";
+
+ LazyLoad.js(appendRnd(path), function () {
+ if (!scope) {
+ asset.state = "loaded";
+ asset.deferred.resolve(true);
+ } else {
+ asset.state = "loaded";
+ angularHelper.safeApply(scope, function () {
+ asset.deferred.resolve(true);
+ });
+ }
+ });
+
+ } else if (asset.state === "loaded") {
+ asset.deferred.resolve(true);
+ }
+
+ return asset.deferred.promise;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.assetsService#load
+ * @methodOf umbraco.services.assetsService
+ *
+ * @description
+ * Injects a collection of files, this can be ONLY js files
+ *
+ *
+ * @param {Array} pathArray string array of paths to the files to load
+ * @param {Scope} scope optional scope to pass into the loader
+ * @returns {Promise} Promise object which resolves when all the files has loaded
+ */
+ load: function (pathArray, scope) {
+ var promise;
+
+ if (!angular.isArray(pathArray)) {
+ throw "pathArray must be an array";
+ }
+
+ var nonEmpty = _.reject(pathArray, function (item) {
+ return item === undefined || item === "";
+ });
+
+
+ //don't load anything if there's nothing to load
+ if (nonEmpty.length > 0) {
+ var promises = [];
+ var assets = [];
+
+ //compile a list of promises
+ //blocking
+ _.each(nonEmpty, function (path) {
+
+ path = convertVirtualPath(path);
+
+ var asset = service._getAssetPromise(path);
+ //if not previously loaded, add to list of promises
+ if (asset.state !== "loaded") {
+ if (asset.state === "new") {
+ asset.state = "loading";
+ assets.push(asset);
+ }
+
+ //we need to always push to the promises collection to monitor correct
+ //execution
+ promises.push(asset.deferred.promise);
+ }
+ });
+
+
+ //gives a central monitoring of all assets to load
+ promise = $q.all(promises);
+
+ _.each(assets, function (asset) {
+ LazyLoad.js(appendRnd(asset.path), function () {
+ asset.state = "loaded";
+ if (!scope) {
+ asset.deferred.resolve(true);
+ }
+ else {
+ angularHelper.safeApply(scope, function () {
+ asset.deferred.resolve(true);
+ });
+ }
+ });
+ });
+ }
+ else {
+ //return and resolve
+ var deferred = $q.defer();
+ promise = deferred.promise;
+ deferred.resolve(true);
+ }
+
+
+ return promise;
+ }
+ };
+
+ return service;
+});
+
+/**
+* @ngdoc service
+* @name umbraco.services.contentEditingHelper
+* @description A helper service for most editors, some methods are specific to content/media/member model types but most are used by
+* all editors to share logic and reduce the amount of replicated code among editors.
+**/
+function contentEditingHelper(fileManager, $q, $location, $routeParams, notificationsService, serverValidationManager, dialogService, formHelper, appState, keyboardService) {
+
+ function isValidIdentifier(id){
+ //empty id <= 0
+ if(angular.isNumber(id) && id > 0){
+ return true;
+ }
+
+ //empty guid
+ if(id === "00000000-0000-0000-0000-000000000000"){
+ return false;
+ }
+
+ //empty string / alias
+ if(id === ""){
+ return false;
+ }
+
+ return true;
+ }
+
+ return {
+
+ /** Used by the content editor and mini content editor to perform saving operations */
+ contentEditorPerformSave: function (args) {
+ if (!angular.isObject(args)) {
+ throw "args must be an object";
+ }
+ if (!args.scope) {
+ throw "args.scope is not defined";
+ }
+ if (!args.content) {
+ throw "args.content is not defined";
+ }
+ if (!args.statusMessage) {
+ throw "args.statusMessage is not defined";
+ }
+ if (!args.saveMethod) {
+ throw "args.saveMethod is not defined";
+ }
+
+ var self = this;
+
+ var deferred = $q.defer();
+
+ if (!args.scope.busy && formHelper.submitForm({ scope: args.scope, statusMessage: args.statusMessage })) {
+
+ args.scope.busy = true;
+
+ args.saveMethod(args.content, $routeParams.create, fileManager.getFiles())
+ .then(function (data) {
+
+ formHelper.resetForm({ scope: args.scope, notifications: data.notifications });
+
+ self.handleSuccessfulSave({
+ scope: args.scope,
+ savedContent: data,
+ rebindCallback: self.reBindChangedProperties(args.content, data)
+ });
+
+ args.scope.busy = false;
+ deferred.resolve(data);
+
+ }, function (err) {
+ self.handleSaveError({
+ redirectOnFailure: true,
+ err: err,
+ rebindCallback: self.reBindChangedProperties(args.content, err.data)
+ });
+ //show any notifications
+ if (angular.isArray(err.data.notifications)) {
+ for (var i = 0; i < err.data.notifications.length; i++) {
+ notificationsService.showNotification(err.data.notifications[i]);
+ }
+ }
+ args.scope.busy = false;
+ deferred.reject(err);
+ });
+ }
+ else {
+ deferred.reject();
+ }
+
+ return deferred.promise;
+ },
+
+ /** Returns the action button definitions based on what permissions the user has.
+ The content.allowedActions parameter contains a list of chars, each represents a button by permission so
+ here we'll build the buttons according to the chars of the user. */
+ configureContentEditorButtons: function (args) {
+
+ if (!angular.isObject(args)) {
+ throw "args must be an object";
+ }
+ if (!args.content) {
+ throw "args.content is not defined";
+ }
+ if (!args.methods) {
+ throw "args.methods is not defined";
+ }
+ if (!args.methods.saveAndPublish || !args.methods.sendToPublish || !args.methods.save || !args.methods.unPublish) {
+ throw "args.methods does not contain all required defined methods";
+ }
+
+ var buttons = {
+ defaultButton: null,
+ subButtons: []
+ };
+
+ function createButtonDefinition(ch) {
+ switch (ch) {
+ case "U":
+ //publish action
+ keyboardService.bind("ctrl+p", args.methods.saveAndPublish);
+
+ return {
+ letter: ch,
+ labelKey: "buttons_saveAndPublish",
+ handler: args.methods.saveAndPublish,
+ hotKey: "ctrl+p"
+ };
+ case "H":
+ //send to publish
+ keyboardService.bind("ctrl+p", args.methods.sendToPublish);
+
+ return {
+ letter: ch,
+ labelKey: "buttons_saveToPublish",
+ handler: args.methods.sendToPublish,
+ hotKey: "ctrl+p"
+ };
+ case "A":
+ //save
+ keyboardService.bind("ctrl+s", args.methods.save);
+ return {
+ letter: ch,
+ labelKey: "buttons_save",
+ handler: args.methods.save,
+ hotKey: "ctrl+s"
+ };
+ case "Z":
+ //unpublish
+ keyboardService.bind("ctrl+u", args.methods.unPublish);
+
+ return {
+ letter: ch,
+ labelKey: "content_unPublish",
+ handler: args.methods.unPublish
+ };
+ default:
+ return null;
+ }
+ }
+
+ //reset
+ buttons.subButtons = [];
+
+ //This is the ideal button order but depends on circumstance, we'll use this array to create the button list
+ // Publish, SendToPublish, Save
+ var buttonOrder = ["U", "H", "A"];
+
+ //Create the first button (primary button)
+ //We cannot have the Save or SaveAndPublish buttons if they don't have create permissions when we are creating a new item.
+ if (!args.create || _.contains(args.content.allowedActions, "C")) {
+ for (var b in buttonOrder) {
+ if (_.contains(args.content.allowedActions, buttonOrder[b])) {
+ buttons.defaultButton = createButtonDefinition(buttonOrder[b]);
+ break;
+ }
+ }
+ }
+
+ //Now we need to make the drop down button list, this is also slightly tricky because:
+ //We cannot have any buttons if there's no default button above.
+ //We cannot have the unpublish button (Z) when there's no publish permission.
+ //We cannot have the unpublish button (Z) when the item is not published.
+ if (buttons.defaultButton) {
+
+ //get the last index of the button order
+ var lastIndex = _.indexOf(buttonOrder, buttons.defaultButton.letter);
+ //add the remaining
+ for (var i = lastIndex + 1; i < buttonOrder.length; i++) {
+ if (_.contains(args.content.allowedActions, buttonOrder[i])) {
+ buttons.subButtons.push(createButtonDefinition(buttonOrder[i]));
+ }
+ }
+
+
+ //if we are not creating, then we should add unpublish too,
+ // so long as it's already published and if the user has access to publish
+ if (!args.create) {
+ if (args.content.publishDate && _.contains(args.content.allowedActions, "U")) {
+ buttons.subButtons.push(createButtonDefinition("Z"));
+ }
+ }
+ }
+
+ return buttons;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.contentEditingHelper#getAllProps
+ * @methodOf umbraco.services.contentEditingHelper
+ * @function
+ *
+ * @description
+ * Returns all propertes contained for the content item (since the normal model has properties contained inside of tabs)
+ */
+ getAllProps: function (content) {
+ var allProps = [];
+
+ for (var i = 0; i < content.tabs.length; i++) {
+ for (var p = 0; p < content.tabs[i].properties.length; p++) {
+ allProps.push(content.tabs[i].properties[p]);
+ }
+ }
+
+ return allProps;
+ },
+
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.contentEditingHelper#configureButtons
+ * @methodOf umbraco.services.contentEditingHelper
+ * @function
+ *
+ * @description
+ * Returns a letter array for buttons, with the primary one first based on content model, permissions and editor state
+ */
+ getAllowedActions : function(content, creating){
+
+ //This is the ideal button order but depends on circumstance, we'll use this array to create the button list
+ // Publish, SendToPublish, Save
+ var actionOrder = ["U", "H", "A"];
+ var defaultActions;
+ var actions = [];
+
+ //Create the first button (primary button)
+ //We cannot have the Save or SaveAndPublish buttons if they don't have create permissions when we are creating a new item.
+ if (!creating || _.contains(content.allowedActions, "C")) {
+ for (var b in actionOrder) {
+ if (_.contains(content.allowedActions, actionOrder[b])) {
+ defaultAction = actionOrder[b];
+ break;
+ }
+ }
+ }
+
+ actions.push(defaultAction);
+
+ //Now we need to make the drop down button list, this is also slightly tricky because:
+ //We cannot have any buttons if there's no default button above.
+ //We cannot have the unpublish button (Z) when there's no publish permission.
+ //We cannot have the unpublish button (Z) when the item is not published.
+ if (defaultAction) {
+ //get the last index of the button order
+ var lastIndex = _.indexOf(actionOrder, defaultAction);
+
+ //add the remaining
+ for (var i = lastIndex + 1; i < actionOrder.length; i++) {
+ if (_.contains(content.allowedActions, actionOrder[i])) {
+ actions.push(actionOrder[i]);
+ }
+ }
+
+ //if we are not creating, then we should add unpublish too,
+ // so long as it's already published and if the user has access to publish
+ if (!creating) {
+ if (content.publishDate && _.contains(content.allowedActions,"U")) {
+ actions.push("Z");
+ }
+ }
+ }
+
+ return actions;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.contentEditingHelper#getButtonFromAction
+ * @methodOf umbraco.services.contentEditingHelper
+ * @function
+ *
+ * @description
+ * Returns a button object to render a button for the tabbed editor
+ * currently only returns built in system buttons for content and media actions
+ * returns label, alias, action char and hot-key
+ */
+ getButtonFromAction : function(ch){
+ switch (ch) {
+ case "U":
+ return {
+ letter: ch,
+ labelKey: "buttons_saveAndPublish",
+ handler: "saveAndPublish",
+ hotKey: "ctrl+p"
+ };
+ case "H":
+ //send to publish
+ return {
+ letter: ch,
+ labelKey: "buttons_saveToPublish",
+ handler: "sendToPublish",
+ hotKey: "ctrl+p"
+ };
+ case "A":
+ return {
+ letter: ch,
+ labelKey: "buttons_save",
+ handler: "save",
+ hotKey: "ctrl+s"
+ };
+ case "Z":
+ return {
+ letter: ch,
+ labelKey: "content_unPublish",
+ handler: "unPublish"
+ };
+
+ default:
+ return null;
+ }
+
+ },
+ /**
+ * @ngdoc method
+ * @name umbraco.services.contentEditingHelper#reBindChangedProperties
+ * @methodOf umbraco.services.contentEditingHelper
+ * @function
+ *
+ * @description
+ * re-binds all changed property values to the origContent object from the savedContent object and returns an array of changed properties.
+ */
+ reBindChangedProperties: function (origContent, savedContent) {
+
+ var changed = [];
+
+ //get a list of properties since they are contained in tabs
+ var allOrigProps = this.getAllProps(origContent);
+ var allNewProps = this.getAllProps(savedContent);
+
+ function getNewProp(alias) {
+ return _.find(allNewProps, function (item) {
+ return item.alias === alias;
+ });
+ }
+
+ //a method to ignore built-in prop changes
+ var shouldIgnore = function(propName) {
+ return _.some(["tabs", "notifications", "ModelState", "tabs", "properties"], function(i) {
+ return i === propName;
+ });
+ };
+ //check for changed built-in properties of the content
+ for (var o in origContent) {
+
+ //ignore the ones listed in the array
+ if (shouldIgnore(o)) {
+ continue;
+ }
+
+ if (!_.isEqual(origContent[o], savedContent[o])) {
+ origContent[o] = savedContent[o];
+ }
+ }
+
+ //check for changed properties of the content
+ for (var p in allOrigProps) {
+ var newProp = getNewProp(allOrigProps[p].alias);
+ if (newProp && !_.isEqual(allOrigProps[p].value, newProp.value)) {
+
+ //they have changed so set the origContent prop to the new one
+ var origVal = allOrigProps[p].value;
+ allOrigProps[p].value = newProp.value;
+
+ //instead of having a property editor $watch their expression to check if it has
+ // been updated, instead we'll check for the existence of a special method on their model
+ // and just call it.
+ if (angular.isFunction(allOrigProps[p].onValueChanged)) {
+ //send the newVal + oldVal
+ allOrigProps[p].onValueChanged(allOrigProps[p].value, origVal);
+ }
+
+ changed.push(allOrigProps[p]);
+ }
+ }
+
+ return changed;
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.contentEditingHelper#handleSaveError
+ * @methodOf umbraco.services.contentEditingHelper
+ * @function
+ *
+ * @description
+ * A function to handle what happens when we have validation issues from the server side
+ */
+ handleSaveError: function (args) {
+
+ if (!args.err) {
+ throw "args.err cannot be null";
+ }
+ if (args.redirectOnFailure === undefined || args.redirectOnFailure === null) {
+ throw "args.redirectOnFailure must be set to true or false";
+ }
+
+ //When the status is a 400 status with a custom header: X-Status-Reason: Validation failed, we have validation errors.
+ //Otherwise the error is probably due to invalid data (i.e. someone mucking around with the ids or something).
+ //Or, some strange server error
+ if (args.err.status === 400) {
+ //now we need to look through all the validation errors
+ if (args.err.data && (args.err.data.ModelState)) {
+
+ //wire up the server validation errs
+ formHelper.handleServerValidation(args.err.data.ModelState);
+
+ if (!args.redirectOnFailure || !this.redirectToCreatedContent(args.err.data.id, args.err.data.ModelState)) {
+ //we are not redirecting because this is not new content, it is existing content. In this case
+ // we need to detect what properties have changed and re-bind them with the server data. Then we need
+ // to re-bind any server validation errors after the digest takes place.
+
+ if (args.rebindCallback && angular.isFunction(args.rebindCallback)) {
+ args.rebindCallback();
+ }
+
+ serverValidationManager.executeAndClearAllSubscriptions();
+ }
+
+ //indicates we've handled the server result
+ return true;
+ }
+ else {
+ dialogService.ysodDialog(args.err);
+ }
+ }
+ else {
+ dialogService.ysodDialog(args.err);
+ }
+
+ return false;
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.contentEditingHelper#handleSuccessfulSave
+ * @methodOf umbraco.services.contentEditingHelper
+ * @function
+ *
+ * @description
+ * A function to handle when saving a content item is successful. This will rebind the values of the model that have changed
+ * ensure the notifications are displayed and that the appropriate events are fired. This will also check if we need to redirect
+ * when we're creating new content.
+ */
+ handleSuccessfulSave: function (args) {
+
+ if (!args) {
+ throw "args cannot be null";
+ }
+ if (!args.savedContent) {
+ throw "args.savedContent cannot be null";
+ }
+
+ if (!this.redirectToCreatedContent(args.redirectId ? args.redirectId : args.savedContent.id)) {
+
+ //we are not redirecting because this is not new content, it is existing content. In this case
+ // we need to detect what properties have changed and re-bind them with the server data.
+ //call the callback
+ if (args.rebindCallback && angular.isFunction(args.rebindCallback)) {
+ args.rebindCallback();
+ }
+ }
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.contentEditingHelper#redirectToCreatedContent
+ * @methodOf umbraco.services.contentEditingHelper
+ * @function
+ *
+ * @description
+ * Changes the location to be editing the newly created content after create was successful.
+ * We need to decide if we need to redirect to edito mode or if we will remain in create mode.
+ * We will only need to maintain create mode if we have not fulfilled the basic requirements for creating an entity which is at least having a name and ID
+ */
+ redirectToCreatedContent: function (id, modelState) {
+
+ //only continue if we are currently in create mode and if there is no 'Name' modelstate errors
+ // since we need at least a name to create content.
+ if ($routeParams.create && (isValidIdentifier(id) && (!modelState || !modelState["Name"]))) {
+
+ //need to change the location to not be in 'create' mode. Currently the route will be something like:
+ // /belle/#/content/edit/1234?doctype=newsArticle&create=true
+ // but we need to remove everything after the query so that it is just:
+ // /belle/#/content/edit/9876 (where 9876 is the new id)
+
+ //clear the query strings
+ $location.search("");
+
+ //change to new path
+ $location.path("/" + $routeParams.section + "/" + $routeParams.tree + "/" + $routeParams.method + "/" + id);
+ //don't add a browser history for this
+ $location.replace();
+ return true;
+ }
+ return false;
+ }
+ };
+}
+angular.module('umbraco.services').factory('contentEditingHelper', contentEditingHelper);
+
+/**
+* @ngdoc service
+* @name umbraco.services.cropperHelper
+* @description A helper object used for dealing with image cropper data
+**/
+function cropperHelper(umbRequestHelper, $http) {
+ var service = {
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.cropperHelper#configuration
+ * @methodOf umbraco.services.cropperHelper
+ *
+ * @description
+ * Returns a collection of plugins available to the tinyMCE editor
+ *
+ */
+ configuration: function (mediaTypeAlias) {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "imageCropperApiBaseUrl",
+ "GetConfiguration",
+ [{ mediaTypeAlias: mediaTypeAlias}])),
+ 'Failed to retrieve tinymce configuration');
+ },
+
+
+ //utill for getting either min/max aspect ratio to scale image after
+ calculateAspectRatioFit : function(srcWidth, srcHeight, maxWidth, maxHeight, maximize) {
+ var ratio = [maxWidth / srcWidth, maxHeight / srcHeight ];
+
+ if(maximize){
+ ratio = Math.max(ratio[0], ratio[1]);
+ }else{
+ ratio = Math.min(ratio[0], ratio[1]);
+ }
+
+ return { width:srcWidth*ratio, height:srcHeight*ratio, ratio: ratio};
+ },
+
+ //utill for scaling width / height given a ratio
+ calculateSizeToRatio : function(srcWidth, srcHeight, ratio) {
+ return { width:srcWidth*ratio, height:srcHeight*ratio, ratio: ratio};
+ },
+
+ scaleToMaxSize : function(srcWidth, srcHeight, maxSize) {
+
+ var retVal = {height: srcHeight, width: srcWidth};
+
+ if(srcWidth > maxSize ||srcHeight > maxSize){
+ var ratio = [maxSize / srcWidth, maxSize / srcHeight ];
+ ratio = Math.min(ratio[0], ratio[1]);
+
+ retVal.height = srcHeight * ratio;
+ retVal.width = srcWidth * ratio;
+ }
+
+ return retVal;
+ },
+
+ //returns a ng-style object with top,left,width,height pixel measurements
+ //expects {left,right,top,bottom} - {width,height}, {width,height}, int
+ //offset is just to push the image position a number of pixels from top,left
+ convertToStyle : function(coordinates, originalSize, viewPort, offset){
+
+ var coordinates_px = service.coordinatesToPixels(coordinates, originalSize, offset);
+ var _offset = offset || 0;
+
+ var x = 1 - (coordinates.x1 + Math.abs(coordinates.x2));
+ var left_of_x = originalSize.width * x;
+ var ratio = viewPort.width / left_of_x;
+
+ var style = {
+ position: "absolute",
+ top: -(coordinates_px.y1*ratio)+ _offset,
+ left: -(coordinates_px.x1* ratio)+ _offset,
+ width: Math.floor(originalSize.width * ratio),
+ height: Math.floor(originalSize.height * ratio),
+ originalWidth: originalSize.width,
+ originalHeight: originalSize.height,
+ ratio: ratio
+ };
+
+ return style;
+ },
+
+
+ coordinatesToPixels : function(coordinates, originalSize, offset){
+
+ var coordinates_px = {
+ x1: Math.floor(coordinates.x1 * originalSize.width),
+ y1: Math.floor(coordinates.y1 * originalSize.height),
+ x2: Math.floor(coordinates.x2 * originalSize.width),
+ y2: Math.floor(coordinates.y2 * originalSize.height)
+ };
+
+ return coordinates_px;
+ },
+
+ pixelsToCoordinates : function(image, width, height, offset){
+
+ var x1_px = Math.abs(image.left-offset);
+ var y1_px = Math.abs(image.top-offset);
+
+ var x2_px = image.width - (x1_px + width);
+ var y2_px = image.height - (y1_px + height);
+
+
+ //crop coordinates in %
+ var crop = {};
+ crop.x1 = x1_px / image.width;
+ crop.y1 = y1_px / image.height;
+ crop.x2 = x2_px / image.width;
+ crop.y2 = y2_px / image.height;
+
+ for(var coord in crop){
+ if(crop[coord] < 0){
+ crop[coord] = 0;
+ }
+ }
+
+ return crop;
+ },
+
+ centerInsideViewPort : function(img, viewport){
+ var left = viewport.width/ 2 - img.width / 2,
+ top = viewport.height / 2 - img.height / 2;
+
+ return {left: left, top: top};
+ },
+
+ alignToCoordinates : function(image, center, viewport){
+
+ var min_left = (image.width) - (viewport.width);
+ var min_top = (image.height) - (viewport.height);
+
+ var c_top = -(center.top * image.height) + (viewport.height / 2);
+ var c_left = -(center.left * image.width) + (viewport.width / 2);
+
+ if(c_top < -min_top){
+ c_top = -min_top;
+ }
+ if(c_top > 0){
+ c_top = 0;
+ }
+ if(c_left < -min_left){
+ c_left = -min_left;
+ }
+ if(c_left > 0){
+ c_left = 0;
+ }
+ return {left: c_left, top: c_top};
+ },
+
+
+ syncElements : function(source, target){
+ target.height(source.height());
+ target.width(source.width());
+
+ target.css({
+ "top": source[0].offsetTop,
+ "left": source[0].offsetLeft
+ });
+ }
+ };
+
+ return service;
+}
+
+angular.module('umbraco.services').factory('cropperHelper', cropperHelper);
+
+/**
+ * @ngdoc service
+ * @name umbraco.services.dialogService
+ *
+ * @requires $rootScope
+ * @requires $compile
+ * @requires $http
+ * @requires $log
+ * @requires $q
+ * @requires $templateCache
+ *
+ * @description
+ * Application-wide service for handling modals, overlays and dialogs
+ * By default it injects the passed template url into a div to body of the document
+ * And renders it, but does also support rendering items in an iframe, incase
+ * serverside processing is needed, or its a non-angular page
+ *
+ * ##usage
+ * To use, simply inject the dialogService into any controller that needs it, and make
+ * sure the umbraco.services module is accesible - which it should be by default.
+ *
+ *
+ * var dialog = dialogService.open({template: 'path/to/page.html', show: true, callback: done});
+ * functon done(data){
+ * //The dialog has been submitted
+ * //data contains whatever the dialog has selected / attached
+ * }
+ *
+ */
+
+angular.module('umbraco.services')
+.factory('dialogService', function ($rootScope, $compile, $http, $timeout, $q, $templateCache, appState, eventsService) {
+
+ var dialogs = [];
+
+ /** Internal method that removes all dialogs */
+ function removeAllDialogs(args) {
+ for (var i = 0; i < dialogs.length; i++) {
+ var dialog = dialogs[i];
+
+ //very special flag which means that global events cannot close this dialog - currently only used on the login
+ // dialog since it's special and cannot be closed without logging in.
+ if (!dialog.manualClose) {
+ dialog.close(args);
+ }
+
+ }
+ }
+
+ /** Internal method that closes the dialog properly and cleans up resources */
+ function closeDialog(dialog) {
+
+ if (dialog.element) {
+ dialog.element.modal('hide');
+
+ //this is not entirely enough since the damn webforms scriploader still complains
+ if (dialog.iframe) {
+ dialog.element.find("iframe").attr("src", "about:blank");
+ $timeout(function () {
+ //we need to do more than just remove the element, this will not destroy the
+ // scope in angular 1.1x, in angular 1.2x this is taken care of but if we dont
+ // take care of this ourselves we have memory leaks.
+ dialog.element.remove();
+ //SD: No idea why this is required but was there before - pretty sure it's not required
+ $("#" + dialog.element.attr("id")).remove();
+ dialog.scope.$destroy();
+ }, 1000);
+ } else {
+ //we need to do more than just remove the element, this will not destroy the
+ // scope in angular 1.1x, in angular 1.2x this is taken care of but if we dont
+ // take care of this ourselves we have memory leaks.
+ dialog.element.remove();
+ //SD: No idea why this is required but was there before - pretty sure it's not required
+ $("#" + dialog.element.attr("id")).remove();
+ dialog.scope.$destroy();
+ }
+ }
+
+ //remove 'this' dialog from the dialogs array
+ dialogs = _.reject(dialogs, function (i) { return i === dialog; });
+ }
+
+ /** Internal method that handles opening all dialogs */
+ function openDialog(options) {
+ var defaults = {
+ container: $("body"),
+ animation: "fade",
+ modalClass: "umb-modal",
+ width: "100%",
+ inline: false,
+ iframe: false,
+ show: true,
+ template: "views/common/notfound.html",
+ callback: undefined,
+ closeCallback: undefined,
+ element: undefined,
+ // It will set this value as a property on the dialog controller's scope as dialogData,
+ // used to pass in custom data to the dialog controller's $scope. Though this is near identical to
+ // the dialogOptions property that is also set the the dialog controller's $scope object.
+ // So there's basically 2 ways of doing the same thing which we're now stuck with and in fact
+ // dialogData has another specially attached property called .selection which gets used.
+ dialogData: undefined
+ };
+
+ var dialog = angular.extend(defaults, options);
+
+ //NOTE: People should NOT pass in a scope object that is legacy functoinality and causes problems. We will ALWAYS
+ // destroy the scope when the dialog is closed regardless if it is in use elsewhere which is why it shouldn't be done.
+ var scope = options.scope || $rootScope.$new();
+
+ //Modal dom obj and unique id
+ dialog.element = $('');
+ var id = dialog.template.replace('.html', '').replace('.aspx', '').replace(/[\/|\.|:\&\?\=]/g, "-") + '-' + scope.$id;
+
+ if (options.inline) {
+ dialog.animation = "";
+ }
+ else {
+ dialog.element.addClass("modal");
+ dialog.element.addClass("hide");
+ }
+
+ //set the id and add classes
+ dialog.element
+ .attr('id', id)
+ .addClass(dialog.animation)
+ .addClass(dialog.modalClass);
+
+ //push the modal into the global modal collection
+ //we halt the .push because a link click will trigger a closeAll right away
+ $timeout(function () {
+ dialogs.push(dialog);
+ }, 500);
+
+
+ dialog.close = function (data) {
+ if (dialog.closeCallback) {
+ dialog.closeCallback(data);
+ }
+
+ closeDialog(dialog);
+ };
+
+ //if iframe is enabled, inject that instead of a template
+ if (dialog.iframe) {
+ var html = $("");
+ dialog.element.html(html);
+
+ //append to body or whatever element is passed in as options.containerElement
+ dialog.container.append(dialog.element);
+
+ // Compile modal content
+ $timeout(function () {
+ $compile(dialog.element)(dialog.scope);
+ });
+
+ dialog.element.css("width", dialog.width);
+
+ //Autoshow
+ if (dialog.show) {
+ dialog.element.modal('show');
+ }
+
+ dialog.scope = scope;
+ return dialog;
+ }
+ else {
+
+ //We need to load the template with an httpget and once it's loaded we'll compile and assign the result to the container
+ // object. However since the result could be a promise or just data we need to use a $q.when. We still need to return the
+ // $modal object so we'll actually return the modal object synchronously without waiting for the promise. Otherwise this openDialog
+ // method will always need to return a promise which gets nasty because of promises in promises plus the result just needs a reference
+ // to the $modal object which will not change (only it's contents will change).
+ $q.when($templateCache.get(dialog.template) || $http.get(dialog.template, { cache: true }).then(function (res) { return res.data; }))
+ .then(function onSuccess(template) {
+
+ // Build modal object
+ dialog.element.html(template);
+
+ //append to body or other container element
+ dialog.container.append(dialog.element);
+
+ // Compile modal content
+ $timeout(function () {
+ $compile(dialog.element)(scope);
+ });
+
+ scope.dialogOptions = dialog;
+
+ //Scope to handle data from the modal form
+ scope.dialogData = dialog.dialogData ? dialog.dialogData : {};
+ scope.dialogData.selection = [];
+
+ // Provide scope display functions
+ //this passes the modal to the current scope
+ scope.$modal = function (name) {
+ dialog.element.modal(name);
+ };
+
+ scope.swipeHide = function (e) {
+
+ if (appState.getGlobalState("touchDevice")) {
+ var selection = window.getSelection();
+ if (selection.type !== "Range") {
+ scope.hide();
+ }
+ }
+ };
+
+ //NOTE: Same as 'close' without the callbacks
+ scope.hide = function () {
+ closeDialog(dialog);
+ };
+
+ //basic events for submitting and closing
+ scope.submit = function (data) {
+ if (dialog.callback) {
+ dialog.callback(data);
+ }
+
+ closeDialog(dialog);
+ };
+
+ scope.close = function (data) {
+ dialog.close(data);
+ };
+
+ //NOTE: This can ONLY ever be used to show the dialog if dialog.show is false (autoshow).
+ // You CANNOT call show() after you call hide(). hide = close, they are the same thing and once
+ // a dialog is closed it's resources are disposed of.
+ scope.show = function () {
+ if (dialog.manualClose === true) {
+ //show and configure that the keyboard events are not enabled on this modal
+ dialog.element.modal({ keyboard: false });
+ }
+ else {
+ //just show normally
+ dialog.element.modal('show');
+ }
+
+ };
+
+ scope.select = function (item) {
+ var i = scope.dialogData.selection.indexOf(item);
+ if (i < 0) {
+ scope.dialogData.selection.push(item);
+ } else {
+ scope.dialogData.selection.splice(i, 1);
+ }
+ };
+
+ //NOTE: Same as 'close' without the callbacks
+ scope.dismiss = scope.hide;
+
+ // Emit modal events
+ angular.forEach(['show', 'shown', 'hide', 'hidden'], function (name) {
+ dialog.element.on(name, function (ev) {
+ scope.$emit('modal-' + name, ev);
+ });
+ });
+
+ // Support autofocus attribute
+ dialog.element.on('shown', function (event) {
+ $('input[autofocus]', dialog.element).first().trigger('focus');
+ });
+
+ dialog.scope = scope;
+
+ //Autoshow
+ if (dialog.show) {
+ scope.show();
+ }
+
+ });
+
+ //Return the modal object outside of the promise!
+ return dialog;
+ }
+ }
+
+ /** Handles the closeDialogs event */
+ eventsService.on("app.closeDialogs", function (evt, args) {
+ removeAllDialogs(args);
+ });
+
+ return {
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#open
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Opens a modal rendering a given template url.
+ *
+ * @param {Object} options rendering options
+ * @param {DomElement} options.container the DOM element to inject the modal into, by default set to body
+ * @param {Function} options.callback function called when the modal is submitted
+ * @param {String} options.template the url of the template
+ * @param {String} options.animation animation csss class, by default set to "fade"
+ * @param {String} options.modalClass modal css class, by default "umb-modal"
+ * @param {Bool} options.show show the modal instantly
+ * @param {Bool} options.iframe load template in an iframe, only needed for serverside templates
+ * @param {Int} options.width set a width on the modal, only needed for iframes
+ * @param {Bool} options.inline strips the modal from any animation and wrappers, used when you want to inject a dialog into an existing container
+ * @returns {Object} modal object
+ */
+ open: function (options) {
+ return openDialog(options);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#close
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Closes a specific dialog
+ * @param {Object} dialog the dialog object to close
+ * @param {Object} args if specified this object will be sent to any callbacks registered on the dialogs.
+ */
+ close: function (dialog, args) {
+ if (dialog) {
+ dialog.close(args);
+ }
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#closeAll
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Closes all dialogs
+ * @param {Object} args if specified this object will be sent to any callbacks registered on the dialogs.
+ */
+ closeAll: function (args) {
+ removeAllDialogs(args);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#mediaPicker
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Opens a media picker in a modal, the callback returns an array of selected media items
+ * @param {Object} options mediapicker dialog options object
+ * @param {Boolean} options.onlyImages Only display files that have an image file-extension
+ * @param {Function} options.callback callback function
+ * @returns {Object} modal object
+ */
+ mediaPicker: function (options) {
+ options.template = 'views/common/dialogs/mediaPicker.html';
+ options.show = true;
+ return openDialog(options);
+ },
+
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#contentPicker
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Opens a content picker tree in a modal, the callback returns an array of selected documents
+ * @param {Object} options content picker dialog options object
+ * @param {Boolean} options.multipicker should the picker return one or multiple items
+ * @param {Function} options.callback callback function
+ * @returns {Object} modal object
+ */
+ contentPicker: function (options) {
+
+ options.treeAlias = "content";
+ options.section = "content";
+
+ return this.treePicker(options);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#linkPicker
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Opens a link picker tree in a modal, the callback returns a single link
+ * @param {Object} options content picker dialog options object
+ * @param {Function} options.callback callback function
+ * @returns {Object} modal object
+ */
+ linkPicker: function (options) {
+ options.template = 'views/common/dialogs/linkPicker.html';
+ options.show = true;
+ return openDialog(options);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#macroPicker
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Opens a mcaro picker in a modal, the callback returns a object representing the macro and it's parameters
+ * @param {Object} options macropicker dialog options object
+ * @param {Function} options.callback callback function
+ * @returns {Object} modal object
+ */
+ macroPicker: function (options) {
+ options.template = 'views/common/dialogs/insertmacro.html';
+ options.show = true;
+ options.modalClass = "span7 umb-modal";
+ return openDialog(options);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#memberPicker
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Opens a member picker in a modal, the callback returns a object representing the selected member
+ * @param {Object} options member picker dialog options object
+ * @param {Boolean} options.multiPicker should the tree pick one or multiple members before returning
+ * @param {Function} options.callback callback function
+ * @returns {Object} modal object
+ */
+ memberPicker: function (options) {
+
+ options.treeAlias = "member";
+ options.section = "member";
+
+ return this.treePicker(options);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#memberGroupPicker
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Opens a member group picker in a modal, the callback returns a object representing the selected member
+ * @param {Object} options member group picker dialog options object
+ * @param {Boolean} options.multiPicker should the tree pick one or multiple members before returning
+ * @param {Function} options.callback callback function
+ * @returns {Object} modal object
+ */
+ memberGroupPicker: function (options) {
+ options.template = 'views/common/dialogs/memberGroupPicker.html';
+ options.show = true;
+ return openDialog(options);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#iconPicker
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Opens a icon picker in a modal, the callback returns a object representing the selected icon
+ * @param {Object} options iconpicker dialog options object
+ * @param {Function} options.callback callback function
+ * @returns {Object} modal object
+ */
+ iconPicker: function (options) {
+ options.template = 'views/common/dialogs/iconPicker.html';
+ options.show = true;
+ return openDialog(options);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#treePicker
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Opens a tree picker in a modal, the callback returns a object representing the selected tree item
+ * @param {Object} options iconpicker dialog options object
+ * @param {String} options.section tree section to display
+ * @param {String} options.treeAlias specific tree to display
+ * @param {Boolean} options.multiPicker should the tree pick one or multiple items before returning
+ * @param {Function} options.callback callback function
+ * @returns {Object} modal object
+ */
+ treePicker: function (options) {
+ options.template = 'views/common/dialogs/treePicker.html';
+ options.show = true;
+ return openDialog(options);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#propertyDialog
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Opens a dialog with a chosen property editor in, a value can be passed to the modal, and this value is returned in the callback
+ * @param {Object} options mediapicker dialog options object
+ * @param {Function} options.callback callback function
+ * @param {String} editor editor to use to edit a given value and return on callback
+ * @param {Object} value value sent to the property editor
+ * @returns {Object} modal object
+ */
+ //TODO: Wtf does this do? I don't think anything!
+ propertyDialog: function (options) {
+ options.template = 'views/common/dialogs/property.html';
+ options.show = true;
+ return openDialog(options);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#embedDialog
+ * @methodOf umbraco.services.dialogService
+ * @description
+ * Opens a dialog to an embed dialog
+ */
+ embedDialog: function (options) {
+ options.template = 'views/common/dialogs/rteembed.html';
+ options.show = true;
+ return openDialog(options);
+ },
+ /**
+ * @ngdoc method
+ * @name umbraco.services.dialogService#ysodDialog
+ * @methodOf umbraco.services.dialogService
+ *
+ * @description
+ * Opens a dialog to show a custom YSOD
+ */
+ ysodDialog: function (ysodError) {
+
+ var newScope = $rootScope.$new();
+ newScope.error = ysodError;
+ return openDialog({
+ modalClass: "umb-modal wide ysod",
+ scope: newScope,
+ //callback: options.callback,
+ template: 'views/common/dialogs/ysod.html',
+ show: true
+ });
+ },
+
+ confirmDialog: function (ysodError) {
+
+ options.template = 'views/common/dialogs/confirm.html';
+ options.show = true;
+ return openDialog(options);
+ }
+ };
+});
+/** Used to broadcast and listen for global events and allow the ability to add async listeners to the callbacks */
+
+/*
+ Core app events:
+
+ app.ready
+ app.authenticated
+ app.notAuthenticated
+ app.closeDialogs
+*/
+
+function eventsService($q, $rootScope) {
+
+ return {
+
+ /** raise an event with a given name, returns an array of promises for each listener */
+ emit: function (name, args) {
+
+ //there are no listeners
+ if (!$rootScope.$$listeners[name]) {
+ return;
+ //return [];
+ }
+
+ //send the event
+ $rootScope.$emit(name, args);
+
+
+ //PP: I've commented out the below, since we currently dont
+ // expose the eventsService as a documented api
+ // and think we need to figure out our usecases for this
+ // since the below modifies the return value of the then on() method
+ /*
+ //setup a deferred promise for each listener
+ var deferred = [];
+ for (var i = 0; i < $rootScope.$$listeners[name].length; i++) {
+ deferred.push($q.defer());
+ }*/
+
+ //create a new event args object to pass to the
+ // $emit containing methods that will allow listeners
+ // to return data in an async if required
+ /*
+ var eventArgs = {
+ args: args,
+ reject: function (a) {
+ deferred.pop().reject(a);
+ },
+ resolve: function (a) {
+ deferred.pop().resolve(a);
+ }
+ };*/
+
+
+
+ /*
+ //return an array of promises
+ var promises = _.map(deferred, function(p) {
+ return p.promise;
+ });
+ return promises;*/
+ },
+
+ /** subscribe to a method, or use scope.$on = same thing */
+ on: function(name, callback) {
+ return $rootScope.$on(name, callback);
+ },
+
+ /** pass in the result of 'on' to this method, or just call the method returned from 'on' to unsubscribe */
+ unsubscribe: function(handle) {
+ if (angular.isFunction(handle)) {
+ handle();
+ }
+ }
+ };
+}
+
+angular.module('umbraco.services').factory('eventsService', eventsService);
+/**
+ * @ngdoc service
+ * @name umbraco.services.fileManager
+ * @function
+ *
+ * @description
+ * Used by editors to manage any files that require uploading with the posted data, normally called by property editors
+ * that need to attach files.
+ * When a route changes successfully, we ensure that the collection is cleared.
+ */
+function fileManager() {
+
+ var fileCollection = [];
+
+ return {
+ /**
+ * @ngdoc function
+ * @name umbraco.services.fileManager#addFiles
+ * @methodOf umbraco.services.fileManager
+ * @function
+ *
+ * @description
+ * Attaches files to the current manager for the current editor for a particular property, if an empty array is set
+ * for the files collection that effectively clears the files for the specified editor.
+ */
+ setFiles: function(propertyAlias, files) {
+ //this will clear the files for the current property and then add the new ones for the current property
+ fileCollection = _.reject(fileCollection, function (item) {
+ return item.alias === propertyAlias;
+ });
+ for (var i = 0; i < files.length; i++) {
+ //save the file object to the files collection
+ fileCollection.push({ alias: propertyAlias, file: files[i] });
+ }
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.fileManager#getFiles
+ * @methodOf umbraco.services.fileManager
+ * @function
+ *
+ * @description
+ * Returns all of the files attached to the file manager
+ */
+ getFiles: function() {
+ return fileCollection;
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.fileManager#clearFiles
+ * @methodOf umbraco.services.fileManager
+ * @function
+ *
+ * @description
+ * Removes all files from the manager
+ */
+ clearFiles: function () {
+ fileCollection = [];
+ }
+};
+}
+
+angular.module('umbraco.services').factory('fileManager', fileManager);
+/**
+ * @ngdoc service
+ * @name umbraco.services.formHelper
+ * @function
+ *
+ * @description
+ * A utility class used to streamline how forms are developed, to ensure that validation is check and displayed consistently and to ensure that the correct events
+ * fire when they need to.
+ */
+function formHelper(angularHelper, serverValidationManager, $timeout, notificationsService, dialogService) {
+ return {
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.formHelper#submitForm
+ * @methodOf umbraco.services.formHelper
+ * @function
+ *
+ * @description
+ * Called by controllers when submitting a form - this ensures that all client validation is checked,
+ * server validation is cleared, that the correct events execute and status messages are displayed.
+ * This returns true if the form is valid, otherwise false if form submission cannot continue.
+ *
+ * @param {object} args An object containing arguments for form submission
+ */
+ submitForm: function (args) {
+
+ var currentForm;
+
+ if (!args) {
+ throw "args cannot be null";
+ }
+ if (!args.scope) {
+ throw "args.scope cannot be null";
+ }
+ if (!args.formCtrl) {
+ //try to get the closest form controller
+ currentForm = angularHelper.getRequiredCurrentForm(args.scope);
+ }
+ else {
+ currentForm = args.formCtrl;
+ }
+ //if no statusPropertyName is set we'll default to formStatus.
+ if (!args.statusPropertyName) {
+ args.statusPropertyName = "formStatus";
+ }
+ //if no statusTimeout is set, we'll default to 2500 ms
+ if (!args.statusTimeout) {
+ args.statusTimeout = 2500;
+ }
+
+ //the first thing any form must do is broadcast the formSubmitting event
+ args.scope.$broadcast("formSubmitting", { scope: args.scope });
+
+ //then check if the form is valid
+ if (!args.skipValidation) {
+ if (currentForm.$invalid) {
+ return false;
+ }
+ }
+
+ //reset the server validations
+ serverValidationManager.reset();
+
+ //check if a form status should be set on the scope
+ if (args.statusMessage) {
+ args.scope[args.statusPropertyName] = args.statusMessage;
+
+ //clear the message after the timeout
+ $timeout(function () {
+ args.scope[args.statusPropertyName] = undefined;
+ }, args.statusTimeout);
+ }
+
+ return true;
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.formHelper#submitForm
+ * @methodOf umbraco.services.formHelper
+ * @function
+ *
+ * @description
+ * Called by controllers when a form has been successfully submitted. the correct events execute
+ * and that the notifications are displayed if there are any.
+ *
+ * @param {object} args An object containing arguments for form submission
+ */
+ resetForm: function (args) {
+ if (!args) {
+ throw "args cannot be null";
+ }
+ if (!args.scope) {
+ throw "args.scope cannot be null";
+ }
+
+ //if no statusPropertyName is set we'll default to formStatus.
+ if (!args.statusPropertyName) {
+ args.statusPropertyName = "formStatus";
+ }
+ //clear the status
+ args.scope[args.statusPropertyName] = null;
+
+ if (angular.isArray(args.notifications)) {
+ for (var i = 0; i < args.notifications.length; i++) {
+ notificationsService.showNotification(args.notifications[i]);
+ }
+ }
+
+ args.scope.$broadcast("formSubmitted", { scope: args.scope });
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.formHelper#handleError
+ * @methodOf umbraco.services.formHelper
+ * @function
+ *
+ * @description
+ * Needs to be called when a form submission fails, this will wire up all server validation errors in ModelState and
+ * add the correct messages to the notifications. If a server error has occurred this will show a ysod.
+ *
+ * @param {object} err The error object returned from the http promise
+ */
+ handleError: function (err) {
+ //When the status is a 400 status with a custom header: X-Status-Reason: Validation failed, we have validation errors.
+ //Otherwise the error is probably due to invalid data (i.e. someone mucking around with the ids or something).
+ //Or, some strange server error
+ if (err.status === 400) {
+ //now we need to look through all the validation errors
+ if (err.data && (err.data.ModelState)) {
+
+ //wire up the server validation errs
+ this.handleServerValidation(err.data.ModelState);
+
+ //execute all server validation events and subscribers
+ serverValidationManager.executeAndClearAllSubscriptions();
+ }
+ else {
+ dialogService.ysodDialog(err);
+ }
+ }
+ else {
+ dialogService.ysodDialog(err);
+ }
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.formHelper#handleServerValidation
+ * @methodOf umbraco.services.formHelper
+ * @function
+ *
+ * @description
+ * This wires up all of the server validation model state so that valServer and valServerField directives work
+ *
+ * @param {object} err The error object returned from the http promise
+ */
+ handleServerValidation: function(modelState) {
+ for (var e in modelState) {
+
+ //the alias in model state can be in dot notation which indicates
+ // * the first part is the content property alias
+ // * the second part is the field to which the valiation msg is associated with
+ //There will always be at least 2 parts for properties since all model errors for properties are prefixed with "Properties"
+ //If it is not prefixed with "Properties" that means the error is for a field of the object directly.
+
+ var parts = e.split(".");
+ if (parts.length > 1) {
+ var propertyAlias = parts[1];
+
+ //if it contains 2 '.' then we will wire it up to a property's field
+ if (parts.length > 2) {
+ //add an error with a reference to the field for which the validation belongs too
+ serverValidationManager.addPropertyError(propertyAlias, parts[2], modelState[e][0]);
+ }
+ else {
+ //add a generic error for the property, no reference to a specific field
+ serverValidationManager.addPropertyError(propertyAlias, "", modelState[e][0]);
+ }
+
+ }
+ else {
+ //the parts are only 1, this means its not a property but a native content property
+ serverValidationManager.addFieldError(parts[0], modelState[e][0]);
+ }
+
+ //add to notifications
+ notificationsService.error("Validation", modelState[e][0]);
+ }
+ }
+ };
+}
+angular.module('umbraco.services').factory('formHelper', formHelper);
+angular.module('umbraco.services')
+ .factory('gridService', function ($http, $q){
+
+ var configPath = Umbraco.Sys.ServerVariables.umbracoUrls.gridConfig;
+ var service = {
+ getGridEditors: function () {
+ return $http.get(configPath);
+ }
+ };
+
+ return service;
+
+ });
+
+angular.module('umbraco.services')
+ .factory('helpService', function ($http, $q){
+ var helpTopics = {};
+
+ var defaultUrl = "http://our.umbraco.org/rss/help";
+ var tvUrl = "http://umbraco.tv/feeds/help";
+
+ function getCachedHelp(url){
+ if(helpTopics[url]){
+ return helpTopics[cacheKey];
+ }else{
+ return null;
+ }
+ }
+
+ function setCachedHelp(url, data){
+ helpTopics[url] = data;
+ }
+
+ function fetchUrl(url){
+ var deferred = $q.defer();
+ var found = getCachedHelp(url);
+
+ if(found){
+ deferred.resolve(found);
+ }else{
+
+ var proxyUrl = "dashboard/feedproxy.aspx?url=" + url;
+ $http.get(proxyUrl).then(function(data){
+ var feed = $(data.data);
+ var topics = [];
+
+ $('item', feed).each(function (i, item) {
+ var topic = {};
+ topic.thumbnail = $(item).find('thumbnail').attr('url');
+ topic.title = $("title", item).text();
+ topic.link = $("guid", item).text();
+ topic.description = $("description", item).text();
+ topics.push(topic);
+ });
+
+ setCachedHelp(topics);
+ deferred.resolve(topics);
+ });
+ }
+
+ return deferred.promise;
+ }
+
+
+
+ var service = {
+ findHelp: function (args) {
+ var url = service.getUrl(defaultUrl, args);
+ return fetchUrl(url);
+ },
+
+ findVideos: function (args) {
+ var url = service.getUrl(tvUrl, args);
+ return fetchUrl(url);
+ },
+
+ getUrl: function(url, args){
+ return url + "?" + $.param(args);
+ }
+ };
+
+ return service;
+
+ });
+/**
+ * @ngdoc service
+ * @name umbraco.services.historyService
+ *
+ * @requires $rootScope
+ * @requires $timeout
+ * @requires angularHelper
+ *
+ * @description
+ * Service to handle the main application navigation history. Responsible for keeping track
+ * of where a user navigates to, stores an icon, url and name in a collection, to make it easy
+ * for the user to go back to a previous editor / action
+ *
+ * **Note:** only works with new angular-based editors, not legacy ones
+ *
+ * ##usage
+ * To use, simply inject the historyService into any controller that needs it, and make
+ * sure the umbraco.services module is accesible - which it should be by default.
+ *
+ *
+ * @param {Object} args arguments passed to the function
+ * @param {String} args.tree the tree alias to sync to
+ * @param {Array} args.path the path to sync the tree to
+ * @param {Boolean} args.forceReload optional, specifies whether to force reload the node data from the server even if it already exists in the tree currently
+ * @param {Boolean} args.activate optional, specifies whether to set the synced node to be the active node, this will default to true if not specified
+ */
+ syncTree: function (args) {
+ if (!args) {
+ throw "args cannot be null";
+ }
+ if (!args.path) {
+ throw "args.path cannot be null";
+ }
+ if (!args.tree) {
+ throw "args.tree cannot be null";
+ }
+
+ if (mainTreeEventHandler) {
+ //returns a promise
+ return mainTreeEventHandler.syncTree(args);
+ }
+
+ //couldn't sync
+ return angularHelper.rejectedPromise();
+ },
+
+ /**
+ Internal method that should ONLY be used by the legacy API wrapper, the legacy API used to
+ have to set an active tree and then sync, the new API does this in one method by using syncTree
+ */
+ _syncPath: function(path, forceReload) {
+ if (mainTreeEventHandler) {
+ mainTreeEventHandler.syncTree({ path: path, forceReload: forceReload });
+ }
+ },
+
+ //TODO: This should return a promise
+ reloadNode: function(node) {
+ if (mainTreeEventHandler) {
+ mainTreeEventHandler.reloadNode(node);
+ }
+ },
+
+ //TODO: This should return a promise
+ reloadSection: function(sectionAlias) {
+ if (mainTreeEventHandler) {
+ mainTreeEventHandler.clearCache({ section: sectionAlias });
+ mainTreeEventHandler.load(sectionAlias);
+ }
+ },
+
+ /**
+ Internal method that should ONLY be used by the legacy API wrapper, the legacy API used to
+ have to set an active tree and then sync, the new API does this in one method by using syncTreePath
+ */
+ _setActiveTreeType: function (treeAlias, loadChildren) {
+ if (mainTreeEventHandler) {
+ mainTreeEventHandler._setActiveTreeType(treeAlias, loadChildren);
+ }
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.navigationService#hideTree
+ * @methodOf umbraco.services.navigationService
+ *
+ * @description
+ * Hides the tree by hiding the containing dom element
+ */
+ hideTree: function() {
+
+ if (appState.getGlobalState("isTablet") === true && !appState.getGlobalState("stickyNavigation")) {
+ //reset it to whatever is in the url
+ appState.setSectionState("currentSection", $routeParams.section);
+ setMode("default-hidesectiontree");
+ }
+
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.navigationService#showMenu
+ * @methodOf umbraco.services.navigationService
+ *
+ * @description
+ * Hides the tree by hiding the containing dom element.
+ * This always returns a promise!
+ *
+ * @param {Event} event the click event triggering the method, passed from the DOM element
+ */
+ showMenu: function(event, args) {
+
+ var deferred = $q.defer();
+ var self = this;
+
+ treeService.getMenu({ treeNode: args.node })
+ .then(function(data) {
+
+ //check for a default
+ //NOTE: event will be undefined when a call to hideDialog is made so it won't re-load the default again.
+ // but perhaps there's a better way to deal with with an additional parameter in the args ? it works though.
+ if (data.defaultAlias && !args.skipDefault) {
+
+ var found = _.find(data.menuItems, function(item) {
+ return item.alias = data.defaultAlias;
+ });
+
+ if (found) {
+
+ //NOTE: This is assigning the current action node - this is not the same as the currently selected node!
+ appState.setMenuState("currentNode", args.node);
+
+ //ensure the current dialog is cleared before creating another!
+ if (currentDialog) {
+ dialogService.close(currentDialog);
+ }
+
+ var dialog = self.showDialog({
+ node: args.node,
+ action: found,
+ section: appState.getSectionState("currentSection")
+ });
+
+ //return the dialog this is opening.
+ deferred.resolve(dialog);
+ return;
+ }
+ }
+
+ //there is no default or we couldn't find one so just continue showing the menu
+
+ setMode("menu");
+
+ appState.setMenuState("currentNode", args.node);
+ appState.setMenuState("menuActions", data.menuItems);
+ appState.setMenuState("dialogTitle", args.node.name);
+
+ //we're not opening a dialog, return null.
+ deferred.resolve(null);
+ });
+
+ return deferred.promise;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.navigationService#hideMenu
+ * @methodOf umbraco.services.navigationService
+ *
+ * @description
+ * Hides the menu by hiding the containing dom element
+ */
+ hideMenu: function() {
+ //SD: Would we ever want to access the last action'd node instead of clearing it here?
+ appState.setMenuState("currentNode", null);
+ appState.setMenuState("menuActions", []);
+ setMode("tree");
+ },
+
+ /** Executes a given menu action */
+ executeMenuAction: function (action, node, section) {
+
+ if (!action) {
+ throw "action cannot be null";
+ }
+ if (!node) {
+ throw "node cannot be null";
+ }
+ if (!section) {
+ throw "section cannot be null";
+ }
+
+ if (action.metaData && action.metaData["actionRoute"] && angular.isString(action.metaData["actionRoute"])) {
+ //first check if the menu item simply navigates to a route
+ var parts = action.metaData["actionRoute"].split("?");
+ $location.path(parts[0]).search(parts.length > 1 ? parts[1] : "");
+ this.hideNavigation();
+ return;
+ }
+ else if (action.metaData && action.metaData["jsAction"] && angular.isString(action.metaData["jsAction"])) {
+
+ //we'll try to get the jsAction from the injector
+ var menuAction = action.metaData["jsAction"].split('.');
+ if (menuAction.length !== 2) {
+
+ //if it is not two parts long then this most likely means that it's a legacy action
+ var js = action.metaData["jsAction"].replace("javascript:", "");
+ //there's not really a different way to acheive this except for eval
+ eval(js);
+ }
+ else {
+ var menuActionService = $injector.get(menuAction[0]);
+ if (!menuActionService) {
+ throw "The angular service " + menuAction[0] + " could not be found";
+ }
+
+ var method = menuActionService[menuAction[1]];
+
+ if (!method) {
+ throw "The method " + menuAction[1] + " on the angular service " + menuAction[0] + " could not be found";
+ }
+
+ method.apply(this, [{
+ //map our content object to a basic entity to pass in to the menu handlers,
+ //this is required for consistency since a menu item needs to be decoupled from a tree node since the menu can
+ //exist standalone in the editor for which it can only pass in an entity (not tree node).
+ entity: umbModelMapper.convertToEntityBasic(node),
+ action: action,
+ section: section,
+ treeAlias: treeService.getTreeAlias(node)
+ }]);
+ }
+ }
+ else {
+ service.showDialog({
+ node: node,
+ action: action,
+ section: section
+ });
+ }
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.navigationService#showUserDialog
+ * @methodOf umbraco.services.navigationService
+ *
+ * @description
+ * Opens the user dialog, next to the sections navigation
+ * template is located in views/common/dialogs/user.html
+ */
+ showUserDialog: function () {
+ // hide tray and close help dialog
+ if (service.helpDialog) {
+ service.helpDialog.close();
+ }
+ service.hideTray();
+
+ if (service.userDialog) {
+ service.userDialog.close();
+ service.userDialog = undefined;
+ }
+
+ service.userDialog = dialogService.open(
+ {
+ template: "views/common/dialogs/user.html",
+ modalClass: "umb-modal-left",
+ show: true
+ });
+
+ return service.userDialog;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.navigationService#showUserDialog
+ * @methodOf umbraco.services.navigationService
+ *
+ * @description
+ * Opens the user dialog, next to the sections navigation
+ * template is located in views/common/dialogs/user.html
+ */
+ showHelpDialog: function () {
+ // hide tray and close user dialog
+ service.hideTray();
+ if (service.userDialog) {
+ service.userDialog.close();
+ }
+
+ if(service.helpDialog){
+ service.helpDialog.close();
+ service.helpDialog = undefined;
+ }
+
+ service.helpDialog = dialogService.open(
+ {
+ template: "views/common/dialogs/help.html",
+ modalClass: "umb-modal-left",
+ show: true
+ });
+
+ return service.helpDialog;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.navigationService#showDialog
+ * @methodOf umbraco.services.navigationService
+ *
+ * @description
+ * Opens a dialog, for a given action on a given tree node
+ * uses the dialogService to inject the selected action dialog
+ * into #dialog div.umb-panel-body
+ * the path to the dialog view is determined by:
+ * "views/" + current tree + "/" + action alias + ".html"
+ * The dialog controller will get passed a scope object that is created here with the properties:
+ * scope.currentNode = the selected tree node
+ * scope.currentAction = the selected menu item
+ * so that the dialog controllers can use these properties
+ *
+ * @param {Object} args arguments passed to the function
+ * @param {Scope} args.scope current scope passed to the dialog
+ * @param {Object} args.action the clicked action containing `name` and `alias`
+ */
+ showDialog: function(args) {
+
+ if (!args) {
+ throw "showDialog is missing the args parameter";
+ }
+ if (!args.action) {
+ throw "The args parameter must have an 'action' property as the clicked menu action object";
+ }
+ if (!args.node) {
+ throw "The args parameter must have a 'node' as the active tree node";
+ }
+
+ //ensure the current dialog is cleared before creating another!
+ if (currentDialog) {
+ dialogService.close(currentDialog);
+ }
+
+ setMode("dialog");
+
+ //NOTE: Set up the scope object and assign properties, this is legacy functionality but we have to live with it now.
+ // we should be passing in currentNode and currentAction using 'dialogData' for the dialog, not attaching it to a scope.
+ // This scope instance will be destroyed by the dialog so it cannot be a scope that exists outside of the dialog.
+ // If a scope instance has been passed in, we'll have to create a child scope of it, otherwise a new root scope.
+ var dialogScope = args.scope ? args.scope.$new() : $rootScope.$new();
+ dialogScope.currentNode = args.node;
+ dialogScope.currentAction = args.action;
+
+ //the title might be in the meta data, check there first
+ if (args.action.metaData["dialogTitle"]) {
+ appState.setMenuState("dialogTitle", args.action.metaData["dialogTitle"]);
+ }
+ else {
+ appState.setMenuState("dialogTitle", args.action.name);
+ }
+
+ var templateUrl;
+ var iframe;
+
+ if (args.action.metaData["actionUrl"]) {
+ templateUrl = args.action.metaData["actionUrl"];
+ iframe = true;
+ }
+ else if (args.action.metaData["actionView"]) {
+ templateUrl = args.action.metaData["actionView"];
+ iframe = false;
+ }
+ else {
+
+ //by convention we will look into the /views/{treetype}/{action}.html
+ // for example: /views/content/create.html
+
+ //we will also check for a 'packageName' for the current tree, if it exists then the convention will be:
+ // for example: /App_Plugins/{mypackage}/backoffice/{treetype}/create.html
+
+ var treeAlias = treeService.getTreeAlias(args.node);
+ var packageTreeFolder = treeService.getTreePackageFolder(treeAlias);
+
+ if (!treeAlias) {
+ throw "Could not get tree alias for node " + args.node.id;
+ }
+
+ if (packageTreeFolder) {
+ templateUrl = Umbraco.Sys.ServerVariables.umbracoSettings.appPluginsPath +
+ "/" + packageTreeFolder +
+ "/backoffice/" + treeAlias + "/" + args.action.alias + ".html";
+ }
+ else {
+ templateUrl = "views/" + treeAlias + "/" + args.action.alias + ".html";
+ }
+
+ iframe = false;
+ }
+
+ //TODO: some action's want to launch a new window like live editing, we support this in the menu item's metadata with
+ // a key called: "actionUrlMethod" which can be set to either: Dialog, BlankWindow. Normally this is always set to Dialog
+ // if a URL is specified in the "actionUrl" metadata. For now I'm not going to implement launching in a blank window,
+ // though would be v-easy, just not sure we want to ever support that?
+
+ var dialog = dialogService.open(
+ {
+ container: $("#dialog div.umb-modalcolumn-body"),
+ //The ONLY reason we're passing in scope to the dialogService (which is legacy functionality) is
+ // for backwards compatibility since many dialogs require $scope.currentNode or $scope.currentAction
+ // to exist
+ scope: dialogScope,
+ inline: true,
+ show: true,
+ iframe: iframe,
+ modalClass: "umb-dialog",
+ template: templateUrl,
+
+ //These will show up on the dialog controller's $scope under dialogOptions
+ currentNode: args.node,
+ currentAction: args.action,
+ });
+
+ //save the currently assigned dialog so it can be removed before a new one is created
+ currentDialog = dialog;
+ return dialog;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.navigationService#hideDialog
+ * @methodOf umbraco.services.navigationService
+ *
+ * @description
+ * hides the currently open dialog
+ */
+ hideDialog: function (showMenu) {
+
+ setMode("default");
+
+ if(showMenu){
+ this.showMenu(undefined, { skipDefault: true, node: appState.getMenuState("currentNode") });
+ }
+ },
+ /**
+ * @ngdoc method
+ * @name umbraco.services.navigationService#showSearch
+ * @methodOf umbraco.services.navigationService
+ *
+ * @description
+ * shows the search pane
+ */
+ showSearch: function() {
+ setMode("search");
+ },
+ /**
+ * @ngdoc method
+ * @name umbraco.services.navigationService#hideSearch
+ * @methodOf umbraco.services.navigationService
+ *
+ * @description
+ * hides the search pane
+ */
+ hideSearch: function() {
+ setMode("default-hidesearch");
+ },
+ /**
+ * @ngdoc method
+ * @name umbraco.services.navigationService#hideNavigation
+ * @methodOf umbraco.services.navigationService
+ *
+ * @description
+ * hides any open navigation panes and resets the tree, actions and the currently selected node
+ */
+ hideNavigation: function() {
+ appState.setMenuState("menuActions", []);
+ setMode("default");
+ }
+ };
+
+ return service;
+}
+
+angular.module('umbraco.services').factory('navigationService', navigationService);
+
+/**
+ * @ngdoc service
+ * @name umbraco.services.notificationsService
+ *
+ * @requires $rootScope
+ * @requires $timeout
+ * @requires angularHelper
+ *
+ * @description
+ * Application-wide service for handling notifications, the umbraco application
+ * maintains a single collection of notications, which the UI watches for changes.
+ * By default when a notication is added, it is automaticly removed 7 seconds after
+ * This can be changed on add()
+ *
+ * ##usage
+ * To use, simply inject the notificationsService into any controller that needs it, and make
+ * sure the umbraco.services module is accesible - which it should be by default.
+ *
+ *
+ */
+angular.module('umbraco.services')
+.factory('searchService', function ($q, $log, entityResource, contentResource, umbRequestHelper) {
+
+ function configureMemberResult(member) {
+ member.menuUrl = umbRequestHelper.getApiUrl("memberTreeBaseUrl", "GetMenu", [{ id: member.id }, { application: 'member' }]);
+ member.editorPath = "member/member/edit/" + (member.key ? member.key : member.id);
+ angular.extend(member.metaData, { treeAlias: "member" });
+ member.subTitle = member.metaData.Email;
+ }
+
+ function configureMediaResult(media)
+ {
+ media.menuUrl = umbRequestHelper.getApiUrl("mediaTreeBaseUrl", "GetMenu", [{ id: media.id }, { application: 'media' }]);
+ media.editorPath = "media/media/edit/" + media.id;
+ angular.extend(media.metaData, { treeAlias: "media" });
+ }
+
+ function configureContentResult(content) {
+ content.menuUrl = umbRequestHelper.getApiUrl("contentTreeBaseUrl", "GetMenu", [{ id: content.id }, { application: 'content' }]);
+ content.editorPath = "content/content/edit/" + content.id;
+ angular.extend(content.metaData, { treeAlias: "content" });
+ content.subTitle = content.metaData.Url;
+ }
+
+ return {
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.searchService#searchMembers
+ * @methodOf umbraco.services.searchService
+ *
+ * @description
+ * Searches the default member search index
+ * @param {Object} args argument object
+ * @param {String} args.term seach term
+ * @returns {Promise} returns promise containing all matching members
+ */
+ searchMembers: function(args) {
+
+ if (!args.term) {
+ throw "args.term is required";
+ }
+
+ return entityResource.search(args.term, "Member", args.searchFrom).then(function (data) {
+ _.each(data, function(item) {
+ configureMemberResult(item);
+ });
+ return data;
+ });
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.searchService#searchContent
+ * @methodOf umbraco.services.searchService
+ *
+ * @description
+ * Searches the default internal content search index
+ * @param {Object} args argument object
+ * @param {String} args.term seach term
+ * @returns {Promise} returns promise containing all matching content items
+ */
+ searchContent: function(args) {
+
+ if (!args.term) {
+ throw "args.term is required";
+ }
+
+ return entityResource.search(args.term, "Document", args.searchFrom, args.canceler).then(function (data) {
+ _.each(data, function (item) {
+ configureContentResult(item);
+ });
+ return data;
+ });
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.searchService#searchMedia
+ * @methodOf umbraco.services.searchService
+ *
+ * @description
+ * Searches the default media search index
+ * @param {Object} args argument object
+ * @param {String} args.term seach term
+ * @returns {Promise} returns promise containing all matching media items
+ */
+ searchMedia: function(args) {
+
+ if (!args.term) {
+ throw "args.term is required";
+ }
+
+ return entityResource.search(args.term, "Media", args.searchFrom).then(function (data) {
+ _.each(data, function (item) {
+ configureMediaResult(item);
+ });
+ return data;
+ });
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.searchService#searchAll
+ * @methodOf umbraco.services.searchService
+ *
+ * @description
+ * Searches all available indexes and returns all results in one collection
+ * @param {Object} args argument object
+ * @param {String} args.term seach term
+ * @returns {Promise} returns promise containing all matching items
+ */
+ searchAll: function (args) {
+
+ if (!args.term) {
+ throw "args.term is required";
+ }
+
+ return entityResource.searchAll(args.term, args.canceler).then(function (data) {
+
+ _.each(data, function(resultByType) {
+ switch(resultByType.type) {
+ case "Document":
+ _.each(resultByType.results, function (item) {
+ configureContentResult(item);
+ });
+ break;
+ case "Media":
+ _.each(resultByType.results, function (item) {
+ configureMediaResult(item);
+ });
+ break;
+ case "Member":
+ _.each(resultByType.results, function (item) {
+ configureMemberResult(item);
+ });
+ break;
+ }
+ });
+
+ return data;
+ });
+
+ },
+
+ //TODO: This doesn't do anything!
+ setCurrent: function(sectionAlias) {
+
+ var currentSection = sectionAlias;
+ }
+ };
+});
+/**
+ * @ngdoc service
+ * @name umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Used to handle server side validation and wires up the UI with the messages. There are 2 types of validation messages, one
+ * is for user defined properties (called Properties) and the other is for field properties which are attached to the native
+ * model objects (not user defined). The methods below are named according to these rules: Properties vs Fields.
+ */
+function serverValidationManager($timeout) {
+
+ var callbacks = [];
+
+ /** calls the callback specified with the errors specified, used internally */
+ function executeCallback(self, errorsForCallback, callback) {
+
+ callback.apply(self, [
+ false, //pass in a value indicating it is invalid
+ errorsForCallback, //pass in the errors for this item
+ self.items]); //pass in all errors in total
+ }
+
+ function getFieldErrors(self, fieldName) {
+ if (!angular.isString(fieldName)) {
+ throw "fieldName must be a string";
+ }
+
+ //find errors for this field name
+ return _.filter(self.items, function (item) {
+ return (item.propertyAlias === null && item.fieldName === fieldName);
+ });
+ }
+
+ function getPropertyErrors(self, propertyAlias, fieldName) {
+ if (!angular.isString(propertyAlias)) {
+ throw "propertyAlias must be a string";
+ }
+ if (fieldName && !angular.isString(fieldName)) {
+ throw "fieldName must be a string";
+ }
+
+ //find all errors for this property
+ return _.filter(self.items, function (item) {
+ return (item.propertyAlias === propertyAlias && (item.fieldName === fieldName || (fieldName === undefined || fieldName === "")));
+ });
+ }
+
+ return {
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.serverValidationManager#subscribe
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * This method needs to be called once all field and property errors are wired up.
+ *
+ * In some scenarios where the error collection needs to be persisted over a route change
+ * (i.e. when a content item (or any item) is created and the route redirects to the editor)
+ * the controller should call this method once the data is bound to the scope
+ * so that any persisted validation errors are re-bound to their controls. Once they are re-binded this then clears the validation
+ * colleciton so that if another route change occurs, the previously persisted validation errors are not re-bound to the new item.
+ */
+ executeAndClearAllSubscriptions: function() {
+
+ var self = this;
+
+ $timeout(function () {
+
+ for (var cb in callbacks) {
+ if (callbacks[cb].propertyAlias === null) {
+ //its a field error callback
+ var fieldErrors = getFieldErrors(self, callbacks[cb].fieldName);
+ if (fieldErrors.length > 0) {
+ executeCallback(self, fieldErrors, callbacks[cb].callback);
+ }
+ }
+ else {
+ //its a property error
+ var propErrors = getPropertyErrors(self, callbacks[cb].propertyAlias, callbacks[cb].fieldName);
+ if (propErrors.length > 0) {
+ executeCallback(self, propErrors, callbacks[cb].callback);
+ }
+ }
+ }
+ //now that they are all executed, we're gonna clear all of the errors we have
+ self.clear();
+ });
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.serverValidationManager#subscribe
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Adds a callback method that is executed whenever validation changes for the field name + property specified.
+ * This is generally used for server side validation in order to match up a server side validation error with
+ * a particular field, otherwise we can only pinpoint that there is an error for a content property, not the
+ * property's specific field. This is used with the val-server directive in which the directive specifies the
+ * field alias to listen for.
+ * If propertyAlias is null, then this subscription is for a field property (not a user defined property).
+ */
+ subscribe: function (propertyAlias, fieldName, callback) {
+ if (!callback) {
+ return;
+ }
+
+ if (propertyAlias === null) {
+ //don't add it if it already exists
+ var exists1 = _.find(callbacks, function (item) {
+ return item.propertyAlias === null && item.fieldName === fieldName;
+ });
+ if (!exists1) {
+ callbacks.push({ propertyAlias: null, fieldName: fieldName, callback: callback });
+ }
+ }
+ else if (propertyAlias !== undefined) {
+ //don't add it if it already exists
+ var exists2 = _.find(callbacks, function (item) {
+ return item.propertyAlias === propertyAlias && item.fieldName === fieldName;
+ });
+ if (!exists2) {
+ callbacks.push({ propertyAlias: propertyAlias, fieldName: fieldName, callback: callback });
+ }
+ }
+ },
+
+ unsubscribe: function (propertyAlias, fieldName) {
+
+ if (propertyAlias === null) {
+
+ //remove all callbacks for the content field
+ callbacks = _.reject(callbacks, function (item) {
+ return item.propertyAlias === null && item.fieldName === fieldName;
+ });
+
+ }
+ else if (propertyAlias !== undefined) {
+
+ //remove all callbacks for the content property
+ callbacks = _.reject(callbacks, function (item) {
+ return item.propertyAlias === propertyAlias &&
+ (item.fieldName === fieldName ||
+ ((item.fieldName === undefined || item.fieldName === "") && (fieldName === undefined || fieldName === "")));
+ });
+ }
+
+
+ },
+
+
+ /**
+ * @ngdoc function
+ * @name getPropertyCallbacks
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Gets all callbacks that has been registered using the subscribe method for the propertyAlias + fieldName combo.
+ * This will always return any callbacks registered for just the property (i.e. field name is empty) and for ones with an
+ * explicit field name set.
+ */
+ getPropertyCallbacks: function (propertyAlias, fieldName) {
+ var found = _.filter(callbacks, function (item) {
+ //returns any callback that have been registered directly against the field and for only the property
+ return (item.propertyAlias === propertyAlias && (item.fieldName === fieldName || (item.fieldName === undefined || item.fieldName === "")));
+ });
+ return found;
+ },
+
+ /**
+ * @ngdoc function
+ * @name getFieldCallbacks
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Gets all callbacks that has been registered using the subscribe method for the field.
+ */
+ getFieldCallbacks: function (fieldName) {
+ var found = _.filter(callbacks, function (item) {
+ //returns any callback that have been registered directly against the field
+ return (item.propertyAlias === null && item.fieldName === fieldName);
+ });
+ return found;
+ },
+
+ /**
+ * @ngdoc function
+ * @name addFieldError
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Adds an error message for a native content item field (not a user defined property, for Example, 'Name')
+ */
+ addFieldError: function(fieldName, errorMsg) {
+ if (!fieldName) {
+ return;
+ }
+
+ //only add the item if it doesn't exist
+ if (!this.hasFieldError(fieldName)) {
+ this.items.push({
+ propertyAlias: null,
+ fieldName: fieldName,
+ errorMsg: errorMsg
+ });
+ }
+
+ //find all errors for this item
+ var errorsForCallback = getFieldErrors(this, fieldName);
+ //we should now call all of the call backs registered for this error
+ var cbs = this.getFieldCallbacks(fieldName);
+ //call each callback for this error
+ for (var cb in cbs) {
+ executeCallback(this, errorsForCallback, cbs[cb].callback);
+ }
+ },
+
+ /**
+ * @ngdoc function
+ * @name addPropertyError
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Adds an error message for the content property
+ */
+ addPropertyError: function (propertyAlias, fieldName, errorMsg) {
+ if (!propertyAlias) {
+ return;
+ }
+
+ //only add the item if it doesn't exist
+ if (!this.hasPropertyError(propertyAlias, fieldName)) {
+ this.items.push({
+ propertyAlias: propertyAlias,
+ fieldName: fieldName,
+ errorMsg: errorMsg
+ });
+ }
+
+ //find all errors for this item
+ var errorsForCallback = getPropertyErrors(this, propertyAlias, fieldName);
+ //we should now call all of the call backs registered for this error
+ var cbs = this.getPropertyCallbacks(propertyAlias, fieldName);
+ //call each callback for this error
+ for (var cb in cbs) {
+ executeCallback(this, errorsForCallback, cbs[cb].callback);
+ }
+ },
+
+ /**
+ * @ngdoc function
+ * @name removePropertyError
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Removes an error message for the content property
+ */
+ removePropertyError: function (propertyAlias, fieldName) {
+
+ if (!propertyAlias) {
+ return;
+ }
+ //remove the item
+ this.items = _.reject(this.items, function (item) {
+ return (item.propertyAlias === propertyAlias && (item.fieldName === fieldName || (fieldName === undefined || fieldName === "")));
+ });
+ },
+
+ /**
+ * @ngdoc function
+ * @name reset
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Clears all errors and notifies all callbacks that all server errros are now valid - used when submitting a form
+ */
+ reset: function () {
+ this.clear();
+ for (var cb in callbacks) {
+ callbacks[cb].callback.apply(this, [
+ true, //pass in a value indicating it is VALID
+ [], //pass in empty collection
+ []]); //pass in empty collection
+ }
+ },
+
+ /**
+ * @ngdoc function
+ * @name clear
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Clears all errors
+ */
+ clear: function() {
+ this.items = [];
+ },
+
+ /**
+ * @ngdoc function
+ * @name getPropertyError
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Gets the error message for the content property
+ */
+ getPropertyError: function (propertyAlias, fieldName) {
+ var err = _.find(this.items, function (item) {
+ //return true if the property alias matches and if an empty field name is specified or the field name matches
+ return (item.propertyAlias === propertyAlias && (item.fieldName === fieldName || (fieldName === undefined || fieldName === "")));
+ });
+ return err;
+ },
+
+ /**
+ * @ngdoc function
+ * @name getFieldError
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Gets the error message for a content field
+ */
+ getFieldError: function (fieldName) {
+ var err = _.find(this.items, function (item) {
+ //return true if the property alias matches and if an empty field name is specified or the field name matches
+ return (item.propertyAlias === null && item.fieldName === fieldName);
+ });
+ return err;
+ },
+
+ /**
+ * @ngdoc function
+ * @name hasPropertyError
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Checks if the content property + field name combo has an error
+ */
+ hasPropertyError: function (propertyAlias, fieldName) {
+ var err = _.find(this.items, function (item) {
+ //return true if the property alias matches and if an empty field name is specified or the field name matches
+ return (item.propertyAlias === propertyAlias && (item.fieldName === fieldName || (fieldName === undefined || fieldName === "")));
+ });
+ return err ? true : false;
+ },
+
+ /**
+ * @ngdoc function
+ * @name hasFieldError
+ * @methodOf umbraco.services.serverValidationManager
+ * @function
+ *
+ * @description
+ * Checks if a content field has an error
+ */
+ hasFieldError: function (fieldName) {
+ var err = _.find(this.items, function (item) {
+ //return true if the property alias matches and if an empty field name is specified or the field name matches
+ return (item.propertyAlias === null && item.fieldName === fieldName);
+ });
+ return err ? true : false;
+ },
+
+ /** The array of error messages */
+ items: []
+ };
+}
+
+angular.module('umbraco.services').factory('serverValidationManager', serverValidationManager);
+/**
+ * @ngdoc service
+ * @name umbraco.services.tinyMceService
+ *
+ *
+ * @description
+ * A service containing all logic for all of the Umbraco TinyMCE plugins
+ */
+function tinyMceService(dialogService, $log, imageHelper, $http, $timeout, macroResource, macroService, $routeParams, umbRequestHelper, angularHelper, userService) {
+ return {
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.tinyMceService#configuration
+ * @methodOf umbraco.services.tinyMceService
+ *
+ * @description
+ * Returns a collection of plugins available to the tinyMCE editor
+ *
+ */
+ configuration: function () {
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "rteApiBaseUrl",
+ "GetConfiguration"), { cache: true }),
+ 'Failed to retrieve tinymce configuration');
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.tinyMceService#defaultPrevalues
+ * @methodOf umbraco.services.tinyMceService
+ *
+ * @description
+ * Returns a default configration to fallback on in case none is provided
+ *
+ */
+ defaultPrevalues: function () {
+ var cfg = {};
+ cfg.toolbar = ["code", "bold", "italic", "styleselect","alignleft", "aligncenter", "alignright", "bullist","numlist", "outdent", "indent", "link", "image", "umbmediapicker", "umbembeddialog", "umbmacro"];
+ cfg.stylesheets = [];
+ cfg.dimensions = { height: 500 };
+ cfg.maxImageSize = 500;
+ return cfg;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.tinyMceService#createInsertEmbeddedMedia
+ * @methodOf umbraco.services.tinyMceService
+ *
+ * @description
+ * Creates the umbrco insert embedded media tinymce plugin
+ *
+ * @param {Object} editor the TinyMCE editor instance
+ * @param {Object} $scope the current controller scope
+ */
+ createInsertEmbeddedMedia: function (editor, $scope) {
+ editor.addButton('umbembeddialog', {
+ icon: 'custom icon-tv',
+ tooltip: 'Embed',
+ onclick: function () {
+ dialogService.embedDialog({
+ callback: function (data) {
+ editor.insertContent(data);
+ }
+ });
+ }
+ });
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.tinyMceService#createMediaPicker
+ * @methodOf umbraco.services.tinyMceService
+ *
+ * @description
+ * Creates the umbrco insert media tinymce plugin
+ *
+ * @param {Object} editor the TinyMCE editor instance
+ * @param {Object} $scope the current controller scope
+ */
+ createMediaPicker: function (editor) {
+ editor.addButton('umbmediapicker', {
+ icon: 'custom icon-picture',
+ tooltip: 'Media Picker',
+ onclick: function () {
+
+ var selectedElm = editor.selection.getNode(),
+ currentTarget;
+
+
+ if(selectedElm.nodeName === 'IMG'){
+ var img = $(selectedElm);
+ currentTarget = {
+ altText: img.attr("alt"),
+ url: img.attr("src"),
+ id: img.attr("rel")
+ };
+ }
+
+ userService.getCurrentUser().then(function(userData) {
+ dialogService.mediaPicker({
+ currentTarget: currentTarget,
+ onlyImages: true,
+ showDetails: true,
+ startNodeId: userData.startMediaId,
+ callback: function (img) {
+
+ if (img) {
+
+ var data = {
+ alt: img.altText || "",
+ src: (img.url) ? img.url : "nothing.jpg",
+ rel: img.id,
+ 'data-id': img.id,
+ id: '__mcenew'
+ };
+
+ editor.insertContent(editor.dom.createHTML('img', data));
+
+ $timeout(function () {
+ var imgElm = editor.dom.get('__mcenew');
+ var size = editor.dom.getSize(imgElm);
+
+ if (editor.settings.maxImageSize && editor.settings.maxImageSize !== 0) {
+ var newSize = imageHelper.scaleToMaxSize(editor.settings.maxImageSize, size.w, size.h);
+
+ var s = "width: " + newSize.width + "px; height:" + newSize.height + "px;";
+ editor.dom.setAttrib(imgElm, 'style', s);
+ editor.dom.setAttrib(imgElm, 'id', null);
+
+ if (img.url) {
+ var src = img.url + "?width=" + newSize.width + "&height=" + newSize.height;
+ editor.dom.setAttrib(imgElm, 'data-mce-src', src);
+ }
+ }
+ }, 500);
+ }
+ }
+ });
+ });
+
+
+ }
+ });
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.tinyMceService#createUmbracoMacro
+ * @methodOf umbraco.services.tinyMceService
+ *
+ * @description
+ * Creates the insert umbrco macro tinymce plugin
+ *
+ * @param {Object} editor the TinyMCE editor instance
+ * @param {Object} $scope the current controller scope
+ */
+ createInsertMacro: function (editor, $scope) {
+
+ /** Adds custom rules for the macro plugin and custom serialization */
+ editor.on('preInit', function (args) {
+ //this is requires so that we tell the serializer that a 'div' is actually allowed in the root, otherwise the cleanup will strip it out
+ editor.serializer.addRules('div');
+
+ /** This checks if the div is a macro container, if so, checks if its wrapped in a p tag and then unwraps it (removes p tag) */
+ editor.serializer.addNodeFilter('div', function (nodes, name) {
+ for (var i = 0; i < nodes.length; i++) {
+ if (nodes[i].attr("class") === "umb-macro-holder" && nodes[i].parent && nodes[i].parent.name.toUpperCase() === "P") {
+ nodes[i].parent.unwrap();
+ }
+ }
+ });
+
+ });
+
+ /**
+ * Because the macro gets wrapped in a P tag because of the way 'enter' works, this
+ * method will return the macro element if not wrapped in a p, or the p if the macro
+ * element is the only one inside of it even if we are deep inside an element inside the macro
+ */
+ function getRealMacroElem(element) {
+ var e = $(element).closest(".umb-macro-holder");
+ if (e.length > 0) {
+ if (e.get(0).parentNode.nodeName === "P") {
+ //now check if we're the only element
+ if (element.parentNode.childNodes.length === 1) {
+ return e.get(0).parentNode;
+ }
+ }
+ return e.get(0);
+ }
+ return null;
+ }
+
+ /** loads in the macro content async from the server */
+ function loadMacroContent($macroDiv, macroData) {
+
+ //if we don't have the macroData, then we'll need to parse it from the macro div
+ if (!macroData) {
+ var contents = $macroDiv.contents();
+ var comment = _.find(contents, function (item) {
+ return item.nodeType === 8;
+ });
+ if (!comment) {
+ throw "Cannot parse the current macro, the syntax in the editor is invalid";
+ }
+ var syntax = comment.textContent.trim();
+ var parsed = macroService.parseMacroSyntax(syntax);
+ macroData = parsed;
+ }
+
+ var $ins = $macroDiv.find("ins");
+
+ //show the throbber
+ $macroDiv.addClass("loading");
+
+ var contentId = $routeParams.id;
+
+ //need to wrap in safe apply since this might be occuring outside of angular
+ angularHelper.safeApply($scope, function() {
+ macroResource.getMacroResultAsHtmlForEditor(macroData.macroAlias, contentId, macroData.macroParamsDictionary)
+ .then(function (htmlResult) {
+
+ $macroDiv.removeClass("loading");
+ htmlResult = htmlResult.trim();
+ if (htmlResult !== "") {
+ $ins.html(htmlResult);
+ }
+ });
+ });
+
+ }
+
+ /** Adds the button instance */
+ editor.addButton('umbmacro', {
+ icon: 'custom icon-settings-alt',
+ tooltip: 'Insert macro',
+ onPostRender: function () {
+
+ var ctrl = this;
+ var isOnMacroElement = false;
+
+ /**
+ if the selection comes from a different element that is not the macro's
+ we need to check if the selection includes part of the macro, if so we'll force the selection
+ to clear to the next element since if people can select part of the macro markup they can then modify it.
+ */
+ function handleSelectionChange() {
+
+ if (!editor.selection.isCollapsed()) {
+ var endSelection = tinymce.activeEditor.selection.getEnd();
+ var startSelection = tinymce.activeEditor.selection.getStart();
+ //don't proceed if it's an entire element selected
+ if (endSelection !== startSelection) {
+
+ //if the end selection is a macro then move the cursor
+ //NOTE: we don't have to handle when the selection comes from a previous parent because
+ // that is automatically taken care of with the normal onNodeChanged logic since the
+ // evt.element will be the macro once it becomes part of the selection.
+ var $testForMacro = $(endSelection).closest(".umb-macro-holder");
+ if ($testForMacro.length > 0) {
+
+ //it came from before so move after, if there is no after then select ourselves
+ var next = $testForMacro.next();
+ if (next.length > 0) {
+ editor.selection.setCursorLocation($testForMacro.next().get(0));
+ }
+ else {
+ selectMacroElement($testForMacro.get(0));
+ }
+
+ }
+ }
+ }
+ }
+
+ /** helper method to select the macro element */
+ function selectMacroElement(macroElement) {
+
+ // move selection to top element to ensure we can't edit this
+ editor.selection.select(macroElement);
+
+ // check if the current selection *is* the element (ie bug)
+ var currentSelection = editor.selection.getStart();
+ if (tinymce.isIE) {
+ if (!editor.dom.hasClass(currentSelection, 'umb-macro-holder')) {
+ while (!editor.dom.hasClass(currentSelection, 'umb-macro-holder') && currentSelection.parentNode) {
+ currentSelection = currentSelection.parentNode;
+ }
+ editor.selection.select(currentSelection);
+ }
+ }
+ }
+
+ /**
+ * Add a node change handler, test if we're editing a macro and select the whole thing, then set our isOnMacroElement flag.
+ * If we change the selection inside this method, then we end up in an infinite loop, so we have to remove ourselves
+ * from the event listener before changing selection, however, it seems that putting a break point in this method
+ * will always cause an 'infinite' loop as the caret keeps changing.
+ */
+ function onNodeChanged(evt) {
+
+ //set our macro button active when on a node of class umb-macro-holder
+ var $macroElement = $(evt.element).closest(".umb-macro-holder");
+
+ handleSelectionChange();
+
+ //set the button active
+ ctrl.active($macroElement.length !== 0);
+
+ if ($macroElement.length > 0) {
+ var macroElement = $macroElement.get(0);
+
+ //remove the event listener before re-selecting
+ editor.off('NodeChange', onNodeChanged);
+
+ selectMacroElement(macroElement);
+
+ //set the flag
+ isOnMacroElement = true;
+
+ //re-add the event listener
+ editor.on('NodeChange', onNodeChanged);
+ }
+ else {
+ isOnMacroElement = false;
+ }
+
+ }
+
+ /** when the contents load we need to find any macros declared and load in their content */
+ editor.on("LoadContent", function (o) {
+
+ //get all macro divs and load their content
+ $(editor.dom.select(".umb-macro-holder.mceNonEditable")).each(function() {
+ loadMacroContent($(this));
+ });
+
+ });
+
+ /** This prevents any other commands from executing when the current element is the macro so the content cannot be edited */
+ editor.on('BeforeExecCommand', function (o) {
+ if (isOnMacroElement) {
+ if (o.preventDefault) {
+ o.preventDefault();
+ }
+ if (o.stopImmediatePropagation) {
+ o.stopImmediatePropagation();
+ }
+ return;
+ }
+ });
+
+ /** This double checks and ensures you can't paste content into the rendered macro */
+ editor.on("Paste", function (o) {
+ if (isOnMacroElement) {
+ if (o.preventDefault) {
+ o.preventDefault();
+ }
+ if (o.stopImmediatePropagation) {
+ o.stopImmediatePropagation();
+ }
+ return;
+ }
+ });
+
+ //set onNodeChanged event listener
+ editor.on('NodeChange', onNodeChanged);
+
+ /**
+ * Listen for the keydown in the editor, we'll check if we are currently on a macro element, if so
+ * we'll check if the key down is a supported key which requires an action, otherwise we ignore the request
+ * so the macro cannot be edited.
+ */
+ editor.on('KeyDown', function (e) {
+ if (isOnMacroElement) {
+ var macroElement = editor.selection.getNode();
+
+ //get the 'real' element (either p or the real one)
+ macroElement = getRealMacroElem(macroElement);
+
+ //prevent editing
+ e.preventDefault();
+ e.stopPropagation();
+
+ var moveSibling = function (element, isNext) {
+ var $e = $(element);
+ var $sibling = isNext ? $e.next() : $e.prev();
+ if ($sibling.length > 0) {
+ editor.selection.select($sibling.get(0));
+ editor.selection.collapse(true);
+ }
+ else {
+ //if we're moving previous and there is no sibling, then lets recurse and just select the next one
+ if (!isNext) {
+ moveSibling(element, true);
+ return;
+ }
+
+ //if there is no sibling we'll generate a new p at the end and select it
+ editor.setContent(editor.getContent() + "
");
+ editor.selection.select($(editor.dom.getRoot()).children().last().get(0));
+ editor.selection.collapse(true);
+
+ }
+ };
+
+ //supported keys to move to the next or prev element (13-enter, 27-esc, 38-up, 40-down, 39-right, 37-left)
+ //supported keys to remove the macro (8-backspace, 46-delete)
+ //TODO: Should we make the enter key insert a line break before or leave it as moving to the next element?
+ if ($.inArray(e.keyCode, [13, 40, 39]) !== -1) {
+ //move to next element
+ moveSibling(macroElement, true);
+ }
+ else if ($.inArray(e.keyCode, [27, 38, 37]) !== -1) {
+ //move to prev element
+ moveSibling(macroElement, false);
+ }
+ else if ($.inArray(e.keyCode, [8, 46]) !== -1) {
+ //delete macro element
+
+ //move first, then delete
+ moveSibling(macroElement, false);
+ editor.dom.remove(macroElement);
+ }
+ return ;
+ }
+ });
+
+ },
+
+ /** The insert macro button click event handler */
+ onclick: function () {
+
+ var dialogData = {
+ //flag for use in rte so we only show macros flagged for the editor
+ richTextEditor: true
+ };
+
+ //when we click we could have a macro already selected and in that case we'll want to edit the current parameters
+ //so we'll need to extract them and submit them to the dialog.
+ var macroElement = editor.selection.getNode();
+ macroElement = getRealMacroElem(macroElement);
+ if (macroElement) {
+ //we have a macro selected so we'll need to parse it's alias and parameters
+ var contents = $(macroElement).contents();
+ var comment = _.find(contents, function(item) {
+ return item.nodeType === 8;
+ });
+ if (!comment) {
+ throw "Cannot parse the current macro, the syntax in the editor is invalid";
+ }
+ var syntax = comment.textContent.trim();
+ var parsed = macroService.parseMacroSyntax(syntax);
+ dialogData = {
+ macroData: parsed
+ };
+ }
+
+ dialogService.macroPicker({
+ dialogData : dialogData,
+ callback: function(data) {
+
+ //put the macro syntax in comments, we will parse this out on the server side to be used
+ //for persisting.
+ var macroSyntaxComment = "";
+ //create an id class for this element so we can re-select it after inserting
+ var uniqueId = "umb-macro-" + editor.dom.uniqueId();
+ var macroDiv = editor.dom.create('div',
+ {
+ 'class': 'umb-macro-holder ' + data.macroAlias + ' mceNonEditable ' + uniqueId
+ },
+ macroSyntaxComment + 'Macro alias: ' + data.macroAlias + '');
+
+ editor.selection.setNode(macroDiv);
+
+ var $macroDiv = $(editor.dom.select("div.umb-macro-holder." + uniqueId));
+
+ //async load the macro content
+ loadMacroContent($macroDiv, data);
+ }
+ });
+
+ }
+ });
+ }
+ };
+}
+
+angular.module('umbraco.services').factory('tinyMceService', tinyMceService);
+
+
+/**
+ * @ngdoc service
+ * @name umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * The tree service factory, used internally by the umbTree and umbTreeItem directives
+ */
+function treeService($q, treeResource, iconHelper, notificationsService, eventsService) {
+
+ //SD: Have looked at putting this in sessionStorage (not localStorage since that means you wouldn't be able to work
+ // in multiple tabs) - however our tree structure is cyclical, meaning a node has a reference to it's parent and it's children
+ // which you cannot serialize to sessionStorage. There's really no benefit of session storage except that you could refresh
+ // a tab and have the trees where they used to be - supposed that is kind of nice but would mean we'd have to store the parent
+ // as a nodeid reference instead of a variable with a getParent() method.
+ var treeCache = {};
+
+ var standardCssClass = 'icon umb-tree-icon sprTree';
+
+ function getCacheKey(args) {
+ //if there is no cache key they return null - it won't be cached.
+ if (!args || !args.cacheKey) {
+ return null;
+ }
+
+ var cacheKey = args.cacheKey;
+ cacheKey += "_" + args.section;
+ return cacheKey;
+ }
+
+ return {
+
+ /** Internal method to return the tree cache */
+ _getTreeCache: function() {
+ return treeCache;
+ },
+
+ /** Internal method that ensures there's a routePath, parent and level property on each tree node and adds some icon specific properties so that the nodes display properly */
+ _formatNodeDataForUseInUI: function (parentNode, treeNodes, section, level) {
+ //if no level is set, then we make it 1
+ var childLevel = (level ? level : 1);
+ //set the section if it's not already set
+ if (!parentNode.section) {
+ parentNode.section = section;
+ }
+ //create a method outside of the loop to return the parent - otherwise jshint blows up
+ var funcParent = function() {
+ return parentNode;
+ };
+ for (var i = 0; i < treeNodes.length; i++) {
+
+ treeNodes[i].level = childLevel;
+
+ //create a function to get the parent node, we could assign the parent node but
+ // then we cannot serialize this entity because we have a cyclical reference.
+ // Instead we just make a function to return the parentNode.
+ treeNodes[i].parent = funcParent;
+
+ //set the section for each tree node - this allows us to reference this easily when accessing tree nodes
+ treeNodes[i].section = section;
+
+ //if there is not route path specified, then set it automatically,
+ //if this is a tree root node then we want to route to the section's dashboard
+ if (!treeNodes[i].routePath) {
+
+ if (treeNodes[i].metaData && treeNodes[i].metaData["treeAlias"]) {
+ //this is a root node
+ treeNodes[i].routePath = section;
+ }
+ else {
+ var treeAlias = this.getTreeAlias(treeNodes[i]);
+ treeNodes[i].routePath = section + "/" + treeAlias + "/edit/" + treeNodes[i].id;
+ }
+ }
+
+ //now, format the icon data
+ if (treeNodes[i].iconIsClass === undefined || treeNodes[i].iconIsClass) {
+ var converted = iconHelper.convertFromLegacyTreeNodeIcon(treeNodes[i]);
+ treeNodes[i].cssClass = standardCssClass + " " + converted;
+ if (converted.startsWith('.')) {
+ //its legacy so add some width/height
+ treeNodes[i].style = "height:16px;width:16px;";
+ }
+ else {
+ treeNodes[i].style = "";
+ }
+ }
+ else {
+ treeNodes[i].style = "background-image: url('" + treeNodes[i].iconFilePath + "');";
+ //we need an 'icon-' class in there for certain styles to work so if it is image based we'll add this
+ treeNodes[i].cssClass = standardCssClass + " legacy-custom-file";
+ }
+ }
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#getTreePackageFolder
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Determines if the current tree is a plugin tree and if so returns the package folder it has declared
+ * so we know where to find it's views, otherwise it will just return undefined.
+ *
+ * @param {String} treeAlias The tree alias to check
+ */
+ getTreePackageFolder: function(treeAlias) {
+ //we determine this based on the server variables
+ if (Umbraco.Sys.ServerVariables.umbracoPlugins &&
+ Umbraco.Sys.ServerVariables.umbracoPlugins.trees &&
+ angular.isArray(Umbraco.Sys.ServerVariables.umbracoPlugins.trees)) {
+
+ var found = _.find(Umbraco.Sys.ServerVariables.umbracoPlugins.trees, function(item) {
+ return item.alias === treeAlias;
+ });
+
+ return found ? found.packageFolder : undefined;
+ }
+ return undefined;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#clearCache
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Clears the tree cache - with optional cacheKey, optional section or optional filter.
+ *
+ * @param {Object} args arguments
+ * @param {String} args.cacheKey optional cachekey - this is used to clear specific trees in dialogs
+ * @param {String} args.section optional section alias - clear tree for a given section
+ * @param {String} args.childrenOf optional parent ID - only clear the cache below a specific node
+ */
+ clearCache: function (args) {
+ //clear all if not specified
+ if (!args) {
+ treeCache = {};
+ }
+ else {
+ //if section and cache key specified just clear that cache
+ if (args.section && args.cacheKey) {
+ var cacheKey = getCacheKey(args);
+ if (cacheKey && treeCache && treeCache[cacheKey] != null) {
+ treeCache = _.omit(treeCache, cacheKey);
+ }
+ }
+ else if (args.childrenOf) {
+ //if childrenOf is supplied a cacheKey must be supplied as well
+ if (!args.cacheKey) {
+ throw "args.cacheKey is required if args.childrenOf is supplied";
+ }
+ //this will clear out all children for the parentId passed in to this parameter, we'll
+ // do this by recursing and specifying a filter
+ var self = this;
+ this.clearCache({
+ cacheKey: args.cacheKey,
+ filter: function(cc) {
+ //get the new parent node from the tree cache
+ var parent = self.getDescendantNode(cc.root, args.childrenOf);
+ if (parent) {
+ //clear it's children and set to not expanded
+ parent.children = null;
+ parent.expanded = false;
+ }
+ //return the cache to be saved
+ return cc;
+ }
+ });
+ }
+ else if (args.filter && angular.isFunction(args.filter)) {
+ //if a filter is supplied a cacheKey must be supplied as well
+ if (!args.cacheKey) {
+ throw "args.cacheKey is required if args.filter is supplied";
+ }
+
+ //if a filter is supplied the function needs to return the data to keep
+ var byKey = treeCache[args.cacheKey];
+ if (byKey) {
+ var result = args.filter(byKey);
+
+ if (result) {
+ //set the result to the filtered data
+ treeCache[args.cacheKey] = result;
+ }
+ else {
+ //remove the cache
+ treeCache = _.omit(treeCache, args.cacheKey);
+ }
+
+ }
+
+ }
+ else if (args.cacheKey) {
+ //if only the cache key is specified, then clear all cache starting with that key
+ var allKeys1 = _.keys(treeCache);
+ var toRemove1 = _.filter(allKeys1, function (k) {
+ return k.startsWith(args.cacheKey + "_");
+ });
+ treeCache = _.omit(treeCache, toRemove1);
+ }
+ else if (args.section) {
+ //if only the section is specified then clear all cache regardless of cache key by that section
+ var allKeys2 = _.keys(treeCache);
+ var toRemove2 = _.filter(allKeys2, function (k) {
+ return k.endsWith("_" + args.section);
+ });
+ treeCache = _.omit(treeCache, toRemove2);
+ }
+ }
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#loadNodeChildren
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Clears all node children, gets it's up-to-date children from the server and re-assigns them and then
+ * returns them in a promise.
+ * @param {object} args An arguments object
+ * @param {object} args.node The tree node
+ * @param {object} args.section The current section
+ */
+ loadNodeChildren: function(args) {
+ if (!args) {
+ throw "No args object defined for loadNodeChildren";
+ }
+ if (!args.node) {
+ throw "No node defined on args object for loadNodeChildren";
+ }
+
+ this.removeChildNodes(args.node);
+ args.node.loading = true;
+
+ return this.getChildren(args)
+ .then(function(data) {
+
+ //set state to done and expand (only if there actually are children!)
+ args.node.loading = false;
+ args.node.children = data;
+ if (args.node.children && args.node.children.length > 0) {
+ args.node.expanded = true;
+ args.node.hasChildren = true;
+ }
+ return data;
+
+ }, function(reason) {
+
+ //in case of error, emit event
+ eventsService.emit("treeService.treeNodeLoadError", {error: reason } );
+
+ //stop show the loading indicator
+ args.node.loading = false;
+
+ //tell notications about the error
+ notificationsService.error(reason);
+
+ return reason;
+ });
+
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#removeNode
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Removes a given node from the tree
+ * @param {object} treeNode the node to remove
+ */
+ removeNode: function(treeNode) {
+ if (!angular.isFunction(treeNode.parent)) {
+ return;
+ }
+
+ if (treeNode.parent() == null) {
+ throw "Cannot remove a node that doesn't have a parent";
+ }
+ //remove the current item from it's siblings
+ treeNode.parent().children.splice(treeNode.parent().children.indexOf(treeNode), 1);
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#removeChildNodes
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Removes all child nodes from a given tree node
+ * @param {object} treeNode the node to remove children from
+ */
+ removeChildNodes : function(treeNode) {
+ treeNode.expanded = false;
+ treeNode.children = [];
+ treeNode.hasChildren = false;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#getChildNode
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Gets a child node with a given ID, from a specific treeNode
+ * @param {object} treeNode to retrive child node from
+ * @param {int} id id of child node
+ */
+ getChildNode: function (treeNode, id) {
+ if (!treeNode.children) {
+ return null;
+ }
+ var found = _.find(treeNode.children, function (child) {
+ return String(child.id).toLowerCase() === String(id).toLowerCase();
+ });
+ return found === undefined ? null : found;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#getDescendantNode
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Gets a descendant node by id
+ * @param {object} treeNode to retrive descendant node from
+ * @param {int} id id of descendant node
+ * @param {string} treeAlias - optional tree alias, if fetching descendant node from a child of a listview document
+ */
+ getDescendantNode: function(treeNode, id, treeAlias) {
+
+ //validate if it is a section container since we'll need a treeAlias if it is one
+ if (treeNode.isContainer === true && !treeAlias) {
+ throw "Cannot get a descendant node from a section container node without a treeAlias specified";
+ }
+
+ //if it is a section container, we need to find the tree to be searched
+ if (treeNode.isContainer) {
+ var foundRoot = null;
+ for (var c = 0; c < treeNode.children.length; c++) {
+ if (this.getTreeAlias(treeNode.children[c]) === treeAlias) {
+ foundRoot = treeNode.children[c];
+ break;
+ }
+ }
+ if (!foundRoot) {
+ throw "Could not find a tree in the current section with alias " + treeAlias;
+ }
+ treeNode = foundRoot;
+ }
+
+ //check this node
+ if (treeNode.id === id) {
+ return treeNode;
+ }
+
+ //check the first level
+ var found = this.getChildNode(treeNode, id);
+ if (found) {
+ return found;
+ }
+
+ //check each child of this node
+ if (!treeNode.children) {
+ return null;
+ }
+
+ for (var i = 0; i < treeNode.children.length; i++) {
+ if (treeNode.children[i].children && angular.isArray(treeNode.children[i].children) && treeNode.children[i].children.length > 0) {
+ //recurse
+ found = this.getDescendantNode(treeNode.children[i], id);
+ if (found) {
+ return found;
+ }
+ }
+ }
+
+ //not found
+ return found === undefined ? null : found;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#getTreeRoot
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Gets the root node of the current tree type for a given tree node
+ * @param {object} treeNode to retrive tree root node from
+ */
+ getTreeRoot: function (treeNode) {
+ if (!treeNode) {
+ throw "treeNode cannot be null";
+ }
+
+ //all root nodes have metadata key 'treeAlias'
+ var root = null;
+ var current = treeNode;
+ while (root === null && current) {
+
+ if (current.metaData && current.metaData["treeAlias"]) {
+ root = current;
+ }
+ else if (angular.isFunction(current.parent)) {
+ //we can only continue if there is a parent() method which means this
+ // tree node was loaded in as part of a real tree, not just as a single tree
+ // node from the server.
+ current = current.parent();
+ }
+ else {
+ current = null;
+ }
+ }
+ return root;
+ },
+
+ /** Gets the node's tree alias, this is done by looking up the meta-data of the current node's root node */
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#getTreeAlias
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Gets the node's tree alias, this is done by looking up the meta-data of the current node's root node
+ * @param {object} treeNode to retrive tree alias from
+ */
+ getTreeAlias : function(treeNode) {
+ var root = this.getTreeRoot(treeNode);
+ if (root) {
+ return root.metaData["treeAlias"];
+ }
+ return "";
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#getTree
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * gets the tree, returns a promise
+ * @param {object} args Arguments
+ * @param {string} args.section Section alias
+ * @param {string} args.cacheKey Optional cachekey
+ */
+ getTree: function (args) {
+
+ var deferred = $q.defer();
+
+ //set defaults
+ if (!args) {
+ args = { section: 'content', cacheKey: null };
+ }
+ else if (!args.section) {
+ args.section = 'content';
+ }
+
+ var cacheKey = getCacheKey(args);
+
+ //return the cache if it exists
+ if (cacheKey && treeCache[cacheKey] !== undefined) {
+ deferred.resolve(treeCache[cacheKey]);
+ return deferred.promise;
+ }
+
+ var self = this;
+ treeResource.loadApplication(args)
+ .then(function(data) {
+ //this will be called once the tree app data has loaded
+ var result = {
+ name: data.name,
+ alias: args.section,
+ root: data
+ };
+ //we need to format/modify some of the node data to be used in our app.
+ self._formatNodeDataForUseInUI(result.root, result.root.children, args.section);
+
+ //cache this result if a cache key is specified - generally a cache key should ONLY
+ // be specified for application trees, dialog trees should not be cached.
+ if (cacheKey) {
+ treeCache[cacheKey] = result;
+ deferred.resolve(treeCache[cacheKey]);
+ }
+
+ //return un-cached
+ deferred.resolve(result);
+ });
+
+ return deferred.promise;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#getMenu
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Returns available menu actions for a given tree node
+ * @param {object} args Arguments
+ * @param {string} args.treeNode tree node object to retrieve the menu for
+ */
+ getMenu: function (args) {
+
+ if (!args) {
+ throw "args cannot be null";
+ }
+ if (!args.treeNode) {
+ throw "args.treeNode cannot be null";
+ }
+
+ return treeResource.loadMenu(args.treeNode)
+ .then(function(data) {
+ //need to convert the icons to new ones
+ for (var i = 0; i < data.length; i++) {
+ data[i].cssclass = iconHelper.convertFromLegacyIcon(data[i].cssclass);
+ }
+ return data;
+ });
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#getChildren
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Gets the children from the server for a given node
+ * @param {object} args Arguments
+ * @param {object} args.node tree node object to retrieve the children for
+ * @param {string} args.section current section alias
+ */
+ getChildren: function (args) {
+
+ if (!args) {
+ throw "No args object defined for getChildren";
+ }
+ if (!args.node) {
+ throw "No node defined on args object for getChildren";
+ }
+
+ var section = args.section || 'content';
+ var treeItem = args.node;
+
+ var self = this;
+
+ return treeResource.loadNodes({ node: treeItem })
+ .then(function (data) {
+ //now that we have the data, we need to add the level property to each item and the view
+ self._formatNodeDataForUseInUI(treeItem, data, section, treeItem.level + 1);
+ return data;
+ });
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#reloadNode
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * Re-loads the single node from the server
+ * @param {object} node Tree node to reload
+ */
+ reloadNode: function(node) {
+ if (!node) {
+ throw "node cannot be null";
+ }
+ if (!node.parent()) {
+ throw "cannot reload a single node without a parent";
+ }
+ if (!node.section) {
+ throw "cannot reload a single node without an assigned node.section";
+ }
+
+ var deferred = $q.defer();
+
+ //set the node to loading
+ node.loading = true;
+
+ this.getChildren({ node: node.parent(), section: node.section }).then(function(data) {
+
+ //ok, now that we have the children, find the node we're reloading
+ var found = _.find(data, function(item) {
+ return item.id === node.id;
+ });
+ if (found) {
+ //now we need to find the node in the parent.children collection to replace
+ var index = _.indexOf(node.parent().children, node);
+ //the trick here is to not actually replace the node - this would cause the delete animations
+ //to fire, instead we're just going to replace all the properties of this node.
+
+ //there should always be a method assigned but we'll check anyways
+ if (angular.isFunction(node.parent().children[index].updateNodeData)) {
+ node.parent().children[index].updateNodeData(found);
+ }
+ else {
+ //just update as per normal - this means styles, etc.. won't be applied
+ _.extend(node.parent().children[index], found);
+ }
+
+ //set the node loading
+ node.parent().children[index].loading = false;
+ //return
+ deferred.resolve(node.parent().children[index]);
+ }
+ else {
+ deferred.reject();
+ }
+ }, function() {
+ deferred.reject();
+ });
+
+ return deferred.promise;
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.treeService#getPath
+ * @methodOf umbraco.services.treeService
+ * @function
+ *
+ * @description
+ * This will return the current node's path by walking up the tree
+ * @param {object} node Tree node to retrieve path for
+ */
+ getPath: function(node) {
+ if (!node) {
+ throw "node cannot be null";
+ }
+ if (!angular.isFunction(node.parent)) {
+ throw "node.parent is not a function, the path cannot be resolved";
+ }
+ //all root nodes have metadata key 'treeAlias'
+ var reversePath = [];
+ var current = node;
+ while (current != null) {
+ reversePath.push(current.id);
+ if (current.metaData && current.metaData["treeAlias"]) {
+ current = null;
+ }
+ else {
+ current = current.parent();
+ }
+ }
+ return reversePath.reverse();
+ },
+
+ syncTree: function(args) {
+
+ if (!args) {
+ throw "No args object defined for syncTree";
+ }
+ if (!args.node) {
+ throw "No node defined on args object for syncTree";
+ }
+ if (!args.path) {
+ throw "No path defined on args object for syncTree";
+ }
+ if (!angular.isArray(args.path)) {
+ throw "Path must be an array";
+ }
+ if (args.path.length < 1) {
+ //if there is no path, make -1 the path, and that should sync the tree root
+ args.path.push("-1");
+ }
+
+ var deferred = $q.defer();
+
+ //get the rootNode for the current node, we'll sync based on that
+ var root = this.getTreeRoot(args.node);
+ if (!root) {
+ throw "Could not get the root tree node based on the node passed in";
+ }
+
+ //now we want to loop through the ids in the path, first we'll check if the first part
+ //of the path is the root node, otherwise we'll search it's children.
+ var currPathIndex = 0;
+ //if the first id is the root node and there's only one... then consider it synced
+ if (String(args.path[currPathIndex]).toLowerCase() === String(args.node.id).toLowerCase()) {
+ if (args.path.length === 1) {
+ //return the root
+ deferred.resolve(root);
+ return deferred.promise;
+ }
+ else {
+ //move to the next path part and continue
+ currPathIndex = 1;
+ }
+ }
+
+ //now that we have the first id to lookup, we can start the process
+
+ var self = this;
+ var node = args.node;
+
+ var doSync = function () {
+ //check if it exists in the already loaded children
+ var child = self.getChildNode(node, args.path[currPathIndex]);
+ if (child) {
+ if (args.path.length === (currPathIndex + 1)) {
+ //woot! synced the node
+ if (!args.forceReload) {
+ deferred.resolve(child);
+ }
+ else {
+ //even though we've found the node if forceReload is specified
+ //we want to go update this single node from the server
+ self.reloadNode(child).then(function (reloaded) {
+ deferred.resolve(reloaded);
+ }, function () {
+ deferred.reject();
+ });
+ }
+ }
+ else {
+ //now we need to recurse with the updated node/currPathIndex
+ currPathIndex++;
+ node = child;
+ //recurse
+ doSync();
+ }
+ }
+ else {
+ //couldn't find it in the
+ self.loadNodeChildren({ node: node, section: node.section }).then(function () {
+ //ok, got the children, let's find it
+ var found = self.getChildNode(node, args.path[currPathIndex]);
+ if (found) {
+ if (args.path.length === (currPathIndex + 1)) {
+ //woot! synced the node
+ deferred.resolve(found);
+ }
+ else {
+ //now we need to recurse with the updated node/currPathIndex
+ currPathIndex++;
+ node = found;
+ //recurse
+ doSync();
+ }
+ }
+ else {
+ //fail!
+ deferred.reject();
+ }
+ }, function () {
+ //fail!
+ deferred.reject();
+ });
+ }
+ };
+
+ //start
+ doSync();
+
+ return deferred.promise;
+
+ }
+
+ };
+}
+
+angular.module('umbraco.services').factory('treeService', treeService);
+/**
+* @ngdoc service
+* @name umbraco.services.umbRequestHelper
+* @description A helper object used for sending requests to the server
+**/
+function umbRequestHelper($http, $q, umbDataFormatter, angularHelper, dialogService, notificationsService) {
+ return {
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.umbRequestHelper#convertVirtualToAbsolutePath
+ * @methodOf umbraco.services.umbRequestHelper
+ * @function
+ *
+ * @description
+ * This will convert a virtual path (i.e. ~/App_Plugins/Blah/Test.html ) to an absolute path
+ *
+ * @param {string} a virtual path, if this is already an absolute path it will just be returned, if this is a relative path an exception will be thrown
+ */
+ convertVirtualToAbsolutePath: function(virtualPath) {
+ if (virtualPath.startsWith("/")) {
+ return virtualPath;
+ }
+ if (!virtualPath.startsWith("~/")) {
+ throw "The path " + virtualPath + " is not a virtual path";
+ }
+ if (!Umbraco.Sys.ServerVariables.application.applicationPath) {
+ throw "No applicationPath defined in Umbraco.ServerVariables.application.applicationPath";
+ }
+ return Umbraco.Sys.ServerVariables.application.applicationPath + virtualPath.trimStart("~/");
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.umbRequestHelper#dictionaryToQueryString
+ * @methodOf umbraco.services.umbRequestHelper
+ * @function
+ *
+ * @description
+ * This will turn an array of key/value pairs into a query string
+ *
+ * @param {Array} queryStrings An array of key/value pairs
+ */
+ dictionaryToQueryString: function (queryStrings) {
+
+ if (angular.isArray(queryStrings)) {
+ return _.map(queryStrings, function (item) {
+ var key = null;
+ var val = null;
+ for (var k in item) {
+ key = k;
+ val = item[k];
+ break;
+ }
+ if (key === null || val === null) {
+ throw "The object in the array was not formatted as a key/value pair";
+ }
+ return encodeURIComponent(key) + "=" + encodeURIComponent(val);
+ }).join("&");
+ }
+ else if (angular.isObject(queryStrings)) {
+
+ //this allows for a normal object to be passed in (ie. a dictionary)
+ return decodeURIComponent($.param(queryStrings));
+ }
+
+ throw "The queryString parameter is not an array or object of key value pairs";
+ },
+
+ /**
+ * @ngdoc method
+ * @name umbraco.services.umbRequestHelper#getApiUrl
+ * @methodOf umbraco.services.umbRequestHelper
+ * @function
+ *
+ * @description
+ * This will return the webapi Url for the requested key based on the servervariables collection
+ *
+ * @param {string} apiName The webapi name that is found in the servervariables["umbracoUrls"] dictionary
+ * @param {string} actionName The webapi action name
+ * @param {object} queryStrings Can be either a string or an array containing key/value pairs
+ */
+ getApiUrl: function (apiName, actionName, queryStrings) {
+ if (!Umbraco || !Umbraco.Sys || !Umbraco.Sys.ServerVariables || !Umbraco.Sys.ServerVariables["umbracoUrls"]) {
+ throw "No server variables defined!";
+ }
+
+ if (!Umbraco.Sys.ServerVariables["umbracoUrls"][apiName]) {
+ throw "No url found for api name " + apiName;
+ }
+
+ return Umbraco.Sys.ServerVariables["umbracoUrls"][apiName] + actionName +
+ (!queryStrings ? "" : "?" + (angular.isString(queryStrings) ? queryStrings : this.dictionaryToQueryString(queryStrings)));
+
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.umbRequestHelper#resourcePromise
+ * @methodOf umbraco.services.umbRequestHelper
+ * @function
+ *
+ * @description
+ * This returns a promise with an underlying http call, it is a helper method to reduce
+ * the amount of duplicate code needed to query http resources and automatically handle any
+ * Http errors. See /docs/source/using-promises-resources.md
+ *
+ * @param {object} opts A mixed object which can either be a string representing the error message to be
+ * returned OR an object containing either:
+ * { success: successCallback, errorMsg: errorMessage }
+ * OR
+ * { success: successCallback, error: errorCallback }
+ * In both of the above, the successCallback must accept these parameters: data, status, headers, config
+ * If using the errorCallback it must accept these parameters: data, status, headers, config
+ * The success callback must return the data which will be resolved by the deferred object.
+ * The error callback must return an object containing: {errorMsg: errorMessage, data: originalData, status: status }
+ */
+ resourcePromise: function (httpPromise, opts) {
+ var deferred = $q.defer();
+
+ /** The default success callback used if one is not supplied in the opts */
+ function defaultSuccess(data, status, headers, config) {
+ //when it's successful, just return the data
+ return data;
+ }
+
+ /** The default error callback used if one is not supplied in the opts */
+ function defaultError(data, status, headers, config) {
+ return {
+ //NOTE: the default error message here should never be used based on the above docs!
+ errorMsg: (angular.isString(opts) ? opts : 'An error occurred!'),
+ data: data,
+ status: status
+ };
+ }
+
+ //create the callbacs based on whats been passed in.
+ var callbacks = {
+ success: ((!opts || !opts.success) ? defaultSuccess : opts.success),
+ error: ((!opts || !opts.error) ? defaultError : opts.error)
+ };
+
+ httpPromise.success(function (data, status, headers, config) {
+
+ //invoke the callback
+ var result = callbacks.success.apply(this, [data, status, headers, config]);
+
+ //when it's successful, just return the data
+ deferred.resolve(result);
+
+ }).error(function (data, status, headers, config) {
+
+ //invoke the callback
+ var result = callbacks.error.apply(this, [data, status, headers, config]);
+
+ //when there's a 500 (unhandled) error show a YSOD overlay if debugging is enabled.
+ if (status >= 500 && status < 600) {
+
+ //show a ysod dialog
+ if (Umbraco.Sys.ServerVariables["isDebuggingEnabled"] === true) {
+ dialogService.ysodDialog({
+ errorMsg: result.errorMsg,
+ data: result.data
+ });
+ }
+ else {
+ //show a simple error notification
+ notificationsService.error("Server error", "Contact administrator, see log for full details. " + result.errorMsg + "");
+ }
+
+ }
+ else {
+
+ //return an error object including the error message for UI
+ deferred.reject({
+ errorMsg: result.errorMsg,
+ data: result.data,
+ status: result.status
+ });
+
+ }
+
+ });
+
+ return deferred.promise;
+
+ },
+
+ /** Used for saving media/content specifically */
+ postSaveContent: function (args) {
+
+ if (!args.restApiUrl) {
+ throw "args.restApiUrl is a required argument";
+ }
+ if (!args.content) {
+ throw "args.content is a required argument";
+ }
+ if (!args.action) {
+ throw "args.action is a required argument";
+ }
+ if (!args.files) {
+ throw "args.files is a required argument";
+ }
+ if (!args.dataFormatter) {
+ throw "args.dataFormatter is a required argument";
+ }
+
+
+ var deferred = $q.defer();
+
+ //save the active tab id so we can set it when the data is returned.
+ var activeTab = _.find(args.content.tabs, function (item) {
+ return item.active;
+ });
+ var activeTabIndex = (activeTab === undefined ? 0 : _.indexOf(args.content.tabs, activeTab));
+
+ //save the data
+ this.postMultiPartRequest(
+ args.restApiUrl,
+ { key: "contentItem", value: args.dataFormatter(args.content, args.action) },
+ function (data, formData) {
+ //now add all of the assigned files
+ for (var f in args.files) {
+ //each item has a property alias and the file object, we'll ensure that the alias is suffixed to the key
+ // so we know which property it belongs to on the server side
+ formData.append("file_" + args.files[f].alias, args.files[f].file);
+ }
+
+ },
+ function (data, status, headers, config) {
+ //success callback
+
+ //reset the tabs and set the active one
+ _.each(data.tabs, function (item) {
+ item.active = false;
+ });
+ data.tabs[activeTabIndex].active = true;
+
+ //the data returned is the up-to-date data so the UI will refresh
+ deferred.resolve(data);
+ },
+ function (data, status, headers, config) {
+ //failure callback
+
+ //when there's a 500 (unhandled) error show a YSOD overlay if debugging is enabled.
+ if (status >= 500 && status < 600) {
+
+ //This is a bit of a hack to check if the error is due to a file being uploaded that is too large,
+ // we have to just check for the existence of a string value but currently that is the best way to
+ // do this since it's very hacky/difficult to catch this on the server
+ if (typeof data !== "undefined" && typeof data.indexOf === "function" && data.indexOf("Maximum request length exceeded") >= 0) {
+ notificationsService.error("Server error", "The uploaded file was too large, check with your site administrator to adjust the maximum size allowed");
+ }
+ else if (Umbraco.Sys.ServerVariables["isDebuggingEnabled"] === true) {
+ //show a ysod dialog
+ dialogService.ysodDialog({
+ errorMsg: 'An error occurred',
+ data: data
+ });
+ }
+ else {
+ //show a simple error notification
+ notificationsService.error("Server error", "Contact administrator, see log for full details. " + data.ExceptionMessage + "");
+ }
+
+ }
+ else {
+
+ //return an error object including the error message for UI
+ deferred.reject({
+ errorMsg: 'An error occurred',
+ data: data,
+ status: status
+ });
+ }
+
+ });
+
+ return deferred.promise;
+ },
+
+ /** Posts a multi-part mime request to the server */
+ postMultiPartRequest: function (url, jsonData, transformCallback, successCallback, failureCallback) {
+
+ //validate input, jsonData can be an array of key/value pairs or just one key/value pair.
+ if (!jsonData) { throw "jsonData cannot be null"; }
+
+ if (angular.isArray(jsonData)) {
+ _.each(jsonData, function (item) {
+ if (!item.key || !item.value) { throw "jsonData array item must have both a key and a value property"; }
+ });
+ }
+ else if (!jsonData.key || !jsonData.value) { throw "jsonData object must have both a key and a value property"; }
+
+
+ $http({
+ method: 'POST',
+ url: url,
+ //IMPORTANT!!! You might think this should be set to 'multipart/form-data' but this is not true because when we are sending up files
+ // the request needs to include a 'boundary' parameter which identifies the boundary name between parts in this multi-part request
+ // and setting the Content-type manually will not set this boundary parameter. For whatever reason, setting the Content-type to 'false'
+ // will force the request to automatically populate the headers properly including the boundary parameter.
+ headers: { 'Content-Type': false },
+ transformRequest: function (data) {
+ var formData = new FormData();
+ //add the json data
+ if (angular.isArray(data)) {
+ _.each(data, function (item) {
+ formData.append(item.key, !angular.isString(item.value) ? angular.toJson(item.value) : item.value);
+ });
+ }
+ else {
+ formData.append(data.key, !angular.isString(data.value) ? angular.toJson(data.value) : data.value);
+ }
+
+ //call the callback
+ if (transformCallback) {
+ transformCallback.apply(this, [data, formData]);
+ }
+
+ return formData;
+ },
+ data: jsonData
+ }).
+ success(function (data, status, headers, config) {
+ if (successCallback) {
+ successCallback.apply(this, [data, status, headers, config]);
+ }
+ }).
+ error(function (data, status, headers, config) {
+ if (failureCallback) {
+ failureCallback.apply(this, [data, status, headers, config]);
+ }
+ });
+ }
+ };
+}
+angular.module('umbraco.services').factory('umbRequestHelper', umbRequestHelper);
+angular.module('umbraco.services')
+ .factory('userService', function ($rootScope, eventsService, $q, $location, $log, securityRetryQueue, authResource, dialogService, $timeout, angularHelper, $http) {
+
+ var currentUser = null;
+ var lastUserId = null;
+ var loginDialog = null;
+ //this tracks the last date/time that the user's remainingAuthSeconds was updated from the server
+ // this is used so that we know when to go and get the user's remaining seconds directly.
+ var lastServerTimeoutSet = null;
+
+ function openLoginDialog(isTimedOut) {
+ if (!loginDialog) {
+ loginDialog = dialogService.open({
+
+ //very special flag which means that global events cannot close this dialog
+ manualClose: true,
+
+ template: 'views/common/dialogs/login.html',
+ modalClass: "login-overlay",
+ animation: "slide",
+ show: true,
+ callback: onLoginDialogClose,
+ dialogData: {
+ isTimedOut: isTimedOut
+ }
+ });
+ }
+ }
+
+ function onLoginDialogClose(success) {
+ loginDialog = null;
+
+ if (success) {
+ securityRetryQueue.retryAll();
+ }
+ else {
+ securityRetryQueue.cancelAll();
+ $location.path('/');
+ }
+ }
+
+ /**
+ This methods will set the current user when it is resolved and
+ will then start the counter to count in-memory how many seconds they have
+ remaining on the auth session
+ */
+ function setCurrentUser(usr) {
+ if (!usr.remainingAuthSeconds) {
+ throw "The user object is invalid, the remainingAuthSeconds is required.";
+ }
+ currentUser = usr;
+ lastServerTimeoutSet = new Date();
+ //start the timer
+ countdownUserTimeout();
+ }
+
+ /**
+ Method to count down the current user's timeout seconds,
+ this will continually count down their current remaining seconds every 5 seconds until
+ there are no more seconds remaining.
+ */
+ function countdownUserTimeout() {
+
+ $timeout(function () {
+
+ if (currentUser) {
+ //countdown by 5 seconds since that is how long our timer is for.
+ currentUser.remainingAuthSeconds -= 5;
+
+ //if there are more than 30 remaining seconds, recurse!
+ if (currentUser.remainingAuthSeconds > 30) {
+
+ //we need to check when the last time the timeout was set from the server, if
+ // it has been more than 30 seconds then we'll manually go and retrieve it from the
+ // server - this helps to keep our local countdown in check with the true timeout.
+ if (lastServerTimeoutSet != null) {
+ var now = new Date();
+ var seconds = (now.getTime() - lastServerTimeoutSet.getTime()) / 1000;
+
+ if (seconds > 30) {
+
+ //first we'll set the lastServerTimeoutSet to null - this is so we don't get back in to this loop while we
+ // wait for a response from the server otherwise we'll be making double/triple/etc... calls while we wait.
+ lastServerTimeoutSet = null;
+
+ //now go get it from the server
+ //NOTE: the safeApply because our timeout is set to not run digests (performance reasons)
+ angularHelper.safeApply($rootScope, function () {
+ authResource.getRemainingTimeoutSeconds().then(function (result) {
+ setUserTimeoutInternal(result);
+ });
+ });
+ }
+ }
+
+ //recurse the countdown!
+ countdownUserTimeout();
+ }
+ else {
+
+ //we are either timed out or very close to timing out so we need to show the login dialog.
+ if (Umbraco.Sys.ServerVariables.umbracoSettings.keepUserLoggedIn !== true) {
+ //NOTE: the safeApply because our timeout is set to not run digests (performance reasons)
+ angularHelper.safeApply($rootScope, function () {
+ try {
+ //NOTE: We are calling this again so that the server can create a log that the timeout has expired, we
+ // don't actually care about this result.
+ authResource.getRemainingTimeoutSeconds();
+ }
+ finally {
+ userAuthExpired();
+ }
+ });
+ }
+ else {
+ //we've got less than 30 seconds remaining so let's check the server
+
+ if (lastServerTimeoutSet != null) {
+ //first we'll set the lastServerTimeoutSet to null - this is so we don't get back in to this loop while we
+ // wait for a response from the server otherwise we'll be making double/triple/etc... calls while we wait.
+ lastServerTimeoutSet = null;
+
+ //now go get it from the server
+ //NOTE: the safeApply because our timeout is set to not run digests (performance reasons)
+ angularHelper.safeApply($rootScope, function () {
+ authResource.getRemainingTimeoutSeconds().then(function (result) {
+ setUserTimeoutInternal(result);
+ });
+ });
+ }
+
+ //recurse the countdown!
+ countdownUserTimeout();
+
+ }
+ }
+ }
+ }, 5000, //every 5 seconds
+ false); //false = do NOT execute a digest for every iteration
+ }
+
+ /** Called to update the current user's timeout */
+ function setUserTimeoutInternal(newTimeout) {
+
+
+ var asNumber = parseFloat(newTimeout);
+ if (!isNaN(asNumber) && currentUser && angular.isNumber(asNumber)) {
+ currentUser.remainingAuthSeconds = newTimeout;
+ lastServerTimeoutSet = new Date();
+ }
+ }
+
+ /** resets all user data, broadcasts the notAuthenticated event and shows the login dialog */
+ function userAuthExpired(isLogout) {
+ //store the last user id and clear the user
+ if (currentUser && currentUser.id !== undefined) {
+ lastUserId = currentUser.id;
+ }
+
+ if (currentUser) {
+ currentUser.remainingAuthSeconds = 0;
+ }
+
+ lastServerTimeoutSet = null;
+ currentUser = null;
+
+ //broadcast a global event that the user is no longer logged in
+ eventsService.emit("app.notAuthenticated");
+
+ openLoginDialog(isLogout === undefined ? true : !isLogout);
+ }
+
+ // Register a handler for when an item is added to the retry queue
+ securityRetryQueue.onItemAddedCallbacks.push(function (retryItem) {
+ if (securityRetryQueue.hasMore()) {
+ userAuthExpired();
+ }
+ });
+
+ return {
+
+ /** Internal method to display the login dialog */
+ _showLoginDialog: function () {
+ openLoginDialog();
+ },
+
+ /** Returns a promise, sends a request to the server to check if the current cookie is authorized */
+ isAuthenticated: function () {
+ //if we've got a current user then just return true
+ if (currentUser) {
+ var deferred = $q.defer();
+ deferred.resolve(true);
+ return deferred.promise;
+ }
+ return authResource.isAuthenticated();
+ },
+
+ /** Returns a promise, sends a request to the server to validate the credentials */
+ authenticate: function (login, password) {
+
+ return authResource.performLogin(login, password)
+ .then(function (data) {
+
+ //when it's successful, return the user data
+ setCurrentUser(data);
+
+ var result = { user: data, authenticated: true, lastUserId: lastUserId };
+
+ //broadcast a global event
+ eventsService.emit("app.authenticated", result);
+ return result;
+ });
+ },
+
+ /** Logs the user out
+ */
+ logout: function () {
+
+ return authResource.performLogout()
+ .then(function(data) {
+ userAuthExpired();
+ //done!
+ return null;
+ });
+ },
+
+ /** Returns the current user object in a promise */
+ getCurrentUser: function (args) {
+ var deferred = $q.defer();
+
+ if (!currentUser) {
+ authResource.getCurrentUser()
+ .then(function (data) {
+
+ var result = { user: data, authenticated: true, lastUserId: lastUserId };
+
+ //TODO: This is a mega backwards compatibility hack... These variables SHOULD NOT exist in the server variables
+ // since they are not supposed to be dynamic but I accidentally added them there in 7.1.5 IIRC so some people might
+ // now be relying on this :(
+ if (Umbraco && Umbraco.Sys && Umbraco.Sys.ServerVariables) {
+ Umbraco.Sys.ServerVariables["security"] = {
+ startContentId: data.startContentId,
+ startMediaId: data.startMediaId
+ };
+ }
+
+ if (args && args.broadcastEvent) {
+ //broadcast a global event, will inform listening controllers to load in the user specific data
+ eventsService.emit("app.authenticated", result);
+ }
+
+ setCurrentUser(data);
+
+ deferred.resolve(currentUser);
+ });
+
+ }
+ else {
+ deferred.resolve(currentUser);
+ }
+
+ return deferred.promise;
+ },
+
+ /** Called whenever a server request is made that contains a x-umb-user-seconds response header for which we can update the user's remaining timeout seconds */
+ setUserTimeout: function (newTimeout) {
+ setUserTimeoutInternal(newTimeout);
+ }
+ };
+
+ });
+
+/*Contains multiple services for various helper tasks */
+
+function packageHelper(assetsService, treeService, eventsService, $templateCache) {
+
+ return {
+
+ /** Called when a package is installed, this resets a bunch of data and ensures the new package assets are loaded in */
+ packageInstalled: function () {
+
+ //clears the tree
+ treeService.clearCache();
+
+ //clears the template cache
+ $templateCache.removeAll();
+
+ //emit event to notify anything else
+ eventsService.emit("app.reInitialize");
+ }
+
+ };
+}
+angular.module('umbraco.services').factory('packageHelper', packageHelper);
+
+function umbPhotoFolderHelper($compile, $log, $timeout, $filter, imageHelper, mediaHelper, umbRequestHelper) {
+ return {
+ /** sets the image's url, thumbnail and if its a folder */
+ setImageData: function(img) {
+
+ img.isFolder = !mediaHelper.hasFilePropertyType(img);
+
+ if(!img.isFolder){
+ img.thumbnail = mediaHelper.resolveFile(img, true);
+ img.image = mediaHelper.resolveFile(img, false);
+ }
+ },
+
+ /** sets the images original size properties - will check if it is a folder and if so will just make it square */
+ setOriginalSize: function(img, maxHeight) {
+ //set to a square by default
+ img.originalWidth = maxHeight;
+ img.originalHeight = maxHeight;
+
+ var widthProp = _.find(img.properties, function(v) { return (v.alias === "umbracoWidth"); });
+ if (widthProp && widthProp.value) {
+ img.originalWidth = parseInt(widthProp.value, 10);
+ if (isNaN(img.originalWidth)) {
+ img.originalWidth = maxHeight;
+ }
+ }
+ var heightProp = _.find(img.properties, function(v) { return (v.alias === "umbracoHeight"); });
+ if (heightProp && heightProp.value) {
+ img.originalHeight = parseInt(heightProp.value, 10);
+ if (isNaN(img.originalHeight)) {
+ img.originalHeight = maxHeight;
+ }
+ }
+ },
+
+ /** sets the image style which get's used in the angular markup */
+ setImageStyle: function(img, width, height, rightMargin, bottomMargin) {
+ img.style = { width: width + "px", height: height + "px", "margin-right": rightMargin + "px", "margin-bottom": bottomMargin + "px" };
+ img.thumbStyle = {
+ "background-image": "url('" + img.thumbnail + "')",
+ "background-repeat": "no-repeat",
+ "background-position": "center",
+ "background-size": Math.min(width, img.originalWidth) + "px " + Math.min(height, img.originalHeight) + "px"
+ };
+ },
+
+ /** gets the image's scaled wdith based on the max row height */
+ getScaledWidth: function(img, maxHeight) {
+ var scaled = img.originalWidth * maxHeight / img.originalHeight;
+ return scaled;
+ //round down, we don't want it too big even by half a pixel otherwise it'll drop to the next row
+ //return Math.floor(scaled);
+ },
+
+ /** returns the target row width taking into account how many images will be in the row and removing what the margin is */
+ getTargetWidth: function(imgsPerRow, maxRowWidth, margin) {
+ //take into account the margin, we will have 1 less margin item than we have total images
+ return (maxRowWidth - ((imgsPerRow - 1) * margin));
+ },
+
+ /**
+ This will determine the row/image height for the next collection of images which takes into account the
+ ideal image count per row. It will check if a row can be filled with this ideal count and if not - if there
+ are additional images available to fill the row it will keep calculating until they fit.
+
+ It will return the calculated height and the number of images for the row.
+
+ targetHeight = optional;
+ */
+ getRowHeightForImages: function(imgs, maxRowHeight, minDisplayHeight, maxRowWidth, idealImgPerRow, margin, targetHeight) {
+
+ var idealImages = imgs.slice(0, idealImgPerRow);
+ //get the target row width without margin
+ var targetRowWidth = this.getTargetWidth(idealImages.length, maxRowWidth, margin);
+ //this gets the image with the smallest height which equals the maximum we can scale up for this image block
+ var maxScaleableHeight = this.getMaxScaleableHeight(idealImages, maxRowHeight);
+ //if the max scale height is smaller than the min display height, we'll use the min display height
+ targetHeight = targetHeight !== undefined ? targetHeight : Math.max(maxScaleableHeight, minDisplayHeight);
+
+ var attemptedRowHeight = this.performGetRowHeight(idealImages, targetRowWidth, minDisplayHeight, targetHeight);
+
+ if (attemptedRowHeight != null) {
+
+ //if this is smaller than the min display then we need to use the min display,
+ // which means we'll need to remove one from the row so we can scale up to fill the row
+ if (attemptedRowHeight < minDisplayHeight) {
+
+ if (idealImages.length > 1) {
+
+ //we'll generate a new targetHeight that is halfway between the max and the current and recurse, passing in a new targetHeight
+ targetHeight += Math.floor((maxRowHeight - targetHeight) / 2);
+ return this.getRowHeightForImages(imgs, maxRowHeight, minDisplayHeight, maxRowWidth, idealImgPerRow - 1, margin, targetHeight);
+ }
+ else {
+ //this will occur when we only have one image remaining in the row but it's still going to be too wide even when
+ // using the minimum display height specified. In this case we're going to have to just crop the image in it's center
+ // using the minimum display height and the full row width
+ return { height: minDisplayHeight, imgCount: 1 };
+ }
+ }
+ else {
+ //success!
+ return { height: attemptedRowHeight, imgCount: idealImages.length };
+ }
+ }
+
+ //we know the width will fit in a row, but we now need to figure out if we can fill
+ // the entire row in the case that we have more images remaining than the idealImgPerRow.
+
+ if (idealImages.length === imgs.length) {
+ //we have no more remaining images to fill the space, so we'll just use the calc height
+ return { height: targetHeight, imgCount: idealImages.length };
+ }
+ else if (idealImages.length === 1) {
+ //this will occur when we only have one image remaining in the row to process but it's not really going to fit ideally
+ // in the row.
+ return { height: minDisplayHeight, imgCount: 1 };
+ }
+ else if (idealImages.length === idealImgPerRow && targetHeight < maxRowHeight) {
+
+ //if we're already dealing with the ideal images per row and it's not quite wide enough, we can scale up a little bit so
+ // long as the targetHeight is currently less than the maxRowHeight. The scale up will be half-way between our current
+ // target height and the maxRowHeight (we won't loop forever though - if there's a difference of 5 px we'll just quit)
+
+ while (targetHeight < maxRowHeight && (maxRowHeight - targetHeight) > 5) {
+ targetHeight += Math.floor((maxRowHeight - targetHeight) / 2);
+ attemptedRowHeight = this.performGetRowHeight(idealImages, targetRowWidth, minDisplayHeight, targetHeight);
+ if (attemptedRowHeight != null) {
+ //success!
+ return { height: attemptedRowHeight, imgCount: idealImages.length };
+ }
+ }
+
+ //Ok, we couldn't actually scale it up with the ideal row count we'll just recurse with a lesser image count.
+ return this.getRowHeightForImages(imgs, maxRowHeight, minDisplayHeight, maxRowWidth, idealImgPerRow - 1, margin);
+ }
+ else if (targetHeight === maxRowHeight) {
+
+ //This is going to happen when:
+ // * We can fit a list of images in a row, but they come up too short (based on minDisplayHeight)
+ // * Then we'll try to remove an image, but when we try to scale to fit, the width comes up too narrow but the images are already at their
+ // maximum height (maxRowHeight)
+ // * So we're stuck, we cannot precicely fit the current list of images, so we'll render a row that will be max height but won't be wide enough
+ // which is better than rendering a row that is shorter than the minimum since that could be quite small.
+
+ return { height: targetHeight, imgCount: idealImages.length };
+ }
+ else {
+
+ //we have additional images so we'll recurse and add 1 to the idealImgPerRow until it fits
+ return this.getRowHeightForImages(imgs, maxRowHeight, minDisplayHeight, maxRowWidth, idealImgPerRow + 1, margin);
+ }
+
+ },
+
+ performGetRowHeight: function(idealImages, targetRowWidth, minDisplayHeight, targetHeight) {
+
+ var currRowWidth = 0;
+
+ for (var i = 0; i < idealImages.length; i++) {
+ var scaledW = this.getScaledWidth(idealImages[i], targetHeight);
+ currRowWidth += scaledW;
+ }
+
+ if (currRowWidth > targetRowWidth) {
+ //get the new scaled height to fit
+ var newHeight = targetRowWidth * targetHeight / currRowWidth;
+
+ return newHeight;
+ }
+ else if (idealImages.length === 1 && (currRowWidth <= targetRowWidth) && !idealImages[0].isFolder) {
+ //if there is only one image, then return the target height
+ return targetHeight;
+ }
+ else if (currRowWidth / targetRowWidth > 0.90) {
+ //it's close enough, it's at least 90% of the width so we'll accept it with the target height
+ return targetHeight;
+ }
+ else {
+ //if it's not successful, return null
+ return null;
+ }
+ },
+
+ /** builds an image grid row */
+ buildRow: function(imgs, maxRowHeight, minDisplayHeight, maxRowWidth, idealImgPerRow, margin, totalRemaining) {
+ var currRowWidth = 0;
+ var row = { images: [] };
+
+ var imageRowHeight = this.getRowHeightForImages(imgs, maxRowHeight, minDisplayHeight, maxRowWidth, idealImgPerRow, margin);
+ var targetWidth = this.getTargetWidth(imageRowHeight.imgCount, maxRowWidth, margin);
+
+ var sizes = [];
+ //loop through the images we know fit into the height
+ for (var i = 0; i < imageRowHeight.imgCount; i++) {
+ //get the lower width to ensure it always fits
+ var scaledWidth = Math.floor(this.getScaledWidth(imgs[i], imageRowHeight.height));
+
+ if (currRowWidth + scaledWidth <= targetWidth) {
+ currRowWidth += scaledWidth;
+ sizes.push({
+ width:scaledWidth,
+ //ensure that the height is rounded
+ height: Math.round(imageRowHeight.height)
+ });
+ row.images.push(imgs[i]);
+ }
+ else if (imageRowHeight.imgCount === 1 && row.images.length === 0) {
+ //the image is simply too wide, we'll crop/center it
+ sizes.push({
+ width: maxRowWidth,
+ //ensure that the height is rounded
+ height: Math.round(imageRowHeight.height)
+ });
+ row.images.push(imgs[i]);
+ }
+ else {
+ //the max width has been reached
+ break;
+ }
+ }
+
+ //loop through the images for the row and apply the styles
+ for (var j = 0; j < row.images.length; j++) {
+ var bottomMargin = margin;
+ //make the margin 0 for the last one
+ if (j === (row.images.length - 1)) {
+ margin = 0;
+ }
+ this.setImageStyle(row.images[j], sizes[j].width, sizes[j].height, margin, bottomMargin);
+ }
+
+ if (row.images.length === 1 && totalRemaining > 1) {
+ //if there's only one image on the row and there are more images remaining, set the container to max width
+ row.images[0].style.width = maxRowWidth + "px";
+ }
+
+
+ return row;
+ },
+
+ /** Returns the maximum image scaling height for the current image collection */
+ getMaxScaleableHeight: function(imgs, maxRowHeight) {
+
+ var smallestHeight = _.min(imgs, function(item) { return item.originalHeight; }).originalHeight;
+
+ //adjust the smallestHeight if it is larger than the static max row height
+ if (smallestHeight > maxRowHeight) {
+ smallestHeight = maxRowHeight;
+ }
+ return smallestHeight;
+ },
+
+ /** Creates the image grid with calculated widths/heights for images to fill the grid nicely */
+ buildGrid: function(images, maxRowWidth, maxRowHeight, startingIndex, minDisplayHeight, idealImgPerRow, margin,imagesOnly) {
+
+ var rows = [];
+ var imagesProcessed = 0;
+
+ //first fill in all of the original image sizes and URLs
+ for (var i = startingIndex; i < images.length; i++) {
+ var item = images[i];
+
+ this.setImageData(item);
+ this.setOriginalSize(item, maxRowHeight);
+
+ if(imagesOnly && !item.isFolder && !item.thumbnail){
+ images.splice(i, 1);
+ i--;
+ }
+ }
+
+ while ((imagesProcessed + startingIndex) < images.length) {
+ //get the maxHeight for the current un-processed images
+ var currImgs = images.slice(imagesProcessed);
+
+ //build the row
+ var remaining = images.length - imagesProcessed;
+ var row = this.buildRow(currImgs, maxRowHeight, minDisplayHeight, maxRowWidth, idealImgPerRow, margin, remaining);
+ if (row.images.length > 0) {
+ rows.push(row);
+ imagesProcessed += row.images.length;
+ }
+ else {
+
+ if (currImgs.length > 0) {
+ throw "Could not fill grid with all images, images remaining: " + currImgs.length;
+ }
+
+ //if there was nothing processed, exit
+ break;
+ }
+ }
+
+ return rows;
+ }
+ };
+}
+
+angular.module("umbraco.services").factory("umbPhotoFolderHelper", umbPhotoFolderHelper);
+
+/**
+ * @ngdoc function
+ * @name umbraco.services.umbModelMapper
+ * @function
+ *
+ * @description
+ * Utility class to map/convert models
+ */
+function umbModelMapper() {
+
+ return {
+
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.umbModelMapper#convertToEntityBasic
+ * @methodOf umbraco.services.umbModelMapper
+ * @function
+ *
+ * @description
+ * Converts the source model to a basic entity model, it will throw an exception if there isn't enough data to create the model.
+ * @param {Object} source The source model
+ * @param {Number} source.id The node id of the model
+ * @param {String} source.name The node name
+ * @param {String} source.icon The models icon as a css class (.icon-doc)
+ * @param {Number} source.parentId The parentID, if no parent, set to -1
+ * @param {path} source.path comma-separated string of ancestor IDs (-1,1234,1782,1234)
+ */
+
+ /** This converts the source model to a basic entity model, it will throw an exception if there isn't enough data to create the model */
+ convertToEntityBasic: function (source) {
+ var required = ["id", "name", "icon", "parentId", "path"];
+ _.each(required, function (k) {
+ if (!_.has(source, k)) {
+ throw "The source object does not contain the property " + k;
+ }
+ });
+ var optional = ["metaData", "key", "alias"];
+ //now get the basic object
+ var result = _.pick(source, required.concat(optional));
+ return result;
+ }
+
+ };
+}
+angular.module('umbraco.services').factory('umbModelMapper', umbModelMapper);
+
+/**
+ * @ngdoc function
+ * @name umbraco.services.umbSessionStorage
+ * @function
+ *
+ * @description
+ * Used to get/set things in browser sessionStorage but always prefixes keys with "umb_" and converts json vals so there is no overlap
+ * with any sessionStorage created by a developer.
+ */
+function umbSessionStorage($window) {
+
+ //gets the sessionStorage object if available, otherwise just uses a normal object
+ // - required for unit tests.
+ var storage = $window['sessionStorage'] ? $window['sessionStorage'] : {};
+
+ return {
+
+ get: function (key) {
+ return angular.fromJson(storage["umb_" + key]);
+ },
+
+ set : function(key, value) {
+ storage["umb_" + key] = angular.toJson(value);
+ }
+
+ };
+}
+angular.module('umbraco.services').factory('umbSessionStorage', umbSessionStorage);
+
+/**
+ * @ngdoc function
+ * @name umbraco.services.updateChecker
+ * @function
+ *
+ * @description
+ * used to check for updates and display a notifcation
+ */
+function updateChecker($http, umbRequestHelper) {
+ return {
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.updateChecker#check
+ * @methodOf umbraco.services.updateChecker
+ * @function
+ *
+ * @description
+ * Called to load in the legacy tree js which is required on startup if a user is logged in or
+ * after login, but cannot be called until they are authenticated which is why it needs to be lazy loaded.
+ */
+ check: function() {
+
+ return umbRequestHelper.resourcePromise(
+ $http.get(
+ umbRequestHelper.getApiUrl(
+ "updateCheckApiBaseUrl",
+ "GetCheck")),
+ 'Failed to retrieve update status');
+ }
+ };
+}
+angular.module('umbraco.services').factory('updateChecker', updateChecker);
+
+/**
+* @ngdoc service
+* @name umbraco.services.umbPropertyEditorHelper
+* @description A helper object used for property editors
+**/
+function umbPropEditorHelper() {
+ return {
+ /**
+ * @ngdoc function
+ * @name getImagePropertyValue
+ * @methodOf umbraco.services.umbPropertyEditorHelper
+ * @function
+ *
+ * @description
+ * Returns the correct view path for a property editor, it will detect if it is a full virtual path but if not then default to the internal umbraco one
+ *
+ * @param {string} input the view path currently stored for the property editor
+ */
+ getViewPath: function(input, isPreValue) {
+ var path = String(input);
+
+ if (path.startsWith('/')) {
+
+ //This is an absolute path, so just leave it
+ return path;
+ } else {
+
+ if (path.indexOf("/") >= 0) {
+ //This is a relative path, so just leave it
+ return path;
+ } else {
+ if (!isPreValue) {
+ //i.e. views/propertyeditors/fileupload/fileupload.html
+ return "views/propertyeditors/" + path + "/" + path + ".html";
+ } else {
+ //i.e. views/prevalueeditors/requiredfield.html
+ return "views/prevalueeditors/" + path + ".html";
+ }
+ }
+
+ }
+ }
+ };
+}
+angular.module('umbraco.services').factory('umbPropEditorHelper', umbPropEditorHelper);
+
+
+/**
+* @ngdoc service
+* @name umbraco.services.umbDataFormatter
+* @description A helper object used to format/transform JSON Umbraco data, mostly used for persisting data to the server
+**/
+function umbDataFormatter() {
+ return {
+
+ /** formats the display model used to display the data type to the model used to save the data type */
+ formatDataTypePostData: function(displayModel, preValues, action) {
+ var saveModel = {
+ parentId: -1,
+ id: displayModel.id,
+ name: displayModel.name,
+ selectedEditor: displayModel.selectedEditor,
+ //set the action on the save model
+ action: action,
+ preValues: []
+ };
+ for (var i = 0; i < preValues.length; i++) {
+
+ saveModel.preValues.push({
+ key: preValues[i].alias,
+ value: preValues[i].value
+ });
+ }
+ return saveModel;
+ },
+
+ /** formats the display model used to display the member to the model used to save the member */
+ formatMemberPostData: function(displayModel, action) {
+ //this is basically the same as for media but we need to explicitly add the username,email, password to the save model
+
+ var saveModel = this.formatMediaPostData(displayModel, action);
+
+ saveModel.key = displayModel.key;
+
+ var genericTab = _.find(displayModel.tabs, function (item) {
+ return item.id === 0;
+ });
+
+ //map the member login, email, password and groups
+ var propLogin = _.find(genericTab.properties, function (item) {
+ return item.alias === "_umb_login";
+ });
+ var propEmail = _.find(genericTab.properties, function (item) {
+ return item.alias === "_umb_email";
+ });
+ var propPass = _.find(genericTab.properties, function (item) {
+ return item.alias === "_umb_password";
+ });
+ var propGroups = _.find(genericTab.properties, function (item) {
+ return item.alias === "_umb_membergroup";
+ });
+ saveModel.email = propEmail.value;
+ saveModel.username = propLogin.value;
+ saveModel.password = propPass.value;
+
+ var selectedGroups = [];
+ for (var n in propGroups.value) {
+ if (propGroups.value[n] === true) {
+ selectedGroups.push(n);
+ }
+ }
+ saveModel.memberGroups = selectedGroups;
+
+ //turn the dictionary into an array of pairs
+ var memberProviderPropAliases = _.pairs(displayModel.fieldConfig);
+ _.each(displayModel.tabs, function (tab) {
+ _.each(tab.properties, function (prop) {
+ var foundAlias = _.find(memberProviderPropAliases, function(item) {
+ return prop.alias === item[1];
+ });
+ if (foundAlias) {
+ //we know the current property matches an alias, now we need to determine which membership provider property it was for
+ // by looking at the key
+ switch (foundAlias[0]) {
+ case "umbracoMemberLockedOut":
+ saveModel.isLockedOut = prop.value.toString() === "1" ? true : false;
+ break;
+ case "umbracoMemberApproved":
+ saveModel.isApproved = prop.value.toString() === "1" ? true : false;
+ break;
+ case "umbracoMemberComments":
+ saveModel.comments = prop.value;
+ break;
+ }
+ }
+ });
+ });
+
+
+
+ return saveModel;
+ },
+
+ /** formats the display model used to display the media to the model used to save the media */
+ formatMediaPostData: function(displayModel, action) {
+ //NOTE: the display model inherits from the save model so we can in theory just post up the display model but
+ // we don't want to post all of the data as it is unecessary.
+ var saveModel = {
+ id: displayModel.id,
+ properties: [],
+ name: displayModel.name,
+ contentTypeAlias: displayModel.contentTypeAlias,
+ parentId: displayModel.parentId,
+ //set the action on the save model
+ action: action
+ };
+
+ _.each(displayModel.tabs, function (tab) {
+
+ _.each(tab.properties, function (prop) {
+
+ //don't include the custom generic tab properties
+ if (!prop.alias.startsWith("_umb_")) {
+ saveModel.properties.push({
+ id: prop.id,
+ alias: prop.alias,
+ value: prop.value
+ });
+ }
+
+ });
+ });
+
+ return saveModel;
+ },
+
+ /** formats the display model used to display the content to the model used to save the content */
+ formatContentPostData: function (displayModel, action) {
+
+ //this is basically the same as for media but we need to explicitly add some extra properties
+ var saveModel = this.formatMediaPostData(displayModel, action);
+
+ var genericTab = _.find(displayModel.tabs, function (item) {
+ return item.id === 0;
+ });
+
+ var propExpireDate = _.find(genericTab.properties, function(item) {
+ return item.alias === "_umb_expiredate";
+ });
+ var propReleaseDate = _.find(genericTab.properties, function (item) {
+ return item.alias === "_umb_releasedate";
+ });
+ var propTemplate = _.find(genericTab.properties, function (item) {
+ return item.alias === "_umb_template";
+ });
+ saveModel.expireDate = propExpireDate.value;
+ saveModel.releaseDate = propReleaseDate.value;
+ saveModel.templateAlias = propTemplate.value;
+
+ return saveModel;
+ }
+ };
+}
+angular.module('umbraco.services').factory('umbDataFormatter', umbDataFormatter);
+
+
+
+/**
+ * @ngdoc service
+ * @name umbraco.services.windowResizeListener
+ * @function
+ *
+ * @description
+ * A single window resize listener... we don't want to have more than one in theory to ensure that
+ * there aren't too many events raised. This will debounce the event with 100 ms intervals and force
+ * a $rootScope.$apply when changed and notify all listeners
+ *
+ */
+function windowResizeListener($rootScope) {
+
+ var WinReszier = (function () {
+ var registered = [];
+ var inited = false;
+ var resize = _.debounce(function(ev) {
+ notify();
+ }, 100);
+ var notify = function () {
+ var h = $(window).height();
+ var w = $(window).width();
+ //execute all registrations inside of a digest
+ $rootScope.$apply(function() {
+ for (var i = 0, cnt = registered.length; i < cnt; i++) {
+ registered[i].apply($(window), [{ width: w, height: h }]);
+ }
+ });
+ };
+ return {
+ register: function (fn) {
+ registered.push(fn);
+ if (inited === false) {
+ $(window).bind('resize', resize);
+ inited = true;
+ }
+ },
+ unregister: function (fn) {
+ var index = registered.indexOf(fn);
+ if (index > -1) {
+ registered.splice(index, 1);
+ }
+ }
+ };
+ }());
+
+ return {
+
+ /**
+ * Register a callback for resizing
+ * @param {Function} cb
+ */
+ register: function (cb) {
+ WinReszier.register(cb);
+ },
+
+ /**
+ * Removes a registered callback
+ * @param {Function} cb
+ */
+ unregister: function(cb) {
+ WinReszier.unregister(cb);
+ }
+
+ };
+}
+angular.module('umbraco.services').factory('windowResizeListener', windowResizeListener);
+/**
+ * @ngdoc service
+ * @name umbraco.services.xmlhelper
+ * @function
+ *
+ * @description
+ * Used to convert legacy xml data to json and back again
+ */
+function xmlhelper($http) {
+ /*
+ Copyright 2011 Abdulla Abdurakhmanov
+ Original sources are available at https://code.google.com/p/x2js/
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ */
+
+ function X2JS() {
+ var VERSION = "1.0.11";
+ var escapeMode = false;
+
+ var DOMNodeTypes = {
+ ELEMENT_NODE: 1,
+ TEXT_NODE: 3,
+ CDATA_SECTION_NODE: 4,
+ DOCUMENT_NODE: 9
+ };
+
+ function getNodeLocalName(node) {
+ var nodeLocalName = node.localName;
+ if (nodeLocalName == null) {
+ nodeLocalName = node.baseName;
+ } // Yeah, this is IE!!
+
+ if (nodeLocalName === null || nodeLocalName === "") {
+ nodeLocalName = node.nodeName;
+ } // =="" is IE too
+
+ return nodeLocalName;
+ }
+
+ function getNodePrefix(node) {
+ return node.prefix;
+ }
+
+ function escapeXmlChars(str) {
+ if (typeof (str) === "string") {
+ return str.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\//g, '/');
+ } else {
+ return str;
+ }
+ }
+
+ function unescapeXmlChars(str) {
+ return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, "'").replace(///g, '\/');
+ }
+
+ function parseDOMChildren(node) {
+ var result, child, childName;
+
+ if (node.nodeType === DOMNodeTypes.DOCUMENT_NODE) {
+ result = {};
+ child = node.firstChild;
+ childName = getNodeLocalName(child);
+ result[childName] = parseDOMChildren(child);
+ return result;
+ }
+ else {
+
+ if (node.nodeType === DOMNodeTypes.ELEMENT_NODE) {
+ result = {};
+ result.__cnt = 0;
+ var nodeChildren = node.childNodes;
+
+ // Children nodes
+ for (var cidx = 0; cidx < nodeChildren.length; cidx++) {
+ child = nodeChildren.item(cidx); // nodeChildren[cidx];
+ childName = getNodeLocalName(child);
+
+ result.__cnt++;
+ if (result[childName] === null) {
+ result[childName] = parseDOMChildren(child);
+ result[childName + "_asArray"] = new Array(1);
+ result[childName + "_asArray"][0] = result[childName];
+ }
+ else {
+ if (result[childName] !== null) {
+ if (!(result[childName] instanceof Array)) {
+ var tmpObj = result[childName];
+ result[childName] = [];
+ result[childName][0] = tmpObj;
+
+ result[childName + "_asArray"] = result[childName];
+ }
+ }
+ var aridx = 0;
+ while (result[childName][aridx] !== null) {
+ aridx++;
+ }
+
+ (result[childName])[aridx] = parseDOMChildren(child);
+ }
+ }
+
+ // Attributes
+ for (var aidx = 0; aidx < node.attributes.length; aidx++) {
+ var attr = node.attributes.item(aidx); // [aidx];
+ result.__cnt++;
+ result["_" + attr.name] = attr.value;
+ }
+
+ // Node namespace prefix
+ var nodePrefix = getNodePrefix(node);
+ if (nodePrefix !== null && nodePrefix !== "") {
+ result.__cnt++;
+ result.__prefix = nodePrefix;
+ }
+
+ if (result.__cnt === 1 && result["#text"] !== null) {
+ result = result["#text"];
+ }
+
+ if (result["#text"] !== null) {
+ result.__text = result["#text"];
+ if (escapeMode) {
+ result.__text = unescapeXmlChars(result.__text);
+ }
+
+ delete result["#text"];
+ delete result["#text_asArray"];
+ }
+ if (result["#cdata-section"] != null) {
+ result.__cdata = result["#cdata-section"];
+ delete result["#cdata-section"];
+ delete result["#cdata-section_asArray"];
+ }
+
+ if (result.__text != null || result.__cdata != null) {
+ result.toString = function () {
+ return (this.__text != null ? this.__text : '') + (this.__cdata != null ? this.__cdata : '');
+ };
+ }
+ return result;
+ }
+ else {
+ if (node.nodeType === DOMNodeTypes.TEXT_NODE || node.nodeType === DOMNodeTypes.CDATA_SECTION_NODE) {
+ return node.nodeValue;
+ }
+ }
+ }
+ }
+
+ function startTag(jsonObj, element, attrList, closed) {
+ var resultStr = "<" + ((jsonObj != null && jsonObj.__prefix != null) ? (jsonObj.__prefix + ":") : "") + element;
+ if (attrList != null) {
+ for (var aidx = 0; aidx < attrList.length; aidx++) {
+ var attrName = attrList[aidx];
+ var attrVal = jsonObj[attrName];
+ resultStr += " " + attrName.substr(1) + "='" + attrVal + "'";
+ }
+ }
+ if (!closed) {
+ resultStr += ">";
+ } else {
+ resultStr += "/>";
+ }
+
+ return resultStr;
+ }
+
+ function endTag(jsonObj, elementName) {
+ return "" + (jsonObj.__prefix !== null ? (jsonObj.__prefix + ":") : "") + elementName + ">";
+ }
+
+ function endsWith(str, suffix) {
+ return str.indexOf(suffix, str.length - suffix.length) !== -1;
+ }
+
+ function jsonXmlSpecialElem(jsonObj, jsonObjField) {
+ if (endsWith(jsonObjField.toString(), ("_asArray")) || jsonObjField.toString().indexOf("_") === 0 || (jsonObj[jsonObjField] instanceof Function)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ function jsonXmlElemCount(jsonObj) {
+ var elementsCnt = 0;
+ if (jsonObj instanceof Object) {
+ for (var it in jsonObj) {
+ if (jsonXmlSpecialElem(jsonObj, it)) {
+ continue;
+ }
+ elementsCnt++;
+ }
+ }
+ return elementsCnt;
+ }
+
+ function parseJSONAttributes(jsonObj) {
+ var attrList = [];
+ if (jsonObj instanceof Object) {
+ for (var ait in jsonObj) {
+ if (ait.toString().indexOf("__") === -1 && ait.toString().indexOf("_") === 0) {
+ attrList.push(ait);
+ }
+ }
+ }
+
+ return attrList;
+ }
+
+ function parseJSONTextAttrs(jsonTxtObj) {
+ var result = "";
+
+ if (jsonTxtObj.__cdata != null) {
+ result += "";
+ }
+
+ if (jsonTxtObj.__text != null) {
+ if (escapeMode) {
+ result += escapeXmlChars(jsonTxtObj.__text);
+ } else {
+ result += jsonTxtObj.__text;
+ }
+ }
+ return result;
+ }
+
+ function parseJSONTextObject(jsonTxtObj) {
+ var result = "";
+
+ if (jsonTxtObj instanceof Object) {
+ result += parseJSONTextAttrs(jsonTxtObj);
+ }
+ else {
+ if (jsonTxtObj != null) {
+ if (escapeMode) {
+ result += escapeXmlChars(jsonTxtObj);
+ } else {
+ result += jsonTxtObj;
+ }
+ }
+ }
+
+
+ return result;
+ }
+
+ function parseJSONArray(jsonArrRoot, jsonArrObj, attrList) {
+ var result = "";
+ if (jsonArrRoot.length === 0) {
+ result += startTag(jsonArrRoot, jsonArrObj, attrList, true);
+ }
+ else {
+ for (var arIdx = 0; arIdx < jsonArrRoot.length; arIdx++) {
+ result += startTag(jsonArrRoot[arIdx], jsonArrObj, parseJSONAttributes(jsonArrRoot[arIdx]), false);
+ result += parseJSONObject(jsonArrRoot[arIdx]);
+ result += endTag(jsonArrRoot[arIdx], jsonArrObj);
+ }
+ }
+ return result;
+ }
+
+ function parseJSONObject(jsonObj) {
+ var result = "";
+
+ var elementsCnt = jsonXmlElemCount(jsonObj);
+
+ if (elementsCnt > 0) {
+ for (var it in jsonObj) {
+ if (jsonXmlSpecialElem(jsonObj, it)) {
+ continue;
+ }
+
+ var subObj = jsonObj[it];
+ var attrList = parseJSONAttributes(subObj);
+
+ if (subObj === null || subObj === undefined) {
+ result += startTag(subObj, it, attrList, true);
+ } else {
+ if (subObj instanceof Object) {
+
+ if (subObj instanceof Array) {
+ result += parseJSONArray(subObj, it, attrList);
+ } else {
+ var subObjElementsCnt = jsonXmlElemCount(subObj);
+ if (subObjElementsCnt > 0 || subObj.__text !== null || subObj.__cdata !== null) {
+ result += startTag(subObj, it, attrList, false);
+ result += parseJSONObject(subObj);
+ result += endTag(subObj, it);
+ } else {
+ result += startTag(subObj, it, attrList, true);
+ }
+ }
+
+ } else {
+ result += startTag(subObj, it, attrList, false);
+ result += parseJSONTextObject(subObj);
+ result += endTag(subObj, it);
+ }
+ }
+ }
+ }
+ result += parseJSONTextObject(jsonObj);
+
+ return result;
+ }
+
+ this.parseXmlString = function (xmlDocStr) {
+ var xmlDoc;
+ if (window.DOMParser) {
+ var parser = new window.DOMParser();
+ xmlDoc = parser.parseFromString(xmlDocStr, "text/xml");
+ }
+ else {
+ // IE :(
+ if (xmlDocStr.indexOf("") === 0) {
+ xmlDocStr = xmlDocStr.substr(xmlDocStr.indexOf("?>") + 2);
+ }
+ xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
+ xmlDoc.async = "false";
+ xmlDoc.loadXML(xmlDocStr);
+ }
+ return xmlDoc;
+ };
+
+ this.xml2json = function (xmlDoc) {
+ return parseDOMChildren(xmlDoc);
+ };
+
+ this.xml_str2json = function (xmlDocStr) {
+ var xmlDoc = this.parseXmlString(xmlDocStr);
+ return this.xml2json(xmlDoc);
+ };
+
+ this.json2xml_str = function (jsonObj) {
+ return parseJSONObject(jsonObj);
+ };
+
+ this.json2xml = function (jsonObj) {
+ var xmlDocStr = this.json2xml_str(jsonObj);
+ return this.parseXmlString(xmlDocStr);
+ };
+
+ this.getVersion = function () {
+ return VERSION;
+ };
+
+ this.escapeMode = function (enabled) {
+ escapeMode = enabled;
+ };
+ }
+
+ var x2js = new X2JS();
+ return {
+ /** Called to load in the legacy tree js which is required on startup if a user is logged in or
+ after login, but cannot be called until they are authenticated which is why it needs to be lazy loaded. */
+ toJson: function (xml) {
+ var json = x2js.xml_str2json(xml);
+ return json;
+ },
+ fromJson: function (json) {
+ var xml = x2js.json2xml_str(json);
+ return xml;
+ }
+ };
+}
+angular.module('umbraco.services').factory('xmlhelper', xmlhelper);
+
+})();
\ No newline at end of file
diff --git a/Blog/umbraco/Js/umbraco.testing.js b/Blog/umbraco/Js/umbraco.testing.js
new file mode 100644
index 0000000..0cf9e9d
--- /dev/null
+++ b/Blog/umbraco/Js/umbraco.testing.js
@@ -0,0 +1,2276 @@
+/*! umbraco
+ * https://github.com/umbraco/umbraco-cms/
+ * Copyright (c) 2015 Umbraco HQ;
+ * Licensed MIT
+ */
+
+(function() {
+
+angular.module("umbraco.mocks", ['ngCookies']);
+angular.module("umbraco.mocks.services", []);
+angular.module('umbraco.mocks').
+ factory('prevaluesMocks', ['$httpBackend', 'mocksUtils', function ($httpBackend, mocksUtils) {
+ 'use strict';
+
+ function getRichTextConfiguration(status, data, headers) {
+ if (!mocksUtils.checkAuth()) {
+ return [401, null, null];
+ }
+ else {
+ return [200, { "plugins": [{ "name": "code", "useOnFrontend": true }, { "name": "paste", "useOnFrontend": true }, { "name": "umbracolink", "useOnFrontend": true }], "commands": [{ "icon": "images/editor/code.gif", "command": "code", "alias": "code", "userInterface": "false", "frontEndCommand": "code", "value": "", "priority": 1, "isStylePicker": false }, { "icon": "images/editor/removeformat.gif", "command": "removeformat", "alias": "removeformat", "userInterface": "false", "frontEndCommand": "removeformat", "value": "", "priority": 2, "isStylePicker": false }, { "icon": "images/editor/undo.gif", "command": "undo", "alias": "undo", "userInterface": "false", "frontEndCommand": "undo", "value": "", "priority": 11, "isStylePicker": false }, { "icon": "images/editor/redo.gif", "command": "redo", "alias": "redo", "userInterface": "false", "frontEndCommand": "redo", "value": "", "priority": 12, "isStylePicker": false }, { "icon": "images/editor/cut.gif", "command": "cut", "alias": "cut", "userInterface": "false", "frontEndCommand": "cut", "value": "", "priority": 13, "isStylePicker": false }, { "icon": "images/editor/copy.gif", "command": "copy", "alias": "copy", "userInterface": "false", "frontEndCommand": "copy", "value": "", "priority": 14, "isStylePicker": false }, { "icon": "images/editor/showStyles.png", "command": "styleselect", "alias": "styleselect", "userInterface": "false", "frontEndCommand": "styleselect", "value": "", "priority": 20, "isStylePicker": false }, { "icon": "images/editor/bold.gif", "command": "bold", "alias": "bold", "userInterface": "false", "frontEndCommand": "bold", "value": "", "priority": 21, "isStylePicker": false }, { "icon": "images/editor/italic.gif", "command": "italic", "alias": "italic", "userInterface": "false", "frontEndCommand": "italic", "value": "", "priority": 22, "isStylePicker": false }, { "icon": "images/editor/underline.gif", "command": "underline", "alias": "underline", "userInterface": "false", "frontEndCommand": "underline", "value": "", "priority": 23, "isStylePicker": false }, { "icon": "images/editor/strikethrough.gif", "command": "strikethrough", "alias": "strikethrough", "userInterface": "false", "frontEndCommand": "strikethrough", "value": "", "priority": 24, "isStylePicker": false }, { "icon": "images/editor/justifyleft.gif", "command": "justifyleft", "alias": "justifyleft", "userInterface": "false", "frontEndCommand": "alignleft", "value": "", "priority": 31, "isStylePicker": false }, { "icon": "images/editor/justifycenter.gif", "command": "justifycenter", "alias": "justifycenter", "userInterface": "false", "frontEndCommand": "aligncenter", "value": "", "priority": 32, "isStylePicker": false }, { "icon": "images/editor/justifyright.gif", "command": "justifyright", "alias": "justifyright", "userInterface": "false", "frontEndCommand": "alignright", "value": "", "priority": 33, "isStylePicker": false }, { "icon": "images/editor/justifyfull.gif", "command": "justifyfull", "alias": "justifyfull", "userInterface": "false", "frontEndCommand": "alignfull", "value": "", "priority": 34, "isStylePicker": false }, { "icon": "images/editor/bullist.gif", "command": "bullist", "alias": "bullist", "userInterface": "false", "frontEndCommand": "bullist", "value": "", "priority": 41, "isStylePicker": false }, { "icon": "images/editor/numlist.gif", "command": "numlist", "alias": "numlist", "userInterface": "false", "frontEndCommand": "numlist", "value": "", "priority": 42, "isStylePicker": false }, { "icon": "images/editor/outdent.gif", "command": "outdent", "alias": "outdent", "userInterface": "false", "frontEndCommand": "outdent", "value": "", "priority": 43, "isStylePicker": false }, { "icon": "images/editor/indent.gif", "command": "indent", "alias": "indent", "userInterface": "false", "frontEndCommand": "indent", "value": "", "priority": 44, "isStylePicker": false }, { "icon": "images/editor/link.gif", "command": "link", "alias": "mcelink", "userInterface": "true", "frontEndCommand": "link", "value": "", "priority": 51, "isStylePicker": false }, { "icon": "images/editor/unLink.gif", "command": "unlink", "alias": "unlink", "userInterface": "false", "frontEndCommand": "unlink", "value": "", "priority": 52, "isStylePicker": false }, { "icon": "images/editor/anchor.gif", "command": "anchor", "alias": "mceinsertanchor", "userInterface": "false", "frontEndCommand": "anchor", "value": "", "priority": 53, "isStylePicker": false }, { "icon": "images/editor/image.gif", "command": "image", "alias": "mceimage", "userInterface": "true", "frontEndCommand": "umbmediapicker", "value": "", "priority": 61, "isStylePicker": false }, { "icon": "images/editor/insMacro.gif", "command": "umbracomacro", "alias": "umbracomacro", "userInterface": "true", "frontEndCommand": "umbmacro", "value": "", "priority": 62, "isStylePicker": false }, { "icon": "images/editor/table.gif", "command": "table", "alias": "mceinserttable", "userInterface": "true", "frontEndCommand": "table", "value": "", "priority": 63, "isStylePicker": false }, { "icon": "images/editor/media.gif", "command": "umbracoembed", "alias": "umbracoembed", "userInterface": "true", "frontEndCommand": "umbembeddialog", "value": "", "priority": 66, "isStylePicker": false }, { "icon": "images/editor/hr.gif", "command": "hr", "alias": "inserthorizontalrule", "userInterface": "false", "frontEndCommand": "hr", "value": "", "priority": 71, "isStylePicker": false }, { "icon": "images/editor/sub.gif", "command": "sub", "alias": "subscript", "userInterface": "false", "frontEndCommand": "sub", "value": "", "priority": 72, "isStylePicker": false }, { "icon": "images/editor/sup.gif", "command": "sup", "alias": "superscript", "userInterface": "false", "frontEndCommand": "sup", "value": "", "priority": 73, "isStylePicker": false }, { "icon": "images/editor/charmap.gif", "command": "charmap", "alias": "mcecharmap", "userInterface": "false", "frontEndCommand": "charmap", "value": "", "priority": 74, "isStylePicker": false }], "validElements": "+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|reversed|start|style|type],-ul[class|style],-li[class|style],br[class],img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align|umbracoorgwidth|umbracoorgheight|onresize|onresizestart|onresizeend|rel],-sub[style|class],-sup[style|class],-blockquote[dir|style|class],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[class|align|style],-pre[class|align|style],address[class|align|style],-h1[id|dir|class|align],-h2[id|dir|class|align],-h3[id|dir|class|align],-h4[id|dir|class|align],-h5[id|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],object[class|id|width|height|codebase|*],param[name|value|_value|class],embed[type|width|height|src|class|*],map[name|class],area[shape|coords|href|alt|target|class],bdo[class],button[class],iframe[*]", "inValidElements": "font", "customConfig": { "entity_encoding": "raw" } }, null];
+ }
+ }
+
+ function getCanvasEditorConfiguration(status, data, headers){
+ if (!mocksUtils.checkAuth()) {
+ return [401, null, null];
+ }
+ else {
+ return [200,
+ [
+ {
+ "name": "Rich text editor",
+ "alias": "rte",
+ "view": "rte",
+ "icon": "icon-article"
+ },
+ {
+ "name": "Image",
+ "alias": "media",
+ "view": "media",
+ "icon": "icon-picture"
+ },
+ {
+ "name": "Macro",
+ "alias": "macro",
+ "view": "macro",
+ "icon": "icon-settings-alt"
+ },
+ {
+ "name": "Embed",
+ "alias": "embed",
+ "view": "embed",
+ "icon": "icon-movie-alt"
+ },
+ {
+ "name": "Headline",
+ "alias": "headline",
+ "view": "textstring",
+ "icon": "icon-coin",
+ "config": {
+ "style": "font-size: 36px; line-height: 45px; font-weight: bold",
+ "markup": "
One-level paths in domains are supported, eg. 'example.com/en'. However, they should be avoided. Better use the culture setting above.",
+ "assignDomain_domainUpdated": "Domain '%0%' has been updated",
+ "assignDomain_orEdit": "Edit Current Domains",
+ "assignDomain_inherit": "Inherit",
+ "assignDomain_setLanguage": "Culture",
+ "assignDomain_setLanguageHelp": "Set the culture for nodes below the current node, or inherit culture from parent nodes. Will also apply to the current node, unless a domain below applies too.",
+ "assignDomain_setDomains": "Domains",
+ "auditTrails_atViewingFor": "Viewing for",
+ "buttons_select": "Select",
+ "buttons_somethingElse": "Do something else",
+ "buttons_bold": "Bold",
+ "buttons_deindent": "Cancel Paragraph Indent",
+ "buttons_formFieldInsert": "Insert form field",
+ "buttons_graphicHeadline": "Insert graphic headline",
+ "buttons_htmlEdit": "Edit Html",
+ "buttons_indent": "Indent Paragraph",
+ "buttons_italic": "Italic",
+ "buttons_justifyCenter": "Center",
+ "buttons_justifyLeft": "Justify Left",
+ "buttons_justifyRight": "Justify Right",
+ "buttons_linkInsert": "Insert Link",
+ "buttons_linkLocal": "Insert local link (anchor)",
+ "buttons_listBullet": "Bullet List",
+ "buttons_listNumeric": "Numeric List",
+ "buttons_macroInsert": "Insert macro",
+ "buttons_pictureInsert": "Insert picture",
+ "buttons_relations": "Edit relations",
+ "buttons_save": "Save",
+ "buttons_saveAndPublish": "Save and publish",
+ "buttons_saveToPublish": "Save and send for approval",
+ "buttons_showPage": "Preview",
+ "buttons_showPageDisabled": "Preview is disabled because there's no template assigned",
+ "buttons_styleChoose": "Choose style",
+ "buttons_styleShow": "Show styles",
+ "buttons_tableInsert": "Insert table",
+ "changeDocType_changeDocTypeInstruction": "To change the document type for the selected content, first select from the list of valid types for this location.",
+ "changeDocType_changeDocTypeInstruction2": "Then confirm and/or amend the mapping of properties from the current type to the new, and click Save.",
+ "changeDocType_contentRepublished": "The content has been re-published.",
+ "changeDocType_currentProperty": "Current Property",
+ "changeDocType_currentType": "Current type",
+ "changeDocType_docTypeCannotBeChanged": "The document type cannot be changed, as there are no alternatives valid for this location.",
+ "changeDocType_docTypeChanged": "Document Type Changed",
+ "changeDocType_mapProperties": "Map Properties",
+ "changeDocType_mapToProperty": "Map to Property",
+ "changeDocType_newTemplate": "New Template",
+ "changeDocType_newType": "New Type",
+ "changeDocType_none": "none",
+ "changeDocType_selectedContent": "Content",
+ "changeDocType_selectNewDocType": "Select New Document Type",
+ "changeDocType_successMessage": "The document type of the selected content has been successfully changed to [new type] and the following properties mapped:",
+ "changeDocType_to": "to",
+ "changeDocType_validationErrorPropertyWithMoreThanOneMapping": "Could not complete property mapping as one or more properties have more than one mapping defined.",
+ "changeDocType_validDocTypesNote": "Only alternate types valid for the current location are displayed.",
+ "content_about": "About this page",
+ "content_alias": "Alias",
+ "content_alternativeTextHelp": "(how would you describe the picture over the phone)",
+ "content_alternativeUrls": "Alternative Links",
+ "content_clickToEdit": "Click to edit this item",
+ "content_createBy": "Created by",
+ "content_createByDesc": "Original autho",
+ "content_updatedBy": "Updated by",
+ "content_createDate": "Created",
+ "content_createDateDesc": "Date/time this document was created",
+ "content_documentType": "Document Type",
+ "content_editing": "Editing",
+ "content_expireDate": "Remove at",
+ "content_itemChanged": "This item has been changed after publication",
+ "content_itemNotPublished": "This item is not published",
+ "content_lastPublished": "Last published",
+ "content_listViewNoItems": "There are no items show in the list.",
+ "content_mediatype": "Media Type",
+ "content_mediaLinks": "Link to media item(s)",
+ "content_membergroup": "Member Group",
+ "content_memberrole": "Role",
+ "content_membertype": "Member Type",
+ "content_noDate": "No date chosen",
+ "content_nodeName": "Page Title",
+ "content_otherElements": "Properties",
+ "content_parentNotPublished": "This document is published but is not visible because the parent '%0%' is unpublished",
+ "content_parentNotPublishedAnomaly": "Oops: this document is published but is not in the cache (internal error)",
+ "content_publish": "Publish",
+ "content_publishStatus": "Publication Status",
+ "content_releaseDate": "Publish at",
+ "content_removeDate": "Clear Date",
+ "content_sortDone": "Sortorder is updated",
+ "content_sortHelp": "To sort the nodes, simply drag the nodes or click one of the column headers. You can select multiple nodes by holding the 'shift' or 'control' key while selecting",
+ "content_statistics": "Statistics",
+ "content_titleOptional": "Title (optional)",
+ "content_type": "Type",
+ "content_unPublish": "Unpublish",
+ "content_updateDate": "Last edited",
+ "content_updateDateDesc": "Date/time this document was created",
+ "content_uploadClear": "Remove file",
+ "content_urls": "Link to document",
+ "content_memberof": "Member of group(s)",
+ "content_notmemberof": "Not a member of group(s)",
+ "content_childItems": "Child items",
+ "create_chooseNode": "Where do you want to create the new %0%",
+ "create_createUnder": "Create a page under",
+ "create_updateData": "Choose a type and a title",
+ "create_noDocumentTypes": "There are no allowed document types available. You must enable these in the settings section under 'document types'.",
+ "create_noMediaTypes": "There are no allowed media types available. You must enable these in the settings section under 'media types'.",
+ "dashboard_browser": "Browse your website",
+ "dashboard_dontShowAgain": "- Hide",
+ "dashboard_nothinghappens": "If Umbraco isn't opening, you might need to allow popups from this site",
+ "dashboard_openinnew": "has opened in a new window",
+ "dashboard_restart": "Restart",
+ "dashboard_visit": "Visit",
+ "dashboard_welcome": "Welcome",
+ "defaultdialogs_anchorInsert": "Name",
+ "defaultdialogs_assignDomain": "Manage hostnames",
+ "defaultdialogs_closeThisWindow": "Close this window",
+ "defaultdialogs_confirmdelete": "Are you sure you want to delete",
+ "defaultdialogs_confirmdisable": "Are you sure you want to disable",
+ "defaultdialogs_confirmEmptyTrashcan": "Please check this box to confirm deletion of %0% item(s)",
+ "defaultdialogs_confirmlogout": "Are you sure?",
+ "defaultdialogs_confirmSure": "Are you sure?",
+ "defaultdialogs_cut": "Cut",
+ "defaultdialogs_editdictionary": "Edit Dictionary Item",
+ "defaultdialogs_editlanguage": "Edit Language",
+ "defaultdialogs_insertAnchor": "Insert local link",
+ "defaultdialogs_insertCharacter": "Insert character",
+ "defaultdialogs_insertgraphicheadline": "Insert graphic headline",
+ "defaultdialogs_insertimage": "Insert picture",
+ "defaultdialogs_insertlink": "Insert link",
+ "defaultdialogs_insertMacro": "Click to add a Macro",
+ "defaultdialogs_inserttable": "Insert table",
+ "defaultdialogs_lastEdited": "Last Edited",
+ "defaultdialogs_link": "Link",
+ "defaultdialogs_linkinternal": "Internal link:",
+ "defaultdialogs_linklocaltip": "When using local links, insert '#' infront of link",
+ "defaultdialogs_linknewwindow": "Open in new window?",
+ "defaultdialogs_macroContainerSettings": "Macro Settings",
+ "defaultdialogs_macroDoesNotHaveProperties": "This macro does not contain any properties you can edit",
+ "defaultdialogs_paste": "Paste",
+ "defaultdialogs_permissionsEdit": "Edit Permissions for",
+ "defaultdialogs_recycleBinDeleting": "The items in the recycle bin are now being deleted. Please do not close this window while this operation takes place",
+ "defaultdialogs_recycleBinIsEmpty": "The recycle bin is now empty",
+ "defaultdialogs_recycleBinWarning": "When items are deleted from the recycle bin, they will be gone forever",
+ "defaultdialogs_regexSearchError": "regexlib.com's webservice is currently experiencing some problems, which we have no control over. We are very sorry for this inconvenience.",
+ "defaultdialogs_regexSearchHelp": "Search for a regular expression to add validation to a form field. Exemple: 'email, 'zip-code' 'url'",
+ "defaultdialogs_removeMacro": "Remove Macro",
+ "defaultdialogs_requiredField": "Required Field",
+ "defaultdialogs_sitereindexed": "Site is reindexed",
+ "defaultdialogs_siterepublished": "The website cache has been refreshed. All publish content is now uptodate. While all unpublished content is still unpublished",
+ "defaultdialogs_siterepublishHelp": "The website cache will be refreshed. All published content will be updated, while unpublished content will stay unpublished.",
+ "defaultdialogs_tableColumns": "Number of columns",
+ "defaultdialogs_tableRows": "Number of rows",
+ "defaultdialogs_templateContentAreaHelp": "Set a placeholder id by setting an ID on your placeholder you can inject content into this template from child templates, by refering this ID using a <asp:content /> element.",
+ "defaultdialogs_templateContentPlaceHolderHelp": "Select a placeholder id from the list below. You can only choose Id's from the current template's master.",
+ "defaultdialogs_thumbnailimageclickfororiginal": "Click on the image to see full size",
+ "defaultdialogs_treepicker": "Pick item",
+ "defaultdialogs_viewCacheItem": "View Cache Item",
+ "dictionaryItem_description": "Edit the different language versions for the dictionary item '%0%' below You can add additional languages under the 'languages' in the menu on the left ",
+ "dictionaryItem_displayName": "Culture Name",
+ "placeholders_username": "Enter your username",
+ "placeholders_password": "Enter your password",
+ "placeholders_entername": "Enter a name...",
+ "placeholders_nameentity": "Name the %0%...",
+ "placeholders_search": "Type to search...",
+ "placeholders_filter": "Type to filter...",
+ "editcontenttype_allowedchildnodetypes": "Allowed child nodetypes",
+ "editcontenttype_create": "Create",
+ "editcontenttype_deletetab": "Delete tab",
+ "editcontenttype_description": "Description",
+ "editcontenttype_newtab": "New tab",
+ "editcontenttype_tab": "Tab",
+ "editcontenttype_thumbnail": "Thumbnail",
+ "editcontenttype_iscontainercontenttype": "Use as container content type",
+ "editdatatype_addPrevalue": "Add prevalue",
+ "editdatatype_dataBaseDatatype": "Database datatype",
+ "editdatatype_guid": "Property editor GUID",
+ "editdatatype_renderControl": "Property editor",
+ "editdatatype_rteButtons": "Buttons",
+ "editdatatype_rteEnableAdvancedSettings": "Enable advanced settings for",
+ "editdatatype_rteEnableContextMenu": "Enable context menu",
+ "editdatatype_rteMaximumDefaultImgSize": "Maximum default size of inserted images",
+ "editdatatype_rteRelatedStylesheets": "Related stylesheets",
+ "editdatatype_rteShowLabel": "Show label",
+ "editdatatype_rteWidthAndHeight": "Width and height",
+ "errorHandling_errorButDataWasSaved": "Your data has been saved, but before you can publish this page there are some errors you need to fix first:",
+ "errorHandling_errorChangingProviderPassword": "The current MemberShip Provider does not support changing password (EnablePasswordRetrieval need to be true)",
+ "errorHandling_errorExistsWithoutTab": "%0% already exists",
+ "errorHandling_errorHeader": "There were errors:",
+ "errorHandling_errorHeaderWithoutTab": "There were errors:",
+ "errorHandling_errorInPasswordFormat": "The password should be a minimum of %0% characters long and contain at least %1% non-alpha numeric character(s)",
+ "errorHandling_errorIntegerWithoutTab": "%0% must be an integer",
+ "errorHandling_errorMandatory": "The %0% field in the %1% tab is mandatory",
+ "errorHandling_errorMandatoryWithoutTab": "%0% is a mandatory field",
+ "errorHandling_errorRegExp": "%0% at %1% is not in a correct format",
+ "errorHandling_errorRegExpWithoutTab": "%0% is not in a correct format",
+ "errors_dissallowedMediaType": "The specified file type has been dissallowed by the administrator",
+ "errors_codemirroriewarning": "NOTE! Even though CodeMirror is enabled by configuration, it is disabled in Internet Explorer because it's not stable enough.",
+ "errors_contentTypeAliasAndNameNotNull": "Please fill both alias and name on the new propertytype!",
+ "errors_filePermissionsError": "There is a problem with read/write access to a specific file or folder",
+ "errors_missingTitle": "Please enter a title",
+ "errors_missingType": "Please choose a type",
+ "errors_pictureResizeBiggerThanOrg": "You're about to make the picture larger than the original size. Are you sure that you want to proceed?",
+ "errors_pythonErrorHeader": "Error in python script",
+ "errors_pythonErrorText": "The python script has not been saved, because it contained error(s)",
+ "errors_startNodeDoesNotExists": "Startnode deleted, please contact your administrator",
+ "errors_stylesMustMarkBeforeSelect": "Please mark content before changing style",
+ "errors_stylesNoStylesOnPage": "No active styles available",
+ "errors_tableColMergeLeft": "Please place cursor at the left of the two cells you wish to merge",
+ "errors_tableSplitNotSplittable": "You cannot split a cell that hasn't been merged.",
+ "errors_xsltErrorHeader": "Error in XSLT source",
+ "errors_xsltErrorText": "The XSLT has not been saved, because it contained error(s)",
+ "general_about": "About",
+ "general_action": "Action",
+ "general_add": "Add",
+ "general_alias": "Alias",
+ "general_areyousure": "Are you sure?",
+ "general_border": "Border",
+ "general_by": "or",
+ "general_cancel": "Cancel",
+ "general_cellMargin": "Cell margin",
+ "general_choose": "Choose",
+ "general_close": "Close",
+ "general_closewindow": "Close Window",
+ "general_comment": "Comment",
+ "general_confirm": "Confirm",
+ "general_constrainProportions": "Constrain proportions",
+ "general_continue": "Continue",
+ "general_copy": "Copy",
+ "general_create": "Create",
+ "general_database": "Database",
+ "general_date": "Date",
+ "general_default": "Default",
+ "general_delete": "Delete",
+ "general_deleted": "Deleted",
+ "general_deleting": "Deleting...",
+ "general_design": "Design",
+ "general_dimensions": "Dimensions",
+ "general_down": "Down",
+ "general_download": "Download",
+ "general_edit": "Edit",
+ "general_edited": "Edited",
+ "general_elements": "Elements",
+ "general_email": "Email",
+ "general_error": "Error",
+ "general_findDocument": "Find",
+ "general_height": "Height",
+ "general_help": "Help",
+ "general_icon": "Icon",
+ "general_import": "Import",
+ "general_innerMargin": "Inner margin",
+ "general_insert": "Insert",
+ "general_install": "Install",
+ "general_justify": "Justify",
+ "general_language": "Language",
+ "general_layout": "Layout",
+ "general_loading": "Loading",
+ "general_locked": "Locked",
+ "general_login": "Login",
+ "general_logoff": "Log off",
+ "general_logout": "Logout",
+ "general_macro": "Macro",
+ "general_move": "Move",
+ "general_name": "Name",
+ "general_new": "New",
+ "general_next": "Next",
+ "general_no": "No",
+ "general_of": "of",
+ "general_ok": "OK",
+ "general_open": "Open",
+ "general_or": "or",
+ "general_password": "Password",
+ "general_path": "Path",
+ "general_placeHolderID": "Placeholder ID",
+ "general_pleasewait": "One moment please...",
+ "general_previous": "Previous",
+ "general_properties": "Properties",
+ "general_reciept": "Email to receive form data",
+ "general_recycleBin": "Recycle Bin",
+ "general_remaining": "Remaining",
+ "general_rename": "Rename",
+ "general_renew": "Renew",
+ "general_required": "Required",
+ "general_retry": "Retry",
+ "general_rights": "Permissions",
+ "general_search": "Search",
+ "general_server": "Server",
+ "general_show": "Show",
+ "general_showPageOnSend": "Show page on Send",
+ "general_size": "Size",
+ "general_sort": "Sort",
+ "general_type": "Type",
+ "general_typeToSearch": "Type to search...",
+ "general_up": "Up",
+ "general_update": "Update",
+ "general_upgrade": "Upgrade",
+ "general_upload": "Upload",
+ "general_url": "Url",
+ "general_user": "User",
+ "general_username": "Username",
+ "general_value": "Value",
+ "general_view": "View",
+ "general_welcome": "Welcome...",
+ "general_width": "Width",
+ "general_yes": "Yes",
+ "general_folder": "Folder",
+ "general_searchResults": "Search results",
+ "graphicheadline_backgroundcolor": "Background color",
+ "graphicheadline_bold": "Bold",
+ "graphicheadline_color": "Text color",
+ "graphicheadline_font": "Font",
+ "graphicheadline_text": "Text",
+ "headers_page": "Page",
+ "installer_databaseErrorCannotConnect": "The installer cannot connect to the database.",
+ "installer_databaseErrorWebConfig": "Could not save the web.config file. Please modify the connection string manually.",
+ "installer_databaseFound": "Your database has been found and is identified as",
+ "installer_databaseHeader": "Database configuration",
+ "installer_databaseInstall": " Press the install button to install the Umbraco %0% database ",
+ "installer_databaseInstallDone": "Umbraco %0% has now been copied to your database. Press Next to proceed.",
+ "installer_databaseNotFound": "
Database not found! Please check that the information in the 'connection string' of the \"web.config\" file is correct.
To proceed, please edit the 'web.config' file (using Visual Studio or your favourite text editor), scroll to the bottom, add the connection string for your database in the key named 'UmbracoDbDSN' and save the file.
",
+ "installer_databaseText": "To complete this step, you must know some information regarding your database server ('connection string'). Please contact your ISP if necessary. If you're installing on a local machine or server you might need information from your system administrator.",
+ "installer_databaseUpgrade": "
Press the upgrade button to upgrade your database to Umbraco %0%
Don't worry - no content will be deleted and everything will continue working afterwards!
",
+ "installer_databaseUpgradeDone": "Your database has been upgraded to the final version %0%. Press Next to proceed. ",
+ "installer_databaseUpToDate": "Your current database is up-to-date!. Click next to continue the configuration wizard",
+ "installer_defaultUserChangePass": "The Default users' password needs to be changed!",
+ "installer_defaultUserDisabled": "The Default user has been disabled or has no access to Umbraco!
No further actions needs to be taken. Click Next to proceed.",
+ "installer_defaultUserPassChanged": "The Default user's password has been successfully changed since the installation!
No further actions needs to be taken. Click Next to proceed.",
+ "installer_defaultUserPasswordChanged": "The password is changed!",
+ "installer_defaultUserText": "
Umbraco creates a default user with a login ('admin') and password ('default'). It's important that the password is changed to something unique.
This step will check the default user's password and suggest if it needs to be changed.
",
+ "installer_greatStart": "Get a great start, watch our introduction videos",
+ "installer_licenseText": "By clicking the next button (or modifying the UmbracoConfigurationStatus in web.config), you accept the license for this software as specified in the box below. Notice that this Umbraco distribution consists of two different licenses, the open source MIT license for the framework and the Umbraco freeware license that covers the UI.",
+ "installer_None": "Not installed yet.",
+ "installer_permissionsAffectedFolders": "Affected files and folders",
+ "installer_permissionsAffectedFoldersMoreInfo": "More information on setting up permissions for Umbraco here",
+ "installer_permissionsAffectedFoldersText": "You need to grant ASP.NET modify permissions to the following files/folders",
+ "installer_permissionsAlmostPerfect": "Your permission settings are almost perfect!
You can run Umbraco without problems, but you will not be able to install packages which are recommended to take full advantage of Umbraco.",
+ "installer_permissionsHowtoResolve": "How to Resolve",
+ "installer_permissionsHowtoResolveLink": "Click here to read the text version",
+ "installer_permissionsHowtoResolveText": "Watch our video tutorial on setting up folder permissions for Umbraco or read the text version.",
+ "installer_permissionsMaybeAnIssue": "Your permission settings might be an issue!
You can run Umbraco without problems, but you will not be able to create folders or install packages which are recommended to take full advantage of Umbraco.",
+ "installer_permissionsNotReady": "Your permission settings are not ready for Umbraco!
In order to run Umbraco, you'll need to update your permission settings.",
+ "installer_permissionsPerfect": "Your permission settings are perfect!
You are ready to run Umbraco and install packages!",
+ "installer_permissionsResolveFolderIssues": "Resolving folder issue",
+ "installer_permissionsResolveFolderIssuesLink": "Follow this link for more information on problems with ASP.NET and creating folders",
+ "installer_permissionsSettingUpPermissions": "Setting up folder permissions",
+ "installer_permissionsText": " Umbraco needs write/modify access to certain directories in order to store files like pictures and PDF's. It also stores temporary data (aka: cache) for enhancing the performance of your website. ",
+ "installer_runwayFromScratch": "I want to start from scratch",
+ "installer_runwayFromScratchText": " Your website is completely empty at the moment, so that's perfect if you want to start from scratch and create your own document types and templates. (learn how) You can still choose to install Runway later on. Please go to the Developer section and choose Packages. ",
+ "installer_runwayHeader": "You've just set up a clean Umbraco platform. What do you want to do next?",
+ "installer_runwayInstalled": "Runway is installed",
+ "installer_runwayInstalledText": " You have the foundation in place. Select what modules you wish to install on top of it. This is our list of recommended modules, check off the ones you would like to install, or view the full list of modules ",
+ "installer_runwayOnlyProUsers": "Only recommended for experienced users",
+ "installer_runwaySimpleSite": "I want to start with a simple website",
+ "installer_runwaySimpleSiteText": "
'Runway' is a simple website providing some basic document types and templates. The installer can set up Runway for you automatically, but you can easily edit, extend or remove it. It's not necessary and you can perfectly use Umbraco without it. However, Runway offers an easy foundation based on best practices to get you started faster than ever. If you choose to install Runway, you can optionally select basic building blocks called Runway Modules to enhance your Runway pages.
Included with Runway: Home page, Getting Started page, Installing Modules page. Optional Modules: Top Navigation, Sitemap, Contact, Gallery. ",
+ "installer_runwayWhatIsRunway": "What is Runway",
+ "installer_step1": "Step 1/5 Accept license",
+ "installer_step2": "Step 2/5: Database configuration",
+ "installer_step3": "Step 3/5: Validating File Permissions",
+ "installer_step4": "Step 4/5: Check Umbraco security",
+ "installer_step5": "Step 5/5: Umbraco is ready to get you started",
+ "installer_thankYou": "Thank you for choosing Umbraco",
+ "installer_theEndBrowseSite": "
Browse your new site
You installed Runway, so why not see how your new website looks.",
+ "installer_theEndFurtherHelp": "
Further help and information
Get help from our award winning community, browse the documentation or watch some free videos on how to build a simple site, how to use packages and a quick guide to the Umbraco terminology",
+ "installer_theEndHeader": "Umbraco %0% is installed and ready for use",
+ "installer_theEndInstallFailed": "To finish the installation, you'll need to manually edit the /web.config file and update the AppSetting key UmbracoConfigurationStatus in the bottom to the value of '%0%'.",
+ "installer_theEndInstallSuccess": "You can get started instantly by clicking the 'Launch Umbraco' button below. If you are new to Umbraco, you can find plenty of resources on our getting started pages.",
+ "installer_theEndOpenUmbraco": "
Launch Umbraco
To manage your website, simply open the Umbraco back office and start adding content, updating the templates and stylesheets or add new functionality",
+ "installer_Unavailable": "Connection to database failed.",
+ "installer_Version3": "Umbraco Version 3",
+ "installer_Version4": "Umbraco Version 4",
+ "installer_watch": "Watch",
+ "installer_welcomeIntro": "This wizard will guide you through the process of configuring Umbraco %0% for a fresh install or upgrading from version 3.0.
Press 'next' to start the wizard.",
+ "language_cultureCode": "Culture Code",
+ "language_displayName": "Culture Name",
+ "lockout_lockoutWillOccur": "You've been idle and logout will automatically occur in",
+ "lockout_renewSession": "Renew now to save your work",
+ "login_greeting1": "Happy super Sunday",
+ "login_greeting2": "Happy manic Monday ",
+ "login_greeting3": "Happy tremendous Tuesday",
+ "login_greeting4": "Happy wonderful Wednesday",
+ "login_greeting5": "Happy thunderous Thursday",
+ "login_greeting6": "Happy friendly Friday",
+ "login_greeting7": "Happy shiny Saturday",
+ "login_instruction": "Log in below:",
+ "login_bottomText": "
",
+ "main_dashboard": "Dashboard",
+ "main_sections": "Sections",
+ "main_tree": "Content",
+ "moveOrCopy_choose": "Choose page above...",
+ "moveOrCopy_copyDone": "%0% has been copied to %1%",
+ "moveOrCopy_copyTo": "Select where the document %0% should be copied to below",
+ "moveOrCopy_moveDone": "%0% has been moved to %1%",
+ "moveOrCopy_moveTo": "Select where the document %0% should be moved to below",
+ "moveOrCopy_nodeSelected": "has been selected as the root of your new content, click 'ok' below.",
+ "moveOrCopy_noNodeSelected": "No node selected yet, please select a node in the list above before clicking 'ok'",
+ "moveOrCopy_notAllowedByContentType": "The current node is not allowed under the chosen node because of its type",
+ "moveOrCopy_notAllowedByPath": "The current node cannot be moved to one of its subpages",
+ "moveOrCopy_notAllowedAtRoot": "The current node cannot exist at the root",
+ "moveOrCopy_notValid": "The action isn't allowed since you have insufficient permissions on 1 or more child documents.",
+ "moveOrCopy_relateToOriginal": "Relate copied items to original",
+ "notifications_editNotifications": "Edit your notification for %0%",
+ "notifications_mailBody": " Hi %0% This is an automated mail to inform you that the task '%1%' has been performed on the page '%2%' by the user '%3%' Go to http://%4%/actions/editContent.aspx?id=%5% to edit. Have a nice day! Cheers from the Umbraco robot ",
+ "notifications_mailBodyHtml": "
Hi %0%
This is an automated mail to inform you that the task '%1%' has been performed on the page '%2%' by the user '%3%'
",
+ "notifications_mailSubject": "[%0%] Notification about %1% performed on %2%",
+ "notifications_notifications": "Notifications",
+ "packager_chooseLocalPackageText": " Choose Package from your machine, by clicking the Browse button and locating the package. Umbraco packages usually have a '.umb' or '.zip' extension. ",
+ "packager_packageAuthor": "Author",
+ "packager_packageDemonstration": "Demonstration",
+ "packager_packageDocumentation": "Documentation",
+ "packager_packageMetaData": "Package meta data",
+ "packager_packageName": "Package name",
+ "packager_packageNoItemsHeader": "Package doesn't contain any items",
+ "packager_packageNoItemsText": "This package file doesn't contain any items to uninstall.
You can safely remove this from the system by clicking 'uninstall package' below.",
+ "packager_packageNoUpgrades": "No upgrades available",
+ "packager_packageOptions": "Package options",
+ "packager_packageReadme": "Package readme",
+ "packager_packageRepository": "Package repository",
+ "packager_packageUninstallConfirm": "Confirm uninstall",
+ "packager_packageUninstalledHeader": "Package was uninstalled",
+ "packager_packageUninstalledText": "The package was successfully uninstalled",
+ "packager_packageUninstallHeader": "Uninstall package",
+ "packager_packageUninstallText": "You can unselect items you do not wish to remove, at this time, below. When you click 'confirm uninstall' all checked-off items will be removed. Notice: any documents, media etc depending on the items you remove, will stop working, and could lead to system instability, so uninstall with caution. If in doubt, contact the package author.",
+ "packager_packageUpgradeDownload": "Download update from the repository",
+ "packager_packageUpgradeHeader": "Upgrade package",
+ "packager_packageUpgradeInstructions": "Upgrade instructions",
+ "packager_packageUpgradeText": " There's an upgrade available for this package. You can download it directly from the Umbraco package repository.",
+ "packager_packageVersion": "Package version",
+ "packager_packageVersionHistory": "Package version history",
+ "packager_viewPackageWebsite": "View package website",
+ "paste_doNothing": "Paste with full formatting (Not recommended)",
+ "paste_errorMessage": "The text you're trying to paste contains special characters or formatting. This could be caused by copying text from Microsoft Word. Umbraco can remove special characters or formatting automatically, so the pasted content will be more suitable for the web.",
+ "paste_removeAll": "Paste as raw text without any formatting at all",
+ "paste_removeSpecialFormattering": "Paste, but remove formatting (Recommended)",
+ "publicAccess_paAdvanced": "Role based protection",
+ "publicAccess_paAdvancedHelp": "If you wish to control access to the page using role-based authentication, using Umbraco's member groups.",
+ "publicAccess_paAdvancedNoGroups": "You need to create a membergroup before you can use role-based authentication.",
+ "publicAccess_paErrorPage": "Error Page",
+ "publicAccess_paErrorPageHelp": "Used when people are logged on, but do not have access",
+ "publicAccess_paHowWould": "Choose how to restict access to this page",
+ "publicAccess_paIsProtected": "%0% is now protected",
+ "publicAccess_paIsRemoved": "Protection removed from %0%",
+ "publicAccess_paLoginPage": "Login Page",
+ "publicAccess_paLoginPageHelp": "Choose the page that has the login formular",
+ "publicAccess_paRemoveProtection": "Remove Protection",
+ "publicAccess_paSelectPages": "Select the pages that contain login form and error messages",
+ "publicAccess_paSelectRoles": "Pick the roles who have access to this page",
+ "publicAccess_paSetLogin": "Set the login and password for this page",
+ "publicAccess_paSimple": "Single user protection",
+ "publicAccess_paSimpleHelp": "If you just want to setup simple protection using a single login and password",
+ "publish_contentPublishedFailedInvalid": " %0% could not be published because these properties: %1% did not pass validation rules. ",
+ "publish_contentPublishedFailedByEvent": " %0% could not be published, due to a 3rd party extension cancelling the action. ",
+ "publish_contentPublishedFailedByParent": " %0% can not be published, because a parent page is not published. ",
+ "publish_includeUnpublished": "Include unpublished child pages",
+ "publish_inProgress": "Publishing in progress - please wait...",
+ "publish_inProgressCounter": "%0% out of %1% pages have been published...",
+ "publish_nodePublish": "%0% has been published",
+ "publish_nodePublishAll": "%0% and subpages have been published",
+ "publish_publishAll": "Publish %0% and all its subpages",
+ "publish_publishHelp": "Click ok to publish %0% and thereby making it's content publicly available.
You can publish this page and all it's sub-pages by checking publish all children below. ",
+ "relatedlinks_addExternal": "Add external link",
+ "relatedlinks_addInternal": "Add internal link",
+ "relatedlinks_addlink": "Add",
+ "relatedlinks_caption": "Caption",
+ "relatedlinks_internalPage": "Internal page",
+ "relatedlinks_linkurl": "URL",
+ "relatedlinks_modeDown": "Move Down",
+ "relatedlinks_modeUp": "Move Up",
+ "relatedlinks_newWindow": "Open in new window",
+ "relatedlinks_removeLink": "Remove link",
+ "rollback_currentVersion": "Current version",
+ "rollback_diffHelp": "This shows the differences between the current version and the selected version Red text will not be shown in the selected version. , green means added",
+ "rollback_documentRolledBack": "Document has been rolled back",
+ "rollback_htmlHelp": "This displays the selected version as html, if you wish to see the difference between 2 versions at the same time, use the diff view",
+ "rollback_rollbackTo": "Rollback to",
+ "rollback_selectVersion": "Select version",
+ "rollback_view": "View",
+ "scripts_editscript": "Edit script file",
+ "sections_concierge": "Concierge",
+ "sections_content": "Content",
+ "sections_courier": "Courier",
+ "sections_developer": "Developer",
+ "sections_installer": "Umbraco Configuration Wizard",
+ "sections_media": "Media",
+ "sections_member": "Members",
+ "sections_newsletters": "Newsletters",
+ "sections_settings": "Settings",
+ "sections_statistics": "Statistics",
+ "sections_translation": "Translation",
+ "sections_users": "Users",
+ "sections_contour": "Umbraco Contour",
+ "sections_help": "Help",
+ "settings_defaulttemplate": "Default template",
+ "settings_dictionary editor egenskab": "Dictionary Key",
+ "settings_importDocumentTypeHelp": "To import a document type, find the '.udt' file on your computer by clicking the 'Browse' button and click 'Import' (you'll be asked for confirmation on the next screen)",
+ "settings_newtabname": "New Tab Title",
+ "settings_nodetype": "Nodetype",
+ "settings_objecttype": "Type",
+ "settings_stylesheet": "Stylesheet",
+ "settings_stylesheet editor egenskab": "Stylesheet property",
+ "settings_tab": "Tab",
+ "settings_tabname": "Tab Title",
+ "settings_tabs": "Tabs",
+ "settings_contentTypeEnabled": "Master Content Type enabled",
+ "settings_contentTypeUses": "This Content Type uses",
+ "settings_asAContentMasterType": "as a Master Content Type. Tabs from Master Content Types are not shown and can only be edited on the Master Content Type itself",
+ "settings_noPropertiesDefinedOnTab": "No properties defined on this tab. Click on the 'add a new property' link at the top to create a new property.",
+ "sort_sortDone": "Sorting complete.",
+ "sort_sortHelp": "Drag the different items up or down below to set how they should be arranged. Or click the column headers to sort the entire collection of items",
+ "sort_sortPleaseWait": " Please wait. Items are being sorted, this can take a while.
Do not close this window during sorting",
+ "speechBubbles_contentPublishedFailedByEvent": "Publishing was cancelled by a 3rd party add-in",
+ "speechBubbles_contentTypeDublicatePropertyType": "Property type already exists",
+ "speechBubbles_contentTypePropertyTypeCreated": "Property type created",
+ "speechBubbles_contentTypePropertyTypeCreatedText": "Name: %0% DataType: %1%",
+ "speechBubbles_contentTypePropertyTypeDeleted": "Propertytype deleted",
+ "speechBubbles_contentTypeSavedHeader": "Document Type saved",
+ "speechBubbles_contentTypeTabCreated": "Tab created",
+ "speechBubbles_contentTypeTabDeleted": "Tab deleted",
+ "speechBubbles_contentTypeTabDeletedText": "Tab with id: %0% deleted",
+ "speechBubbles_cssErrorHeader": "Stylesheet not saved",
+ "speechBubbles_cssSavedHeader": "Stylesheet saved",
+ "speechBubbles_cssSavedText": "Stylesheet saved without any errors",
+ "speechBubbles_dataTypeSaved": "Datatype saved",
+ "speechBubbles_dictionaryItemSaved": "Dictionary item saved",
+ "speechBubbles_editContentPublishedFailedByParent": "Publishing failed because the parent page isn't published",
+ "speechBubbles_editContentPublishedHeader": "Content published",
+ "speechBubbles_editContentPublishedText": "and visible at the website",
+ "speechBubbles_editContentSavedHeader": "Content saved",
+ "speechBubbles_editContentSavedText": "Remember to publish to make changes visible",
+ "speechBubbles_editContentSendToPublish": "Sent For Approval",
+ "speechBubbles_editContentSendToPublishText": "Changes have been sent for approval",
+ "speechBubbles_editMediaSaved": "Media saved",
+ "speechBubbles_editMediaSavedText": "Media saved without any errors",
+ "speechBubbles_editMemberSaved": "Member saved",
+ "speechBubbles_editStylesheetPropertySaved": "Stylesheet Property Saved",
+ "speechBubbles_editStylesheetSaved": "Stylesheet saved",
+ "speechBubbles_editTemplateSaved": "Template saved",
+ "speechBubbles_editUserError": "Error saving user (check log)",
+ "speechBubbles_editUserSaved": "User Saved",
+ "speechBubbles_editUserTypeSaved": "User type saved",
+ "speechBubbles_fileErrorHeader": "File not saved",
+ "speechBubbles_fileErrorText": "file could not be saved. Please check file permissions",
+ "speechBubbles_fileSavedHeader": "File saved",
+ "speechBubbles_fileSavedText": "File saved without any errors",
+ "speechBubbles_languageSaved": "Language saved",
+ "speechBubbles_pythonErrorHeader": "Python script not saved",
+ "speechBubbles_pythonErrorText": "Python script could not be saved due to error",
+ "speechBubbles_pythonSavedHeader": "Python script saved",
+ "speechBubbles_pythonSavedText": "No errors in python script",
+ "speechBubbles_templateErrorHeader": "Template not saved",
+ "speechBubbles_templateErrorText": "Please make sure that you do not have 2 templates with the same alias",
+ "speechBubbles_templateSavedHeader": "Template saved",
+ "speechBubbles_templateSavedText": "Template saved without any errors!",
+ "speechBubbles_xsltErrorHeader": "XSLT not saved",
+ "speechBubbles_xsltErrorText": "XSLT contained an error",
+ "speechBubbles_xsltPermissionErrorText": "XSLT could not be saved, check file permissions",
+ "speechBubbles_xsltSavedHeader": "XSLT saved",
+ "speechBubbles_xsltSavedText": "No errors in XSLT",
+ "speechBubbles_contentUnpublished": "Content unpublished",
+ "speechBubbles_partialViewSavedHeader": "Partial view saved",
+ "speechBubbles_partialViewSavedText": "Partial view saved without any errors!",
+ "speechBubbles_partialViewErrorHeader": "Partial view not saved",
+ "speechBubbles_partialViewErrorText": "An error occurred saving the file.",
+ "stylesheet_aliasHelp": "Uses CSS syntax ex: h1, .redHeader, .blueTex",
+ "stylesheet_editstylesheet": "Edit stylesheet",
+ "stylesheet_editstylesheetproperty": "Edit stylesheet property",
+ "stylesheet_nameHelp": "Name to identify the style property in the rich text editor ",
+ "stylesheet_preview": "Preview",
+ "stylesheet_styles": "Styles",
+ "template_edittemplate": "Edit template",
+ "template_insertContentArea": "Insert content area",
+ "template_insertContentAreaPlaceHolder": "Insert content area placeholder",
+ "template_insertDictionaryItem": "Insert dictionary item",
+ "template_insertMacro": "Insert Macro",
+ "template_insertPageField": "Insert Umbraco page field",
+ "template_mastertemplate": "Master template",
+ "template_quickGuide": "Quick Guide to Umbraco template tags",
+ "template_template": "Template",
+ "templateEditor_alternativeField": "Alternative field",
+ "templateEditor_alternativeText": "Alternative Text",
+ "templateEditor_casing": "Casing",
+ "templateEditor_encoding": "Encoding",
+ "templateEditor_chooseField": "Choose field",
+ "templateEditor_convertLineBreaks": "Convert Linebreaks",
+ "templateEditor_convertLineBreaksHelp": "Replaces linebreaks with html-tag <br>",
+ "templateEditor_customFields": "Custom Fields",
+ "templateEditor_dateOnly": "Yes, Date only",
+ "templateEditor_formatAsDate": "Format as date",
+ "templateEditor_htmlEncode": "HTML encode",
+ "templateEditor_htmlEncodeHelp": "Will replace special characters by their HTML equivalent.",
+ "templateEditor_insertedAfter": "Will be inserted after the field value",
+ "templateEditor_insertedBefore": "Will be inserted before the field value",
+ "templateEditor_lowercase": "Lowercase",
+ "templateEditor_none": "None",
+ "templateEditor_postContent": "Insert after field",
+ "templateEditor_preContent": "Insert before field",
+ "templateEditor_recursive": "Recursive",
+ "templateEditor_removeParagraph": "Remove Paragraph tags",
+ "templateEditor_removeParagraphHelp": "Will remove any <P> in the beginning and end of the text",
+ "templateEditor_standardFields": "Standard Fields",
+ "templateEditor_uppercase": "Uppercase",
+ "templateEditor_urlEncode": "URL encode",
+ "templateEditor_urlEncodeHelp": "Will format special characters in URLs",
+ "templateEditor_usedIfAllEmpty": "Will only be used when the field values above are empty",
+ "templateEditor_usedIfEmpty": "This field will only be used if the primary field is empty",
+ "templateEditor_withTime": "Yes, with time. Seperator: ",
+ "translation_assignedTasks": "Tasks assigned to you",
+ "translation_assignedTasksHelp": " The list below shows translation tasks assigned to you. To see a detailed view including comments, click on 'Details' or just the page name. You can also download the page as XML directly by clicking the 'Download Xml' link. To close a translation task, please go to the Details view and click the 'Close' button. ",
+ "translation_closeTask": "close task",
+ "translation_details": "Translation details",
+ "translation_downloadAllAsXml": "Download all translation tasks as xml",
+ "translation_downloadTaskAsXml": "Download xml",
+ "translation_DownloadXmlDTD": "Download xml DTD",
+ "translation_fields": "Fields",
+ "translation_includeSubpages": "Include subpages",
+ "translation_mailBody": " Hi %0% This is an automated mail to inform you that the document '%1%' has been requested for translation into '%5%' by %2%. Go to http://%3%/translation/details.aspx?id=%4% to edit. Or log into Umbraco to get an overview of your translation tasks http://%3% Have a nice day! Cheers from the Umbraco robot ",
+ "translation_mailSubject": "[%0%] Translation task for %1%",
+ "translation_noTranslators": "No translator users found. Please create a translator user before you start sending content to translation",
+ "translation_ownedTasks": "Tasks created by you",
+ "translation_ownedTasksHelp": " The list below shows pages created by you. To see a detailed view including comments, click on 'Details' or just the page name. You can also download the page as XML directly by clicking the 'Download Xml' link. To close a translation task, please go to the Details view and click the 'Close' button. ",
+ "translation_pageHasBeenSendToTranslation": "The page '%0%' has been send to translation",
+ "translation_sendToTranslate": "Send the page '%0%' to translation",
+ "translation_taskAssignedBy": "Assigned by",
+ "translation_taskOpened": "Task opened",
+ "translation_totalWords": "Total words",
+ "translation_translateTo": "Translate to",
+ "translation_translationDone": "Translation completed.",
+ "translation_translationDoneHelp": "You can preview the pages, you've just translated, by clicking below. If the original page is found, you will get a comparison of the 2 pages.",
+ "translation_translationFailed": "Translation failed, the xml file might be corrupt",
+ "translation_translationOptions": "Translation options",
+ "translation_translator": "Translator",
+ "translation_uploadTranslationXml": "Upload translation xml",
+ "treeHeaders_cacheBrowser": "Cache Browser",
+ "treeHeaders_contentRecycleBin": "Recycle Bin",
+ "treeHeaders_createdPackages": "Created packages",
+ "treeHeaders_datatype": "Data Types",
+ "treeHeaders_dictionary": "Dictionary",
+ "treeHeaders_installedPackages": "Installed packages",
+ "treeHeaders_installSkin": "Install skin",
+ "treeHeaders_installStarterKit": "Install starter kit",
+ "treeHeaders_languages": "Languages",
+ "treeHeaders_localPackage": "Install local package",
+ "treeHeaders_macros": "Macros",
+ "treeHeaders_mediaTypes": "Media Types",
+ "treeHeaders_member": "Members",
+ "treeHeaders_memberGroup": "Member Groups",
+ "treeHeaders_memberRoles": "Roles",
+ "treeHeaders_memberType": "Member Types",
+ "treeHeaders_nodeTypes": "Document Types",
+ "treeHeaders_packager": "Packages",
+ "treeHeaders_packages": "Packages",
+ "treeHeaders_python": "Python Files",
+ "treeHeaders_repositories": "Install from repository",
+ "treeHeaders_runway": "Install Runway",
+ "treeHeaders_runwayModules": "Runway modules",
+ "treeHeaders_scripting": "Scripting Files",
+ "treeHeaders_scripts": "Scripts",
+ "treeHeaders_stylesheets": "Stylesheets",
+ "treeHeaders_templates": "Templates",
+ "treeHeaders_xslt": "XSLT Files",
+ "update_updateAvailable": "New update ready",
+ "update_updateDownloadText": "%0% is ready, click here for download",
+ "update_updateNoServer": "No connection to server",
+ "update_updateNoServerError": "Error checking for update. Please review trace-stack for further information",
+ "user_administrators": "Administrator",
+ "user_categoryField": "Category field",
+ "user_changePassword": "Change Your Password",
+ "user_newPassword": "Change Your Password",
+ "user_confirmNewPassword": "Confirm new password",
+ "user_changePasswordDescription": "You can change your password for accessing the Umbraco Back Office by filling out the form below and click the 'Change Password' button",
+ "user_contentChannel": "Content Channel",
+ "user_descriptionField": "Description field",
+ "user_disabled": "Disable User",
+ "user_documentType": "Document Type",
+ "user_editors": "Editor",
+ "user_excerptField": "Excerpt field",
+ "user_language": "Language",
+ "user_loginname": "Login",
+ "user_mediastartnode": "Start Node in Media Library",
+ "user_modules": "Sections",
+ "user_noConsole": "Disable Umbraco Access",
+ "user_password": "Password",
+ "user_resetPassword": "Reset password",
+ "user_passwordChanged": "Your password has been changed!",
+ "user_passwordConfirm": "Please confirm the new password",
+ "user_passwordEnterNew": "Enter your new password",
+ "user_passwordIsBlank": "Your new password cannot be blank!",
+ "user_passwordCurrent": "Current password",
+ "user_passwordInvalid": "Invalid current password",
+ "user_passwordIsDifferent": "There was a difference between the new password and the confirmed password. Please try again!",
+ "user_passwordMismatch": "The confirmed password doesn't match the new password!",
+ "user_permissionReplaceChildren": "Replace child node permssions",
+ "user_permissionSelectedPages": "You are currently modifying permissions for the pages:",
+ "user_permissionSelectPages": "Select pages to modify their permissions",
+ "user_searchAllChildren": "Search all children",
+ "user_startnode": "Start Node in Content",
+ "user_username": "Username",
+ "user_userPermissions": "User permissions",
+ "user_usertype": "User type",
+ "user_userTypes": "User types",
+ "user_writer": "Writer",
+ "user_yourProfile": "Your profile",
+ "user_yourHistory": "Your recent history",
+ "user_sessionExpires": "Session expires in"
+ }, null];
+ }
+ }
+
+ return {
+ register: function() {
+ $httpBackend
+ .whenGET(mocksUtils.urlRegex('LocalizedText'))
+ .respond(getLanguageResource);
+ }
+ };
+ }]);
+/**
+* @ngdoc service
+* @name umbraco.mocks.mediaHelperService
+* @description A helper object used for dealing with media items
+**/
+function mediaHelper(umbRequestHelper) {
+ return {
+ /**
+ * @ngdoc function
+ * @name umbraco.services.mediaHelper#getImagePropertyValue
+ * @methodOf umbraco.services.mediaHelper
+ * @function
+ *
+ * @description
+ * Returns the file path associated with the media property if there is one
+ *
+ * @param {object} options Options object
+ * @param {object} options.mediaModel The media object to retrieve the image path from
+ * @param {object} options.imageOnly Optional, if true then will only return a path if the media item is an image
+ */
+ getMediaPropertyValue: function (options) {
+ return "assets/img/mocks/big-image.jpg";
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.mediaHelper#getImagePropertyValue
+ * @methodOf umbraco.services.mediaHelper
+ * @function
+ *
+ * @description
+ * Returns the actual image path associated with the image property if there is one
+ *
+ * @param {object} options Options object
+ * @param {object} options.imageModel The media object to retrieve the image path from
+ */
+ getImagePropertyValue: function (options) {
+ return "assets/img/mocks/big-image.jpg";
+ },
+ /**
+ * @ngdoc function
+ * @name umbraco.services.mediaHelper#getThumbnail
+ * @methodOf umbraco.services.mediaHelper
+ * @function
+ *
+ * @description
+ * formats the display model used to display the content to the model used to save the content
+ *
+ * @param {object} options Options object
+ * @param {object} options.imageModel The media object to retrieve the image path from
+ */
+ getThumbnail: function (options) {
+
+ if (!options || !options.imageModel) {
+ throw "The options objet does not contain the required parameters: imageModel";
+ }
+
+ var imagePropVal = this.getImagePropertyValue(options);
+ if (imagePropVal !== "") {
+ return this.getThumbnailFromPath(imagePropVal);
+ }
+ return "";
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.mediaHelper#scaleToMaxSize
+ * @methodOf umbraco.services.mediaHelper
+ * @function
+ *
+ * @description
+ * Finds the corrct max width and max height, given maximum dimensions and keeping aspect ratios
+ *
+ * @param {number} maxSize Maximum width & height
+ * @param {number} width Current width
+ * @param {number} height Current height
+ */
+ scaleToMaxSize: function (maxSize, width, height) {
+ var retval = { width: width, height: height };
+
+ var maxWidth = maxSize; // Max width for the image
+ var maxHeight = maxSize; // Max height for the image
+ var ratio = 0; // Used for aspect ratio
+
+ // Check if the current width is larger than the max
+ if (width > maxWidth) {
+ ratio = maxWidth / width; // get ratio for scaling image
+
+ retval.width = maxWidth;
+ retval.height = height * ratio;
+
+ height = height * ratio; // Reset height to match scaled image
+ width = width * ratio; // Reset width to match scaled image
+ }
+
+ // Check if current height is larger than max
+ if (height > maxHeight) {
+ ratio = maxHeight / height; // get ratio for scaling image
+
+ retval.height = maxHeight;
+ retval.width = width * ratio;
+ width = width * ratio; // Reset width to match scaled image
+ }
+
+ return retval;
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.mediaHelper#getThumbnailFromPath
+ * @methodOf umbraco.services.mediaHelper
+ * @function
+ *
+ * @description
+ * Returns the path to the thumbnail version of a given media library image path
+ *
+ * @param {string} imagePath Image path, ex: /media/1234/my-image.jpg
+ */
+ getThumbnailFromPath: function (imagePath) {
+ return "assets/img/mocks/big-thumb.jpg";
+ },
+
+ /**
+ * @ngdoc function
+ * @name umbraco.services.mediaHelper#detectIfImageByExtension
+ * @methodOf umbraco.services.mediaHelper
+ * @function
+ *
+ * @description
+ * Returns true/false, indicating if the given path has an allowed image extension
+ *
+ * @param {string} imagePath Image path, ex: /media/1234/my-image.jpg
+ */
+ detectIfImageByExtension: function (imagePath) {
+ var lowered = imagePath.toLowerCase();
+ var ext = lowered.substr(lowered.lastIndexOf(".") + 1);
+ return ("," + Umbraco.Sys.ServerVariables.umbracoSettings.imageFileTypes + ",").indexOf("," + ext + ",") !== -1;
+ }
+ };
+}
+angular.module('umbraco.mocks').factory('mediaHelper', mediaHelper);
+angular.module('umbraco.mocks').
+ factory('utilMocks', ['$httpBackend', 'mocksUtils', function ($httpBackend, mocksUtils) {
+ 'use strict';
+
+ function getUpdateCheck(status, data, headers) {
+ //check for existence of a cookie so we can do login/logout in the belle app (ignore for tests).
+ if (!mocksUtils.checkAuth()) {
+ return [401, null, null];
+ }
+ else {
+ return [200, null, null];
+ }
+ }
+
+ return {
+ register: function() {
+ $httpBackend
+ .whenGET(mocksUtils.urlRegex('/umbraco/Api/UpdateCheck/GetCheck'))
+ .respond(getUpdateCheck);
+ }
+ };
+ }]);
+
+})();
\ No newline at end of file
diff --git a/Blog/umbraco/Js/umbracoCheckKeys.js b/Blog/umbraco/Js/umbracoCheckKeys.js
new file mode 100644
index 0000000..6ea47ae
--- /dev/null
+++ b/Blog/umbraco/Js/umbracoCheckKeys.js
@@ -0,0 +1,102 @@
+var ctrlDown = false;
+var shiftDown = false;
+var keycode = 0
+
+var currentRichTextDocument = null;
+var currentRichTextObject = null;
+
+function umbracoCheckKeysUp(e) {
+ ctrlDown = e.ctrlKey;
+ shiftDown = e.shiftKey;
+}
+
+function umbracoActivateKeys(ctrl, shift, key) {
+ ctrlDown = ctrl;
+ shiftDown = shift;
+ keycode = key
+ return runShortCuts();
+}
+
+function umbracoActivateKeysUp(ctrl, shift, key) {
+ ctrlDown = ctrl;
+ shiftDown = shift;
+ keycode = key;
+}
+
+function umbracoCheckKeys(e) {
+ ctrlDown = e.ctrlKey;
+ shiftDown = e.shiftKey;
+ keycode = e.keyCode;
+
+ return runShortCuts();
+}
+
+function shortcutCheckKeysPressFirefox(e) {
+ if (ctrlDown && keycode == 83)
+ e.preventDefault();
+}
+
+
+function runShortCuts() {
+ if (currentRichTextObject != undefined && currentRichTextObject != null) {
+ if (ctrlDown) {
+ if (!shiftDown && keycode == 9)
+ functionsFrame.tabSwitch(1);
+ else
+ if (shiftDown && keycode == 9) functionsFrame.tabSwitch(-1);
+
+ if (keycode == 83) {doSubmit(); return false;}
+ if (shiftDown && currentRichTextObject) {
+ if (keycode == 70) {functionsFrame.umbracoInsertForm(myAlias); return false;}
+ if (keycode == 76) {functionsFrame.umbracoLink(myAlias); return false;}
+ if (keycode == 77) {functionsFrame.umbracoInsertMacro(myAlias, umbracoPath); return false;}
+ if (keycode == 80) {functionsFrame.umbracoImage(myAlias); return false;}
+ if (keycode == 84) {functionsFrame.umbracoInsertTable(myAlias); return false;}
+ if (keycode == 86) {functionsFrame.umbracoShowStyles(myAlias); return false;}
+ if (keycode == 85) {functionsFrame.document.getElementById('TabView1_tab01layer_publish').click(); return false;}
+ }
+ }
+
+ } else
+ if (isDialog) {
+ if (keycode == 27) {window.close();} // ESC
+ if (keycode == 13 && functionsFrame.submitOnEnter != undefined) {
+ if (!functionsFrame.disableEnterSubmit) {
+ if (functionsFrame.submitOnEnter) {
+ // firefox hack
+ if (window.addEventListener)
+ e.preventDefault();
+ doSubmit();
+ }
+ }
+ }
+ if (ctrlDown) {
+ if (keycode == 83)
+ doSubmit();
+ else if (keycode == 85)
+ document.getElementById('TabView1_tab01layer_publish').click();
+ else if (!shiftDown && keycode == 9) {
+ functionsFrame.tabSwitch(1);
+ return false;
+ }
+ else
+ if (shiftDown && keycode == 9) {
+ functionsFrame.tabSwitch(-1);
+ return false;
+ }
+
+ }
+ }
+
+ return true;
+
+}
+
+if (window.addEventListener) {
+ document.addEventListener('keyup', umbracoCheckKeysUp, false);
+ document.addEventListener('keydown', umbracoCheckKeys, false);
+ document.addEventListener('keypress', shortcutCheckKeysPressFirefox, false);
+} else {
+ document.attachEvent( "onkeyup", umbracoCheckKeysUp);
+ document.attachEvent("onkeydown", umbracoCheckKeys);
+}
diff --git a/Blog/umbraco/Js/umbracoUpgradeChecker.js b/Blog/umbraco/Js/umbracoUpgradeChecker.js
new file mode 100644
index 0000000..40e5d87
--- /dev/null
+++ b/Blog/umbraco/Js/umbracoUpgradeChecker.js
@@ -0,0 +1,15 @@
+function umbracoCheckUpgrade(result) {
+ if (result) {
+ if (result.UpgradeType.toLowerCase() != 'none') {
+ if (UmbSpeechBubble == null) {
+ InitUmbracoSpeechBubble();
+ }
+ var icon = 'info';
+ if (result.UpgradeType.toLowerCase() == 'critical') {
+ icon = 'error';
+ }
+
+ UmbSpeechBubble.ShowMessage(icon, 'Upgrade Available!', '' + result.UpgradeComment + '', true);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Blog/umbraco/Js/xmlRequest.js b/Blog/umbraco/Js/xmlRequest.js
new file mode 100644
index 0000000..fb73625
--- /dev/null
+++ b/Blog/umbraco/Js/xmlRequest.js
@@ -0,0 +1,77 @@
+var requestRunning = false;
+var xmlHttp = null;
+var xmlHttpDebug = false;
+
+// Inspired by great work of Webfx in xloadtree
+function umbracoStartXmlRequest(scriptUrl, postData, eventFunction) {
+
+ // random hack for ie7
+ day = new Date();
+ z = day.getTime();
+ y = (z - (parseInt(z/1000,10) * 1000))/10;
+ scriptUrl += "&xmlRnd=" + y;
+
+ if (xmlHttpDebug)
+ alert(scriptUrl)
+
+ this.requestRunning = true;
+ this.xmlHttpObject = XmlHttp.create();
+ if (postData != "") {
+ if (document.all) {
+ this.xmlHttpObject.open("POST", scriptUrl, false);
+ this.xmlHttpObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
+ }
+ else {
+ eval(eventFunction);
+ }
+ } else
+ this.xmlHttpObject.open("GET", scriptUrl, true);
+
+
+ this.xmlHttpObject.onreadystatechange = function () {
+ if (xmlHttp.readyState == 4) {
+ // Removed the this from this.requestRunning = false; this was causing a bug in the find search box in cms backend.
+ requestRunning = false;
+ // debug
+ if (xmlHttpDebug)
+ alert(xmlHttp.responseText)
+ eval(eventFunction);
+ xmlHttp = null;
+ }
+ };
+
+ // call in new thread to allow ui to update
+ window.setTimeout(function () {
+ this.xmlHttpObject.send(postData);
+ }, 10);
+
+ xmlHttp = this.xmlHttpObject;
+ return this;
+}
+
+umbracoStartXmlRequest.prototype.ResultText =
+umbracoStartXmlRequest.prototype.ResultText = function () {
+ return this.xmlHttpObject.responseText;
+}
+
+umbracoStartXmlRequest.prototype.ResultXml =
+umbracoStartXmlRequest.prototype.ResultXml = function () {
+ return this.xmlHttpObject.responseXML;
+}
+
+function umbracoXmlRequestResult() {
+ if (!requestRunning)
+ return xmlHttp.responseXML
+}
+
+function umbracoXmlRequestResultTxt() {
+ if (!requestRunning)
+ return xmlHttp.responseText
+}
+
+function xmlReturnRandom() {
+ day = new Date()
+ z = day.getTime()
+ y = (z - (parseInt(z/1000,10) * 1000))/10
+ return y
+}
\ No newline at end of file
diff --git a/Blog/umbraco/Js/xmlextras.js b/Blog/umbraco/Js/xmlextras.js
new file mode 100644
index 0000000..7a87a02
--- /dev/null
+++ b/Blog/umbraco/Js/xmlextras.js
@@ -0,0 +1,151 @@
+//
+
+
+
+ Logout
+
+
+
+
+
diff --git a/Blog/umbraco/Masterpages/default.Master b/Blog/umbraco/Masterpages/default.Master
new file mode 100644
index 0000000..ebbc708
--- /dev/null
+++ b/Blog/umbraco/Masterpages/default.Master
@@ -0,0 +1,3 @@
+<%@ Master Language="C#" AutoEventWireup="True" CodeBehind="Default.master.cs" Inherits="Umbraco.Web.UI.Umbraco.Masterpages.Default" %>
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Masterpages/umbracoDialog.Master b/Blog/umbraco/Masterpages/umbracoDialog.Master
new file mode 100644
index 0000000..5d16b62
--- /dev/null
+++ b/Blog/umbraco/Masterpages/umbracoDialog.Master
@@ -0,0 +1,38 @@
+<%@ Master Language="C#" AutoEventWireup="True" CodeBehind="UmbracoDialog.master.cs" Inherits="Umbraco.Web.UI.Umbraco.Masterpages.UmbracoDialog" %>
+
+
+
+
+
+<%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %>
+<%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %>
+<%@ Register TagPrefix="umbClient" Namespace="Umbraco.Web.UI.Bundles" Assembly="umbraco" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Masterpages/umbracoPage.Master b/Blog/umbraco/Masterpages/umbracoPage.Master
new file mode 100644
index 0000000..3fcc59a
--- /dev/null
+++ b/Blog/umbraco/Masterpages/umbracoPage.Master
@@ -0,0 +1,43 @@
+<%@ Master Language="C#" AutoEventWireup="True" CodeBehind="UmbracoPage.master.cs" Inherits="Umbraco.Web.UI.Umbraco.Masterpages.UmbracoPage" %>
+
+
+
+
+
+<%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %>
+<%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %>
+<%@ Register TagPrefix="umbClient" Namespace="Umbraco.Web.UI.Bundles" Assembly="umbraco" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Members/EditMemberGroup.aspx b/Blog/umbraco/Members/EditMemberGroup.aspx
new file mode 100644
index 0000000..29913c6
--- /dev/null
+++ b/Blog/umbraco/Members/EditMemberGroup.aspx
@@ -0,0 +1,22 @@
+<%@ Page Language="c#" MasterPageFile="../masterpages/umbracoPage.Master" CodeBehind="EditMemberGroup.aspx.cs"
+ AutoEventWireup="True" Inherits="umbraco.presentation.members.EditMemberGroup" %>
+
+<%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Members/search.aspx b/Blog/umbraco/Members/search.aspx
new file mode 100644
index 0000000..b89f3dc
--- /dev/null
+++ b/Blog/umbraco/Members/search.aspx
@@ -0,0 +1,13 @@
+<%@ Page Language="C#" AutoEventWireup="true" MasterPageFile="../masterpages/umbracoPage.Master" CodeBehind="search.aspx.cs" Inherits="umbraco.presentation.members.search" %>
+<%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %>
+<%@ Register Src="~/umbraco/members/MemberSearch.ascx" TagName="MemberSearch" TagPrefix="umb" %>
+
+
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/PartialViewMacros/Templates/Breadcrumb.cshtml b/Blog/umbraco/PartialViewMacros/Templates/Breadcrumb.cshtml
new file mode 100644
index 0000000..8ba3dce
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/Breadcrumb.cshtml
@@ -0,0 +1,24 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+@*
+ This snippet makes a breadcrumb of parents using an unordered html list.
+
+ How it works:
+ - It uses the Ancestors() method to get all parents and then generates links so the visitor can go back
+ - Finally it outputs the name of the current page (without a link)
+*@
+
+@{ var selection = CurrentPage.Ancestors(); }
+
+@if (selection.Any())
+{
+
+ @* For each page in the ancestors collection which have been ordered by Level (so we start with the highest top node first) *@
+ @foreach (var item in selection.OrderBy("Level"))
+ {
+
+ }
+
+ @* Display the current page as the last item in the list *@
+
@CurrentPage.Name
+
+}
\ No newline at end of file
diff --git a/Blog/umbraco/PartialViewMacros/Templates/EditProfile.cshtml b/Blog/umbraco/PartialViewMacros/Templates/EditProfile.cshtml
new file mode 100644
index 0000000..d9606d8
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/EditProfile.cshtml
@@ -0,0 +1,66 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+
+@using System.Web.Mvc.Html
+@using ClientDependency.Core.Mvc
+@using Umbraco.Web
+@using Umbraco.Web.Controllers
+
+@{
+ var profileModel = Members.GetCurrentMemberProfileModel();
+
+ Html.EnableClientValidation();
+ Html.EnableUnobtrusiveJavaScript();
+ Html.RequiresJs("/umbraco_client/ui/jquery.js");
+ Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.min.js");
+ Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.unobtrusive.min.js");
+
+ var success = TempData["ProfileUpdateSuccess"] != null;
+}
+
+@*NOTE: This RenderJsHere code should be put on your main template page where the rest of your script tags are placed*@
+@Html.RenderJsHere()
+
+@if (Members.IsLoggedIn() && profileModel != null)
+{
+ if (success)
+ {
+ @* This message will show if RedirectOnSucces is set to false (default) *@
+
Profile updated
+ }
+
+ using (Html.BeginUmbracoForm("HandleUpdateProfile"))
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/Blog/umbraco/PartialViewMacros/Templates/Empty (ForUseWithCustomViews).cshtml b/Blog/umbraco/PartialViewMacros/Templates/Empty (ForUseWithCustomViews).cshtml
new file mode 100644
index 0000000..8d10a3a
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/Empty (ForUseWithCustomViews).cshtml
@@ -0,0 +1 @@
+@inherits Umbraco.Web.Mvc.UmbracoViewPage
\ No newline at end of file
diff --git a/Blog/umbraco/PartialViewMacros/Templates/Empty.cshtml b/Blog/umbraco/PartialViewMacros/Templates/Empty.cshtml
new file mode 100644
index 0000000..dda3a17
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/Empty.cshtml
@@ -0,0 +1 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
\ No newline at end of file
diff --git a/Blog/umbraco/PartialViewMacros/Templates/Gallery.cshtml b/Blog/umbraco/PartialViewMacros/Templates/Gallery.cshtml
new file mode 100644
index 0000000..b425808
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/Gallery.cshtml
@@ -0,0 +1,50 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+@*
+ Macro to display a gallery of images from media the media section.
+ Works with either a 'Single Media Picker' or a 'Multiple Media Picker' macro parameter (see below).
+
+ How it works:
+ - Confirm the macro parameter has been passed in with a value
+ - Loop through all the media Id's passed in (might be a single item, might be many)
+ - Display any individual images, as well as any folders of images
+
+ Macro Parameters To Create, for this macro to work:
+ Alias:mediaIds Name:Select folders and/or images Type: Multiple Media Picker
+ Type: (note: you can use a Single Media Picker if that's more appropriate to your needs)
+*@
+
+@{ var mediaIds = Model.MacroParameters["mediaIds"]; }
+@if (mediaIds != null)
+{
+
+ @foreach (var mediaId in mediaIds.ToString().Split(','))
+ {
+ var media = Umbraco.Media(mediaId);
+
+ @* a single image *@
+ if (media.DocumentTypeAlias == "Image")
+ {
+ @Render(media);
+ }
+
+ @* a folder with images under it *@
+ if (media.Children("Image").Any())
+ {
+ foreach (var image in media.Children("Image"))
+ {
+ @Render(image);
+ }
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/Blog/umbraco/PartialViewMacros/Templates/ListAncestorsFromCurrentPage.cshtml b/Blog/umbraco/PartialViewMacros/Templates/ListAncestorsFromCurrentPage.cshtml
new file mode 100644
index 0000000..9d1284b
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/ListAncestorsFromCurrentPage.cshtml
@@ -0,0 +1,24 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+@*
+ This snippet makes a list of links to the of parents of the current page using an unordered html list.
+
+ How it works:
+ - It uses the Ancestors() method to get all parents and then generates links so the visitor can go back
+ - Finally it outputs the name of the current page (without a link)
+*@
+
+@{ var selection = CurrentPage.Ancestors(); }
+
+@if (selection.Any())
+{
+
+ @* For each page in the ancestors collection which have been ordered by Level (so we start with the highest top node first) *@
+ @foreach (var item in selection.OrderBy("Level"))
+ {
+
+ }
+
+ @* Display the current page as the last item in the list *@
+
@CurrentPage.Name
+
+}
diff --git a/Blog/umbraco/PartialViewMacros/Templates/ListChildPagesFromChangeableSource.cshtml b/Blog/umbraco/PartialViewMacros/Templates/ListChildPagesFromChangeableSource.cshtml
new file mode 100644
index 0000000..ea45c13
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/ListChildPagesFromChangeableSource.cshtml
@@ -0,0 +1,33 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+
+@*
+ Macro to list all child pages under a specific page in the content tree.
+
+ How it works:
+ - Confirm the startNodeId macro parameter has been passed in with a value
+ - Loop through all child pages
+ - Display a list of link to those pages, sorted by the value of the propertyAlias
+
+ Macro Parameters To Create, for this macro to work:
+ Alias:startNodeId Name:Select starting page Type:Content Picker
+*@
+
+@{ var startNodeId = Model.MacroParameters["startNodeId"]; }
+@if (startNodeId != null)
+{
+ @* Get the starting page *@
+ var startNode = Umbraco.Content(startNodeId);
+ var selection = startNode.Children.Where("Visible");
+
+ if (selection.Any())
+ {
+
diff --git a/Blog/umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByProperty.cshtml b/Blog/umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByProperty.cshtml
new file mode 100644
index 0000000..b989e94
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByProperty.cshtml
@@ -0,0 +1,26 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+
+@*
+ Macro to list all child pages with a specific property, sorted by the value of that property.
+
+ How it works:
+ - Confirm the propertyAlias macro parameter has been passed in with a value
+ - Loop through all child pages that have the propertyAlias
+ - Display a list of link to those pages, sorted by the value of the propertyAlias
+
+ Macro Parameters To Create, for this macro to work:
+ Alias:propertyAlias Name:Property Alias Type:Textbox
+*@
+
+@{ var propertyAlias = Model.MacroParameters["propertyAlias"]; }
+@if (propertyAlias != null)
+{
+ var selection = CurrentPage.Children.Where("Visible").OrderBy(propertyAlias);
+
+
+}
diff --git a/Blog/umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml b/Blog/umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml
new file mode 100644
index 0000000..eb9812e
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml
@@ -0,0 +1,25 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+
+@*
+ This snippet shows how simple it is to fetch only children of a certain Document Type using Razor.
+ Be sure to change "DocumentTypeAlias" below to match your needs, such as "TextPage" or "NewsItems".
+ (You can find the alias of your Document Type by editing it in the Settings section)
+*@
+
+@{ var selection = CurrentPage.Children("DocumentTypeAlias").Where("Visible"); }
+@*
+ As an example of more querying, if you have a true/false property with the alias of shouldBeFeatured:
+ var selection= CurrentPage.Children("DocumentTypeAlias").Where("shouldBeFeatured == true").Where("Visible");
+*@
+
+
+@if (selection.Any())
+{
+
+}
+
diff --git a/Blog/umbraco/PartialViewMacros/Templates/ListDescendantsFromCurrentPage.cshtml b/Blog/umbraco/PartialViewMacros/Templates/ListDescendantsFromCurrentPage.cshtml
new file mode 100644
index 0000000..68f4b38
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/ListDescendantsFromCurrentPage.cshtml
@@ -0,0 +1,61 @@
+@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
+
+@*
+ This snippet creates links for every single page (no matter how deep) below
+ the page currently being viewed by the website visitor, displayed as nested unordered html lists.
+*@
+
+@{ var selection = CurrentPage.Children.Where("Visible"); }
+
+@* Ensure that the Current Page has children *@
+@if (selection.Any())
+{
+ @* Get the first page in the children, where the property umbracoNaviHide is not True *@
+ var naviLevel = CurrentPage.FirstChild().Where("Visible").Level;
+
+ @* Add in level for a CSS hook *@
+
+ @* For each child page where the property umbracoNaviHide is not True *@
+ @foreach (var item in selection)
+ {
+
+ @item.Name
+
+ @* if this child page has any children, where the property umbracoNaviHide is not True *@
+ @if (item.Children.Where("Visible").Any())
+ {
+ @* Call our helper to display the children *@
+ @childPages(item.Children)
+ }
+
+ }
+
+}
+
+
+@helper childPages(dynamic selection)
+{
+ @* Ensure that we have a collection of pages *@
+ if (selection.Any())
+ {
+ @* Get the first page in pages and get the level *@
+ var naviLevel = selection.First().Level;
+
+ @* Add in level for a CSS hook *@
+
+ @foreach (var item in selection.Where("Visible"))
+ {
+
+ @item.Name
+
+ @* if the this page has any children, where the property umbracoNaviHide is not True *@
+ @if (item.Children.Where("Visible").Any())
+ {
+ @* Call our helper to display the children *@
+ @childPages(item.Children)
+ }
+
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Blog/umbraco/PartialViewMacros/Templates/ListImagesFromMediaFolder.cshtml b/Blog/umbraco/PartialViewMacros/Templates/ListImagesFromMediaFolder.cshtml
new file mode 100644
index 0000000..5d318aa
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/ListImagesFromMediaFolder.cshtml
@@ -0,0 +1,33 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+
+@*
+ Macro to display a series of images from a media folder.
+
+ How it works:
+ - Confirm the macro parameter has been passed in with a value
+ - Loop through all the media Id's passed in (might be a single item, might be many)
+ - Display any individual images, as well as any folders of images
+
+ Macro Parameters To Create, for this macro to work:
+ Alias:mediaId Name:Select folder with images Type:Single Media Picker
+*@
+
+@{ var mediaId = Model.MacroParameters["mediaId"]; }
+@if (mediaId != null)
+{
+ @* Get all the media item associated with the id passed in *@
+ var media = Umbraco.Media(mediaId);
+ var selection = media.Children("Image");
+
+ if (selection.Any())
+ {
+
+ @foreach (var item in selection)
+ {
+
+
+
+ }
+
+ }
+}
diff --git a/Blog/umbraco/PartialViewMacros/Templates/Login.cshtml b/Blog/umbraco/PartialViewMacros/Templates/Login.cshtml
new file mode 100644
index 0000000..5dfdfb3
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/Login.cshtml
@@ -0,0 +1,41 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+
+@using System.Web.Mvc.Html
+@using ClientDependency.Core.Mvc
+@using Umbraco.Web
+@using Umbraco.Web.Models
+@using Umbraco.Web.Controllers
+
+@{
+ var loginModel = new LoginModel();
+
+ Html.EnableClientValidation();
+ Html.EnableUnobtrusiveJavaScript();
+ Html.RequiresJs("/umbraco_client/ui/jquery.js");
+ Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.min.js");
+ Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.unobtrusive.min.js");
+}
+
+@* NOTE: This RenderJsHere code should be put on your main template page where the rest of your script tags are placed *@
+@Html.RenderJsHere()
+
+@using (Html.BeginUmbracoForm("HandleLogin"))
+{
+
+}
\ No newline at end of file
diff --git a/Blog/umbraco/PartialViewMacros/Templates/LoginStatus.cshtml b/Blog/umbraco/PartialViewMacros/Templates/LoginStatus.cshtml
new file mode 100644
index 0000000..7c7c926
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/LoginStatus.cshtml
@@ -0,0 +1,43 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+@using System.Web.Mvc.Html
+@using ClientDependency.Core.Mvc
+@using Umbraco.Web
+@using Umbraco.Web.Models
+@using Umbraco.Web.Controllers
+
+@{
+ var loginStatusModel = Members.GetCurrentLoginStatus();
+
+ Html.EnableClientValidation();
+ Html.EnableUnobtrusiveJavaScript();
+ Html.RequiresJs("/umbraco_client/ui/jquery.js");
+ Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.min.js");
+ Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.unobtrusive.min.js");
+
+ var logoutModel = new PostRedirectModel();
+
+ @*
+ Here you can specify a redirect URL for after logging out, by default umbraco will simply
+ redirect to the current page. Example to redirect to the home page:
+
+ logoutModel.RedirectUrl = "/";
+ *@
+}
+
+@* NOTE: This RenderJsHere code should be put on your main template page where the rest of your script tags are placed *@
+@Html.RenderJsHere()
+
+@if (loginStatusModel.IsLoggedIn)
+{
+
You are currently logged in as @loginStatusModel.Name
+
+ using (Html.BeginUmbracoForm("HandleLogout"))
+ {
+
+
+ @Html.HiddenFor(m => logoutModel.RedirectUrl)
+ }
+}
\ No newline at end of file
diff --git a/Blog/umbraco/PartialViewMacros/Templates/MultinodeTree-picker.cshtml b/Blog/umbraco/PartialViewMacros/Templates/MultinodeTree-picker.cshtml
new file mode 100644
index 0000000..ca79ad5
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/MultinodeTree-picker.cshtml
@@ -0,0 +1,21 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+
+@*
+ This snippet lists the items from a Multinode tree picker, using the pickers default settings.
+ Content Values stored as xml.
+
+ To get it working with any site's data structure, set the selection equal to the property which has the
+ multinode treepicker (so: replace "PropertyWithPicker" with the alias of your property).
+*@
+
+@{ var selection = CurrentPage.PropertyWithPicker.Split(','); }
+
+
+ @foreach (var id in selection)
+ {
+ var item = Umbraco.Content(id);
+
\ No newline at end of file
diff --git a/Blog/umbraco/PartialViewMacros/Templates/Navigation.cshtml b/Blog/umbraco/PartialViewMacros/Templates/Navigation.cshtml
new file mode 100644
index 0000000..19c0199
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/Navigation.cshtml
@@ -0,0 +1,18 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+
+@*
+ This snippet displays a list of links of the pages immediately under the top-most page in the content tree.
+ This is the home page for a standard website.
+ It also highlights the current active page/section in the navigation with the css class "current".
+*@
+
+@{ var selection = CurrentPage.Site().Children.Where("Visible"); }
+
+
diff --git a/Blog/umbraco/PartialViewMacros/Templates/RegisterMember.cshtml b/Blog/umbraco/PartialViewMacros/Templates/RegisterMember.cshtml
new file mode 100644
index 0000000..3b486e6
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/RegisterMember.cshtml
@@ -0,0 +1,104 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+
+@using System.Web.Mvc.Html
+@using ClientDependency.Core.Mvc
+@using Umbraco.Web
+@using Umbraco.Web.Controllers
+
+@{
+ @*
+ You can specify a custom member type alias in the constructor, the default is 'Member'
+ for example, to use 'Custom Member' you'd use this syntax:
+
+ var registerModel = Members.CreateRegistrationModel("Custom Member");
+ *@
+
+ var registerModel = Members.CreateRegistrationModel();
+
+ @*
+ Configurable here:
+
+ registerModel.RedirectUrl - Optional. What path to redirect to if registration is successful.
+ By default the member will be redirected to the current umbraco page
+ unless this is specified.
+
+ registerModel.UsernameIsEmail - the default is true
+ if you want the username to be different from the email
+ address, set this to true and add a new Username field in
+ the form below
+
+ @Html.LabelFor(m => registerModel.Username)
+ @Html.TextBoxFor(m => registerModel.Username)
+ @Html.ValidationMessageFor(m => registerModel.Username)
+ *@
+
+ Html.EnableClientValidation();
+ Html.EnableUnobtrusiveJavaScript();
+ Html.RequiresJs("/umbraco_client/ui/jquery.js");
+ Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.min.js");
+ Html.RequiresJs("/umbraco_client/Application/JQuery/jquery.validate.unobtrusive.min.js");
+
+ var success = TempData["FormSuccess"] != null;
+}
+
+@*NOTE: This RenderJsHere code should be put on your main template page where the rest of your script tags are placed*@
+@Html.RenderJsHere()
+
+@if (success)
+{
+ @* This message will show if RedirectOnSucces is set to false (default) *@
+
Registration succeeeded.
+}
+else
+{
+ using (Html.BeginUmbracoForm("HandleRegisterMember"))
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/Blog/umbraco/PartialViewMacros/Templates/SiteMap.cshtml b/Blog/umbraco/PartialViewMacros/Templates/SiteMap.cshtml
new file mode 100644
index 0000000..0fd074c
--- /dev/null
+++ b/Blog/umbraco/PartialViewMacros/Templates/SiteMap.cshtml
@@ -0,0 +1,42 @@
+@inherits Umbraco.Web.Macros.PartialViewMacroPage
+
+@*
+ This snippet makes a list of links of all visible pages of the site, as nested unordered html lists.
+
+ How it works:
+ - It uses a custom Razor helper called Traverse() to select and display the markup and links.
+*@
+
+@{ var selection = CurrentPage.Site(); }
+
+
+ @* Render the sitemap by passing the root node to the traverse helper, below *@
+ @Traverse(selection)
+
+
+
+@* Helper method to travers through all descendants *@
+@helper Traverse(dynamic node)
+{
+ @* Update the level to reflect how deep you want the sitemap to go *@
+ var maxLevelForSitemap = 4;
+
+ @* Select visible children *@
+ var selection = node.Children.Where("Visible").Where("Level <= " + maxLevelForSitemap);
+
+ @* If any items are returned, render a list *@
+ if (selection.Any())
+ {
+
+ @foreach (var item in selection)
+ {
+
+ @item.Name
+
+ @* Run the traverse helper again for any child pages *@
+ @Traverse(item)
+
+ @* For each page in the ancestors collection which have been ordered by Level (so we start with the highest top node first) *@
+ @foreach (var page in Model.Ancestors().OrderBy("Level"))
+ {
+
+ }
+
+ @* Display the current page as the last item in the list *@
+
@Model.Name
+
+}
\ No newline at end of file
diff --git a/Blog/umbraco/Scripting/templates/cshtml/EmptyTemplate.cshtml b/Blog/umbraco/Scripting/templates/cshtml/EmptyTemplate.cshtml
new file mode 100644
index 0000000..811986b
--- /dev/null
+++ b/Blog/umbraco/Scripting/templates/cshtml/EmptyTemplate.cshtml
@@ -0,0 +1,15 @@
+@inherits umbraco.MacroEngines.DynamicNodeContext
+
+@*
+ Model = The current page the macro is executed on
+ @Model.bodyText
+
+ Parameter = collection of parameter values passed from the macro
+ @Paramter.myParam
+
+ Library = utillity library with common methods
+ @Library.NodeById(1233)
+*@
+
+@* The fun starts here *@
+
diff --git a/Blog/umbraco/Scripting/templates/cshtml/Gallery.cshtml b/Blog/umbraco/Scripting/templates/cshtml/Gallery.cshtml
new file mode 100644
index 0000000..0fd41fa
--- /dev/null
+++ b/Blog/umbraco/Scripting/templates/cshtml/Gallery.cshtml
@@ -0,0 +1,32 @@
+@inherits umbraco.MacroEngines.DynamicNodeContext
+
+@*
+ Macro to display a gallery from a media folder. Add the below parameter to the macro
+ and use it to point the macro at a specific media folder to display it's content as
+ a simple list.
+
+ Macro Parameters To Create, for this macro to work:
+ Alias:mediaId Name:Media Folder ID Type:Single Media Picker
+*@
+
+
+@if (Parameter.mediaId != null)
+{
+ @* Get the media folder as a dynamic node *@
+ var mediaFolder = Library.MediaById(Parameter.mediaId);
+
+ if (mediaFolder.Children.Any())
+ {
+
+ @* for each item in children of the selected media folder *@
+ @foreach (var mediaItem in mediaFolder.Children)
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/Blog/umbraco/Scripting/templates/cshtml/ListAncestorsFromCurrentPage.cshtml b/Blog/umbraco/Scripting/templates/cshtml/ListAncestorsFromCurrentPage.cshtml
new file mode 100644
index 0000000..7617654
--- /dev/null
+++ b/Blog/umbraco/Scripting/templates/cshtml/ListAncestorsFromCurrentPage.cshtml
@@ -0,0 +1,16 @@
+@inherits umbraco.MacroEngines.DynamicNodeContext
+
+@* Check the current page has ancestors *@
+@if (Model.Ancestors().Any())
+{
+
+ @* For each page in the ancestors collection which have been ordered by Level (so we start with the highest top node first) *@
+ @foreach (var page in Model.Ancestors().OrderBy("Level"))
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/Blog/umbraco/Scripting/templates/cshtml/ListChildPagesFromCurrentPage.cshtml b/Blog/umbraco/Scripting/templates/cshtml/ListChildPagesFromCurrentPage.cshtml
new file mode 100644
index 0000000..d917a38
--- /dev/null
+++ b/Blog/umbraco/Scripting/templates/cshtml/ListChildPagesFromCurrentPage.cshtml
@@ -0,0 +1,16 @@
+@inherits umbraco.MacroEngines.DynamicNodeContext
+
+
+@* Ensure that the Current Page has children, where the property umbracoNaviHide is not True *@
+@if (Model.Children.Where("Visible").Any())
+{
+
+ @* For each child page under the root node, where the property umbracoNaviHide is not True *@
+ @foreach (var childPage in Model.Children.Where("Visible"))
+ {
+
+ @* OrderBy() takes the property to sort by and optionally order desc/asc *@
+ @foreach (var page in Model.Children.Where("Visible").OrderBy("CreateDate desc"))
+ {
+
diff --git a/Blog/umbraco/Scripting/templates/cshtml/ListChildPagesOrderedByProperty.cshtml b/Blog/umbraco/Scripting/templates/cshtml/ListChildPagesOrderedByProperty.cshtml
new file mode 100644
index 0000000..290ba02
--- /dev/null
+++ b/Blog/umbraco/Scripting/templates/cshtml/ListChildPagesOrderedByProperty.cshtml
@@ -0,0 +1,20 @@
+@inherits umbraco.MacroEngines.DynamicNodeContext
+
+@*
+ Macro parameter to be set on the macro
+ Alias:propertyAlias Name:Property Alias Type:Textbox
+*@
+
+@{
+
+ @* Get the property alias we want to filter on from the macro parameter *@
+ var propertyAlias = Parameter.propertyAlias;
+ var selection = Model.Children.Where("Visible").OrderBy(propertyAlias);
+}
+
+
diff --git a/Blog/umbraco/Scripting/templates/cshtml/ListChildPagesWithDoctype.cshtml b/Blog/umbraco/Scripting/templates/cshtml/ListChildPagesWithDoctype.cshtml
new file mode 100644
index 0000000..a8c39b7
--- /dev/null
+++ b/Blog/umbraco/Scripting/templates/cshtml/ListChildPagesWithDoctype.cshtml
@@ -0,0 +1,30 @@
+@inherits umbraco.MacroEngines.DynamicNodeContext
+
+@*
+ This snippet shows how simple it is to fetch only children of a certain Document Type using Razor. Instead of
+ calling .Children, simply call .AliasOfDocumentType in plural.
+ For instance .Textpages or .NewsArticles (you can find the alias of your Document Type by editing it in the
+ Settings section).
+*@
+
+@{
+ @* Build a query and return the visible items *@
+ var selection= Model.Textpages.Where("Visible");
+
+ @*
+ Example of more querying, if you have a true/false property with the alias of shouldBeFeatured:
+ var selection= Model.Textpages.Where("shouldBeFeatured == true").Where("Visible");
+ *@
+}
+
+@* Determine if there are any nodes in the selection, then render list *@
+@if(selection.Any()){
+
+
+
+}
+
diff --git a/Blog/umbraco/Scripting/templates/cshtml/ListDescendantsFromCurrentPage.cshtml b/Blog/umbraco/Scripting/templates/cshtml/ListDescendantsFromCurrentPage.cshtml
new file mode 100644
index 0000000..e22bfe0
--- /dev/null
+++ b/Blog/umbraco/Scripting/templates/cshtml/ListDescendantsFromCurrentPage.cshtml
@@ -0,0 +1,54 @@
+@inherits umbraco.MacroEngines.DynamicNodeContext
+
+@* Ensure that the Current Page has children, where the property umbracoNaviHide is not True *@
+@if (Model.Children.Where("Visible").Any())
+{
+ @* Get the first page in the children, where the property umbracoNaviHide is not True *@
+ var naviLevel = Model.Children.Where("Visible").First().Level;
+
+ @* Add in level for a CSS hook *@
+
+ @* For each child page under the root node, where the property umbracoNaviHide is not True *@
+ @foreach (var childPage in Model.Children.Where("Visible"))
+ {
+
+ @childPage.Name
+
+ @* if the current page has any children, where the property umbracoNaviHide is not True *@
+ @if (childPage.Children.Where("Visible").Any())
+ {
+ @* Call our helper to display the children *@
+ @childPages(childPage.Children)
+ }
+
+ }
+
+}
+
+
+@helper childPages(dynamic pages)
+ {
+ @* Ensure that we have a collection of pages *@
+ if (pages.Any())
+ {
+ @* Get the first page in pages and get the level *@
+ var naviLevel = pages.First().Level;
+
+ @* Add in level for a CSS hook *@
+
+ @foreach (var page in pages.Where("Visible"))
+ {
+
+ @page.Name
+
+ @* if the current page has any children, where the property umbracoNaviHide is not True *@
+ @if (page.Children.Where("Visible").Any())
+ {
+ @* Call our helper to display the children *@
+ @childPages(page.Children)
+ }
+
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Blog/umbraco/Scripting/templates/cshtml/ListImagesFromMediaFolder.cshtml b/Blog/umbraco/Scripting/templates/cshtml/ListImagesFromMediaFolder.cshtml
new file mode 100644
index 0000000..38a1842
--- /dev/null
+++ b/Blog/umbraco/Scripting/templates/cshtml/ListImagesFromMediaFolder.cshtml
@@ -0,0 +1,23 @@
+@inherits umbraco.MacroEngines.DynamicNodeContext
+
+@*
+ Macro Parameters To Create, for this macro to work:
+ Alias:mediaId Name:Media Folder ID Type:Single Media Picker
+*@
+
+@if (Parameter.mediaId != null)
+{
+ @* Get the media folder as a dynamic node *@
+ var mediaFolder = Library.MediaById(Parameter.mediaId);
+
+ if (mediaFolder.Children.Any())
+ {
+
+ @* for each item in children of the selected media folder *@
+ @foreach (var mediaItem in mediaFolder.Children)
+ {
+
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Blog/umbraco/Scripting/templates/cshtml/MultinodeTree-picker.cshtml b/Blog/umbraco/Scripting/templates/cshtml/MultinodeTree-picker.cshtml
new file mode 100644
index 0000000..4084a86
--- /dev/null
+++ b/Blog/umbraco/Scripting/templates/cshtml/MultinodeTree-picker.cshtml
@@ -0,0 +1,24 @@
+@inherits umbraco.MacroEngines.DynamicNodeContext
+
+@*
+ Macro to list nodes from a Multinode tree picker, using the pickers default settings.
+ Content Values stored as xml.
+
+ To get it working with any site's data structure, simply set the selection equal to the property which has the
+ multinode treepicker.
+*@
+
+@{
+ var selection = Model.PropertyWithPicker;
+}
+
+@* Lists each selected value from the picker as a link *@
+
+ @foreach(var id in selection.Split(',')){
+
+ @*For each link, get the node, and display its name and url*@
+ var node = Library.NodeById(id);
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Scripting/templates/cshtml/Navigation.cshtml b/Blog/umbraco/Scripting/templates/cshtml/Navigation.cshtml
new file mode 100644
index 0000000..d7c8d9b
--- /dev/null
+++ b/Blog/umbraco/Scripting/templates/cshtml/Navigation.cshtml
@@ -0,0 +1,21 @@
+@inherits umbraco.MacroEngines.DynamicNodeContext
+
+@*
+ Macro to display child pages below the root page of a standard website.
+ Also highlights the current active page/section in the navigation with
+ the css class "current".
+*@
+
+@{
+ @* Get the root of the website *@
+ var root = Model.AncestorOrSelf(1);
+}
+
+
+ @foreach (var page in root.Children.Where("Visible"))
+ {
+
diff --git a/Blog/umbraco/Scripting/templates/cshtml/SiteMap.cshtml b/Blog/umbraco/Scripting/templates/cshtml/SiteMap.cshtml
new file mode 100644
index 0000000..6750f6e
--- /dev/null
+++ b/Blog/umbraco/Scripting/templates/cshtml/SiteMap.cshtml
@@ -0,0 +1,34 @@
+@inherits umbraco.MacroEngines.DynamicNodeContext
+
+@* Render the sitemap by passing the root node to the traverse helper *@
+
+ @traverse(@Model.AncestorOrSelf())
+
+
+@* Helper method to travers through all descendants *@
+@helper traverse(dynamic node)
+{
+
+ @* If a MaxLevelForSitemap parameter is passed to the macro, otherwise default to 4 levels *@
+ var maxLevelForSitemap = String.IsNullOrEmpty(Parameter.MaxLevelForSitemap) ? 4 : int.Parse(Parameter.MaxLevelForSitemap);
+
+ @* Select visible children *@
+ var items = node.Children.Where("Visible").Where("Level <= " + maxLevelForSitemap);
+
+
+ @* If any items are returned, render a list *@
+ if (items.Any())
+ {
+
+ @foreach (var item in items)
+ {
+
+ @item.Name
+
+ @*Run the traverse helper again *@
+ @traverse(item)
+
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/Blog/umbraco/Search/QuickSearch.ascx b/Blog/umbraco/Search/QuickSearch.ascx
new file mode 100644
index 0000000..4081913
--- /dev/null
+++ b/Blog/umbraco/Search/QuickSearch.ascx
@@ -0,0 +1,19 @@
+<%@ Control Language="c#" AutoEventWireup="True" Codebehind="QuickSearch.ascx.cs" Inherits="Umbraco.Web.UI.Umbraco.Search.QuickSearch" %>
+<%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %>
+
+
+
+
+
+
+
+ " />
+
\ No newline at end of file
diff --git a/Blog/umbraco/Search/QuickSearchHandler.ashx b/Blog/umbraco/Search/QuickSearchHandler.ashx
new file mode 100644
index 0000000..0410ca6
--- /dev/null
+++ b/Blog/umbraco/Search/QuickSearchHandler.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="QuickSearchHandler.ashx.cs" Class="umbraco.presentation.umbraco.Search.QuickSearchHandler" %>
diff --git a/Blog/umbraco/Search/quickSearch.js b/Blog/umbraco/Search/quickSearch.js
new file mode 100644
index 0000000..ec14297
--- /dev/null
+++ b/Blog/umbraco/Search/quickSearch.js
@@ -0,0 +1,107 @@
+(function ($) {
+
+ $.fn.UmbQuickSearch = function (url) {
+
+ var getSearchApp = function () {
+
+ if (UmbClientMgr.mainWindow().location.hash != "") {
+ switch (UmbClientMgr.mainWindow().location.hash.toLowerCase().substring(1).toLowerCase()) {
+ case "media":
+ return "Media";
+ break;
+ case "content":
+ return "Content";
+ break;
+ case "member":
+ return "Member";
+ break;
+ default:
+ return "Content";
+ }
+ }
+ return "Content";
+
+ /* return (UmbClientMgr.mainWindow().location.hash != ""
+ && UmbClientMgr.mainWindow().location.hash.toLowerCase().substring(1)) == "media".toLowerCase()
+ ? "Media"
+ : "Content"; */
+ };
+
+ var acOptions = {
+ minChars: 2,
+ max: 100,
+ cacheLength: 1,
+ dataType: 'json',
+ matchCase: true,
+ matchContains: false,
+ selectFirst: false, // FR: This enabled the search popup to show, otherwise it selects the first item
+ extraParams: {
+ //return the current app, if it's not media, then it's Content as this is the only searches that are supported.
+ app: function () {
+ return getSearchApp();
+ },
+ rnd: function () {
+ return Umbraco.Utils.generateRandom();
+ }
+ },
+ parse: function (data) {
+ var parsed = [];
+ for (var i = 0; i < data.length; i++) {
+ parsed[parsed.length] = {
+ data: data[i],
+ value: data[i].Id,
+ result: data[i].Fields.nodeName
+ };
+ }
+ return parsed;
+ },
+ formatItem: function (item) {
+ return item.Fields.nodeName + " (" + item.Id + ") ";
+ },
+ focus: function (event, ui) {
+ $(ui).attr("title", $(ui).find("span[title]").attr("title"));
+ }
+ };
+
+ $(this)
+ .autocomplete(url, acOptions)
+ .result(function (e, data) {
+
+ var url = "";
+ switch (getSearchApp()) {
+ case "Media":
+ url = "editMedia.aspx";
+ break;
+ case "Content":
+ url = "editContent.aspx";
+ break;
+ case "Member":
+ url = "members/editMember.aspx";
+ break;
+ default:
+ url = "editContent.aspx";
+ }
+ UmbClientMgr.contentFrame().location.href = url + "?id=" + data.Id;
+ $("#umbSearchField").val(UmbClientMgr.uiKeys()["general_typeToSearch"]);
+ right.focus();
+ });
+
+
+ $(this).focus(function () {
+ $(this).val('');
+ });
+
+ $(this).blur(function () {
+ $(this).val(UmbClientMgr.uiKeys()["general_typeToSearch"]);
+ });
+
+ $(this).keyup(function (e) {
+ if (e.keyCode == 13) {
+
+ UmbClientMgr.openModalWindow('dialogs/search.aspx?rndo=' + Umbraco.Utils.generateRandom() + '&search=' + jQuery(this).val() + '&app=' + getSearchApp(), 'Search', true, 620, 470);
+ return false;
+ }
+ });
+ }
+
+})(jQuery);
\ No newline at end of file
diff --git a/Blog/umbraco/Settings/DictionaryItemList.aspx b/Blog/umbraco/Settings/DictionaryItemList.aspx
new file mode 100644
index 0000000..6c2f529
--- /dev/null
+++ b/Blog/umbraco/Settings/DictionaryItemList.aspx
@@ -0,0 +1,16 @@
+<%@ Page Language="C#" AutoEventWireup="true" Codebehind="DictionaryItemList.aspx.cs"
+ Inherits="umbraco.presentation.settings.DictionaryItemList" MasterPageFile="../masterpages/umbracoPage.Master" %>
+<%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %>
+
+
+
+
+
+
+
+
+ <umbraco:Item field="bodyText" runat="server"/>
+
+
+ Fetches a value from the current page.
+
+
+
Insert macro
+
+ <umbraco:Macro macroAlias="MacroAlias" Alias="MacroAlias" runat="server"/>
+
+ Inserts a macro into the template
+
+
Load child template
+
+ <asp:ContentPlaceHolder runat="server" id="<%= alias %>ContentPlaceHolder" />
+
+
+ This is the default placeholder for content stored in a child template using this exact template as it's master template.
+
+
+
Disable Request Validation
+
+ <umbraco:DisableRequestValidation runat="server"/>
+
+ Disable ASP.NET request validation. It's the same as adding a enableEventValidation="false" to a page directive (but this is not possible in Umbraco as all pages use the same ASPX page for all pages)
+
+ <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://<%=Request.ServerVariables["SERVER_NAME"] %><%= IOHelper.ResolveUrl(SystemDirectories.Umbraco)%>/channels/wlwmanifest.aspx" />
+
+
+ Insert the above two elements to the head element to gain optimal support for
+ using the MetaBlog Apis with 3rd party clients and to enable autodiscovery for Windows
+ Live Writer.
+
+
+ a b c d e f g h i j k l m n o p q r s t u v w x t z
+
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
+ 1 2 3 4 5 6 7 8 9 0 $ % & (.,;:'\"!?)
+
+
+ Just keep examining every bid quoted for zinc etchings.
+
+ When you have completed the translation. Upload the edited XML file here. The related translation tasks will automaticly be closed when a file is uploaded.
+
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Users/PermissionsEditor.js b/Blog/umbraco/Users/PermissionsEditor.js
new file mode 100644
index 0000000..82f918b
--- /dev/null
+++ b/Blog/umbraco/Users/PermissionsEditor.js
@@ -0,0 +1,144 @@
+///
+///
+///
+///
+
+Umbraco.Sys.registerNamespace("Umbraco.Controls");
+
+(function($) {
+ $.fn.PermissionsEditor = function(opts) {
+ return this.each(function() {
+ var conf = $.extend({
+ userId: -1,
+ pPanelSelector: "",
+ replacePChkBoxSelector: ""
+ }, opts);
+ new Umbraco.Controls.PermissionsEditor().init($(this), conf.userId, $(conf.pPanelSelector), conf.replacePChkBoxSelector);
+ });
+ };
+ $.fn.PermissionsEditorAPI = function() {
+ /// exposes the Permissions Editor API for the selected object
+ return $(this).data("PermissionsEditor") == null ? null : $(this).data("PermissionsEditor");
+ }
+ Umbraco.Controls.PermissionsEditor = function() {
+ ///
+ /// A class to perform the AJAX callback methods for the PermissionsEditor
+ ///
+ return {
+ //private members
+ _userID: -1,
+ _loadingContent: '
',
+ _pPanel: null,
+ _tree: null,
+ _selectedNodes: new Array(),
+ _chkReplaceSelector: null,
+
+ init: function(tree, uId, pPanel, chkReplaceSelector) {
+ ///constructor function
+ this._userID = parseInt(uId);
+ this._pPanel = pPanel;
+ this._tree = tree;
+ this._chkReplaceSelector = chkReplaceSelector;
+
+ //store the api object
+ tree.data("PermissionsEditor", this);
+
+ //bind the nodeClicked event
+ var _this = this;
+ var api = this._tree.UmbracoTreeAPI();
+ api.addEventHandler("nodeClicked", function(e, n) { _this.treeNodeChecked(e, n) });
+ },
+
+ //public methods
+ treeNodeChecked: function(e, data) {
+ var vals = "";
+ var nodeId = $(data).attr("id");
+ this._tree.find("li a.checked").each(function() {
+ var cNodeId = $(this).parent("li").attr("id");
+ //if the check box is not the one thats just been checked, add it
+ if (cNodeId != nodeId && parseInt(cNodeId) > 0) {
+ vals += cNodeId + ",";
+ }
+ });
+ this._selectedNodes = vals.split(",");
+ this._selectedNodes.pop(); //remove the last one as it will be empty
+ //add the one that was just checked to the end of the array if
+ if ($(data).children("a").hasClass("checked")) {
+ this._selectedNodes.push(nodeId);
+ }
+ if (this._selectedNodes.length > 0) {
+ this._beginShowNodePermissions(this._selectedNodes.join(","));
+ this._pPanel.show();
+ }
+ else {
+ this._pPanel.hide();
+ }
+ },
+ setReplaceChild: function(doReplace) {
+ alert(doReplace);
+ this._replaceChildren = doReplace;
+ },
+ beginSavePermissions: function() {
+
+ //ensure that there are nodes selected to save permissions against
+ if (this._selectedNodes.length == 0) {
+ alert("No nodes have been selected");
+ return;
+ }
+ else if (!confirm("Permissions will be changed for nodes: " + this._selectedNodes.join(",") + ". Are you sure?")) {
+ return;
+ }
+
+ //get the list of checked permissions
+ var checkedPermissions = "";
+ this._pPanel.find("input:checked").each(function() {
+ checkedPermissions += $(this).val();
+ });
+
+ var replaceChildren = $(this._chkReplaceSelector).is(":checked");
+
+ this._setUpdateProgress();
+ var _this = this;
+ setTimeout(function() { _this._savePermissions(_this._selectedNodes.join(","), checkedPermissions, replaceChildren); }, 10);
+ },
+
+ //private methods
+ _addItemToSelectedCollection: function(chkbox) {
+ if (chkbox.checked)
+ this._selectedNodes.push(chkbox.value);
+ else {
+ var joined = this._selectedNodes.join(',');
+ joined = joined.replace(chkbox.value, '');
+ this._selectedNodes = joined.split(',');
+ this._selectedNodes = ContentTreeControl_ReBuildArray(contentTreeControl_selected);
+ }
+
+ },
+ _beginShowNodePermissions: function(selectedIDs) {
+ this._setUpdateProgress();
+ var _this = this;
+ setTimeout(function() { _this._showNodePermissions(selectedIDs); }, 10);
+ //setTimeout("PermissionsEditor._showNodePermissions('" + selectedIDs + "');", 10);
+ },
+ _showNodePermissions: function(selectedIDs) {
+ var _this = this;
+ umbraco.cms.presentation.user.PermissionsHandler.GetNodePermissions(this._userID, selectedIDs, function(r) { _this._showNodePermissionsCallback(r); });
+ },
+ _showNodePermissionsCallback: function(result) {
+ this._pPanel.html(result);
+ },
+ _savePermissions: function(nodeIDs, selectedPermissions, replaceChildren) {
+ var _this = this;
+ umbraco.cms.presentation.user.PermissionsHandler.SaveNodePermissions(this._userID, nodeIDs, selectedPermissions, replaceChildren, function(r) { _this._savePermissionsHandler(r) });
+ },
+ _savePermissionsHandler: function(result) {
+ if (UmbClientMgr.mainWindow().UmbSpeechBubble != null)
+ UmbClientMgr.mainWindow().UmbSpeechBubble.ShowMessage("save", "Saved", "Permissions Saved");
+ this._pPanel.html(result);
+ },
+ _setUpdateProgress: function() {
+ this._pPanel.html(this._loadingContent);
+ }
+ }
+ }
+})(jQuery);
\ No newline at end of file
diff --git a/Blog/umbraco/Users/PermissionsHandler.asmx b/Blog/umbraco/Users/PermissionsHandler.asmx
new file mode 100644
index 0000000..6f3a471
--- /dev/null
+++ b/Blog/umbraco/Users/PermissionsHandler.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="PermissionsHandler.asmx.cs" Class="umbraco.cms.presentation.user.PermissionsHandler" %>
diff --git a/Blog/umbraco/Views/AuthorizeUpgrade.cshtml b/Blog/umbraco/Views/AuthorizeUpgrade.cshtml
new file mode 100644
index 0000000..3d4f6ba
--- /dev/null
+++ b/Blog/umbraco/Views/AuthorizeUpgrade.cshtml
@@ -0,0 +1,77 @@
+@using System.Collections
+@using System.Net.Http
+@using System.Web.Mvc.Html
+@using Umbraco.Core
+@using ClientDependency.Core
+@using ClientDependency.Core.Mvc
+@using Microsoft.Owin.Security
+@using Newtonsoft.Json
+@using Newtonsoft.Json.Linq
+@using Umbraco.Core.IO
+@using Umbraco.Web
+@using Umbraco.Web.Editors
+@using umbraco
+@inherits System.Web.Mvc.WebViewPage
+@{
+ Layout = null;
+
+ Html
+ .RequiresCss("assets/css/umbraco.css", "Umbraco")
+ .RequiresCss("lib/bootstrap-social/bootstrap-social.css", "Umbraco")
+ .RequiresCss("lib/font-awesome/css/font-awesome.min.css", "Umbraco");
+}
+
+
+
+
+
+
+
+
+
+ Umbraco
+
+ @Html.RenderCssHere(
+ new BasicPath("Umbraco", IOHelper.ResolveUrl(SystemDirectories.Umbraco)),
+ new BasicPath("UmbracoClient", IOHelper.ResolveUrl(SystemDirectories.UmbracoClient)))
+
+ @*Because we're lazy loading angular js, the embedded cloak style will not be loaded initially, but we need it*@
+
+
+
+
+
+
+
+
+
+
+
+ @{
+ var externalLoginUrl = Url.Action("ExternalLogin", "BackOffice", new
+ {
+ area = ViewBag.UmbracoPath,
+ //Custom redirect URL since we don't want to just redirect to the back office since this is for authing upgrades
+ redirectUrl = Url.Action("AuthorizeUpgrade", "BackOffice")
+ });
+ }
+ @Html.BareMinimumServerVariablesScript(Url, externalLoginUrl)
+
+
+
+ @*And finally we can load in our angular app*@
+
+
+
+
+
diff --git a/Blog/umbraco/Views/Default.cshtml b/Blog/umbraco/Views/Default.cshtml
new file mode 100644
index 0000000..c2c4ffd
--- /dev/null
+++ b/Blog/umbraco/Views/Default.cshtml
@@ -0,0 +1,91 @@
+@using System.Collections
+@using System.Net.Http
+@using System.Web.Mvc.Html
+@using Umbraco.Core
+@using ClientDependency.Core
+@using ClientDependency.Core.Mvc
+@using Microsoft.Owin.Security
+@using Newtonsoft.Json
+@using Newtonsoft.Json.Linq
+@using Umbraco.Core.IO
+@using Umbraco.Web
+@using Umbraco.Web.Editors
+@using umbraco
+
+@inherits System.Web.Mvc.WebViewPage
+
+@{
+ var isDebug = false;
+ if (Request.RawUrl.IndexOf('?') >= 0)
+ {
+ var parsed = HttpUtility.ParseQueryString(Request.RawUrl.Split('?')[1]);
+ var attempt = parsed["umbDebug"].TryConvertTo();
+ if (attempt && attempt.Result)
+ {
+ isDebug = true;
+ }
+ }
+
+ Html
+ .RequiresCss("assets/css/umbraco.css", "Umbraco")
+ .RequiresCss("tree/treeicons.css", "UmbracoClient")
+ .RequiresCss("lib/bootstrap-social/bootstrap-social.css", "Umbraco")
+ .RequiresCss("lib/font-awesome/css/font-awesome.min.css", "Umbraco");
+}
+
+
+
+
+
+
+
+
+
+
+
+
+ Umbraco
+
+ @Html.RenderCssHere(
+ new BasicPath("Umbraco", IOHelper.ResolveUrl(SystemDirectories.Umbraco)),
+ new BasicPath("UmbracoClient", IOHelper.ResolveUrl(SystemDirectories.UmbracoClient)))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @Html.BareMinimumServerVariablesScript(Url, Url.Action("ExternalLogin", "BackOffice", new { area = ViewBag.UmbracoPath }))
+
+
+
+
+ @*And finally we can load in our angular app*@
+
+
+
+ @if (isDebug)
+ {
+ @Html.RenderProfiler()
+ }
+
+
+
diff --git a/Blog/umbraco/Views/common/dashboard.html b/Blog/umbraco/Views/common/dashboard.html
new file mode 100644
index 0000000..56ba1b5
--- /dev/null
+++ b/Blog/umbraco/Views/common/dashboard.html
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/dialogs/approvedcolorpicker.html b/Blog/umbraco/Views/common/dialogs/approvedcolorpicker.html
new file mode 100644
index 0000000..91b53f4
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/approvedcolorpicker.html
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/dialogs/content/edit.html b/Blog/umbraco/Views/common/dialogs/content/edit.html
new file mode 100644
index 0000000..55e0cad
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/content/edit.html
@@ -0,0 +1,61 @@
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/dialogs/help.html b/Blog/umbraco/Views/common/dialogs/help.html
new file mode 100644
index 0000000..b9428fb
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/help.html
@@ -0,0 +1,58 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/dialogs/iconpicker.html b/Blog/umbraco/Views/common/dialogs/iconpicker.html
new file mode 100644
index 0000000..bcf7fe3
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/iconpicker.html
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/common/dialogs/insertmacro.html b/Blog/umbraco/Views/common/dialogs/insertmacro.html
new file mode 100644
index 0000000..590b569
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/insertmacro.html
@@ -0,0 +1,50 @@
+
diff --git a/Blog/umbraco/Views/common/dialogs/legacydelete.html b/Blog/umbraco/Views/common/dialogs/legacydelete.html
new file mode 100644
index 0000000..5545dac
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/legacydelete.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+ Are you sure you want to delete {{currentNode.name}} ?
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/common/dialogs/linkpicker.html b/Blog/umbraco/Views/common/dialogs/linkpicker.html
new file mode 100644
index 0000000..a1728f3
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/linkpicker.html
@@ -0,0 +1,76 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/dialogs/login.html b/Blog/umbraco/Views/common/dialogs/login.html
new file mode 100644
index 0000000..2310394
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/login.html
@@ -0,0 +1,55 @@
+
+
+
+
{{greeting}}
+
+ Log in below.
+ Log in below
+
+
+
+
+
+ {{error}}
+
+
+
+
+
+
Or
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/dialogs/macropicker.html b/Blog/umbraco/Views/common/dialogs/macropicker.html
new file mode 100644
index 0000000..115109c
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/macropicker.html
@@ -0,0 +1,38 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/dialogs/mediapicker.html b/Blog/umbraco/Views/common/dialogs/mediapicker.html
new file mode 100644
index 0000000..2a77252
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/mediapicker.html
@@ -0,0 +1,146 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/dialogs/membergrouppicker.html b/Blog/umbraco/Views/common/dialogs/membergrouppicker.html
new file mode 100644
index 0000000..40f7b97
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/membergrouppicker.html
@@ -0,0 +1,34 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/dialogs/property.html b/Blog/umbraco/Views/common/dialogs/property.html
new file mode 100644
index 0000000..89bb338
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/property.html
@@ -0,0 +1 @@
+{{propertyTypeToRender}}
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/dialogs/rteembed.html b/Blog/umbraco/Views/common/dialogs/rteembed.html
new file mode 100644
index 0000000..36127e4
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/rteembed.html
@@ -0,0 +1,36 @@
+
diff --git a/Blog/umbraco/Views/common/dialogs/template/querybuilder.html b/Blog/umbraco/Views/common/dialogs/template/querybuilder.html
new file mode 100644
index 0000000..1c0aaf7
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/template/querybuilder.html
@@ -0,0 +1,158 @@
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/dialogs/template/snippet.html b/Blog/umbraco/Views/common/dialogs/template/snippet.html
new file mode 100644
index 0000000..7b51873
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/template/snippet.html
@@ -0,0 +1,37 @@
+
diff --git a/Blog/umbraco/Views/common/dialogs/treepicker.html b/Blog/umbraco/Views/common/dialogs/treepicker.html
new file mode 100644
index 0000000..c3569c6
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/treepicker.html
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/common/dialogs/user.html b/Blog/umbraco/Views/common/dialogs/user.html
new file mode 100644
index 0000000..b9b2482
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/user.html
@@ -0,0 +1,103 @@
+
diff --git a/Blog/umbraco/Views/common/dialogs/ysod.html b/Blog/umbraco/Views/common/dialogs/ysod.html
new file mode 100644
index 0000000..1734867
--- /dev/null
+++ b/Blog/umbraco/Views/common/dialogs/ysod.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/legacy.html b/Blog/umbraco/Views/common/legacy.html
new file mode 100644
index 0000000..2fd41be
--- /dev/null
+++ b/Blog/umbraco/Views/common/legacy.html
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/login.html b/Blog/umbraco/Views/common/login.html
new file mode 100644
index 0000000..d490d39
--- /dev/null
+++ b/Blog/umbraco/Views/common/login.html
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/common/notifications/confirmroutechange.html b/Blog/umbraco/Views/common/notifications/confirmroutechange.html
new file mode 100644
index 0000000..97be02b
--- /dev/null
+++ b/Blog/umbraco/Views/common/notifications/confirmroutechange.html
@@ -0,0 +1,7 @@
+
+
You have unsaved changes
+
Are you sure you want to navigate away from this page? - you have unsaved changes
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/content/copy.html b/Blog/umbraco/Views/content/copy.html
new file mode 100644
index 0000000..0c7199e
--- /dev/null
+++ b/Blog/umbraco/Views/content/copy.html
@@ -0,0 +1,77 @@
+
+
+
+
+ Choose where to copy {{currentNode.name}} to in the tree structure below
+
+
+
+
+
+
+
+
{{error.errorMsg}}
+
{{error.data.Message}}
+
+
+
+
+ {{currentNode.name}} was copied to
+ {{target.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/content/create.html b/Blog/umbraco/Views/content/create.html
new file mode 100644
index 0000000..c88c5a7
--- /dev/null
+++ b/Blog/umbraco/Views/content/create.html
@@ -0,0 +1,45 @@
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/content/delete.html b/Blog/umbraco/Views/content/delete.html
new file mode 100644
index 0000000..abe655e
--- /dev/null
+++ b/Blog/umbraco/Views/content/delete.html
@@ -0,0 +1,12 @@
+
+
+
+
+ Are you sure you want to delete{{currentNode.name}} ?
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/content/edit.html b/Blog/umbraco/Views/content/edit.html
new file mode 100644
index 0000000..d6050db
--- /dev/null
+++ b/Blog/umbraco/Views/content/edit.html
@@ -0,0 +1,89 @@
+
diff --git a/Blog/umbraco/Views/content/emptyrecyclebin.html b/Blog/umbraco/Views/content/emptyrecyclebin.html
new file mode 100644
index 0000000..2e40482
--- /dev/null
+++ b/Blog/umbraco/Views/content/emptyrecyclebin.html
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/content/move.html b/Blog/umbraco/Views/content/move.html
new file mode 100644
index 0000000..c3d759b
--- /dev/null
+++ b/Blog/umbraco/Views/content/move.html
@@ -0,0 +1,67 @@
+
+
+
+
+
+ Choose where to move {{currentNode.name}} to in the tree structure below
+
+
+
+
+
+
+
+
{{error.errorMsg}}
+
{{error.data.Message}}
+
+
+
+
+ {{currentNode.name}} was moved underneath
+ {{target.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/content/recyclebin.html b/Blog/umbraco/Views/content/recyclebin.html
new file mode 100644
index 0000000..1ece443
--- /dev/null
+++ b/Blog/umbraco/Views/content/recyclebin.html
@@ -0,0 +1,14 @@
+
+
+
+ Restore {{currentNode.name}} to under {{target.name}}?
+
+
+
+
{{error.errorMsg}}
+
{{error.data.Message}}
+
+
+
+
{{currentNode.name}} was moved underneath {{target.name}}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/content/umbpreview.html b/Blog/umbraco/Views/content/umbpreview.html
new file mode 100644
index 0000000..3cdf145
--- /dev/null
+++ b/Blog/umbraco/Views/content/umbpreview.html
@@ -0,0 +1,9 @@
+
+
+
+ Loading
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/contenttype/edit.html b/Blog/umbraco/Views/contenttype/edit.html
new file mode 100644
index 0000000..82a4d70
--- /dev/null
+++ b/Blog/umbraco/Views/contenttype/edit.html
@@ -0,0 +1,74 @@
+
diff --git a/Blog/umbraco/Views/dashboard/ChangePassword.html b/Blog/umbraco/Views/dashboard/ChangePassword.html
new file mode 100644
index 0000000..7b1398b
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/ChangePassword.html
@@ -0,0 +1,18 @@
+
diff --git a/Blog/umbraco/Views/dashboard/default/StartupDashboardIntro.html b/Blog/umbraco/Views/dashboard/default/StartupDashboardIntro.html
new file mode 100644
index 0000000..e0c476a
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/default/StartupDashboardIntro.html
@@ -0,0 +1,49 @@
+
+
+
Welcome to The Friendly CMS
+
Thank you for choosing Umbraco - we think this could be the beginning of something beautiful. While it may feel overwhelming at first, we've done a lot to make the learning curve as smooth and fast as possible:
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/default/StartupDashboardKits.html b/Blog/umbraco/Views/dashboard/default/StartupDashboardKits.html
new file mode 100644
index 0000000..726dd8d
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/default/StartupDashboardKits.html
@@ -0,0 +1,15 @@
+
Install a Starter Site and Skin
+
If you haven't already installed one of our Starter Kits, we think you should do that now. This is one of the best ways to start working with Umbraco. After you install a Starter Kit, you can select a skin to make it look great and customize the kit to your liking.
+
Starter Kits:
+
+
+
+
+
Simple Starter Kit a bare-bones website that introduces you to a set of well-defined conventions for building an Umbraco website
+
Blog Starter Kit a powerful blog kit with all the bells and whistles
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/default/StartupDashboardLastEdits.html b/Blog/umbraco/Views/dashboard/default/StartupDashboardLastEdits.html
new file mode 100644
index 0000000..e69de29
diff --git a/Blog/umbraco/Views/dashboard/default/StartupDashboardVideos.html b/Blog/umbraco/Views/dashboard/default/StartupDashboardVideos.html
new file mode 100644
index 0000000..2135c37
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/default/StartupDashboardVideos.html
@@ -0,0 +1,18 @@
+
Hours of Umbraco training videos are only a click away
+
Want to master Umbraco? Spend a couple of minutes learning some best practices by watching one of these videos about using Umbraco. And visit umbraco.tv for even more Umbraco videos
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/default/ourumbraco.png b/Blog/umbraco/Views/dashboard/default/ourumbraco.png
new file mode 100644
index 0000000..68f0cff
Binary files /dev/null and b/Blog/umbraco/Views/dashboard/default/ourumbraco.png differ
diff --git a/Blog/umbraco/Views/dashboard/default/umbracotv.png b/Blog/umbraco/Views/dashboard/default/umbracotv.png
new file mode 100644
index 0000000..a425cfa
Binary files /dev/null and b/Blog/umbraco/Views/dashboard/default/umbracotv.png differ
diff --git a/Blog/umbraco/Views/dashboard/developer/developerdashboardintro.html b/Blog/umbraco/Views/dashboard/developer/developerdashboardintro.html
new file mode 100644
index 0000000..5ea8a14
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/developer/developerdashboardintro.html
@@ -0,0 +1,14 @@
+
Start here
+
This section contains the tools to add advanced features to your Umbraco site
+
From here you can explore and install packages, create macros, add data types, and much more. Start by exploring the below links or videos.
+
+
Find out more:
+
+
+
Find the answers to your Umbraco questions on our Community Wiki
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/developer/developerdashboardvideos.html b/Blog/umbraco/Views/dashboard/developer/developerdashboardvideos.html
new file mode 100644
index 0000000..54caecc
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/developer/developerdashboardvideos.html
@@ -0,0 +1,21 @@
+
Hours of Umbraco training videos are only a click away
+
Want to master Umbraco? Spend a couple of minutes learning some best practices by watching one of these videos about using Umbraco. And visit umbraco.tv for even more Umbraco videos
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/developer/examinemanagement.html b/Blog/umbraco/Views/dashboard/developer/examinemanagement.html
new file mode 100644
index 0000000..5dafd5f
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/developer/examinemanagement.html
@@ -0,0 +1,234 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/developer/xmldataintegrityreport.html b/Blog/umbraco/Views/dashboard/developer/xmldataintegrityreport.html
new file mode 100644
index 0000000..d2851a2
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/developer/xmldataintegrityreport.html
@@ -0,0 +1,31 @@
+
+
+
Xml Cache Data integrity
+
+
+ Loading...
+
+
+
+ This checks the data integrity for the xml structures for content, media and members that are stored in the cmsContentXml table.
+ This does not check the data integrity of the xml cache file, only the xml structures stored in the database used to create the xml cache file.
+
+
+ {{value.label}} ...
+ Checking...
+ Ok
+ Error
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/forms/formsdashboardintro.html b/Blog/umbraco/Views/dashboard/forms/formsdashboardintro.html
new file mode 100644
index 0000000..018c520
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/forms/formsdashboardintro.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+
Umbraco Forms
+
+
+
+
+
+
+
+
+
Create forms using an intuitive drag and drop interface. From simple contact forms that sends e-mails to advanced questionaires that integrate with CRM systems. Your clients will love it!
+
+
+
+
+
+
Installing...
+
+
+
+
+ {{state}}
+
+
+
+
+
diff --git a/Blog/umbraco/Views/dashboard/media/desktopmediauploader.html b/Blog/umbraco/Views/dashboard/media/desktopmediauploader.html
new file mode 100644
index 0000000..00ff5db
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/media/desktopmediauploader.html
@@ -0,0 +1,38 @@
+
Desktop Media Uploader
+
+
Desktop Media Uploader is a small desktop application that you can install on your computer which allows you to easily upload media items directly to the media section.
+
The badge below will auto configure itself based upon whether you already have Desktop Media Uploader installed or not.
+
Just click the Install Now / Upgrade Now / Launch Now link to perform that action.
+
+ This application requires Adobe® AIR™ to be installed for Mac OS or Windows.
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/media/mediadashboardintro.html b/Blog/umbraco/Views/dashboard/media/mediadashboardintro.html
new file mode 100644
index 0000000..d97b77c
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/media/mediadashboardintro.html
@@ -0,0 +1,14 @@
+
Start here
+
Get started with Media right now
+
Use the tool below to upload your images or documents to a media folder.
+
+
Follow these steps:
+
+
Click Install and follow the on screen instructions to install the Desktop Media Uploader
+
Enter your login details for the site and click Sign In
+
Choose a media folder to upload files to from the Upload files to... dropdown list
+
Drag the files and folders you wish to upload directly into the Desktop Media Uploader application
+
Click Upload to start uploading
+
+
For a more thorough guide on how to use the Desktop Media Uploader, checkout this video.
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/media/mediadashboardvideos.html b/Blog/umbraco/Views/dashboard/media/mediadashboardvideos.html
new file mode 100644
index 0000000..2135c37
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/media/mediadashboardvideos.html
@@ -0,0 +1,18 @@
+
Hours of Umbraco training videos are only a click away
+
Want to master Umbraco? Spend a couple of minutes learning some best practices by watching one of these videos about using Umbraco. And visit umbraco.tv for even more Umbraco videos
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/media/mediafolderbrowser.html b/Blog/umbraco/Views/dashboard/media/mediafolderbrowser.html
new file mode 100644
index 0000000..2d14476
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/media/mediafolderbrowser.html
@@ -0,0 +1,5 @@
+
+
+
+
diff --git a/Blog/umbraco/Views/dashboard/members/membersdashboardintro.html b/Blog/umbraco/Views/dashboard/members/membersdashboardintro.html
new file mode 100644
index 0000000..98d15dd
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/members/membersdashboardintro.html
@@ -0,0 +1,10 @@
+
Start here
+
+
Get started with Members right now
+
Use the tool below to search for an existing member.
+
+
More about members
+
+
+
Learn about how to protect pages of your site from this Wiki entry
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/members/membersdashboardvideos.html b/Blog/umbraco/Views/dashboard/members/membersdashboardvideos.html
new file mode 100644
index 0000000..08e7fb3
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/members/membersdashboardvideos.html
@@ -0,0 +1,18 @@
+
Hours of Umbraco training videos are only a click away
+
Want to master Umbraco? Spend a couple of minutes learning some best practices by watching one of these videos about using Umbraco. And visit umbraco.tv for even more Umbraco videos
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/settings/settingsdashboardintro.html b/Blog/umbraco/Views/dashboard/settings/settingsdashboardintro.html
new file mode 100644
index 0000000..afda190
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/settings/settingsdashboardintro.html
@@ -0,0 +1,14 @@
+
Start here
+
This section contains the building blocks for your Umbraco site
+
Follow the below links to find out more about working with the items in the Setings section:
\ No newline at end of file
diff --git a/Blog/umbraco/Views/dashboard/settings/settingsdashboardvideos.html b/Blog/umbraco/Views/dashboard/settings/settingsdashboardvideos.html
new file mode 100644
index 0000000..2135c37
--- /dev/null
+++ b/Blog/umbraco/Views/dashboard/settings/settingsdashboardvideos.html
@@ -0,0 +1,18 @@
+
Hours of Umbraco training videos are only a click away
+
Want to master Umbraco? Spend a couple of minutes learning some best practices by watching one of these videos about using Umbraco. And visit umbraco.tv for even more Umbraco videos
\ No newline at end of file
diff --git a/Blog/umbraco/Views/datatype/delete.html b/Blog/umbraco/Views/datatype/delete.html
new file mode 100644
index 0000000..b7bcae8
--- /dev/null
+++ b/Blog/umbraco/Views/datatype/delete.html
@@ -0,0 +1,12 @@
+
+
+
+
+ Are you sure you want to delete{{currentNode.name}} ?
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/datatype/edit.html b/Blog/umbraco/Views/datatype/edit.html
new file mode 100644
index 0000000..ee48f50
--- /dev/null
+++ b/Blog/umbraco/Views/datatype/edit.html
@@ -0,0 +1,68 @@
+
diff --git a/Blog/umbraco/Views/directives/button-group.html b/Blog/umbraco/Views/directives/button-group.html
new file mode 100644
index 0000000..83ee647
--- /dev/null
+++ b/Blog/umbraco/Views/directives/button-group.html
@@ -0,0 +1,21 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/html/umb-control-group.html b/Blog/umbraco/Views/directives/html/umb-control-group.html
new file mode 100644
index 0000000..342c96e
--- /dev/null
+++ b/Blog/umbraco/Views/directives/html/umb-control-group.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/html/umb-pane.html b/Blog/umbraco/Views/directives/html/umb-pane.html
new file mode 100644
index 0000000..7c94769
--- /dev/null
+++ b/Blog/umbraco/Views/directives/html/umb-pane.html
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/html/umb-panel.html b/Blog/umbraco/Views/directives/html/umb-panel.html
new file mode 100644
index 0000000..a963eff
--- /dev/null
+++ b/Blog/umbraco/Views/directives/html/umb-panel.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Blog/umbraco/Views/directives/html/umb-photo-folder.html b/Blog/umbraco/Views/directives/html/umb-photo-folder.html
new file mode 100644
index 0000000..67e0ecb
--- /dev/null
+++ b/Blog/umbraco/Views/directives/html/umb-photo-folder.html
@@ -0,0 +1,28 @@
+
diff --git a/Blog/umbraco/Views/directives/html/umb-upload-dropzone.html b/Blog/umbraco/Views/directives/html/umb-upload-dropzone.html
new file mode 100644
index 0000000..20a8f9d
--- /dev/null
+++ b/Blog/umbraco/Views/directives/html/umb-upload-dropzone.html
@@ -0,0 +1,8 @@
+
+
+
+
+ Drop your files here...
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/imaging/umb-image-crop.html b/Blog/umbraco/Views/directives/imaging/umb-image-crop.html
new file mode 100644
index 0000000..4f431de
--- /dev/null
+++ b/Blog/umbraco/Views/directives/imaging/umb-image-crop.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/imaging/umb-image-folder.html b/Blog/umbraco/Views/directives/imaging/umb-image-folder.html
new file mode 100644
index 0000000..e580b4c
--- /dev/null
+++ b/Blog/umbraco/Views/directives/imaging/umb-image-folder.html
@@ -0,0 +1,34 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/imaging/umb-image-gravity.html b/Blog/umbraco/Views/directives/imaging/umb-image-gravity.html
new file mode 100644
index 0000000..c878bf8
--- /dev/null
+++ b/Blog/umbraco/Views/directives/imaging/umb-image-gravity.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/imaging/umb-image-thumbnail.html b/Blog/umbraco/Views/directives/imaging/umb-image-thumbnail.html
new file mode 100644
index 0000000..424f00c
--- /dev/null
+++ b/Blog/umbraco/Views/directives/imaging/umb-image-thumbnail.html
@@ -0,0 +1,4 @@
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/umb-confirm.html b/Blog/umbraco/Views/directives/umb-confirm.html
new file mode 100644
index 0000000..1460e38
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-confirm.html
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/umb-content-name.html b/Blog/umbraco/Views/directives/umb-content-name.html
new file mode 100644
index 0000000..46ad6e5
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-content-name.html
@@ -0,0 +1,19 @@
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/umb-contextmenu.html b/Blog/umbraco/Views/directives/umb-contextmenu.html
new file mode 100644
index 0000000..de7e30a
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-contextmenu.html
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/umb-editor.html b/Blog/umbraco/Views/directives/umb-editor.html
new file mode 100644
index 0000000..ca0baa1
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-editor.html
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/umb-header.html b/Blog/umbraco/Views/directives/umb-header.html
new file mode 100644
index 0000000..aae97bf
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-header.html
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/umb-item-sorter.html b/Blog/umbraco/Views/directives/umb-item-sorter.html
new file mode 100644
index 0000000..569a678
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-item-sorter.html
@@ -0,0 +1,38 @@
+
+
+
+
+
+ {{model.successMsg}}
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/directives/umb-login.html b/Blog/umbraco/Views/directives/umb-login.html
new file mode 100644
index 0000000..3bf8332
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-login.html
@@ -0,0 +1,12 @@
+
+
+
Happy {{today}}!, log in below
+
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/directives/umb-navigation.html b/Blog/umbraco/Views/directives/umb-navigation.html
new file mode 100644
index 0000000..ab658e3
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-navigation.html
@@ -0,0 +1,101 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/umb-notifications.html b/Blog/umbraco/Views/directives/umb-notifications.html
new file mode 100644
index 0000000..67c71de
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-notifications.html
@@ -0,0 +1,18 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/umb-tab-view.html b/Blog/umbraco/Views/directives/umb-tab-view.html
new file mode 100644
index 0000000..93b520c
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-tab-view.html
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/Blog/umbraco/Views/directives/umb-tab.html b/Blog/umbraco/Views/directives/umb-tab.html
new file mode 100644
index 0000000..8ee6fb4
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-tab.html
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/Blog/umbraco/Views/directives/umb-tree-search-box.html b/Blog/umbraco/Views/directives/umb-tree-search-box.html
new file mode 100644
index 0000000..fde38dc
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-tree-search-box.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+ Search:
+ {{searchFromName}}
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/directives/umb-tree-search-results.html b/Blog/umbraco/Views/directives/umb-tree-search-results.html
new file mode 100644
index 0000000..2dc864f
--- /dev/null
+++ b/Blog/umbraco/Views/directives/umb-tree-search-results.html
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/install/continueinstall.html b/Blog/umbraco/Views/install/continueinstall.html
new file mode 100644
index 0000000..28fa1d3
--- /dev/null
+++ b/Blog/umbraco/Views/install/continueinstall.html
@@ -0,0 +1,13 @@
+
+
Continue Umbraco Installation
+
+ You see this screen because your Umbraco installation did not complete correctly.
+
+
+ Simply click continue below to be guided through the rest of the installation process.
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/install/database.html b/Blog/umbraco/Views/install/database.html
new file mode 100644
index 0000000..0cc7511
--- /dev/null
+++ b/Blog/umbraco/Views/install/database.html
@@ -0,0 +1,123 @@
+
+
+
Configure your database
+
+ Enter connection and authentication details for the database you want to install Umbraco on
+
+
+
+
diff --git a/Blog/umbraco/Views/install/error.html b/Blog/umbraco/Views/install/error.html
new file mode 100644
index 0000000..4fb5823
--- /dev/null
+++ b/Blog/umbraco/Views/install/error.html
@@ -0,0 +1,9 @@
+
+
Error during installation
+
+
{{installer.current.model.message}}
+
+
See the log for full details (logs can typically be found in the App_Data\Logs folder).
+
+
+
diff --git a/Blog/umbraco/Views/install/permissionsreport.html b/Blog/umbraco/Views/install/permissionsreport.html
new file mode 100644
index 0000000..3ced6ed
--- /dev/null
+++ b/Blog/umbraco/Views/install/permissionsreport.html
@@ -0,0 +1,26 @@
+
+
Your permission settings are not ready for umbraco
+
+ In order to run umbraco, you'll need to update your permission settings.
+ Detailed information about the correct file & folder permissions for Umbraco can be found
+ here.
+
+
+ The following report list the permissions that are currently failing. Once the permissions are fixed press the 'Go back' button to restart the installation.
+
+
+
+
+
{{category}}
+
+
+ {{item}}
+
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/install/starterkit.html b/Blog/umbraco/Views/install/starterkit.html
new file mode 100644
index 0000000..78e9044
--- /dev/null
+++ b/Blog/umbraco/Views/install/starterkit.html
@@ -0,0 +1,23 @@
+
+
Install a starter website
+
+
+ Installing a starter website helps you learn how Umbraco works, and gives you a solid
+ and simple foundation to build on top of.
+
diff --git a/Blog/umbraco/Views/install/upgrade.html b/Blog/umbraco/Views/install/upgrade.html
new file mode 100644
index 0000000..3747724
--- /dev/null
+++ b/Blog/umbraco/Views/install/upgrade.html
@@ -0,0 +1,13 @@
+
+
Upgrading Umbraco
+
+ Welcome to the Umbraco installer. You see this screen because your Umbraco installation needs a quick upgrade of its database and files, which will ensure your website is kept as fast, secure and up to date as possible.
+
+
+ Simply click continue below to be guided through the rest of the upgrade
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/install/user.html b/Blog/umbraco/Views/install/user.html
new file mode 100644
index 0000000..2cd50fe
--- /dev/null
+++ b/Blog/umbraco/Views/install/user.html
@@ -0,0 +1,69 @@
+
+
Install Umbraco 7
+
+
Enter your name, email and password to install Umbraco 7 with its default settings, alternatively you can customize your installation
+
+
+
+
diff --git a/Blog/umbraco/Views/install/version7upgradereport.html b/Blog/umbraco/Views/install/version7upgradereport.html
new file mode 100644
index 0000000..df1e58d
--- /dev/null
+++ b/Blog/umbraco/Views/install/version7upgradereport.html
@@ -0,0 +1,22 @@
+
+
Major version upgrade from {{installer.current.model.currentVersion}} to {{installer.current.model.newVersion}}
+
There were {{installer.current.model.errors.length}} issues detected
+
+ The following compatibility issues were found. If you continue all non-compatible property editors will be converted to a Readonly/Label.
+ You will be able to change the property editor to a compatible type manually by editing the data type after installation.
+
+
+ Otherwise if you choose not to proceed you will need to fix the errors listed below.
+ Refer to v{{installer.current.model.newVersion}} upgrade instructions for full details.
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/media/create.html b/Blog/umbraco/Views/media/create.html
new file mode 100644
index 0000000..db1810f
--- /dev/null
+++ b/Blog/umbraco/Views/media/create.html
@@ -0,0 +1,50 @@
+
+
+
+
diff --git a/Blog/umbraco/Views/media/delete.html b/Blog/umbraco/Views/media/delete.html
new file mode 100644
index 0000000..3c9716e
--- /dev/null
+++ b/Blog/umbraco/Views/media/delete.html
@@ -0,0 +1,10 @@
+
+
+
+
+ Are you sure you want to delete{{currentNode.name}} ?
+
+
+
+
+
diff --git a/Blog/umbraco/Views/media/edit.html b/Blog/umbraco/Views/media/edit.html
new file mode 100644
index 0000000..67eccf0
--- /dev/null
+++ b/Blog/umbraco/Views/media/edit.html
@@ -0,0 +1,64 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/media/emptyrecyclebin.html b/Blog/umbraco/Views/media/emptyrecyclebin.html
new file mode 100644
index 0000000..5a05e9c
--- /dev/null
+++ b/Blog/umbraco/Views/media/emptyrecyclebin.html
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/media/move.html b/Blog/umbraco/Views/media/move.html
new file mode 100644
index 0000000..9282b74
--- /dev/null
+++ b/Blog/umbraco/Views/media/move.html
@@ -0,0 +1,38 @@
+
+
+
+
+
+ Choose where to move {{currentNode.name}} to in the tree structure below
+
+
+
+
{{error.errorMsg}}
+
{{error.data.Message}}
+
+
+
+
{{currentNode.name}} was moved underneath
+ {{target.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/media/recyclebin.html b/Blog/umbraco/Views/media/recyclebin.html
new file mode 100644
index 0000000..0af3a02
--- /dev/null
+++ b/Blog/umbraco/Views/media/recyclebin.html
@@ -0,0 +1,14 @@
+
+
+
+ Are you sure you want to delete{{currentNode.name}} ?
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/member/edit.html b/Blog/umbraco/Views/member/edit.html
new file mode 100644
index 0000000..1f14dc4
--- /dev/null
+++ b/Blog/umbraco/Views/member/edit.html
@@ -0,0 +1,62 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/member/list.html b/Blog/umbraco/Views/member/list.html
new file mode 100644
index 0000000..7f1a1e6
--- /dev/null
+++ b/Blog/umbraco/Views/member/list.html
@@ -0,0 +1,27 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/prevalueeditors/boolean.html b/Blog/umbraco/Views/prevalueeditors/boolean.html
new file mode 100644
index 0000000..8af17a1
--- /dev/null
+++ b/Blog/umbraco/Views/prevalueeditors/boolean.html
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/prevalueeditors/hidden.html b/Blog/umbraco/Views/prevalueeditors/hidden.html
new file mode 100644
index 0000000..d0ebd99
--- /dev/null
+++ b/Blog/umbraco/Views/prevalueeditors/hidden.html
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/prevalueeditors/imagepicker.html b/Blog/umbraco/Views/prevalueeditors/imagepicker.html
new file mode 100644
index 0000000..f9a9aa7
--- /dev/null
+++ b/Blog/umbraco/Views/prevalueeditors/imagepicker.html
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/prevalueeditors/multivalues.html b/Blog/umbraco/Views/prevalueeditors/multivalues.html
new file mode 100644
index 0000000..cc7e9d0
--- /dev/null
+++ b/Blog/umbraco/Views/prevalueeditors/multivalues.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/prevalueeditors/nodetype.html b/Blog/umbraco/Views/prevalueeditors/nodetype.html
new file mode 100644
index 0000000..d5dcbf9
--- /dev/null
+++ b/Blog/umbraco/Views/prevalueeditors/nodetype.html
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/prevalueeditors/number.html b/Blog/umbraco/Views/prevalueeditors/number.html
new file mode 100644
index 0000000..2d3a25e
--- /dev/null
+++ b/Blog/umbraco/Views/prevalueeditors/number.html
@@ -0,0 +1,11 @@
+
+
+
+ Not a number
+ {{propertyForm.requiredField.errorMsg}}
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/prevalueeditors/radiobuttonlist.html b/Blog/umbraco/Views/prevalueeditors/radiobuttonlist.html
new file mode 100644
index 0000000..a9e0720
--- /dev/null
+++ b/Blog/umbraco/Views/prevalueeditors/radiobuttonlist.html
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/prevalueeditors/readonlykeyvalues.html b/Blog/umbraco/Views/prevalueeditors/readonlykeyvalues.html
new file mode 100644
index 0000000..a9a5558
--- /dev/null
+++ b/Blog/umbraco/Views/prevalueeditors/readonlykeyvalues.html
@@ -0,0 +1,7 @@
+
+
+
+ {{preVal.Key}} : {{preVal.Value}}
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/prevalueeditors/requiredfield.html b/Blog/umbraco/Views/prevalueeditors/requiredfield.html
new file mode 100644
index 0000000..2d24c35
--- /dev/null
+++ b/Blog/umbraco/Views/prevalueeditors/requiredfield.html
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/prevalueeditors/treesource.html b/Blog/umbraco/Views/prevalueeditors/treesource.html
new file mode 100644
index 0000000..8811b54
--- /dev/null
+++ b/Blog/umbraco/Views/prevalueeditors/treesource.html
@@ -0,0 +1,77 @@
+
+ Use Xpath query to set a root node on the tree, either based on a search from the root of the content tree, or by using a context-aware placeholder.
+
+
+
+ Placeholders finds the nearest published ID and runs its query from there. so for instance:
+
+
$parent/newsArticle
+
+ Will try to get the parent if available, but will then fall back to the nearest ancestor and query for all news articles there.
+
+
+
+ Available placeholders:
+ $current: current page or closest found ancestor
+ $parent: parent page or closest found ancestor
+ $root: root of the content tree
+ $site: Ancestor node at level 1
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/boolean/boolean.html b/Blog/umbraco/Views/propertyeditors/boolean/boolean.html
new file mode 100644
index 0000000..fd7d04f
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/boolean/boolean.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/changepassword/changepassword.html b/Blog/umbraco/Views/propertyeditors/changepassword/changepassword.html
new file mode 100644
index 0000000..7641b6e
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/changepassword/changepassword.html
@@ -0,0 +1,56 @@
+
+
+ Password has been reset to:
+
+ {{model.value.generatedPassword}}
+
diff --git a/Blog/umbraco/Views/propertyeditors/colorpicker/colorpicker.prevalues.html b/Blog/umbraco/Views/propertyeditors/colorpicker/colorpicker.prevalues.html
new file mode 100644
index 0000000..82236c9
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/colorpicker/colorpicker.prevalues.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
{{item.value}}
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/contentpicker/contentpicker.html b/Blog/umbraco/Views/propertyeditors/contentpicker/contentpicker.html
new file mode 100644
index 0000000..686efe1
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/contentpicker/contentpicker.html
@@ -0,0 +1,45 @@
+
+ You need to add at least {{model.config.minNumber}} items
+
+
+
+ You can only have {{model.config.maxNumber}} items selected
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/datepicker/datepicker.html b/Blog/umbraco/Views/propertyeditors/datepicker/datepicker.html
new file mode 100644
index 0000000..a4f334b
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/datepicker/datepicker.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Required
+ {{datePickerForm.datepicker.errorMsg}}
+ Invalid date
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/dropdown/dropdown.html b/Blog/umbraco/Views/propertyeditors/dropdown/dropdown.html
new file mode 100644
index 0000000..e728b3d
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/dropdown/dropdown.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/email/email.html b/Blog/umbraco/Views/propertyeditors/email/email.html
new file mode 100644
index 0000000..5c14242
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/email/email.html
@@ -0,0 +1,14 @@
+
+
+
+
+ Required
+ Invalid email
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/entitypicker/entitypicker.html b/Blog/umbraco/Views/propertyeditors/entitypicker/entitypicker.html
new file mode 100644
index 0000000..274710b
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/entitypicker/entitypicker.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/fileupload/fileupload.html b/Blog/umbraco/Views/propertyeditors/fileupload/fileupload.html
new file mode 100644
index 0000000..ba5e814
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/fileupload/fileupload.html
@@ -0,0 +1,31 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/folderbrowser/folderbrowser.html b/Blog/umbraco/Views/propertyeditors/folderbrowser/folderbrowser.html
new file mode 100644
index 0000000..e18dc76
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/folderbrowser/folderbrowser.html
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/googlemaps/googlemaps.html b/Blog/umbraco/Views/propertyeditors/googlemaps/googlemaps.html
new file mode 100644
index 0000000..7fa8ef8
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/googlemaps/googlemaps.html
@@ -0,0 +1,3 @@
+
diff --git a/Blog/umbraco/Views/propertyeditors/grid/dialogs/config.html b/Blog/umbraco/Views/propertyeditors/grid/dialogs/config.html
new file mode 100644
index 0000000..429bd68
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/dialogs/config.html
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/grid/dialogs/editconfig.html b/Blog/umbraco/Views/propertyeditors/grid/dialogs/editconfig.html
new file mode 100644
index 0000000..61465f9
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/dialogs/editconfig.html
@@ -0,0 +1,35 @@
+
diff --git a/Blog/umbraco/Views/propertyeditors/grid/dialogs/layoutconfig.html b/Blog/umbraco/Views/propertyeditors/grid/dialogs/layoutconfig.html
new file mode 100644
index 0000000..de17dcf
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/dialogs/layoutconfig.html
@@ -0,0 +1,116 @@
+
+
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/grid/dialogs/rowconfig.html b/Blog/umbraco/Views/propertyeditors/grid/dialogs/rowconfig.html
new file mode 100644
index 0000000..63e2506
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/dialogs/rowconfig.html
@@ -0,0 +1,102 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/grid/dialogs/rowdeleteconfirm.html b/Blog/umbraco/Views/propertyeditors/grid/dialogs/rowdeleteconfirm.html
new file mode 100644
index 0000000..db41639
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/dialogs/rowdeleteconfirm.html
@@ -0,0 +1,26 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/grid/editors/embed.html b/Blog/umbraco/Views/propertyeditors/grid/editors/embed.html
new file mode 100644
index 0000000..f2c49e8
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/editors/embed.html
@@ -0,0 +1,10 @@
+
+
+
+
+
Click to embed
+
+
+
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/grid/editors/error.html b/Blog/umbraco/Views/propertyeditors/grid/editors/error.html
new file mode 100644
index 0000000..67ef4ea
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/editors/error.html
@@ -0,0 +1,2 @@
+
Something went wrong with this editor, below is the data stored:
+
{{control | json}}
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/grid/editors/macro.html b/Blog/umbraco/Views/propertyeditors/grid/editors/macro.html
new file mode 100644
index 0000000..ad646b3
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/editors/macro.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
{{title}}
+
+
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/grid/editors/media.html b/Blog/umbraco/Views/propertyeditors/grid/editors/media.html
new file mode 100644
index 0000000..efb6c3e
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/editors/media.html
@@ -0,0 +1,16 @@
+
+
+
+
+
Click to insert image
+
+
+
+
+
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/grid/editors/rte.html b/Blog/umbraco/Views/propertyeditors/grid/editors/rte.html
new file mode 100644
index 0000000..93229ec
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/editors/rte.html
@@ -0,0 +1,5 @@
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/grid/editors/textstring.html b/Blog/umbraco/Views/propertyeditors/grid/editors/textstring.html
new file mode 100644
index 0000000..18526b0
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/editors/textstring.html
@@ -0,0 +1,9 @@
+
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/grid/grid.html b/Blog/umbraco/Views/propertyeditors/grid/grid.html
new file mode 100644
index 0000000..05809ca
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/grid.html
@@ -0,0 +1,264 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/grid/grid.prevalues.html b/Blog/umbraco/Views/propertyeditors/grid/grid.prevalues.html
new file mode 100644
index 0000000..b7f46f0
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/grid/grid.prevalues.html
@@ -0,0 +1,163 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/imagecropper/imagecropper.prevalues.html b/Blog/umbraco/Views/propertyeditors/imagecropper/imagecropper.prevalues.html
new file mode 100644
index 0000000..69d5424
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/imagecropper/imagecropper.prevalues.html
@@ -0,0 +1,49 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/integer/integer.html b/Blog/umbraco/Views/propertyeditors/integer/integer.html
new file mode 100644
index 0000000..2be2997
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/integer/integer.html
@@ -0,0 +1,10 @@
+
+
+
+ Not a number
+ {{propertyForm.requiredField.errorMsg}}
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/listview/includeproperties.prevalues.html b/Blog/umbraco/Views/propertyeditors/listview/includeproperties.prevalues.html
new file mode 100644
index 0000000..5cf7de7
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/listview/includeproperties.prevalues.html
@@ -0,0 +1,55 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/listview/listview.html b/Blog/umbraco/Views/propertyeditors/listview/listview.html
new file mode 100644
index 0000000..2bc2cf8
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/listview/listview.html
@@ -0,0 +1,139 @@
+
diff --git a/Blog/umbraco/Views/propertyeditors/listview/orderDirection.prevalues.html b/Blog/umbraco/Views/propertyeditors/listview/orderDirection.prevalues.html
new file mode 100644
index 0000000..6e8ecd4
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/listview/orderDirection.prevalues.html
@@ -0,0 +1,12 @@
+
+
+
+
+ Required
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/listview/sortby.prevalues.html b/Blog/umbraco/Views/propertyeditors/listview/sortby.prevalues.html
new file mode 100644
index 0000000..2b35aa2
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/listview/sortby.prevalues.html
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/macrocontainer/macrocontainer.html b/Blog/umbraco/Views/propertyeditors/macrocontainer/macrocontainer.html
new file mode 100644
index 0000000..af3b82a
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/macrocontainer/macrocontainer.html
@@ -0,0 +1,28 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/macrocontainer/macrolist.prevalues.html b/Blog/umbraco/Views/propertyeditors/macrocontainer/macrolist.prevalues.html
new file mode 100644
index 0000000..d0081e7
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/macrocontainer/macrolist.prevalues.html
@@ -0,0 +1,7 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/markdowneditor/markdowneditor.html b/Blog/umbraco/Views/propertyeditors/markdowneditor/markdowneditor.html
new file mode 100644
index 0000000..eb5ce49
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/markdowneditor/markdowneditor.html
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/mediapicker/mediapicker.html b/Blog/umbraco/Views/propertyeditors/mediapicker/mediapicker.html
new file mode 100644
index 0000000..1fb4b7f
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/mediapicker/mediapicker.html
@@ -0,0 +1,24 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/membergrouppicker/membergrouppicker.html b/Blog/umbraco/Views/propertyeditors/membergrouppicker/membergrouppicker.html
new file mode 100644
index 0000000..ecb514c
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/membergrouppicker/membergrouppicker.html
@@ -0,0 +1,25 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/membergroups/membergroups.html b/Blog/umbraco/Views/propertyeditors/membergroups/membergroups.html
new file mode 100644
index 0000000..3448f1b
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/membergroups/membergroups.html
@@ -0,0 +1,18 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/memberpicker/memberpicker.html b/Blog/umbraco/Views/propertyeditors/memberpicker/memberpicker.html
new file mode 100644
index 0000000..9026863
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/memberpicker/memberpicker.html
@@ -0,0 +1,25 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/multipletextbox/multipletextbox.html b/Blog/umbraco/Views/propertyeditors/multipletextbox/multipletextbox.html
new file mode 100644
index 0000000..2773115
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/multipletextbox/multipletextbox.html
@@ -0,0 +1,20 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/radiobuttons/radiobuttons.html b/Blog/umbraco/Views/propertyeditors/radiobuttons/radiobuttons.html
new file mode 100644
index 0000000..2e5ce96
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/radiobuttons/radiobuttons.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/readonlyvalue/readonlyvalue.html b/Blog/umbraco/Views/propertyeditors/readonlyvalue/readonlyvalue.html
new file mode 100644
index 0000000..449fa53
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/readonlyvalue/readonlyvalue.html
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/relatedlinks/relatedlinks.html b/Blog/umbraco/Views/propertyeditors/relatedlinks/relatedlinks.html
new file mode 100644
index 0000000..9b2df1e
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/relatedlinks/relatedlinks.html
@@ -0,0 +1,81 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/rte/rte.html b/Blog/umbraco/Views/propertyeditors/rte/rte.html
new file mode 100644
index 0000000..5990b5e
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/rte/rte.html
@@ -0,0 +1,6 @@
+
+
Loading...
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/rte/rte.prevalues.html b/Blog/umbraco/Views/propertyeditors/rte/rte.prevalues.html
new file mode 100644
index 0000000..f00dfa0
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/rte/rte.prevalues.html
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+ {{cmd.frontEndCommand}}
+
+
+
+
+
+
+ {{css.name}}
+
+
+
+
+ ×
+ Pixels
+
+
+
+ Pixels
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/slider/orientation.prevalues.html b/Blog/umbraco/Views/propertyeditors/slider/orientation.prevalues.html
new file mode 100644
index 0000000..67bcdbc
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/slider/orientation.prevalues.html
@@ -0,0 +1,8 @@
+
+
+
+ Required
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/slider/slider.html b/Blog/umbraco/Views/propertyeditors/slider/slider.html
new file mode 100644
index 0000000..e7d9a06
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/slider/slider.html
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/tags/tags.html b/Blog/umbraco/Views/propertyeditors/tags/tags.html
new file mode 100644
index 0000000..5d00851
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/tags/tags.html
@@ -0,0 +1,26 @@
+
+
+
+ Loading...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/tags/tags.prevalues.html b/Blog/umbraco/Views/propertyeditors/tags/tags.prevalues.html
new file mode 100644
index 0000000..2eb9aec
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/tags/tags.prevalues.html
@@ -0,0 +1,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/templatepicker/templatepicker.html b/Blog/umbraco/Views/propertyeditors/templatepicker/templatepicker.html
new file mode 100644
index 0000000..6dad637
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/templatepicker/templatepicker.html
@@ -0,0 +1,3 @@
+
+
{{model.value | json}}
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/test/test.html b/Blog/umbraco/Views/propertyeditors/test/test.html
new file mode 100644
index 0000000..19b0972
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/test/test.html
@@ -0,0 +1,18 @@
+
+
+
+ {{item[0].value}}...
+
+
+
+
+
+
+
+
+
+
+
+ json: {{model.value|json}}
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/textarea/textarea.html b/Blog/umbraco/Views/propertyeditors/textarea/textarea.html
new file mode 100644
index 0000000..7d110df
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/textarea/textarea.html
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/textbox/textbox.html b/Blog/umbraco/Views/propertyeditors/textbox/textbox.html
new file mode 100644
index 0000000..f4ca309
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/textbox/textbox.html
@@ -0,0 +1,10 @@
+
+
+
+ Required
+
+
diff --git a/Blog/umbraco/Views/propertyeditors/ultrasimple/ultrasimple.html b/Blog/umbraco/Views/propertyeditors/ultrasimple/ultrasimple.html
new file mode 100644
index 0000000..76e31ec
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/ultrasimple/ultrasimple.html
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/urllist/urllist.html b/Blog/umbraco/Views/propertyeditors/urllist/urllist.html
new file mode 100644
index 0000000..864ad21
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/urllist/urllist.html
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/Blog/umbraco/Views/propertyeditors/validationtest/validationtest.html b/Blog/umbraco/Views/propertyeditors/validationtest/validationtest.html
new file mode 100644
index 0000000..4716a63
--- /dev/null
+++ b/Blog/umbraco/Views/propertyeditors/validationtest/validationtest.html
@@ -0,0 +1,12 @@
+
+
Enter a numeric value
+
+
+
+ Required!
+ The value entered is not a number
+ A server error occurred
+
diff --git a/Blog/umbraco/Webservices/CMSNode.asmx b/Blog/umbraco/Webservices/CMSNode.asmx
new file mode 100644
index 0000000..201a882
--- /dev/null
+++ b/Blog/umbraco/Webservices/CMSNode.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="CMSNode.asmx.cs" Class="umbraco.presentation.webservices.CMSNode" %>
diff --git a/Blog/umbraco/Webservices/CacheRefresher.asmx b/Blog/umbraco/Webservices/CacheRefresher.asmx
new file mode 100644
index 0000000..e2bc295
--- /dev/null
+++ b/Blog/umbraco/Webservices/CacheRefresher.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="c#" Codebehind="CacheRefresher.asmx.cs" Class="umbraco.presentation.webservices.CacheRefresher" %>
diff --git a/Blog/umbraco/Webservices/CheckForUpgrade.asmx b/Blog/umbraco/Webservices/CheckForUpgrade.asmx
new file mode 100644
index 0000000..226022e
--- /dev/null
+++ b/Blog/umbraco/Webservices/CheckForUpgrade.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="CheckForUpgrade.asmx.cs" Class="umbraco.presentation.webservices.CheckForUpgrade" %>
diff --git a/Blog/umbraco/Webservices/Developer.asmx b/Blog/umbraco/Webservices/Developer.asmx
new file mode 100644
index 0000000..b98e33e
--- /dev/null
+++ b/Blog/umbraco/Webservices/Developer.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="c#" Codebehind="Developer.asmx.cs" Class="umbraco.webservices.Developer" %>
diff --git a/Blog/umbraco/Webservices/MacroContainerService.asmx b/Blog/umbraco/Webservices/MacroContainerService.asmx
new file mode 100644
index 0000000..451f468
--- /dev/null
+++ b/Blog/umbraco/Webservices/MacroContainerService.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="MacroContainerService.asmx.cs" Class="umbraco.presentation.webservices.MacroContainerService" %>
diff --git a/Blog/umbraco/Webservices/MediaUploader.ashx b/Blog/umbraco/Webservices/MediaUploader.ashx
new file mode 100644
index 0000000..4d5cb75
--- /dev/null
+++ b/Blog/umbraco/Webservices/MediaUploader.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="MediaUploader.ashx.cs" Class="umbraco.presentation.umbraco.webservices.MediaUploader" %>
diff --git a/Blog/umbraco/Webservices/Settings.asmx b/Blog/umbraco/Webservices/Settings.asmx
new file mode 100644
index 0000000..ed224f1
--- /dev/null
+++ b/Blog/umbraco/Webservices/Settings.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="c#" Codebehind="Settings.asmx.cs" Class="umbraco.webservices.Settings" %>
diff --git a/Blog/umbraco/Webservices/TagsAutoCompleteHandler.ashx b/Blog/umbraco/Webservices/TagsAutoCompleteHandler.ashx
new file mode 100644
index 0000000..0c15355
--- /dev/null
+++ b/Blog/umbraco/Webservices/TagsAutoCompleteHandler.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="TagsAutoCompleteHandler.ashx.cs" Class="umbraco.presentation.umbraco.webservices.TagsAutoCompleteHandler" %>
diff --git a/Blog/umbraco/Webservices/TreeClientService.asmx b/Blog/umbraco/Webservices/TreeClientService.asmx
new file mode 100644
index 0000000..585441d
--- /dev/null
+++ b/Blog/umbraco/Webservices/TreeClientService.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="TreeClientService.asmx.cs" Class="umbraco.presentation.webservices.TreeClientService" %>
diff --git a/Blog/umbraco/Webservices/TreeDataService.ashx b/Blog/umbraco/Webservices/TreeDataService.ashx
new file mode 100644
index 0000000..29e9cd4
--- /dev/null
+++ b/Blog/umbraco/Webservices/TreeDataService.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="TreeDataService.ashx.cs" Class="umbraco.presentation.webservices.TreeDataService" %>
diff --git a/Blog/umbraco/Webservices/UltimatePickerAutoCompleteHandler.ashx b/Blog/umbraco/Webservices/UltimatePickerAutoCompleteHandler.ashx
new file mode 100644
index 0000000..f65459c
--- /dev/null
+++ b/Blog/umbraco/Webservices/UltimatePickerAutoCompleteHandler.ashx
@@ -0,0 +1 @@
+<%@ WebHandler Language="C#" CodeBehind="UltimatePickerAutoCompleteHandler.ashx.cs" Class="umbraco.presentation.umbraco.webservices.UltimatePickerAutoCompleteHandler" %>
diff --git a/Blog/umbraco/Webservices/ajax.js b/Blog/umbraco/Webservices/ajax.js
new file mode 100644
index 0000000..868ccf6
--- /dev/null
+++ b/Blog/umbraco/Webservices/ajax.js
@@ -0,0 +1,805 @@
+// ajax.js
+// Common Javascript methods and global objects
+// Ajax framework for Internet Explorer (6.0, ...) and Firefox (1.0, ...)
+// Copyright by Matthias Hertel, http://www.mathertel.de
+// This work is licensed under a Creative Commons Attribution 2.0 Germany License.
+// See http://creativecommons.org/licenses/by/2.0/de/
+// More information on: http://ajaxaspects.blogspot.com/ and http://ajaxaspekte.blogspot.com/
+// -----
+// 05.06.2005 created by Matthias Hertel.
+// 19.06.2005 minor corrections to webservices.
+// 25.06.2005 ajax action queue and timing.
+// 02.07.2005 queue up actions fixed.
+// 10.07.2005 ajax.timeout
+// 10.07.2005 a option object that is passed from ajax.Start() to prepare() is also queued.
+// 10.07.2005 a option object that is passed from ajax.Start() to prepare(), finish()
+// and onException() is also queued.
+// 12.07.2005 correct xml encoding when CallSoap()
+// 20.07.2005 more datatypes and XML Documents
+// 20.07.2005 more datatypes and XML Documents fixed
+// 06.08.2005 caching implemented.
+// 07.08.2005 bugs fixed, when queuing without a delay time.
+// 04.09.2005 bugs fixed, when entering non-multiple actions.
+// 07.09.2005 proxies.IsActive added
+// 27.09.2005 fixed error in handling bool as a datatype
+// 13.12.2005 WebServices with arrays on strings, ints, floats and booleans - still undocumented
+// 27.12.2005 fixed: empty string return values enabled.
+// 27.12.2005 enable the late binding of proxy methods.
+// 21.01.2006 void return bug fixed.
+// 18.02.2006 typo: Finsh -> Finish.
+// 25.02.2006 better xmlhttp request object retrieval, see http://blogs.msdn.com/ie/archive/2006/01/23/516393.aspx
+// 22.04.2006 progress indicator added.
+// 28.01.2006 void return bug fixed again?
+// 09.03.2006 enable late binding of prepare and finish methods by using an expression.
+// 14.07.2006 Safari Browser Version 2.03/Mac OS X 10.4. compatibility: xNode.textContent || xNode.innerText || xNode.text || xNode.childNodes[0].nodeValue
+// 10.08.2006 date to xml format fixed by Kars Veling
+// 16.09.2006 .postUrl
+
+// ----- global variable for the proxies to webservices. -----
+
+/// The root object for the proxies to webservices.
+var proxies = new Object();
+
+proxies.current = null; // the current active webservice call.
+proxies.xmlhttp = null; // The current active xmlhttp object.
+
+
+// ----- global variable for the ajax engine. -----
+
+/// The root object for the ajax engine.
+var ajax = new Object();
+
+ajax.current = null; /// The current active AJAX action.
+ajax.option = null; /// The options for the current active AJAX action.
+
+ajax.queue = new Array(); /// The pending AJAX actions.
+ajax.options = new Array(); /// The options for the pending AJAX actions.
+
+ajax.timer = null; /// The timer for delayed actions.
+
+ajax.progress = false; /// show a progress indicator
+ajax.progressTimer = null; /// a timer-object that help displaying the progress indicator not too often.
+
+// ----- AJAX engine and actions implementation -----
+
+///Start an AJAX action by entering it into the queue
+ajax.Start = function (action, options) {
+ ajax.Add(action, options);
+ // check if the action should start
+ if ((ajax.current == null) && (ajax.timer == null))
+ ajax._next(false);
+} // ajax.Start
+
+
+///Start an AJAX action by entering it into the queue
+ajax.Add = function (action, options) {
+ if (action == null) {
+ alert("ajax.Start: Argument action must be set.");
+ return;
+ } // if
+
+ // enable the late binding of the methods by using a string that is evaluated.
+ if (typeof(action.call) == "string") action.call = eval(action.call);
+ if (typeof(action.prepare) == "string") action.prepare = eval(action.prepare);
+ if (typeof(action.finish) == "string") action.finish = eval(action.finish);
+
+ if ((action.queueClear != null) && (action.queueClear == true)) {
+ ajax.queue = new Array();
+ ajax.options = new Array();
+
+ } else if ((ajax.queue.length > 0) && ((action.queueMultiple == null) || (action.queueMultiple == false))) {
+ // remove existing action entries from the queue and clear a running timer
+ if ((ajax.timer != null) && (ajax.queue[0] == action)) {
+ window.clearTimeout(ajax.timer);
+ ajax.timer = null;
+ } // if
+
+ var n = 0;
+ while (n < ajax.queue.length) {
+ if (ajax.queue[n] == action) {
+ ajax.queue.splice(n, 1);
+ ajax.options.splice(n, 1);
+ } else {
+ n++;
+ } // if
+ } // while
+ } // if
+
+ if ((action.queueTop == null) || (action.queueTop == false)) {
+ // to the end.
+ ajax.queue.push(action);
+ ajax.options.push(options);
+
+ } else {
+ // to the top
+ ajax.queue.unshift(action);
+ ajax.options.unshift(options);
+ } // if
+} // ajax.Add
+
+
+///Check, if the next AJAX action can start.
+///This is an internal method that should not be called from external.
+///for private use only.
+ajax._next = function (forceStart) {
+ var ca = null // current action
+ var co = null // current opptions
+ var data = null;
+
+ if (ajax.current != null)
+ return; // a call is active: wait more time
+
+ if (ajax.timer != null)
+ return; // a call is pendig: wait more time
+
+ if (ajax.queue.length == 0)
+ return; // nothing to do.
+
+ ca = ajax.queue[0];
+ co = ajax.options[0];
+ if ((forceStart == true) || (ca.delay == null) || (ca.delay == 0)) {
+ // start top action
+ ajax.current = ca;
+ ajax.queue.shift();
+ ajax.option = co;
+ ajax.options.shift();
+
+ // get the data
+ if (ca.prepare != null)
+ try {
+ data = ca.prepare(co);
+ } catch (ex) { }
+
+ if (ca.call != null) {
+ ajax.StartProgress();
+
+ // start the call
+ ca.call.func = ajax.Finish;
+ ca.call.onException = ajax.Exception;
+ ca.call(data);
+ // start timeout timer
+ if (ca.timeout != null)
+ ajax.timer = window.setTimeout(ajax.Cancel, ca.timeout * 1000);
+
+ } else if (ca.postUrl != null) {
+ // post raw data to URL
+
+ } else {
+ // no call
+ ajax.Finish(data);
+ } // if
+
+ } else {
+ // start a timer and wait
+ ajax.timer = window.setTimeout(ajax.EndWait, ca.delay);
+ } // if
+} // ajax._next
+
+
+///The delay time of an action is over.
+ajax.EndWait = function() {
+ ajax.timer = null;
+ ajax._next(true);
+} // ajax.EndWait
+
+
+///The current action timed out.
+ajax.Cancel = function() {
+ proxies.cancel(false); // cancel the current webservice call.
+ ajax.timer = null;
+ ajax.current = null;
+ ajax.option = null;
+ ajax.EndProgress();
+ window.setTimeout(ajax._next, 200); // give some to time to cancel the http connection.
+} // ajax.Cancel
+
+
+///Finish an AJAX Action the normal way
+ajax.Finish = function (data) {
+ // clear timeout timer if set
+ if (ajax.timer != null) {
+ window.clearTimeout(ajax.timer);
+ ajax.timer = null;
+ } // if
+
+ // use the data
+ try {
+ if ((ajax.current != null) && (ajax.current.finish != null))
+ ajax.current.finish(data, ajax.option);
+ } catch (ex) { }
+ // reset the running action
+ ajax.current = null;
+ ajax.option = null;
+ ajax.EndProgress();
+ ajax._next(false)
+} // ajax.Finish
+
+
+///Finish an AJAX Action with an exception
+ajax.Exception = function (ex) {
+ // use the data
+ if (ajax.current.onException != null)
+ ajax.current.onException(ex, ajax.option);
+
+ // reset the running action
+ ajax.current = null;
+ ajax.option = null;
+ ajax.EndProgress();
+} // ajax.Exception
+
+
+///Clear the current and all pending AJAX actions.
+ajax.CancelAll = function () {
+ ajax.Cancel();
+ // clear all pending AJAX actions in the queue.
+ ajax.queue = new Array();
+ ajax.options = new Array();
+} // ajax.CancelAll
+
+
+// ----- show or hide a progress indicator -----
+
+// show a progress indicator if it takes longer...
+ajax.StartProgress = function() {
+ ajax.progress = true;
+ if (ajax.progressTimer != null)
+ window.clearTimeout(ajax.progressTimer);
+ ajax.progressTimer = window.setTimeout(ajax.ShowProgress, 220);
+} // ajax.StartProgress
+
+
+// hide any progress indicator soon.
+ajax.EndProgress = function () {
+ ajax.progress = false;
+ if (ajax.progressTimer != null)
+ window.clearTimeout(ajax.progressTimer);
+ ajax.progressTimer = window.setTimeout(ajax.ShowProgress, 20);
+} // ajax.EndProgress
+
+
+// this function is called by a timer to show or hide a progress indicator
+ajax.ShowProgress = function() {
+ ajax.progressTimer = null;
+ var a = document.getElementById("AjaxProgressIndicator");
+
+ if (ajax.progress && (a != null)) {
+ // just display the existing object
+ a.style.top = document.documentElement.scrollTop + 2 + "px";
+ a.style.display = "";
+
+ } else if (ajax.progress) {
+
+ // find a relative link to the ajaxcore folder containing ajax.js
+ var path = "../ajaxcore/"
+ for (var n in document.scripts) {
+ s = document.scripts[n].src;
+ if ((s != null) && (s.length >= 7) && (s.substr(s.length -7).toLowerCase() == "ajax.js"))
+ path = s.substr(0,s.length -7);
+ } // for
+
+ // create new standard progress object
+ a = document.createElement("div");
+ a.id = "AjaxProgressIndicator";
+ a.style.position = "absolute";
+ a.style.right = "2px";
+ a.style.top = document.documentElement.scrollTop + 2 + "px";
+ a.style.width = "98px";
+ a.style.height = "16px"
+ a.style.padding = "2px";
+ a.style.verticalAlign = "bottom";
+ a.style.backgroundColor="#51c77d";
+
+ a.innerHTML = " please wait...";
+ document.body.appendChild(a);
+
+ } else if (a) {
+ a.style.display="none";
+ } // if
+} // ajax.ShowProgress
+
+
+// ----- simple http-POST server call -----
+
+ajax.postData = function (url, data, func) {
+ var x = proxies._getXHR();
+
+ // enable cookieless sessions:
+ var cs = document.location.href.match(/\/\(.*\)\//);
+ if (cs != null) {
+ url = url.split('/');
+ url[3] += cs[0].substr(0, cs[0].length-1);
+ url = url.join('/');
+ } // if
+
+ x.open("POST", url, (func != null));
+
+ if (func != null) {
+ // async call with xmlhttp-object as parameter
+ x.onreadystatechange = func;
+ x.send(data);
+
+ } else {
+ // sync call
+ x.send(soap);
+ return(x.responseText);
+ } // if
+} // ajax.postData
+
+
+///Execute a soap call.
+///Build the xml for the call of a soap method of a webservice
+///and post it to the server.
+proxies.callSoap = function (args) {
+ var p = args.callee;
+ var x = null;
+
+ // check for existing cache-entry
+ if (p._cache != null) {
+ if ((p.params.length == 1) && (args.length == 1) && (p._cache[args[0]] != null)) {
+ if (p.func != null) {
+ p.func(p._cache[args[0]]);
+ return(null);
+ } else {
+ return(p._cache[args[0]]);
+ } // if
+ } else {
+ p._cachekey = args[0];
+ }// if
+ } // if
+
+ proxies.current = p;
+ x = proxies._getXHR();
+ proxies.xmlhttp = x;
+
+ // envelope start
+ var soap = ""
+ + ""
+ + ""
+ + "<" + p.fname + " xmlns='" + p.service.ns + "'>";
+
+ // parameters
+ for (n = 0; (n < p.params.length) && (n < args.length); n++) {
+ var val = args[n];
+ var typ = p.params[n].split(':');
+
+ if ((typ.length == 1) || (typ[1] == "string")) {
+ val = String(args[n]).replace(/&/g, "&").replace(//g, ">");
+
+ } else if (typ[1] == "int") {
+ val = parseInt(args[n]);
+ } else if (typ[1] == "float") {
+ val = parseFloat(args[n]);
+
+ } else if ((typ[1] == "x") && (typeof(args[n]) == "string")) {
+ val = args[n];
+
+ } else if ((typ[1] == "x") && (typeof(XMLSerializer) != "undefined")) {
+ val = (new XMLSerializer()).serializeToString(args[n].firstChild);
+
+ } else if (typ[1] == "x") {
+ val = args[n].xml;
+
+ } else if ((typ[1] == "bool") && (typeof(args[n]) == "string")) {
+ val = args[n].toLowerCase();
+
+ } else if (typ[1] == "bool") {
+ val = String(args[n]).toLowerCase();
+
+ } else if (typ[1] == "date") {
+ // calculate the xml format for datetime objects from a javascript date object
+ var s, ret;
+ ret = String(val.getFullYear());
+ ret += "-";
+ s = String(val.getMonth() + 1);
+ ret += (s.length == 1 ? "0" + s : s);
+ ret += "-";
+ s = String(val.getDate());
+ ret += (s.length == 1 ? "0" + s : s);
+ ret += "T";
+ s = String(val.getHours());
+ ret += (s.length == 1 ? "0" + s : s);
+ ret += ":";
+ s = String(val.getMinutes());
+ ret += (s.length == 1 ? "0" + s : s);
+ ret += ":";
+ s = String(val.getSeconds());
+ ret += (s.length == 1 ? "0" + s : s);
+ val = ret;
+
+ } else if (typ[1] == "s[]") {
+ val = "" + args[n].join("") + "";
+
+ } else if (typ[1] == "int[]") {
+ val = "" + args[n].join("") + "";
+
+ } else if (typ[1] == "float[]") {
+ val = "" + args[n].join("") + "";
+
+ } else if (typ[1] == "bool[]") {
+ val = "" + args[n].join("") + "";
+
+ } // if
+ soap += "<" + typ[0] + ">" + val + "" + typ[0] + ">"
+ } // for
+
+ // envelope end
+ soap += "" + p.fname + ">"
+ + ""
+ + "";
+
+ // enable cookieless sessions:
+ var u = p.service.url;
+ var cs = document.location.href.match(/\/\(.*\)\//);
+ if (cs != null) {
+ u = p.service.url.split('/');
+ u[3] += cs[0].substr(0, cs[0].length-1);
+ u = u.join('/');
+ } // if
+
+ x.open("POST", u, (p.func != null));
+ x.setRequestHeader("SOAPAction", p.action);
+ x.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
+
+ if (p.corefunc != null) {
+ // async call with xmlhttp-object as parameter
+ x.onreadystatechange = p.corefunc;
+ x.send(soap);
+
+ } else if (p.func != null) {
+ // async call
+ x.onreadystatechange = proxies._response;
+ x.send(soap);
+
+ } else {
+ // sync call
+ x.send(soap);
+ return(proxies._response());
+ } // if
+} // proxies.callSoap
+
+
+// cancel the running webservice call.
+// raise: set raise to false to prevent raising an exception
+proxies.cancel = function(raise) {
+ var cc = proxies.current;
+ var cx = proxies.xmlhttp;
+
+ if (raise == null) raise == true;
+
+ if (proxies.xmlhttp != null) {
+ proxies.xmlhttp.onreadystatechange = function() { };
+ proxies.xmlhttp.abort();
+ if (raise && (proxies.current.onException != null))
+ proxies.current.onException("WebService call was canceled.")
+ proxies.current = null;
+ proxies.xmlhttp = null;
+ } // if
+} // proxies.cancel
+
+
+// px is a proxies.service.func object !
+proxies.EnableCache = function (px) {
+ // attach an empty _cache object.
+ px._cache = new Object();
+} // proxies.EnableCache
+
+
+// check, if a call is currently waiting for a result
+proxies.IsActive = function () {
+ return(proxies.xmlhttp != null);
+} // proxies.IsActive
+
+
+///Callback method for a webservice call that dispatches the response to servive.func or service.onException.
+///for private use only.
+proxies._response = function () {
+ var ret = null;
+ var x = proxies.xmlhttp;
+ var cc = proxies.current;
+ var rtype = null;
+
+ if ((cc.rtype.length > 0) && (cc.rtype[0] != null))
+ rtype = cc.rtype[0].split(':');
+
+ if ((x != null) && (x.readyState == 4)) {
+ if (x.status == 200) {
+ var xNode = null;
+
+ if (rtype != null)
+ xNode = x.responseXML.getElementsByTagName(rtype[0])[0];
+
+ if (xNode == null) {
+ ret = null;
+
+ } else if (xNode.firstChild == null) { // 27.12.2005: empty string return values
+ ret = ((rtype.length == 1) || (rtype[1] == "string") ? "" : null);
+
+ } else if ((rtype.length == 1) || (rtype[1] == "string")) {
+ ret = xNode.textContent || xNode.innerText || xNode.text || xNode.childNodes[0].nodeValue;
+
+ } else if (rtype[1] == "bool") {
+ ret = xNode.textContent || xNode.innerText || xNode.text || xNode.childNodes[0].nodeValue;
+ ret = (ret == "true");
+
+ } else if (rtype[1] == "int") {
+ ret = xNode.textContent || xNode.innerText || xNode.text || xNode.childNodes[0].nodeValue;
+ ret = parseInt(ret);
+
+ } else if (rtype[1] == "float") {
+ ret = xNode.textContent || xNode.innerText || xNode.text || xNode.childNodes[0].nodeValue;
+ ret = parseFloat(ret);
+
+ } else if ((rtype[1] == "x") && (typeof(XMLSerializer) != "undefined")) {
+ ret = (new XMLSerializer()).serializeToString(xNode.firstChild);
+ ret = ajax._getXMLDOM(ret);
+
+ } else if ((rtype[1] == "ds") && (typeof(XMLSerializer) != "undefined")) {
+ // ret = (new XMLSerializer()).serializeToString(xNode.firstChild.nextSibling.firstChild);
+ ret = (new XMLSerializer()).serializeToString(xNode);
+ ret = ajax._getXMLDOM(ret);
+
+ } else if (rtype[1] == "x") {
+ ret = xNode.firstChild.xml;
+ ret = ajax._getXMLDOM(ret);
+
+ } else if (rtype[1] == "ds") {
+// ret = xNode.firstChild.nextSibling.firstChild.xml;
+ ret = xNode.xml;
+ ret = ajax._getXMLDOM(ret);
+
+ } else if (rtype[1] == "s[]") {
+ // Array of strings
+ ret = new Array();
+ xNode = xNode.firstChild;
+ while (xNode != null) {
+ ret.push(xNode.textContent || xNode.innerText || xNode.text || xNode.childNodes[0].nodeValue);
+ xNode = xNode.nextSibling;
+ } // while
+
+ } else if (rtype[1] == "int[]") {
+ // Array of int
+ ret = new Array();
+ xNode = xNode.firstChild;
+ while (xNode != null) {
+ ret.push(parseInt(xNode.textContent || xNode.innerText || xNode.text || xNode.childNodes[0].nodeValue));
+ xNode = xNode.nextSibling;
+ } // while
+
+ } else if (rtype[1] == "float[]") {
+ // Array of float
+ ret = new Array();
+ xNode = xNode.firstChild;
+ while (xNode != null) {
+ ret.push(parseFloat(xNode.textContent || xNode.innerText || xNode.text || xNode.childNodes[0].nodeValue));
+ xNode = xNode.nextSibling;
+ } // while
+
+ } else if (rtype[1] == "bool[]") {
+ // Array of bool
+ ret = new Array();
+ xNode = xNode.firstChild;
+ while (xNode != null) {
+ ret.push((xNode.textContent || xNode.innerText || xNode.text || xNode.childNodes[0].nodeValue).toLowerCase() == "true");
+ xNode = xNode.nextSibling;
+ } // while
+
+ } else {
+ ret = xNode.textContent || xNode.innerText || xNode.text || xNode.childNodes[0].nodeValue;
+ } // if
+
+ // store to _cache
+ if ((cc._cache != null) && (cc._cachekey != null)) {
+ cc._cache[cc._cachekey] = ret;
+ cc._cachekey = null;
+ } // if
+
+ proxies.xmlhttp = null;
+ proxies.current = null;
+
+ if (cc.func == null) {
+ return(ret); // sync
+ } else {
+ cc.func(ret); // async
+ return(null);
+ } // if
+
+ } else if (proxies.current.onException == null) {
+ // no exception
+
+ } else {
+ // raise an exception
+ ret = new Error();
+
+ if (x.status == 404) {
+ ret.message = "The webservice could not be found.";
+
+ } else if (x.status == 500) {
+ ret.name = "SoapException";
+ var n = x.responseXML.documentElement.firstChild.firstChild.firstChild;
+ while (n != null) {
+ if (n.nodeName == "faultcode") ret.message = n.firstChild.nodeValue;
+ if (n.nodeName == "faultstring") ret.description = n.firstChild.nodeValue;
+ n = n.nextSibling;
+ } // while
+
+ } else if ((x.status == 502) || (x.status == 12031)) {
+ ret.message = "The server could not be found.";
+
+ } else {
+ // no classified response.
+ ret.message = "Result-Status:" + x.status + "\n" + x.responseText;
+ } // if
+ proxies.current.onException(ret);
+ } // if
+
+ proxies.xmlhttp = null;
+ proxies.current = null;
+ } // if
+} // proxies._response
+
+
+///Callback method to show the result of a soap call in an alert box.
+///To set up a debug output in an alert box use:
+///proxies.service.method.corefunc = proxies.alertResult;
+proxies.alertResult = function () {
+ var x = proxies.xmlhttp;
+
+ if (x.readyState == 4) {
+ if (x.status == 200) {
+ if (x.responseXML.documentElement.firstChild.firstChild.firstChild == null)
+ alert("(no result)");
+ else
+ alert(x.responseXML.documentElement.firstChild.firstChild.firstChild.firstChild.nodeValue);
+
+ } else if (x.status == 404) { alert("Error!\n\nThe webservice could not be found.");
+
+ } else if (x.status == 500) {
+ // a SoapException
+ var ex = new Error();
+ ex.name = "SoapException";
+ var n = x.responseXML.documentElement.firstChild.firstChild.firstChild;
+ while (n != null) {
+ if (n.nodeName == "faultcode") ex.message = n.firstChild.nodeValue;
+ if (n.nodeName == "faultstring") ex.description = n.firstChild.nodeValue;
+ n = n.nextSibling;
+ } // while
+ alert("The server threw an exception.\n\n" + ex.message + "\n\n" + ex.description);
+
+ } else if (x.status == 502) { alert("Error!\n\nThe server could not be found.");
+
+ } else {
+ // no classified response.
+ alert("Result-Status:" + x.status + "\n" + x.responseText);
+ } // if
+
+ proxies.xmlhttp = null;
+ proxies.current = null;
+ } // if
+} // proxies.alertResult
+
+
+///Show all the details of the returned data of a webservice call.
+///Use this method for debugging transmission problems.
+///To set up a debug output in an alert box use:
+///proxies.service.method.corefunc = proxies.alertResponseText;
+proxies.alertResponseText = function () {
+ if (proxies.xmlhttp.readyState == 4)
+ alert("Status:" + proxies.xmlhttp.status + "\nRESULT:" + proxies.xmlhttp.responseText);
+} // proxies.alertResponseText
+
+
+///show the details about an exception.
+proxies.alertException = function(ex) {
+ var s = "Exception:\n\n";
+
+ if (ex.constructor == String) {
+ s = ex;
+ } else {
+ if ((ex.name != null) && (ex.name != ""))
+ s += "Type: " + ex.name + "\n\n";
+
+ if ((ex.message != null) && (ex.message != ""))
+ s += "Message:\n" + ex.message + "\n\n";
+
+ if ((ex.description != null) && (ex.description != "") && (ex.message != ex.description))
+ s += "Description:\n" + ex.description + "\n\n";
+ } // if
+ alert(s);
+} // proxies.alertException
+
+
+///Get a browser specific implementation of the XMLHttpRequest object.
+// from http://blogs.msdn.com/ie/archive/2006/01/23/516393.aspx
+proxies._getXHR = function () {
+ var x = null;
+ if (window.XMLHttpRequest) {
+ // if IE7, Mozilla, Safari, etc: Use native object
+ x = new XMLHttpRequest()
+
+ } else if (window.ActiveXObject) {
+ // ...otherwise, use the ActiveX control for IE5.x and IE6
+ try { x = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { }
+ if (x == null)
+ try { x = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { }
+ } // if
+ return(x);
+} // proxies._getXHR
+
+
+///Get a browser specific implementation of the XMLDOM object, containing a XML document.
+///the xml document as string.
+ajax._getXMLDOM = function (xmlText) {
+ var obj = null;
+
+ if ((document.implementation != null) && (typeof document.implementation.createDocument == "function")) {
+ // Gecko / Mozilla / Firefox
+ var parser = new DOMParser();
+ obj = parser.parseFromString(xmlText, "text/xml");
+
+ } else {
+ // IE
+ try {
+ obj = new ActiveXObject("MSXML2.DOMDocument");
+ } catch (e) { }
+
+ if (obj == null) {
+ try {
+ obj = new ActiveXObject("Microsoft.XMLDOM");
+ } catch (e) { }
+ } // if
+
+ if (obj != null) {
+ obj.async = false;
+ obj.validateOnParse = false;
+ } // if
+ obj.loadXML(xmlText);
+ } // if
+ return(obj);
+} // _getXMLDOM
+
+
+///show the details of a javascript object.
+///This helps a lot while developing and debugging.
+function inspectObj(obj) {
+ var s = "InspectObj:";
+
+ if (obj == null) {
+ s = "(null)"; alert(s); return;
+ } else if (obj.constructor == String) {
+ s = "\"" + obj + "\"";
+ } else if (obj.constructor == Array) {
+ s += " _ARRAY";
+ } else if (typeof(obj) == "function") {
+ s += " [function]" + obj;
+
+ } else if ((typeof(XMLSerializer) != "undefined") && (obj.constructor == XMLDocument)) {
+ s = "[XMLDocument]:\n" + (new XMLSerializer()).serializeToString(obj.firstChild);
+ alert(s); return;
+
+ } else if ((obj.constructor == null) && (typeof(obj) == "object") && (obj.xml != null)) {
+ s = "[XML]:\n" + obj.xml;
+ alert(s); return;
+ }
+
+ for (p in obj) {
+ try {
+ if (obj[p] == null) {
+ s += "\n" + String(p) + " (...)";
+
+ } else if (typeof(obj[p]) == "function") {
+ s += "\n" + String(p) + " [function]";
+
+ } else if (obj[p].constructor == Array) {
+ s += "\n" + String(p) + " [ARRAY]: " + obj[p];
+ for (n = 0; n < obj[p].length; n++)
+ s += "\n " + n + ": " + obj[p][n];
+
+ } else {
+ s += "\n" + String(p) + " [" + typeof(obj[p]) + "]: " + obj[p];
+ } // if
+ } catch (e) { s+= e;}
+ } // for
+ alert(s);
+} // inspectObj
+
+// ----- End -----
diff --git a/Blog/umbraco/Webservices/codeEditorSave.asmx b/Blog/umbraco/Webservices/codeEditorSave.asmx
new file mode 100644
index 0000000..947a6fb
--- /dev/null
+++ b/Blog/umbraco/Webservices/codeEditorSave.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="codeEditorSave.asmx.cs" Class="umbraco.presentation.webservices.codeEditorSave" %>
diff --git a/Blog/umbraco/Webservices/legacyAjaxCalls.asmx b/Blog/umbraco/Webservices/legacyAjaxCalls.asmx
new file mode 100644
index 0000000..5acc6e6
--- /dev/null
+++ b/Blog/umbraco/Webservices/legacyAjaxCalls.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="legacyAjaxCalls.asmx.cs" Class="umbraco.presentation.webservices.legacyAjaxCalls" %>
diff --git a/Blog/umbraco/Webservices/nodeSorter.asmx b/Blog/umbraco/Webservices/nodeSorter.asmx
new file mode 100644
index 0000000..ae09ffa
--- /dev/null
+++ b/Blog/umbraco/Webservices/nodeSorter.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="nodeSorter.asmx.cs" Class="umbraco.presentation.webservices.nodeSorter" %>
diff --git a/Blog/umbraco/Webservices/progressStatus.asmx b/Blog/umbraco/Webservices/progressStatus.asmx
new file mode 100644
index 0000000..7b3eebc
--- /dev/null
+++ b/Blog/umbraco/Webservices/progressStatus.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="c#" Codebehind="progressStatus.asmx.cs" Class="presentation.umbraco.webservices.progressStatus" %>
diff --git a/Blog/umbraco/Webservices/publication.asmx b/Blog/umbraco/Webservices/publication.asmx
new file mode 100644
index 0000000..a2ff9b7
--- /dev/null
+++ b/Blog/umbraco/Webservices/publication.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="c#" Codebehind="publication.asmx.cs" Class="umbraco.webservices.publication" %>
diff --git a/Blog/umbraco/Webservices/templates.asmx b/Blog/umbraco/Webservices/templates.asmx
new file mode 100644
index 0000000..4a6e4ee
--- /dev/null
+++ b/Blog/umbraco/Webservices/templates.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="c#" Codebehind="templates.asmx.cs" Class="umbraco.webservices.templates" %>
diff --git a/Blog/umbraco/Webservices/trashcan.asmx b/Blog/umbraco/Webservices/trashcan.asmx
new file mode 100644
index 0000000..19c43da
--- /dev/null
+++ b/Blog/umbraco/Webservices/trashcan.asmx
@@ -0,0 +1 @@
+<%@ WebService Language="C#" CodeBehind="trashcan.asmx.cs" Class="umbraco.presentation.webservices.trashcan" %>
diff --git a/Blog/umbraco/Webservices/wsdl.xslt b/Blog/umbraco/Webservices/wsdl.xslt
new file mode 100644
index 0000000..9e3673c
--- /dev/null
+++ b/Blog/umbraco/Webservices/wsdl.xslt
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ // javascript proxy for SOAP based web services
+ // by Matthias Hertel
+ /* */
+
+
+
+
+
+
+ proxies. = {
+ url: "",
+ ns: ""
+ } // proxies.
+
+
+
+
+
+
+
+
+
+
+
+
+ /* inputMessageName='', outputMessageName='' */
+
+
+ /** */
+
+ proxies.. = function () { return(proxies.callSoap(arguments)); }
+ proxies...fname = "";
+ proxies...service = proxies.;
+ proxies...action = "\"\"";
+ proxies...params = [
+
+ ];
+ proxies...rtype = [
+
+ ];
+
+
+
+
+
+
+
+
+
+
+
+ ""
+
+
+
+ ""
+
+
+
+ ":int"
+
+
+
+ ":float"
+
+
+ ":date"
+
+
+
+ ":bool"
+
+
+
+
+ ":s[]"
+
+
+ ":int[]"
+
+
+ ":float[]"
+
+
+ ":bool[]"
+
+
+
+
+
+ ":ds"
+
+
+
+
+ ":x"
+
+
+ ""
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
+
+
+
+
+
+
+ ,
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Blog/umbraco/Xslt/Templates/Breadcrumb.xslt b/Blog/umbraco/Xslt/Templates/Breadcrumb.xslt
new file mode 100644
index 0000000..b5cd15e
--- /dev/null
+++ b/Blog/umbraco/Xslt/Templates/Breadcrumb.xslt
@@ -0,0 +1,34 @@
+
+]>
+
+
+
+
+
+
+
+
+
+
+
+
')}]);
\ No newline at end of file
diff --git a/Blog/umbraco/lib/angular-dynamic-locale/tmhDynamicLocale.min.js b/Blog/umbraco/lib/angular-dynamic-locale/tmhDynamicLocale.min.js
new file mode 100644
index 0000000..0e4b66c
--- /dev/null
+++ b/Blog/umbraco/lib/angular-dynamic-locale/tmhDynamicLocale.min.js
@@ -0,0 +1,8 @@
+/**
+ * Angular Dynamic Locale - 0.1.27
+ * https://github.com/lgalfaso/angular-dynamic-locale
+ * License: MIT
+ */
+
+!function(){"use strict";angular.module("tmh.dynamicLocale",[]).config(["$provide",function(a){function b(a){return a.$stateful=!0,a}a.decorator("dateFilter",["$delegate",b]),a.decorator("numberFilter",["$delegate",b]),a.decorator("currencyFilter",["$delegate",b])}]).constant("tmhDynamicLocale.STORAGE_KEY","tmhDynamicLocale.locale").provider("tmhDynamicLocale",["tmhDynamicLocale.STORAGE_KEY",function(a){function b(a,b,c,d){var e=document.createElement("script"),f=document.getElementsByTagName("body")[0],g=!1;e.type="text/javascript",e.readyState?e.onreadystatechange=function(){("complete"===e.readyState||"loaded"===e.readyState)&&(e.onreadystatechange=null,d(function(){g||(g=!0,f.removeChild(e),b())},30,!1))}:(e.onload=function(){g||(g=!0,f.removeChild(e),b())},e.onerror=function(){g||(g=!0,f.removeChild(e),c())}),e.src=a,e.async=!1,f.appendChild(e)}function c(a,c,d,g,h,k,l){function m(a,b){f===d&&(angular.forEach(a,function(c,d){b[d]?angular.isArray(b[d])&&(a[d].length=b[d].length):delete a[d]}),angular.forEach(b,function(c,d){angular.isArray(b[d])||angular.isObject(b[d])?(a[d]||(a[d]=angular.isArray(b[d])?[]:{}),m(a[d],b[d])):a[d]=b[d]}))}if(j[d])return j[d];var n,o=h.defer();return d===f?o.resolve(c):(n=k.get(d))?(f=d,g.$evalAsync(function(){m(c,n),g.$broadcast("$localeChangeSuccess",d,c),e.put(i,d),o.resolve(c)})):(f=d,j[d]=o.promise,b(a,function(){var a=angular.injector(["ngLocale"]),b=a.get("$locale");m(c,b),k.put(d,b),delete j[d],g.$apply(function(){g.$broadcast("$localeChangeSuccess",d,c),e.put(i,d),o.resolve(c)})},function(){delete j[d],g.$apply(function(){f===d&&(f=c.id),g.$broadcast("$localeChangeError",d),o.reject(d)})},l)),o.promise}var d,e,f,g="angular/i18n/angular-locale_{{locale}}.js",h="tmhDynamicLocaleStorageCache",i=a,j={};this.localeLocationPattern=function(a){return a?(g=a,this):g},this.useStorage=function(a){h=a},this.useCookieStorage=function(){this.useStorage("$cookieStore")},this.defaultLocale=function(a){d=a},this.storageKey=function(a){return a?(i=a,this):i},this.$get=["$rootScope","$injector","$interpolate","$locale","$q","tmhDynamicLocaleCache","$timeout",function(a,b,j,k,l,m,n){var o=j(g);return e=b.get(h),a.$evalAsync(function(){var b;(b=e.get(i)||d)&&c(o({locale:b}),k,b,a,l,m,n)}),{set:function(b){return c(o({locale:b}),k,b,a,l,m,n)},get:function(){return f}}}]}]).provider("tmhDynamicLocaleCache",function(){this.$get=["$cacheFactory",function(a){return a("tmh.dynamicLocales")}]}).provider("tmhDynamicLocaleStorageCache",function(){this.$get=["$cacheFactory",function(a){return a("tmh.dynamicLocales.store")}]}).run(["tmhDynamicLocale",angular.noop])}(window);
+//# sourceMappingURL=tmhDynamicLocale.min.js.map
\ No newline at end of file
diff --git a/Blog/umbraco/lib/angular-dynamic-locale/tmhDynamicLocale.min.js.map b/Blog/umbraco/lib/angular-dynamic-locale/tmhDynamicLocale.min.js.map
new file mode 100644
index 0000000..804b4e4
--- /dev/null
+++ b/Blog/umbraco/lib/angular-dynamic-locale/tmhDynamicLocale.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"tmhDynamicLocale.min.js","sources":["src/tmhDynamicLocale.js"],"names":["angular","module","config","$provide","makeStateful","$delegate","$stateful","decorator","constant","provider","STORAGE_KEY","loadScript","url","callback","errorCallback","$timeout","script","document","createElement","body","getElementsByTagName","removed","type","readyState","onreadystatechange","removeChild","onload","onerror","src","async","appendChild","loadLocale","localeUrl","$locale","localeId","$rootScope","$q","localeCache","overrideValues","oldObject","newObject","activeLocale","forEach","value","key","isArray","length","isObject","promiseCache","cachedLocale","deferred","defer","resolve","get","$evalAsync","$broadcast","storage","put","storageKey","promise","localInjector","injector","externalLocale","$apply","id","reject","defaultLocale","localeLocationPattern","storageFactory","this","useStorage","storageName","useCookieStorage","$get","$injector","interpolate","locale","tmhDynamicLocaleCache","localeLocation","initialLocale","set","$cacheFactory","run","noop","window"],"mappings":";;;;;;CAAC,WACD,YACAA,SAAQC,OAAO,wBAAyBC,QAAQ,WAAY,SAAUC,GACpE,QAASC,GAAaC,GAEpB,MADAA,GAAUC,WAAY,EACfD,EAGTF,EAASI,UAAU,cAAe,YAAaH,IAC/CD,EAASI,UAAU,gBAAiB,YAAaH,IACjDD,EAASI,UAAU,kBAAmB,YAAaH,OAGpDI,SAAS,+BAAgC,2BACzCC,SAAS,oBAAqB,+BAAgC,SAASC,GAgBtE,QAASC,GAAWC,EAAKC,EAAUC,EAAeC,GAChD,GAAIC,GAASC,SAASC,cAAc,UAClCC,EAAOF,SAASG,qBAAqB,QAAQ,GAC7CC,GAAU,CAEZL,GAAOM,KAAO,kBACVN,EAAOO,WACTP,EAAOQ,mBAAqB,YACA,aAAtBR,EAAOO,YACe,WAAtBP,EAAOO,cACTP,EAAOQ,mBAAqB,KAC5BT,EACE,WACMM,IACJA,GAAU,EACVF,EAAKM,YAAYT,GACjBH,MACC,IAAI,MAIbG,EAAOU,OAAS,WACVL,IACJA,GAAU,EACVF,EAAKM,YAAYT,GACjBH,MAEFG,EAAOW,QAAU,WACXN,IACJA,GAAU,EACVF,EAAKM,YAAYT,GACjBF,OAGJE,EAAOY,IAAMhB,EACbI,EAAOa,OAAQ,EACfV,EAAKW,YAAYd,GASnB,QAASe,GAAWC,EAAWC,EAASC,EAAUC,EAAYC,EAAIC,EAAatB,GAE7E,QAASuB,GAAeC,EAAWC,GAC7BC,IAAiBP,IAGrBlC,QAAQ0C,QAAQH,EAAW,SAASI,EAAOC,GACpCJ,EAAUI,GAEJ5C,QAAQ6C,QAAQL,EAAUI,MACnCL,EAAUK,GAAKE,OAASN,EAAUI,GAAKE,cAFhCP,GAAUK,KAKrB5C,QAAQ0C,QAAQF,EAAW,SAASG,EAAOC,GACrC5C,QAAQ6C,QAAQL,EAAUI,KAAS5C,QAAQ+C,SAASP,EAAUI,KAC3DL,EAAUK,KACbL,EAAUK,GAAO5C,QAAQ6C,QAAQL,EAAUI,WAE7CN,EAAeC,EAAUK,GAAMJ,EAAUI,KAEzCL,EAAUK,GAAOJ,EAAUI,MAMjC,GAAII,EAAad,GAAW,MAAOc,GAAad,EAEhD,IAAIe,GACFC,EAAWd,EAAGe,OAsChB,OArCIjB,KAAaO,EACfS,EAASE,QAAQnB,IACPgB,EAAeZ,EAAYgB,IAAInB,KACzCO,EAAeP,EACfC,EAAWmB,WAAW,WACpBhB,EAAeL,EAASgB,GACxBd,EAAWoB,WAAW,uBAAwBrB,EAAUD,GACxDuB,EAAQC,IAAIC,EAAYxB,GACxBgB,EAASE,QAAQnB,OAGnBQ,EAAeP,EACfc,EAAad,GAAYgB,EAASS,QAClChD,EAAWqB,EAAW,WAEpB,GAAI4B,GAAgB5D,QAAQ6D,UAAU,aACpCC,EAAiBF,EAAcP,IAAI,UAErCf,GAAeL,EAAS6B,GACxBzB,EAAYoB,IAAIvB,EAAU4B,SACnBd,GAAad,GAEpBC,EAAW4B,OAAO,WAChB5B,EAAWoB,WAAW,uBAAwBrB,EAAUD,GACxDuB,EAAQC,IAAIC,EAAYxB,GACxBgB,EAASE,QAAQnB,MAElB,iBACMe,GAAad,GAEpBC,EAAW4B,OAAO,WACZtB,IAAiBP,IAAUO,EAAeR,EAAQ+B,IACtD7B,EAAWoB,WAAW,qBAAsBrB,GAC5CgB,EAASe,OAAO/B,MAEjBnB,IAEEmC,EAASS,QA9HlB,GAAIO,GAGFV,EAGAf,EALA0B,EAAwB,4CACxBC,EAAiB,+BAEjBV,EAAahD,EACbsC,IA4HFqB,MAAKF,sBAAwB,SAASxB,GACpC,MAAIA,IACFwB,EAAwBxB,EACjB0B,MAEAF,GAIXE,KAAKC,WAAa,SAASC,GACzBH,EAAiBG,GAGnBF,KAAKG,iBAAmB,WACtBH,KAAKC,WAAW,iBAGlBD,KAAKH,cAAgB,SAAUvB,GAC7BuB,EAAgBvB,GAGlB0B,KAAKX,WAAa,SAAUf,GAC1B,MAAIA,IACFe,EAAaf,EACN0B,MAEAX,GAIXW,KAAKI,MAAQ,aAAc,YAAa,eAAgB,UAAW,KAAM,wBAAyB,WAAY,SAAStC,EAAYuC,EAAWC,EAAaC,EAAQxC,EAAIyC,EAAuB9D,GAC5L,GAAI+D,GAAiBH,EAAYR,EASjC,OAPAX,GAAUkB,EAAUrB,IAAIe,GACxBjC,EAAWmB,WAAW,WACpB,GAAIyB,IACCA,EAAiBvB,EAAQH,IAAIK,IAAeQ,IAC/CnC,EAAW+C,GAAgBF,OAAQG,IAAiBH,EAAQG,EAAe5C,EAAYC,EAAIyC,EAAuB9D,MAWpHiE,IAAK,SAASrC,GACZ,MAAOZ,GAAW+C,GAAgBF,OAAQjC,IAASiC,EAAQjC,EAAOR,EAAYC,EAAIyC,EAAuB9D,IAM3GsC,IAAK,WACH,MAAOZ,UAIXhC,SAAS,wBAAyB,WACpC4D,KAAKI,MAAQ,gBAAiB,SAASQ,GACrC,MAAOA,GAAc,0BAEtBxE,SAAS,+BAAgC,WAC1C4D,KAAKI,MAAQ,gBAAiB,SAASQ,GACrC,MAAOA,GAAc,gCAEtBC,KAAK,mBAAoBlF,QAAQmF,QAClCC"}
\ No newline at end of file
diff --git a/Blog/umbraco/lib/angular/1.1.5/angular-cookies.js b/Blog/umbraco/lib/angular/1.1.5/angular-cookies.js
new file mode 100644
index 0000000..78686e2
--- /dev/null
+++ b/Blog/umbraco/lib/angular/1.1.5/angular-cookies.js
@@ -0,0 +1,185 @@
+/**
+ * @license AngularJS v1.1.5
+ * (c) 2010-2012 Google, Inc. http://angularjs.org
+ * License: MIT
+ */
+(function(window, angular, undefined) {
+'use strict';
+
+/**
+ * @ngdoc overview
+ * @name ngCookies
+ */
+
+
+angular.module('ngCookies', ['ng']).
+ /**
+ * @ngdoc object
+ * @name ngCookies.$cookies
+ * @requires $browser
+ *
+ * @description
+ * Provides read/write access to browser's cookies.
+ *
+ * Only a simple Object is exposed and by adding or removing properties to/from
+ * this object, new cookies are created/deleted at the end of current $eval.
+ *
+ * @example
+
+
+
+
+
+ */
+ factory('$cookies', ['$rootScope', '$browser', function ($rootScope, $browser) {
+ var cookies = {},
+ lastCookies = {},
+ lastBrowserCookies,
+ runEval = false,
+ copy = angular.copy,
+ isUndefined = angular.isUndefined;
+
+ //creates a poller fn that copies all cookies from the $browser to service & inits the service
+ $browser.addPollFn(function() {
+ var currentCookies = $browser.cookies();
+ if (lastBrowserCookies != currentCookies) { //relies on browser.cookies() impl
+ lastBrowserCookies = currentCookies;
+ copy(currentCookies, lastCookies);
+ copy(currentCookies, cookies);
+ if (runEval) $rootScope.$apply();
+ }
+ })();
+
+ runEval = true;
+
+ //at the end of each eval, push cookies
+ //TODO: this should happen before the "delayed" watches fire, because if some cookies are not
+ // strings or browser refuses to store some cookies, we update the model in the push fn.
+ $rootScope.$watch(push);
+
+ return cookies;
+
+
+ /**
+ * Pushes all the cookies from the service to the browser and verifies if all cookies were stored.
+ */
+ function push() {
+ var name,
+ value,
+ browserCookies,
+ updated;
+
+ //delete any cookies deleted in $cookies
+ for (name in lastCookies) {
+ if (isUndefined(cookies[name])) {
+ $browser.cookies(name, undefined);
+ }
+ }
+
+ //update all cookies updated in $cookies
+ for(name in cookies) {
+ value = cookies[name];
+ if (!angular.isString(value)) {
+ if (angular.isDefined(lastCookies[name])) {
+ cookies[name] = lastCookies[name];
+ } else {
+ delete cookies[name];
+ }
+ } else if (value !== lastCookies[name]) {
+ $browser.cookies(name, value);
+ updated = true;
+ }
+ }
+
+ //verify what was actually stored
+ if (updated){
+ updated = false;
+ browserCookies = $browser.cookies();
+
+ for (name in cookies) {
+ if (cookies[name] !== browserCookies[name]) {
+ //delete or reset all cookies that the browser dropped from $cookies
+ if (isUndefined(browserCookies[name])) {
+ delete cookies[name];
+ } else {
+ cookies[name] = browserCookies[name];
+ }
+ updated = true;
+ }
+ }
+ }
+ }
+ }]).
+
+
+ /**
+ * @ngdoc object
+ * @name ngCookies.$cookieStore
+ * @requires $cookies
+ *
+ * @description
+ * Provides a key-value (string-object) storage, that is backed by session cookies.
+ * Objects put or retrieved from this storage are automatically serialized or
+ * deserialized by angular's toJson/fromJson.
+ * @example
+ */
+ factory('$cookieStore', ['$cookies', function($cookies) {
+
+ return {
+ /**
+ * @ngdoc method
+ * @name ngCookies.$cookieStore#get
+ * @methodOf ngCookies.$cookieStore
+ *
+ * @description
+ * Returns the value of given cookie key
+ *
+ * @param {string} key Id to use for lookup.
+ * @returns {Object} Deserialized cookie value.
+ */
+ get: function(key) {
+ var value = $cookies[key];
+ return value ? angular.fromJson(value) : value;
+ },
+
+ /**
+ * @ngdoc method
+ * @name ngCookies.$cookieStore#put
+ * @methodOf ngCookies.$cookieStore
+ *
+ * @description
+ * Sets a value for given cookie key
+ *
+ * @param {string} key Id for the `value`.
+ * @param {Object} value Value to be stored.
+ */
+ put: function(key, value) {
+ $cookies[key] = angular.toJson(value);
+ },
+
+ /**
+ * @ngdoc method
+ * @name ngCookies.$cookieStore#remove
+ * @methodOf ngCookies.$cookieStore
+ *
+ * @description
+ * Remove given cookie
+ *
+ * @param {string} key Id of the key-value pair to delete.
+ */
+ remove: function(key) {
+ delete $cookies[key];
+ }
+ };
+
+ }]);
+
+
+})(window, window.angular);
diff --git a/Blog/umbraco/lib/angular/1.1.5/angular-cookies.min.js b/Blog/umbraco/lib/angular/1.1.5/angular-cookies.min.js
new file mode 100644
index 0000000..9d90826
--- /dev/null
+++ b/Blog/umbraco/lib/angular/1.1.5/angular-cookies.min.js
@@ -0,0 +1,7 @@
+/*
+ AngularJS v1.1.5
+ (c) 2010-2012 Google, Inc. http://angularjs.org
+ License: MIT
+*/
+(function(m,f,l){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(d,b){var c={},g={},h,i=!1,j=f.copy,k=f.isUndefined;b.addPollFn(function(){var a=b.cookies();h!=a&&(h=a,j(a,g),j(a,c),i&&d.$apply())})();i=!0;d.$watch(function(){var a,e,d;for(a in g)k(c[a])&&b.cookies(a,l);for(a in c)e=c[a],f.isString(e)?e!==g[a]&&(b.cookies(a,e),d=!0):f.isDefined(g[a])?c[a]=g[a]:delete c[a];if(d)for(a in e=b.cookies(),c)c[a]!==e[a]&&(k(e[a])?delete c[a]:c[a]=e[a])});return c}]).factory("$cookieStore",
+["$cookies",function(d){return{get:function(b){return(b=d[b])?f.fromJson(b):b},put:function(b,c){d[b]=f.toJson(c)},remove:function(b){delete d[b]}}}])})(window,window.angular);
diff --git a/Blog/umbraco/lib/angular/1.1.5/angular-loader.js b/Blog/umbraco/lib/angular/1.1.5/angular-loader.js
new file mode 100644
index 0000000..4d7184f
--- /dev/null
+++ b/Blog/umbraco/lib/angular/1.1.5/angular-loader.js
@@ -0,0 +1,304 @@
+/**
+ * @license AngularJS v1.1.5
+ * (c) 2010-2012 Google, Inc. http://angularjs.org
+ * License: MIT
+ */
+
+(
+
+/**
+ * @ngdoc interface
+ * @name angular.Module
+ * @description
+ *
+ * Interface for configuring angular {@link angular.module modules}.
+ */
+
+function setupModuleLoader(window) {
+
+ function ensure(obj, name, factory) {
+ return obj[name] || (obj[name] = factory());
+ }
+
+ return ensure(ensure(window, 'angular', Object), 'module', function() {
+ /** @type {Object.} */
+ var modules = {};
+
+ /**
+ * @ngdoc function
+ * @name angular.module
+ * @description
+ *
+ * The `angular.module` is a global place for creating and registering Angular modules. All
+ * modules (angular core or 3rd party) that should be available to an application must be
+ * registered using this mechanism.
+ *
+ *
+ * # Module
+ *
+ * A module is a collocation of services, directives, filters, and configuration information. Module
+ * is used to configure the {@link AUTO.$injector $injector}.
+ *
+ *
+ * // Create a new module
+ * var myModule = angular.module('myModule', []);
+ *
+ * // register a new service
+ * myModule.value('appName', 'MyCoolApp');
+ *
+ * // configure existing services inside initialization blocks.
+ * myModule.config(function($locationProvider) {
+'use strict';
+ * // Configure existing providers
+ * $locationProvider.hashPrefix('!');
+ * });
+ *
+ *
+ * Then you can create an injector and load your modules like this:
+ *
+ *
+ * var injector = angular.injector(['ng', 'MyModule'])
+ *
+ *
+ * However it's more likely that you'll just use
+ * {@link ng.directive:ngApp ngApp} or
+ * {@link angular.bootstrap} to simplify this process for you.
+ *
+ * @param {!string} name The name of the module to create or retrieve.
+ * @param {Array.=} requires If specified then new module is being created. If unspecified then the
+ * the module is being retrieved for further configuration.
+ * @param {Function} configFn Optional configuration function for the module. Same as
+ * {@link angular.Module#config Module#config()}.
+ * @returns {module} new module with the {@link angular.Module} api.
+ */
+ return function module(name, requires, configFn) {
+ if (requires && modules.hasOwnProperty(name)) {
+ modules[name] = null;
+ }
+ return ensure(modules, name, function() {
+ if (!requires) {
+ throw Error('No module: ' + name);
+ }
+
+ /** @type {!Array.>} */
+ var invokeQueue = [];
+
+ /** @type {!Array.} */
+ var runBlocks = [];
+
+ var config = invokeLater('$injector', 'invoke');
+
+ /** @type {angular.Module} */
+ var moduleInstance = {
+ // Private state
+ _invokeQueue: invokeQueue,
+ _runBlocks: runBlocks,
+
+ /**
+ * @ngdoc property
+ * @name angular.Module#requires
+ * @propertyOf angular.Module
+ * @returns {Array.} List of module names which must be loaded before this module.
+ * @description
+ * Holds the list of modules which the injector will load before the current module is loaded.
+ */
+ requires: requires,
+
+ /**
+ * @ngdoc property
+ * @name angular.Module#name
+ * @propertyOf angular.Module
+ * @returns {string} Name of the module.
+ * @description
+ */
+ name: name,
+
+
+ /**
+ * @ngdoc method
+ * @name angular.Module#provider
+ * @methodOf angular.Module
+ * @param {string} name service name
+ * @param {Function} providerType Construction function for creating new instance of the service.
+ * @description
+ * See {@link AUTO.$provide#provider $provide.provider()}.
+ */
+ provider: invokeLater('$provide', 'provider'),
+
+ /**
+ * @ngdoc method
+ * @name angular.Module#factory
+ * @methodOf angular.Module
+ * @param {string} name service name
+ * @param {Function} providerFunction Function for creating new instance of the service.
+ * @description
+ * See {@link AUTO.$provide#factory $provide.factory()}.
+ */
+ factory: invokeLater('$provide', 'factory'),
+
+ /**
+ * @ngdoc method
+ * @name angular.Module#service
+ * @methodOf angular.Module
+ * @param {string} name service name
+ * @param {Function} constructor A constructor function that will be instantiated.
+ * @description
+ * See {@link AUTO.$provide#service $provide.service()}.
+ */
+ service: invokeLater('$provide', 'service'),
+
+ /**
+ * @ngdoc method
+ * @name angular.Module#value
+ * @methodOf angular.Module
+ * @param {string} name service name
+ * @param {*} object Service instance object.
+ * @description
+ * See {@link AUTO.$provide#value $provide.value()}.
+ */
+ value: invokeLater('$provide', 'value'),
+
+ /**
+ * @ngdoc method
+ * @name angular.Module#constant
+ * @methodOf angular.Module
+ * @param {string} name constant name
+ * @param {*} object Constant value.
+ * @description
+ * Because the constant are fixed, they get applied before other provide methods.
+ * See {@link AUTO.$provide#constant $provide.constant()}.
+ */
+ constant: invokeLater('$provide', 'constant', 'unshift'),
+
+ /**
+ * @ngdoc method
+ * @name angular.Module#animation
+ * @methodOf angular.Module
+ * @param {string} name animation name
+ * @param {Function} animationFactory Factory function for creating new instance of an animation.
+ * @description
+ *
+ * Defines an animation hook that can be later used with {@link ng.directive:ngAnimate ngAnimate}
+ * alongside {@link ng.directive:ngAnimate#Description common ng directives} as well as custom directives.
+ *
+ * module.animation('animation-name', function($inject1, $inject2) {
+ * return {
+ * //this gets called in preparation to setup an animation
+ * setup : function(element) { ... },
+ *
+ * //this gets called once the animation is run
+ * start : function(element, done, memo) { ... }
+ * }
+ * })
+ *
+ *
+ * See {@link ng.$animationProvider#register $animationProvider.register()} and
+ * {@link ng.directive:ngAnimate ngAnimate} for more information.
+ */
+ animation: invokeLater('$animationProvider', 'register'),
+
+ /**
+ * @ngdoc method
+ * @name angular.Module#filter
+ * @methodOf angular.Module
+ * @param {string} name Filter name.
+ * @param {Function} filterFactory Factory function for creating new instance of filter.
+ * @description
+ * See {@link ng.$filterProvider#register $filterProvider.register()}.
+ */
+ filter: invokeLater('$filterProvider', 'register'),
+
+ /**
+ * @ngdoc method
+ * @name angular.Module#controller
+ * @methodOf angular.Module
+ * @param {string} name Controller name.
+ * @param {Function} constructor Controller constructor function.
+ * @description
+ * See {@link ng.$controllerProvider#register $controllerProvider.register()}.
+ */
+ controller: invokeLater('$controllerProvider', 'register'),
+
+ /**
+ * @ngdoc method
+ * @name angular.Module#directive
+ * @methodOf angular.Module
+ * @param {string} name directive name
+ * @param {Function} directiveFactory Factory function for creating new instance of
+ * directives.
+ * @description
+ * See {@link ng.$compileProvider#directive $compileProvider.directive()}.
+ */
+ directive: invokeLater('$compileProvider', 'directive'),
+
+ /**
+ * @ngdoc method
+ * @name angular.Module#config
+ * @methodOf angular.Module
+ * @param {Function} configFn Execute this function on module load. Useful for service
+ * configuration.
+ * @description
+ * Use this method to register work which needs to be performed on module loading.
+ */
+ config: config,
+
+ /**
+ * @ngdoc method
+ * @name angular.Module#run
+ * @methodOf angular.Module
+ * @param {Function} initializationFn Execute this function after injector creation.
+ * Useful for application initialization.
+ * @description
+ * Use this method to register work which should be performed when the injector is done
+ * loading all modules.
+ */
+ run: function(block) {
+ runBlocks.push(block);
+ return this;
+ }
+ };
+
+ if (configFn) {
+ config(configFn);
+ }
+
+ return moduleInstance;
+
+ /**
+ * @param {string} provider
+ * @param {string} method
+ * @param {String=} insertMethod
+ * @returns {angular.Module}
+ */
+ function invokeLater(provider, method, insertMethod) {
+ return function() {
+ invokeQueue[insertMethod || 'push']([provider, method, arguments]);
+ return moduleInstance;
+ }
+ }
+ });
+ };
+ });
+
+}
+
+)(window);
+
+/**
+ * Closure compiler type information
+ *
+ * @typedef { {
+ * requires: !Array.,
+ * invokeQueue: !Array.>,
+ *
+ * service: function(string, Function):angular.Module,
+ * factory: function(string, Function):angular.Module,
+ * value: function(string, *):angular.Module,
+ *
+ * filter: function(string, Function):angular.Module,
+ *
+ * init: function(Function):angular.Module
+ * } }
+ */
+angular.Module;
+
diff --git a/Blog/umbraco/lib/angular/1.1.5/angular-loader.min.js b/Blog/umbraco/lib/angular/1.1.5/angular-loader.min.js
new file mode 100644
index 0000000..0c262d4
--- /dev/null
+++ b/Blog/umbraco/lib/angular/1.1.5/angular-loader.min.js
@@ -0,0 +1,7 @@
+/*
+ AngularJS v1.1.5
+ (c) 2010-2012 Google, Inc. http://angularjs.org
+ License: MIT
+*/
+(function(i){'use strict';function d(c,b,e){return c[b]||(c[b]=e())}return d(d(i,"angular",Object),"module",function(){var c={};return function(b,e,f){e&&c.hasOwnProperty(b)&&(c[b]=null);return d(c,b,function(){function a(a,b,d){return function(){c[d||"push"]([a,b,arguments]);return g}}if(!e)throw Error("No module: "+b);var c=[],d=[],h=a("$injector","invoke"),g={_invokeQueue:c,_runBlocks:d,requires:e,name:b,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),
+value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animationProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:h,run:function(a){d.push(a);return this}};f&&h(f);return g})}})})(window);
diff --git a/Blog/umbraco/lib/angular/1.1.5/angular-mobile.js b/Blog/umbraco/lib/angular/1.1.5/angular-mobile.js
new file mode 100644
index 0000000..8cfb20c
--- /dev/null
+++ b/Blog/umbraco/lib/angular/1.1.5/angular-mobile.js
@@ -0,0 +1,462 @@
+/**
+ * @license AngularJS v1.1.5
+ * (c) 2010-2012 Google, Inc. http://angularjs.org
+ * License: MIT
+ */
+(function(window, angular, undefined) {
+'use strict';
+
+/**
+ * @ngdoc overview
+ * @name ngMobile
+ * @description
+ * Touch events and other mobile helpers.
+ * Based on jQuery Mobile touch event handling (jquerymobile.com)
+ */
+
+// define ngMobile module
+var ngMobile = angular.module('ngMobile', []);
+
+/**
+ * @ngdoc directive
+ * @name ngMobile.directive:ngClick
+ *
+ * @description
+ * A more powerful replacement for the default ngClick designed to be used on touchscreen
+ * devices. Most mobile browsers wait about 300ms after a tap-and-release before sending
+ * the click event. This version handles them immediately, and then prevents the
+ * following click event from propagating.
+ *
+ * This directive can fall back to using an ordinary click event, and so works on desktop
+ * browsers as well as mobile.
+ *
+ * This directive also sets the CSS class `ng-click-active` while the element is being held
+ * down (by a mouse click or touch) so you can restyle the depressed element if you wish.
+ *
+ * @element ANY
+ * @param {expression} ngClick {@link guide/expression Expression} to evaluate
+ * upon tap. (Event object is available as `$event`)
+ *
+ * @example
+
+
+
+ count: {{ count }}
+
+
+ */
+
+ngMobile.config(['$provide', function($provide) {
+ $provide.decorator('ngClickDirective', ['$delegate', function($delegate) {
+ // drop the default ngClick directive
+ $delegate.shift();
+ return $delegate;
+ }]);
+}]);
+
+ngMobile.directive('ngClick', ['$parse', '$timeout', '$rootElement',
+ function($parse, $timeout, $rootElement) {
+ var TAP_DURATION = 750; // Shorter than 750ms is a tap, longer is a taphold or drag.
+ var MOVE_TOLERANCE = 12; // 12px seems to work in most mobile browsers.
+ var PREVENT_DURATION = 2500; // 2.5 seconds maximum from preventGhostClick call to click
+ var CLICKBUSTER_THRESHOLD = 25; // 25 pixels in any dimension is the limit for busting clicks.
+
+ var ACTIVE_CLASS_NAME = 'ng-click-active';
+ var lastPreventedTime;
+ var touchCoordinates;
+
+
+ // TAP EVENTS AND GHOST CLICKS
+ //
+ // Why tap events?
+ // Mobile browsers detect a tap, then wait a moment (usually ~300ms) to see if you're
+ // double-tapping, and then fire a click event.
+ //
+ // This delay sucks and makes mobile apps feel unresponsive.
+ // So we detect touchstart, touchmove, touchcancel and touchend ourselves and determine when
+ // the user has tapped on something.
+ //
+ // What happens when the browser then generates a click event?
+ // The browser, of course, also detects the tap and fires a click after a delay. This results in
+ // tapping/clicking twice. So we do "clickbusting" to prevent it.
+ //
+ // How does it work?
+ // We attach global touchstart and click handlers, that run during the capture (early) phase.
+ // So the sequence for a tap is:
+ // - global touchstart: Sets an "allowable region" at the point touched.
+ // - element's touchstart: Starts a touch
+ // (- touchmove or touchcancel ends the touch, no click follows)
+ // - element's touchend: Determines if the tap is valid (didn't move too far away, didn't hold
+ // too long) and fires the user's tap handler. The touchend also calls preventGhostClick().
+ // - preventGhostClick() removes the allowable region the global touchstart created.
+ // - The browser generates a click event.
+ // - The global click handler catches the click, and checks whether it was in an allowable region.
+ // - If preventGhostClick was called, the region will have been removed, the click is busted.
+ // - If the region is still there, the click proceeds normally. Therefore clicks on links and
+ // other elements without ngTap on them work normally.
+ //
+ // This is an ugly, terrible hack!
+ // Yeah, tell me about it. The alternatives are using the slow click events, or making our users
+ // deal with the ghost clicks, so I consider this the least of evils. Fortunately Angular
+ // encapsulates this ugly logic away from the user.
+ //
+ // Why not just put click handlers on the element?
+ // We do that too, just to be sure. The problem is that the tap event might have caused the DOM
+ // to change, so that the click fires in the same position but something else is there now. So
+ // the handlers are global and care only about coordinates and not elements.
+
+ // Checks if the coordinates are close enough to be within the region.
+ function hit(x1, y1, x2, y2) {
+ return Math.abs(x1 - x2) < CLICKBUSTER_THRESHOLD && Math.abs(y1 - y2) < CLICKBUSTER_THRESHOLD;
+ }
+
+ // Checks a list of allowable regions against a click location.
+ // Returns true if the click should be allowed.
+ // Splices out the allowable region from the list after it has been used.
+ function checkAllowableRegions(touchCoordinates, x, y) {
+ for (var i = 0; i < touchCoordinates.length; i += 2) {
+ if (hit(touchCoordinates[i], touchCoordinates[i+1], x, y)) {
+ touchCoordinates.splice(i, i + 2);
+ return true; // allowable region
+ }
+ }
+ return false; // No allowable region; bust it.
+ }
+
+ // Global click handler that prevents the click if it's in a bustable zone and preventGhostClick
+ // was called recently.
+ function onClick(event) {
+ if (Date.now() - lastPreventedTime > PREVENT_DURATION) {
+ return; // Too old.
+ }
+
+ var touches = event.touches && event.touches.length ? event.touches : [event];
+ var x = touches[0].clientX;
+ var y = touches[0].clientY;
+ // Work around desktop Webkit quirk where clicking a label will fire two clicks (on the label
+ // and on the input element). Depending on the exact browser, this second click we don't want
+ // to bust has either (0,0) or negative coordinates.
+ if (x < 1 && y < 1) {
+ return; // offscreen
+ }
+
+ // Look for an allowable region containing this click.
+ // If we find one, that means it was created by touchstart and not removed by
+ // preventGhostClick, so we don't bust it.
+ if (checkAllowableRegions(touchCoordinates, x, y)) {
+ return;
+ }
+
+ // If we didn't find an allowable region, bust the click.
+ event.stopPropagation();
+ event.preventDefault();
+ }
+
+
+ // Global touchstart handler that creates an allowable region for a click event.
+ // This allowable region can be removed by preventGhostClick if we want to bust it.
+ function onTouchStart(event) {
+ var touches = event.touches && event.touches.length ? event.touches : [event];
+ var x = touches[0].clientX;
+ var y = touches[0].clientY;
+ touchCoordinates.push(x, y);
+
+ $timeout(function() {
+ // Remove the allowable region.
+ for (var i = 0; i < touchCoordinates.length; i += 2) {
+ if (touchCoordinates[i] == x && touchCoordinates[i+1] == y) {
+ touchCoordinates.splice(i, i + 2);
+ return;
+ }
+ }
+ }, PREVENT_DURATION, false);
+ }
+
+ // On the first call, attaches some event handlers. Then whenever it gets called, it creates a
+ // zone around the touchstart where clicks will get busted.
+ function preventGhostClick(x, y) {
+ if (!touchCoordinates) {
+ $rootElement[0].addEventListener('click', onClick, true);
+ $rootElement[0].addEventListener('touchstart', onTouchStart, true);
+ touchCoordinates = [];
+ }
+
+ lastPreventedTime = Date.now();
+
+ checkAllowableRegions(touchCoordinates, x, y);
+ }
+
+ // Actual linking function.
+ return function(scope, element, attr) {
+ var clickHandler = $parse(attr.ngClick),
+ tapping = false,
+ tapElement, // Used to blur the element after a tap.
+ startTime, // Used to check if the tap was held too long.
+ touchStartX,
+ touchStartY;
+
+ function resetState() {
+ tapping = false;
+ element.removeClass(ACTIVE_CLASS_NAME);
+ }
+
+ element.bind('touchstart', function(event) {
+ tapping = true;
+ tapElement = event.target ? event.target : event.srcElement; // IE uses srcElement.
+ // Hack for Safari, which can target text nodes instead of containers.
+ if(tapElement.nodeType == 3) {
+ tapElement = tapElement.parentNode;
+ }
+
+ element.addClass(ACTIVE_CLASS_NAME);
+
+ startTime = Date.now();
+
+ var touches = event.touches && event.touches.length ? event.touches : [event];
+ var e = touches[0].originalEvent || touches[0];
+ touchStartX = e.clientX;
+ touchStartY = e.clientY;
+ });
+
+ element.bind('touchmove', function(event) {
+ resetState();
+ });
+
+ element.bind('touchcancel', function(event) {
+ resetState();
+ });
+
+ element.bind('touchend', function(event) {
+ var diff = Date.now() - startTime;
+
+ var touches = (event.changedTouches && event.changedTouches.length) ? event.changedTouches :
+ ((event.touches && event.touches.length) ? event.touches : [event]);
+ var e = touches[0].originalEvent || touches[0];
+ var x = e.clientX;
+ var y = e.clientY;
+ var dist = Math.sqrt( Math.pow(x - touchStartX, 2) + Math.pow(y - touchStartY, 2) );
+
+ if (tapping && diff < TAP_DURATION && dist < MOVE_TOLERANCE) {
+ // Call preventGhostClick so the clickbuster will catch the corresponding click.
+ preventGhostClick(x, y);
+
+ // Blur the focused element (the button, probably) before firing the callback.
+ // This doesn't work perfectly on Android Chrome, but seems to work elsewhere.
+ // I couldn't get anything to work reliably on Android Chrome.
+ if (tapElement) {
+ tapElement.blur();
+ }
+
+ scope.$apply(function() {
+ // TODO(braden): This is sending the touchend, not a tap or click. Is that kosher?
+ clickHandler(scope, {$event: event});
+ });
+ }
+
+ resetState();
+ });
+
+ // Hack for iOS Safari's benefit. It goes searching for onclick handlers and is liable to click
+ // something else nearby.
+ element.onclick = function(event) { };
+
+ // Fallback click handler.
+ // Busted clicks don't get this far, and adding this handler allows ng-tap to be used on
+ // desktop as well, to allow more portable sites.
+ element.bind('click', function(event) {
+ scope.$apply(function() {
+ clickHandler(scope, {$event: event});
+ });
+ });
+
+/*
+ element.bind('mousedown', function(event) {
+ element.addClass(ACTIVE_CLASS_NAME);
+ });
+
+ element.bind('mousemove mouseup', function(event) {
+ element.removeClass(ACTIVE_CLASS_NAME);
+ });
+*/
+
+ };
+}]);
+
+/**
+ * @ngdoc directive
+ * @name ngMobile.directive:ngSwipeLeft
+ *
+ * @description
+ * Specify custom behavior when an element is swiped to the left on a touchscreen device.
+ * A leftward swipe is a quick, right-to-left slide of the finger.
+ * Though ngSwipeLeft is designed for touch-based devices, it will work with a mouse click and drag too.
+ *
+ * @element ANY
+ * @param {expression} ngSwipeLeft {@link guide/expression Expression} to evaluate
+ * upon left swipe. (Event object is available as `$event`)
+ *
+ * @example
+
+
+
+ Some list content, like an email in the inbox
+
+
+
+
+
+
+
+ */
+
+/**
+ * @ngdoc directive
+ * @name ngMobile.directive:ngSwipeRight
+ *
+ * @description
+ * Specify custom behavior when an element is swiped to the right on a touchscreen device.
+ * A rightward swipe is a quick, left-to-right slide of the finger.
+ * Though ngSwipeRight is designed for touch-based devices, it will work with a mouse click and drag too.
+ *
+ * @element ANY
+ * @param {expression} ngSwipeRight {@link guide/expression Expression} to evaluate
+ * upon right swipe. (Event object is available as `$event`)
+ *
+ * @example
+
+
+
+ Some list content, like an email in the inbox
+
+
+
+
+
+
+
+ */
+
+function makeSwipeDirective(directiveName, direction) {
+ ngMobile.directive(directiveName, ['$parse', function($parse) {
+ // The maximum vertical delta for a swipe should be less than 75px.
+ var MAX_VERTICAL_DISTANCE = 75;
+ // Vertical distance should not be more than a fraction of the horizontal distance.
+ var MAX_VERTICAL_RATIO = 0.3;
+ // At least a 30px lateral motion is necessary for a swipe.
+ var MIN_HORIZONTAL_DISTANCE = 30;
+ // The total distance in any direction before we make the call on swipe vs. scroll.
+ var MOVE_BUFFER_RADIUS = 10;
+
+ function getCoordinates(event) {
+ var touches = event.touches && event.touches.length ? event.touches : [event];
+ var e = (event.changedTouches && event.changedTouches[0]) ||
+ (event.originalEvent && event.originalEvent.changedTouches &&
+ event.originalEvent.changedTouches[0]) ||
+ touches[0].originalEvent || touches[0];
+
+ return {
+ x: e.clientX,
+ y: e.clientY
+ };
+ }
+
+ return function(scope, element, attr) {
+ var swipeHandler = $parse(attr[directiveName]);
+ var startCoords, valid;
+ var totalX, totalY;
+ var lastX, lastY;
+
+ function validSwipe(event) {
+ // Check that it's within the coordinates.
+ // Absolute vertical distance must be within tolerances.
+ // Horizontal distance, we take the current X - the starting X.
+ // This is negative for leftward swipes and positive for rightward swipes.
+ // After multiplying by the direction (-1 for left, +1 for right), legal swipes
+ // (ie. same direction as the directive wants) will have a positive delta and
+ // illegal ones a negative delta.
+ // Therefore this delta must be positive, and larger than the minimum.
+ if (!startCoords) return false;
+ var coords = getCoordinates(event);
+ var deltaY = Math.abs(coords.y - startCoords.y);
+ var deltaX = (coords.x - startCoords.x) * direction;
+ return valid && // Short circuit for already-invalidated swipes.
+ deltaY < MAX_VERTICAL_DISTANCE &&
+ deltaX > 0 &&
+ deltaX > MIN_HORIZONTAL_DISTANCE &&
+ deltaY / deltaX < MAX_VERTICAL_RATIO;
+ }
+
+ element.bind('touchstart mousedown', function(event) {
+ startCoords = getCoordinates(event);
+ valid = true;
+ totalX = 0;
+ totalY = 0;
+ lastX = startCoords.x;
+ lastY = startCoords.y;
+ });
+
+ element.bind('touchcancel', function(event) {
+ valid = false;
+ });
+
+ element.bind('touchmove mousemove', function(event) {
+ if (!valid) return;
+
+ // Android will send a touchcancel if it thinks we're starting to scroll.
+ // So when the total distance (+ or - or both) exceeds 10px in either direction,
+ // we either:
+ // - On totalX > totalY, we send preventDefault() and treat this as a swipe.
+ // - On totalY > totalX, we let the browser handle it as a scroll.
+
+ // Invalidate a touch while it's in progress if it strays too far away vertically.
+ // We don't want a scroll down and back up while drifting sideways to be a swipe just
+ // because you happened to end up vertically close in the end.
+ if (!startCoords) return;
+ var coords = getCoordinates(event);
+
+ if (Math.abs(coords.y - startCoords.y) > MAX_VERTICAL_DISTANCE) {
+ valid = false;
+ return;
+ }
+
+ totalX += Math.abs(coords.x - lastX);
+ totalY += Math.abs(coords.y - lastY);
+
+ lastX = coords.x;
+ lastY = coords.y;
+
+ if (totalX < MOVE_BUFFER_RADIUS && totalY < MOVE_BUFFER_RADIUS) {
+ return;
+ }
+
+ // One of totalX or totalY has exceeded the buffer, so decide on swipe vs. scroll.
+ if (totalY > totalX) {
+ valid = false;
+ return;
+ } else {
+ event.preventDefault();
+ }
+ });
+
+ element.bind('touchend mouseup', function(event) {
+ if (validSwipe(event)) {
+ // Prevent this swipe from bubbling up to any other elements with ngSwipes.
+ event.stopPropagation();
+ scope.$apply(function() {
+ swipeHandler(scope, {$event:event});
+ });
+ }
+ });
+ };
+ }]);
+}
+
+// Left is negative X-coordinate, right is positive.
+makeSwipeDirective('ngSwipeLeft', -1);
+makeSwipeDirective('ngSwipeRight', 1);
+
+
+
+})(window, window.angular);
diff --git a/Blog/umbraco/lib/angular/1.1.5/angular-mobile.min.js b/Blog/umbraco/lib/angular/1.1.5/angular-mobile.min.js
new file mode 100644
index 0000000..bc777ea
--- /dev/null
+++ b/Blog/umbraco/lib/angular/1.1.5/angular-mobile.min.js
@@ -0,0 +1,11 @@
+/*
+ AngularJS v1.1.5
+ (c) 2010-2012 Google, Inc. http://angularjs.org
+ License: MIT
+*/
+(function(u,s){'use strict';function k(i,t){j.directive(i,["$parse",function(l){function g(b){var h=b.touches&&b.touches.length?b.touches:[b],b=b.changedTouches&&b.changedTouches[0]||b.originalEvent&&b.originalEvent.changedTouches&&b.originalEvent.changedTouches[0]||h[0].originalEvent||h[0];return{x:b.clientX,y:b.clientY}}var m=75,j=0.3,p=30;return function(b,h,n){function o(e){if(!a)return!1;var b=g(e),e=Math.abs(b.y-a.y),b=(b.x-a.x)*t;return c&&e0&&b>p&&e/bm?c=!1:(f+=Math.abs(d.x-q),e+=Math.abs(d.y-r),q=d.x,r=d.y,f<10&&e<10||(e>f?c=!1:b.preventDefault()))}});h.bind("touchend mouseup",function(a){o(a)&&(a.stopPropagation(),b.$apply(function(){d(b,{$event:a})}))})}}])}var j=s.module("ngMobile",[]);j.config(["$provide",function(i){i.decorator("ngClickDirective",["$delegate",function(i){i.shift();
+return i}])}]);j.directive("ngClick",["$parse","$timeout","$rootElement",function(i,j,l){function g(a,c,b){for(var e=0;eb)){var c=a.touches&&a.touches.length?a.touches:[a],f=c[0].clientX,c=c[0].clientY;!(f<1&&c<1)&&!g(d,f,c)&&(a.stopPropagation(),a.preventDefault())}}function k(a){var a=a.touches&&a.touches.length?a.touches:[a],c=a[0].clientX,f=a[0].clientY;d.push(c,f);j(function(){for(var a=
+0;a
+ * describe('$exceptionHandlerProvider', function() {
+ *
+ * it('should capture log messages and exceptions', function() {
+ *
+ * module(function($exceptionHandlerProvider) {
+ * $exceptionHandlerProvider.mode('log');
+ * });
+ *
+ * inject(function($log, $exceptionHandler, $timeout) {
+ * $timeout(function() { $log.log(1); });
+ * $timeout(function() { $log.log(2); throw 'banana peel'; });
+ * $timeout(function() { $log.log(3); });
+ * expect($exceptionHandler.errors).toEqual([]);
+ * expect($log.assertEmpty());
+ * $timeout.flush();
+ * expect($exceptionHandler.errors).toEqual(['banana peel']);
+ * expect($log.log.logs).toEqual([[1], [2], [3]]);
+ * });
+ * });
+ * });
+ *
+ */
+
+angular.mock.$ExceptionHandlerProvider = function() {
+ var handler;
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$exceptionHandlerProvider#mode
+ * @methodOf ngMock.$exceptionHandlerProvider
+ *
+ * @description
+ * Sets the logging mode.
+ *
+ * @param {string} mode Mode of operation, defaults to `rethrow`.
+ *
+ * - `rethrow`: If any errors are passed into the handler in tests, it typically
+ * means that there is a bug in the application or test, so this mock will
+ * make these tests fail.
+ * - `log`: Sometimes it is desirable to test that an error is thrown, for this case the `log` mode stores an
+ * array of errors in `$exceptionHandler.errors`, to allow later assertion of them.
+ * See {@link ngMock.$log#assertEmpty assertEmpty()} and
+ * {@link ngMock.$log#reset reset()}
+ */
+ this.mode = function(mode) {
+ switch(mode) {
+ case 'rethrow':
+ handler = function(e) {
+ throw e;
+ };
+ break;
+ case 'log':
+ var errors = [];
+
+ handler = function(e) {
+ if (arguments.length == 1) {
+ errors.push(e);
+ } else {
+ errors.push([].slice.call(arguments, 0));
+ }
+ };
+
+ handler.errors = errors;
+ break;
+ default:
+ throw Error("Unknown mode '" + mode + "', only 'log'/'rethrow' modes are allowed!");
+ }
+ };
+
+ this.$get = function() {
+ return handler;
+ };
+
+ this.mode('rethrow');
+};
+
+
+/**
+ * @ngdoc service
+ * @name ngMock.$log
+ *
+ * @description
+ * Mock implementation of {@link ng.$log} that gathers all logged messages in arrays
+ * (one array per logging level). These arrays are exposed as `logs` property of each of the
+ * level-specific log function, e.g. for level `error` the array is exposed as `$log.error.logs`.
+ *
+ */
+angular.mock.$LogProvider = function() {
+
+ function concat(array1, array2, index) {
+ return array1.concat(Array.prototype.slice.call(array2, index));
+ }
+
+
+ this.$get = function () {
+ var $log = {
+ log: function() { $log.log.logs.push(concat([], arguments, 0)); },
+ warn: function() { $log.warn.logs.push(concat([], arguments, 0)); },
+ info: function() { $log.info.logs.push(concat([], arguments, 0)); },
+ error: function() { $log.error.logs.push(concat([], arguments, 0)); }
+ };
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$log#reset
+ * @methodOf ngMock.$log
+ *
+ * @description
+ * Reset all of the logging arrays to empty.
+ */
+ $log.reset = function () {
+ /**
+ * @ngdoc property
+ * @name ngMock.$log#log.logs
+ * @propertyOf ngMock.$log
+ *
+ * @description
+ * Array of messages logged using {@link ngMock.$log#log}.
+ *
+ * @example
+ *
+ * $log.log('Some Log');
+ * var first = $log.log.logs.unshift();
+ *
+ * $log.log('Some Error');
+ * var first = $log.error.logs.unshift();
+ *
+ */
+ $log.error.logs = [];
+ };
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$log#assertEmpty
+ * @methodOf ngMock.$log
+ *
+ * @description
+ * Assert that the all of the logging methods have no logged messages. If messages present, an exception is thrown.
+ */
+ $log.assertEmpty = function() {
+ var errors = [];
+ angular.forEach(['error', 'warn', 'info', 'log'], function(logLevel) {
+ angular.forEach($log[logLevel].logs, function(log) {
+ angular.forEach(log, function (logItem) {
+ errors.push('MOCK $log (' + logLevel + '): ' + String(logItem) + '\n' + (logItem.stack || ''));
+ });
+ });
+ });
+ if (errors.length) {
+ errors.unshift("Expected $log to be empty! Either a message was logged unexpectedly, or an expected " +
+ "log message was not checked and removed:");
+ errors.push('');
+ throw new Error(errors.join('\n---------\n'));
+ }
+ };
+
+ $log.reset();
+ return $log;
+ };
+};
+
+
+(function() {
+ var R_ISO8061_STR = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?:\:?(\d\d)(?:\:?(\d\d)(?:\.(\d{3}))?)?)?(Z|([+-])(\d\d):?(\d\d)))?$/;
+
+ function jsonStringToDate(string){
+ var match;
+ if (match = string.match(R_ISO8061_STR)) {
+ var date = new Date(0),
+ tzHour = 0,
+ tzMin = 0;
+ if (match[9]) {
+ tzHour = int(match[9] + match[10]);
+ tzMin = int(match[9] + match[11]);
+ }
+ date.setUTCFullYear(int(match[1]), int(match[2]) - 1, int(match[3]));
+ date.setUTCHours(int(match[4]||0) - tzHour, int(match[5]||0) - tzMin, int(match[6]||0), int(match[7]||0));
+ return date;
+ }
+ return string;
+ }
+
+ function int(str) {
+ return parseInt(str, 10);
+ }
+
+ function padNumber(num, digits, trim) {
+ var neg = '';
+ if (num < 0) {
+ neg = '-';
+ num = -num;
+ }
+ num = '' + num;
+ while(num.length < digits) num = '0' + num;
+ if (trim)
+ num = num.substr(num.length - digits);
+ return neg + num;
+ }
+
+
+ /**
+ * @ngdoc object
+ * @name angular.mock.TzDate
+ * @description
+ *
+ * *NOTE*: this is not an injectable instance, just a globally available mock class of `Date`.
+ *
+ * Mock of the Date type which has its timezone specified via constructor arg.
+ *
+ * The main purpose is to create Date-like instances with timezone fixed to the specified timezone
+ * offset, so that we can test code that depends on local timezone settings without dependency on
+ * the time zone settings of the machine where the code is running.
+ *
+ * @param {number} offset Offset of the *desired* timezone in hours (fractions will be honored)
+ * @param {(number|string)} timestamp Timestamp representing the desired time in *UTC*
+ *
+ * @example
+ * !!!! WARNING !!!!!
+ * This is not a complete Date object so only methods that were implemented can be called safely.
+ * To make matters worse, TzDate instances inherit stuff from Date via a prototype.
+ *
+ * We do our best to intercept calls to "unimplemented" methods, but since the list of methods is
+ * incomplete we might be missing some non-standard methods. This can result in errors like:
+ * "Date.prototype.foo called on incompatible Object".
+ *
+ *
+ beforeEach(module(function($provide) {
+ $provide.value('$window', window = angular.mock.createMockWindow());
+ }));
+
+ it('should do something', inject(function($window) {
+ var val = null;
+ $window.setTimeout(function() { val = 123; }, 10);
+ expect(val).toEqual(null);
+ window.setTimeout.expect(10).process();
+ expect(val).toEqual(123);
+ });
+ *
+ *
+ */
+angular.mock.createMockWindow = function() {
+ var mockWindow = {};
+ var setTimeoutQueue = [];
+
+ mockWindow.document = window.document;
+ mockWindow.getComputedStyle = angular.bind(window, window.getComputedStyle);
+ mockWindow.scrollTo = angular.bind(window, window.scrollTo);
+ mockWindow.navigator = window.navigator;
+ mockWindow.setTimeout = function(fn, delay) {
+ setTimeoutQueue.push({fn: fn, delay: delay});
+ };
+ mockWindow.setTimeout.queue = setTimeoutQueue;
+ mockWindow.setTimeout.expect = function(delay) {
+ if (setTimeoutQueue.length > 0) {
+ return {
+ process: function() {
+ var tick = setTimeoutQueue.shift();
+ expect(tick.delay).toEqual(delay);
+ tick.fn();
+ }
+ };
+ } else {
+ expect('SetTimoutQueue empty. Expecting delay of ').toEqual(delay);
+ }
+ };
+
+ return mockWindow;
+};
+
+/**
+ * @ngdoc function
+ * @name angular.mock.dump
+ * @description
+ *
+ * *NOTE*: this is not an injectable instance, just a globally available function.
+ *
+ * Method for serializing common angular objects (scope, elements, etc..) into strings, useful for debugging.
+ *
+ * This method is also available on window, where it can be used to display objects on debug console.
+ *
+ * @param {*} object - any object to turn into string.
+ * @return {string} a serialized string of the argument
+ */
+angular.mock.dump = function(object) {
+ return serialize(object);
+
+ function serialize(object) {
+ var out;
+
+ if (angular.isElement(object)) {
+ object = angular.element(object);
+ out = angular.element('');
+ angular.forEach(object, function(element) {
+ out.append(angular.element(element).clone());
+ });
+ out = out.html();
+ } else if (angular.isArray(object)) {
+ out = [];
+ angular.forEach(object, function(o) {
+ out.push(serialize(o));
+ });
+ out = '[ ' + out.join(', ') + ' ]';
+ } else if (angular.isObject(object)) {
+ if (angular.isFunction(object.$eval) && angular.isFunction(object.$apply)) {
+ out = serializeScope(object);
+ } else if (object instanceof Error) {
+ out = object.stack || ('' + object.name + ': ' + object.message);
+ } else {
+ out = angular.toJson(object, true);
+ }
+ } else {
+ out = String(object);
+ }
+
+ return out;
+ }
+
+ function serializeScope(scope, offset) {
+ offset = offset || ' ';
+ var log = [offset + 'Scope(' + scope.$id + '): {'];
+ for ( var key in scope ) {
+ if (scope.hasOwnProperty(key) && !key.match(/^(\$|this)/)) {
+ log.push(' ' + key + ': ' + angular.toJson(scope[key]));
+ }
+ }
+ var child = scope.$$childHead;
+ while(child) {
+ log.push(serializeScope(child, offset + ' '));
+ child = child.$$nextSibling;
+ }
+ log.push('}');
+ return log.join('\n' + offset);
+ }
+};
+
+/**
+ * @ngdoc object
+ * @name ngMock.$httpBackend
+ * @description
+ * Fake HTTP backend implementation suitable for unit testing applications that use the
+ * {@link ng.$http $http service}.
+ *
+ * *Note*: For fake HTTP backend implementation suitable for end-to-end testing or backend-less
+ * development please see {@link ngMockE2E.$httpBackend e2e $httpBackend mock}.
+ *
+ * During unit testing, we want our unit tests to run quickly and have no external dependencies so
+ * we don’t want to send {@link https://developer.mozilla.org/en/xmlhttprequest XHR} or
+ * {@link http://en.wikipedia.org/wiki/JSONP JSONP} requests to a real server. All we really need is
+ * to verify whether a certain request has been sent or not, or alternatively just let the
+ * application make requests, respond with pre-trained responses and assert that the end result is
+ * what we expect it to be.
+ *
+ * This mock implementation can be used to respond with static or dynamic responses via the
+ * `expect` and `when` apis and their shortcuts (`expectGET`, `whenPOST`, etc).
+ *
+ * When an Angular application needs some data from a server, it calls the $http service, which
+ * sends the request to a real server using $httpBackend service. With dependency injection, it is
+ * easy to inject $httpBackend mock (which has the same API as $httpBackend) and use it to verify
+ * the requests and respond with some testing data without sending a request to real server.
+ *
+ * There are two ways to specify what test data should be returned as http responses by the mock
+ * backend when the code under test makes http requests:
+ *
+ * - `$httpBackend.expect` - specifies a request expectation
+ * - `$httpBackend.when` - specifies a backend definition
+ *
+ *
+ * # Request Expectations vs Backend Definitions
+ *
+ * Request expectations provide a way to make assertions about requests made by the application and
+ * to define responses for those requests. The test will fail if the expected requests are not made
+ * or they are made in the wrong order.
+ *
+ * Backend definitions allow you to define a fake backend for your application which doesn't assert
+ * if a particular request was made or not, it just returns a trained response if a request is made.
+ * The test will pass whether or not the request gets made during testing.
+ *
+ *
+ *
+ *
Request expectations
Backend definitions
+ *
+ *
Syntax
+ *
.expect(...).respond(...)
+ *
.when(...).respond(...)
+ *
+ *
+ *
Typical usage
+ *
strict unit tests
+ *
loose (black-box) unit testing
+ *
+ *
+ *
Fulfills multiple requests
+ *
NO
+ *
YES
+ *
+ *
+ *
Order of requests matters
+ *
YES
+ *
NO
+ *
+ *
+ *
Request required
+ *
YES
+ *
NO
+ *
+ *
+ *
Response required
+ *
optional (see below)
+ *
YES
+ *
+ *
+ *
+ * In cases where both backend definitions and request expectations are specified during unit
+ * testing, the request expectations are evaluated first.
+ *
+ * If a request expectation has no response specified, the algorithm will search your backend
+ * definitions for an appropriate response.
+ *
+ * If a request didn't match any expectation or if the expectation doesn't have the response
+ * defined, the backend definitions are evaluated in sequential order to see if any of them match
+ * the request. The response from the first matched definition is returned.
+ *
+ *
+ * # Flushing HTTP requests
+ *
+ * The $httpBackend used in production, always responds to requests with responses asynchronously.
+ * If we preserved this behavior in unit testing, we'd have to create async unit tests, which are
+ * hard to write, follow and maintain. At the same time the testing mock, can't respond
+ * synchronously because that would change the execution of the code under test. For this reason the
+ * mock $httpBackend has a `flush()` method, which allows the test to explicitly flush pending
+ * requests and thus preserving the async api of the backend, while allowing the test to execute
+ * synchronously.
+ *
+ *
+ * # Unit testing with mock $httpBackend
+ *
+ *
+ // controller
+ function MyController($scope, $http) {
+ $http.get('/auth.py').success(function(data) {
+ $scope.user = data;
+ });
+
+ this.saveMessage = function(message) {
+ $scope.status = 'Saving...';
+ $http.post('/add-msg.py', message).success(function(response) {
+ $scope.status = '';
+ }).error(function() {
+ $scope.status = 'ERROR!';
+ });
+ };
+ }
+
+ // testing controller
+ var $httpBackend;
+
+ beforeEach(inject(function($injector) {
+ $httpBackend = $injector.get('$httpBackend');
+
+ // backend definition common for all tests
+ $httpBackend.when('GET', '/auth.py').respond({userId: 'userX'}, {'A-Token': 'xxx'});
+ }));
+
+
+ afterEach(function() {
+ $httpBackend.verifyNoOutstandingExpectation();
+ $httpBackend.verifyNoOutstandingRequest();
+ });
+
+
+ it('should fetch authentication token', function() {
+ $httpBackend.expectGET('/auth.py');
+ var controller = scope.$new(MyController);
+ $httpBackend.flush();
+ });
+
+
+ it('should send msg to server', function() {
+ // now you don’t care about the authentication, but
+ // the controller will still send the request and
+ // $httpBackend will respond without you having to
+ // specify the expectation and response for this request
+ $httpBackend.expectPOST('/add-msg.py', 'message content').respond(201, '');
+
+ var controller = scope.$new(MyController);
+ $httpBackend.flush();
+ controller.saveMessage('message content');
+ expect(controller.status).toBe('Saving...');
+ $httpBackend.flush();
+ expect(controller.status).toBe('');
+ });
+
+
+ it('should send auth header', function() {
+ $httpBackend.expectPOST('/add-msg.py', undefined, function(headers) {
+ // check if the header was send, if it wasn't the expectation won't
+ // match the request and the test will fail
+ return headers['Authorization'] == 'xxx';
+ }).respond(201, '');
+
+ var controller = scope.$new(MyController);
+ controller.saveMessage('whatever');
+ $httpBackend.flush();
+ });
+
+ */
+angular.mock.$HttpBackendProvider = function() {
+ this.$get = ['$rootScope', createHttpBackendMock];
+};
+
+/**
+ * General factory function for $httpBackend mock.
+ * Returns instance for unit testing (when no arguments specified):
+ * - passing through is disabled
+ * - auto flushing is disabled
+ *
+ * Returns instance for e2e testing (when `$delegate` and `$browser` specified):
+ * - passing through (delegating request to real backend) is enabled
+ * - auto flushing is enabled
+ *
+ * @param {Object=} $delegate Real $httpBackend instance (allow passing through if specified)
+ * @param {Object=} $browser Auto-flushing enabled if specified
+ * @return {Object} Instance of $httpBackend mock
+ */
+function createHttpBackendMock($rootScope, $delegate, $browser) {
+ var definitions = [],
+ expectations = [],
+ responses = [],
+ responsesPush = angular.bind(responses, responses.push);
+
+ function createResponse(status, data, headers) {
+ if (angular.isFunction(status)) return status;
+
+ return function() {
+ return angular.isNumber(status)
+ ? [status, data, headers]
+ : [200, status, data];
+ };
+ }
+
+ // TODO(vojta): change params to: method, url, data, headers, callback
+ function $httpBackend(method, url, data, callback, headers, timeout) {
+ var xhr = new MockXhr(),
+ expectation = expectations[0],
+ wasExpected = false;
+
+ function prettyPrint(data) {
+ return (angular.isString(data) || angular.isFunction(data) || data instanceof RegExp)
+ ? data
+ : angular.toJson(data);
+ }
+
+ function wrapResponse(wrapped) {
+ if (!$browser && timeout && timeout.then) timeout.then(handleTimeout);
+
+ return handleResponse;
+
+ function handleResponse() {
+ var response = wrapped.response(method, url, data, headers);
+ xhr.$$respHeaders = response[2];
+ callback(response[0], response[1], xhr.getAllResponseHeaders());
+ }
+
+ function handleTimeout() {
+ for (var i = 0, ii = responses.length; i < ii; i++) {
+ if (responses[i] === handleResponse) {
+ responses.splice(i, 1);
+ callback(-1, undefined, '');
+ break;
+ }
+ }
+ }
+ }
+
+ if (expectation && expectation.match(method, url)) {
+ if (!expectation.matchData(data))
+ throw Error('Expected ' + expectation + ' with different data\n' +
+ 'EXPECTED: ' + prettyPrint(expectation.data) + '\nGOT: ' + data);
+
+ if (!expectation.matchHeaders(headers))
+ throw Error('Expected ' + expectation + ' with different headers\n' +
+ 'EXPECTED: ' + prettyPrint(expectation.headers) + '\nGOT: ' +
+ prettyPrint(headers));
+
+ expectations.shift();
+
+ if (expectation.response) {
+ responses.push(wrapResponse(expectation));
+ return;
+ }
+ wasExpected = true;
+ }
+
+ var i = -1, definition;
+ while ((definition = definitions[++i])) {
+ if (definition.match(method, url, data, headers || {})) {
+ if (definition.response) {
+ // if $browser specified, we do auto flush all requests
+ ($browser ? $browser.defer : responsesPush)(wrapResponse(definition));
+ } else if (definition.passThrough) {
+ $delegate(method, url, data, callback, headers, timeout);
+ } else throw Error('No response defined !');
+ return;
+ }
+ }
+ throw wasExpected ?
+ Error('No response defined !') :
+ Error('Unexpected request: ' + method + ' ' + url + '\n' +
+ (expectation ? 'Expected ' + expectation : 'No more request expected'));
+ }
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#when
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition.
+ *
+ * @param {string} method HTTP method.
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers or function that receives http header
+ * object and returns true if the headers match the current definition.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ *
+ * - respond – `{function([status,] data[, headers])|function(function(method, url, data, headers)}`
+ * – The respond method takes a set of static data to be returned or a function that can return
+ * an array containing response status (number), response data (string) and response headers
+ * (Object).
+ */
+ $httpBackend.when = function(method, url, data, headers) {
+ var definition = new MockHttpExpectation(method, url, data, headers),
+ chain = {
+ respond: function(status, data, headers) {
+ definition.response = createResponse(status, data, headers);
+ }
+ };
+
+ if ($browser) {
+ chain.passThrough = function() {
+ definition.passThrough = true;
+ };
+ }
+
+ definitions.push(definition);
+ return chain;
+ };
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenGET
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for GET requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenHEAD
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for HEAD requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenDELETE
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for DELETE requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenPOST
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for POST requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenPUT
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for PUT requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#whenJSONP
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new backend definition for JSONP requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+ createShortMethods('when');
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expect
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation.
+ *
+ * @param {string} method HTTP method.
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers or function that receives http header
+ * object and returns true if the headers match the current expectation.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ *
+ * - respond – `{function([status,] data[, headers])|function(function(method, url, data, headers)}`
+ * – The respond method takes a set of static data to be returned or a function that can return
+ * an array containing response status (number), response data (string) and response headers
+ * (Object).
+ */
+ $httpBackend.expect = function(method, url, data, headers) {
+ var expectation = new MockHttpExpectation(method, url, data, headers);
+ expectations.push(expectation);
+ return {
+ respond: function(status, data, headers) {
+ expectation.response = createResponse(status, data, headers);
+ }
+ };
+ };
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectGET
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for GET requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled. See #expect for more info.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectHEAD
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for HEAD requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectDELETE
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for DELETE requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectPOST
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for POST requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectPUT
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for PUT requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectPATCH
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for PATCH requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {Object=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#expectJSONP
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Creates a new request expectation for JSONP requests. For more info see `expect()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @returns {requestHandler} Returns an object with `respond` method that control how a matched
+ * request is handled.
+ */
+ createShortMethods('expect');
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#flush
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Flushes all pending requests using the trained responses.
+ *
+ * @param {number=} count Number of responses to flush (in the order they arrived). If undefined,
+ * all pending requests will be flushed. If there are no pending requests when the flush method
+ * is called an exception is thrown (as this typically a sign of programming error).
+ */
+ $httpBackend.flush = function(count) {
+ $rootScope.$digest();
+ if (!responses.length) throw Error('No pending request to flush !');
+
+ if (angular.isDefined(count)) {
+ while (count--) {
+ if (!responses.length) throw Error('No more pending request to flush !');
+ responses.shift()();
+ }
+ } else {
+ while (responses.length) {
+ responses.shift()();
+ }
+ }
+ $httpBackend.verifyNoOutstandingExpectation();
+ };
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#verifyNoOutstandingExpectation
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Verifies that all of the requests defined via the `expect` api were made. If any of the
+ * requests were not made, verifyNoOutstandingExpectation throws an exception.
+ *
+ * Typically, you would call this method following each test case that asserts requests using an
+ * "afterEach" clause.
+ *
+ *
+ */
+ $httpBackend.verifyNoOutstandingExpectation = function() {
+ $rootScope.$digest();
+ if (expectations.length) {
+ throw Error('Unsatisfied requests: ' + expectations.join(', '));
+ }
+ };
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#verifyNoOutstandingRequest
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Verifies that there are no outstanding requests that need to be flushed.
+ *
+ * Typically, you would call this method following each test case that asserts requests using an
+ * "afterEach" clause.
+ *
+ *
+ */
+ $httpBackend.verifyNoOutstandingRequest = function() {
+ if (responses.length) {
+ throw Error('Unflushed requests: ' + responses.length);
+ }
+ };
+
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$httpBackend#resetExpectations
+ * @methodOf ngMock.$httpBackend
+ * @description
+ * Resets all request expectations, but preserves all backend definitions. Typically, you would
+ * call resetExpectations during a multiple-phase test when you want to reuse the same instance of
+ * $httpBackend mock.
+ */
+ $httpBackend.resetExpectations = function() {
+ expectations.length = 0;
+ responses.length = 0;
+ };
+
+ return $httpBackend;
+
+
+ function createShortMethods(prefix) {
+ angular.forEach(['GET', 'DELETE', 'JSONP'], function(method) {
+ $httpBackend[prefix + method] = function(url, headers) {
+ return $httpBackend[prefix](method, url, undefined, headers)
+ }
+ });
+
+ angular.forEach(['PUT', 'POST', 'PATCH'], function(method) {
+ $httpBackend[prefix + method] = function(url, data, headers) {
+ return $httpBackend[prefix](method, url, data, headers)
+ }
+ });
+ }
+}
+
+function MockHttpExpectation(method, url, data, headers) {
+
+ this.data = data;
+ this.headers = headers;
+
+ this.match = function(m, u, d, h) {
+ if (method != m) return false;
+ if (!this.matchUrl(u)) return false;
+ if (angular.isDefined(d) && !this.matchData(d)) return false;
+ if (angular.isDefined(h) && !this.matchHeaders(h)) return false;
+ return true;
+ };
+
+ this.matchUrl = function(u) {
+ if (!url) return true;
+ if (angular.isFunction(url.test)) return url.test(u);
+ return url == u;
+ };
+
+ this.matchHeaders = function(h) {
+ if (angular.isUndefined(headers)) return true;
+ if (angular.isFunction(headers)) return headers(h);
+ return angular.equals(headers, h);
+ };
+
+ this.matchData = function(d) {
+ if (angular.isUndefined(data)) return true;
+ if (data && angular.isFunction(data.test)) return data.test(d);
+ if (data && !angular.isString(data)) return angular.toJson(data) == d;
+ return data == d;
+ };
+
+ this.toString = function() {
+ return method + ' ' + url;
+ };
+}
+
+function MockXhr() {
+
+ // hack for testing $http, $httpBackend
+ MockXhr.$$lastInstance = this;
+
+ this.open = function(method, url, async) {
+ this.$$method = method;
+ this.$$url = url;
+ this.$$async = async;
+ this.$$reqHeaders = {};
+ this.$$respHeaders = {};
+ };
+
+ this.send = function(data) {
+ this.$$data = data;
+ };
+
+ this.setRequestHeader = function(key, value) {
+ this.$$reqHeaders[key] = value;
+ };
+
+ this.getResponseHeader = function(name) {
+ // the lookup must be case insensitive, that's why we try two quick lookups and full scan at last
+ var header = this.$$respHeaders[name];
+ if (header) return header;
+
+ name = angular.lowercase(name);
+ header = this.$$respHeaders[name];
+ if (header) return header;
+
+ header = undefined;
+ angular.forEach(this.$$respHeaders, function(headerVal, headerName) {
+ if (!header && angular.lowercase(headerName) == name) header = headerVal;
+ });
+ return header;
+ };
+
+ this.getAllResponseHeaders = function() {
+ var lines = [];
+
+ angular.forEach(this.$$respHeaders, function(value, key) {
+ lines.push(key + ': ' + value);
+ });
+ return lines.join('\n');
+ };
+
+ this.abort = angular.noop;
+}
+
+
+/**
+ * @ngdoc function
+ * @name ngMock.$timeout
+ * @description
+ *
+ * This service is just a simple decorator for {@link ng.$timeout $timeout} service
+ * that adds a "flush" and "verifyNoPendingTasks" methods.
+ */
+
+angular.mock.$TimeoutDecorator = function($delegate, $browser) {
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$timeout#flush
+ * @methodOf ngMock.$timeout
+ * @description
+ *
+ * Flushes the queue of pending tasks.
+ */
+ $delegate.flush = function() {
+ $browser.defer.flush();
+ };
+
+ /**
+ * @ngdoc method
+ * @name ngMock.$timeout#verifyNoPendingTasks
+ * @methodOf ngMock.$timeout
+ * @description
+ *
+ * Verifies that there are no pending tasks that need to be flushed.
+ */
+ $delegate.verifyNoPendingTasks = function() {
+ if ($browser.deferredFns.length) {
+ throw Error('Deferred tasks to flush (' + $browser.deferredFns.length + '): ' +
+ formatPendingTasksAsString($browser.deferredFns));
+ }
+ };
+
+ function formatPendingTasksAsString(tasks) {
+ var result = [];
+ angular.forEach(tasks, function(task) {
+ result.push('{id: ' + task.id + ', ' + 'time: ' + task.time + '}');
+ });
+
+ return result.join(', ');
+ }
+
+ return $delegate;
+};
+
+/**
+ *
+ */
+angular.mock.$RootElementProvider = function() {
+ this.$get = function() {
+ return angular.element('');
+ }
+};
+
+/**
+ * @ngdoc overview
+ * @name ngMock
+ * @description
+ *
+ * The `ngMock` is an angular module which is used with `ng` module and adds unit-test configuration as well as useful
+ * mocks to the {@link AUTO.$injector $injector}.
+ */
+angular.module('ngMock', ['ng']).provider({
+ $browser: angular.mock.$BrowserProvider,
+ $exceptionHandler: angular.mock.$ExceptionHandlerProvider,
+ $log: angular.mock.$LogProvider,
+ $httpBackend: angular.mock.$HttpBackendProvider,
+ $rootElement: angular.mock.$RootElementProvider
+}).config(function($provide) {
+ $provide.decorator('$timeout', angular.mock.$TimeoutDecorator);
+});
+
+/**
+ * @ngdoc overview
+ * @name ngMockE2E
+ * @description
+ *
+ * The `ngMockE2E` is an angular module which contains mocks suitable for end-to-end testing.
+ * Currently there is only one mock present in this module -
+ * the {@link ngMockE2E.$httpBackend e2e $httpBackend} mock.
+ */
+angular.module('ngMockE2E', ['ng']).config(function($provide) {
+ $provide.decorator('$httpBackend', angular.mock.e2e.$httpBackendDecorator);
+});
+
+/**
+ * @ngdoc object
+ * @name ngMockE2E.$httpBackend
+ * @description
+ * Fake HTTP backend implementation suitable for end-to-end testing or backend-less development of
+ * applications that use the {@link ng.$http $http service}.
+ *
+ * *Note*: For fake http backend implementation suitable for unit testing please see
+ * {@link ngMock.$httpBackend unit-testing $httpBackend mock}.
+ *
+ * This implementation can be used to respond with static or dynamic responses via the `when` api
+ * and its shortcuts (`whenGET`, `whenPOST`, etc) and optionally pass through requests to the
+ * real $httpBackend for specific requests (e.g. to interact with certain remote apis or to fetch
+ * templates from a webserver).
+ *
+ * As opposed to unit-testing, in an end-to-end testing scenario or in scenario when an application
+ * is being developed with the real backend api replaced with a mock, it is often desirable for
+ * certain category of requests to bypass the mock and issue a real http request (e.g. to fetch
+ * templates or static files from the webserver). To configure the backend with this behavior
+ * use the `passThrough` request handler of `when` instead of `respond`.
+ *
+ * Additionally, we don't want to manually have to flush mocked out requests like we do during unit
+ * testing. For this reason the e2e $httpBackend automatically flushes mocked out requests
+ * automatically, closely simulating the behavior of the XMLHttpRequest object.
+ *
+ * To setup the application to run with this http backend, you have to create a module that depends
+ * on the `ngMockE2E` and your application modules and defines the fake backend:
+ *
+ *
+ * myAppDev = angular.module('myAppDev', ['myApp', 'ngMockE2E']);
+ * myAppDev.run(function($httpBackend) {
+ * phones = [{name: 'phone1'}, {name: 'phone2'}];
+ *
+ * // returns the current list of phones
+ * $httpBackend.whenGET('/phones').respond(phones);
+ *
+ * // adds a new phone to the phones array
+ * $httpBackend.whenPOST('/phones').respond(function(method, url, data) {
+ * phones.push(angular.fromJSON(data));
+ * });
+ * $httpBackend.whenGET(/^\/templates\//).passThrough();
+ * //...
+ * });
+ *
+ *
+ * Afterwards, bootstrap your app with this new module.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#when
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition.
+ *
+ * @param {string} method HTTP method.
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers or function that receives http header
+ * object and returns true if the headers match the current definition.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ *
+ * - respond – `{function([status,] data[, headers])|function(function(method, url, data, headers)}`
+ * – The respond method takes a set of static data to be returned or a function that can return
+ * an array containing response status (number), response data (string) and response headers
+ * (Object).
+ * - passThrough – `{function()}` – Any request matching a backend definition with `passThrough`
+ * handler, will be pass through to the real backend (an XHR request will be made to the
+ * server.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenGET
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for GET requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenHEAD
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for HEAD requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenDELETE
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for DELETE requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenPOST
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for POST requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenPUT
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for PUT requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenPATCH
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for PATCH requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @param {(string|RegExp)=} data HTTP request body.
+ * @param {(Object|function(Object))=} headers HTTP headers.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+
+/**
+ * @ngdoc method
+ * @name ngMockE2E.$httpBackend#whenJSONP
+ * @methodOf ngMockE2E.$httpBackend
+ * @description
+ * Creates a new backend definition for JSONP requests. For more info see `when()`.
+ *
+ * @param {string|RegExp} url HTTP url.
+ * @returns {requestHandler} Returns an object with `respond` and `passThrough` methods that
+ * control how a matched request is handled.
+ */
+angular.mock.e2e = {};
+angular.mock.e2e.$httpBackendDecorator = ['$rootScope', '$delegate', '$browser', createHttpBackendMock];
+
+
+angular.mock.clearDataCache = function() {
+ var key,
+ cache = angular.element.cache;
+
+ for(key in cache) {
+ if (cache.hasOwnProperty(key)) {
+ var handle = cache[key].handle;
+
+ handle && angular.element(handle.elem).unbind();
+ delete cache[key];
+ }
+ }
+};
+
+
+window.jstestdriver && (function(window) {
+ /**
+ * Global method to output any number of objects into JSTD console. Useful for debugging.
+ */
+ window.dump = function() {
+ var args = [];
+ angular.forEach(arguments, function(arg) {
+ args.push(angular.mock.dump(arg));
+ });
+ jstestdriver.console.log.apply(jstestdriver.console, args);
+ if (window.console) {
+ window.console.log.apply(window.console, args);
+ }
+ };
+})(window);
+
+
+(window.jasmine || window.mocha) && (function(window) {
+
+ var currentSpec = null;
+
+ beforeEach(function() {
+ currentSpec = this;
+ });
+
+ afterEach(function() {
+ var injector = currentSpec.$injector;
+
+ currentSpec.$injector = null;
+ currentSpec.$modules = null;
+ currentSpec = null;
+
+ if (injector) {
+ injector.get('$rootElement').unbind();
+ injector.get('$browser').pollFns.length = 0;
+ }
+
+ angular.mock.clearDataCache();
+
+ // clean up jquery's fragment cache
+ angular.forEach(angular.element.fragments, function(val, key) {
+ delete angular.element.fragments[key];
+ });
+
+ MockXhr.$$lastInstance = null;
+
+ angular.forEach(angular.callbacks, function(val, key) {
+ delete angular.callbacks[key];
+ });
+ angular.callbacks.counter = 0;
+ });
+
+ function isSpecRunning() {
+ return currentSpec && (window.mocha || currentSpec.queue.running);
+ }
+
+ /**
+ * @ngdoc function
+ * @name angular.mock.module
+ * @description
+ *
+ * *NOTE*: This function is also published on window for easy access.
+ *
+ * This function registers a module configuration code. It collects the configuration information
+ * which will be used when the injector is created by {@link angular.mock.inject inject}.
+ *
+ * See {@link angular.mock.inject inject} for usage example
+ *
+ * @param {...(string|Function)} fns any number of modules which are represented as string
+ * aliases or as anonymous module initialization functions. The modules are used to
+ * configure the injector. The 'ng' and 'ngMock' modules are automatically loaded.
+ */
+ window.module = angular.mock.module = function() {
+ var moduleFns = Array.prototype.slice.call(arguments, 0);
+ return isSpecRunning() ? workFn() : workFn;
+ /////////////////////
+ function workFn() {
+ if (currentSpec.$injector) {
+ throw Error('Injector already created, can not register a module!');
+ } else {
+ var modules = currentSpec.$modules || (currentSpec.$modules = []);
+ angular.forEach(moduleFns, function(module) {
+ modules.push(module);
+ });
+ }
+ }
+ };
+
+ /**
+ * @ngdoc function
+ * @name angular.mock.inject
+ * @description
+ *
+ * *NOTE*: This function is also published on window for easy access.
+ *
+ * The inject function wraps a function into an injectable function. The inject() creates new
+ * instance of {@link AUTO.$injector $injector} per test, which is then used for
+ * resolving references.
+ *
+ * See also {@link angular.mock.module module}
+ *
+ * Example of what a typical jasmine tests looks like with the inject method.
+ *
+ *
+ * angular.module('myApplicationModule', [])
+ * .value('mode', 'app')
+ * .value('version', 'v1.0.1');
+ *
+ *
+ * describe('MyApp', function() {
+ *
+ * // You need to load modules that you want to test,
+ * // it loads only the "ng" module by default.
+ * beforeEach(module('myApplicationModule'));
+ *
+ *
+ * // inject() is used to inject arguments of all given functions
+ * it('should provide a version', inject(function(mode, version) {
+ * expect(version).toEqual('v1.0.1');
+ * expect(mode).toEqual('app');
+ * }));
+ *
+ *
+ * // The inject and module method can also be used inside of the it or beforeEach
+ * it('should override a version and test the new version is injected', function() {
+ * // module() takes functions or strings (module aliases)
+ * module(function($provide) {
+ * $provide.value('version', 'overridden'); // override version here
+ * });
+ *
+ * inject(function(version) {
+ * expect(version).toEqual('overridden');
+ * });
+ * ));
+ * });
+ *
+ *
+ *
+ * @param {...Function} fns any number of functions which will be injected using the injector.
+ */
+ window.inject = angular.mock.inject = function() {
+ var blockFns = Array.prototype.slice.call(arguments, 0);
+ var errorForStack = new Error('Declaration Location');
+ return isSpecRunning() ? workFn() : workFn;
+ /////////////////////
+ function workFn() {
+ var modules = currentSpec.$modules || [];
+
+ modules.unshift('ngMock');
+ modules.unshift('ng');
+ var injector = currentSpec.$injector;
+ if (!injector) {
+ injector = currentSpec.$injector = angular.injector(modules);
+ }
+ for(var i = 0, ii = blockFns.length; i < ii; i++) {
+ try {
+ injector.invoke(blockFns[i] || angular.noop, this);
+ } catch (e) {
+ if(e.stack && errorForStack) e.stack += '\n' + errorForStack.stack;
+ throw e;
+ } finally {
+ errorForStack = null;
+ }
+ }
+ }
+ };
+})(window);
diff --git a/Blog/umbraco/lib/angular/1.1.5/angular-resource.js b/Blog/umbraco/lib/angular/1.1.5/angular-resource.js
new file mode 100644
index 0000000..acaa84c
--- /dev/null
+++ b/Blog/umbraco/lib/angular/1.1.5/angular-resource.js
@@ -0,0 +1,537 @@
+/**
+ * @license AngularJS v1.1.5
+ * (c) 2010-2012 Google, Inc. http://angularjs.org
+ * License: MIT
+ */
+(function(window, angular, undefined) {
+'use strict';
+
+/**
+ * @ngdoc overview
+ * @name ngResource
+ * @description
+ */
+
+/**
+ * @ngdoc object
+ * @name ngResource.$resource
+ * @requires $http
+ *
+ * @description
+ * A factory which creates a resource object that lets you interact with
+ * [RESTful](http://en.wikipedia.org/wiki/Representational_State_Transfer) server-side data sources.
+ *
+ * The returned resource object has action methods which provide high-level behaviors without
+ * the need to interact with the low level {@link ng.$http $http} service.
+ *
+ * # Installation
+ * To use $resource make sure you have included the `angular-resource.js` that comes in Angular
+ * package. You can also find this file on Google CDN, bower as well as at
+ * {@link http://code.angularjs.org/ code.angularjs.org}.
+ *
+ * Finally load the module in your application:
+ *
+ * angular.module('app', ['ngResource']);
+ *
+ * and you are ready to get started!
+ *
+ * @param {string} url A parametrized URL template with parameters prefixed by `:` as in
+ * `/user/:username`. If you are using a URL with a port number (e.g.
+ * `http://example.com:8080/api`), you'll need to escape the colon character before the port
+ * number, like this: `$resource('http://example.com\\:8080/api')`.
+ *
+ * If you are using a url with a suffix, just add the suffix, like this:
+ * `$resource('http://example.com/resource.json')` or `$resource('http://example.com/:id.json')
+ * or even `$resource('http://example.com/resource/:resource_id.:format')`
+ * If the parameter before the suffix is empty, :resource_id in this case, then the `/.` will be
+ * collapsed down to a single `.`. If you need this sequence to appear and not collapse then you
+ * can escape it with `/\.`.
+ *
+ * @param {Object=} paramDefaults Default values for `url` parameters. These can be overridden in
+ * `actions` methods. If any of the parameter value is a function, it will be executed every time
+ * when a param value needs to be obtained for a request (unless the param was overridden).
+ *
+ * Each key value in the parameter object is first bound to url template if present and then any
+ * excess keys are appended to the url search query after the `?`.
+ *
+ * Given a template `/path/:verb` and parameter `{verb:'greet', salutation:'Hello'}` results in
+ * URL `/path/greet?salutation=Hello`.
+ *
+ * If the parameter value is prefixed with `@` then the value of that parameter is extracted from
+ * the data object (useful for non-GET operations).
+ *
+ * @param {Object.