-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial migration commit from CodePlex
(whoops...!)
- Loading branch information
1 parent
19e3a6f
commit e59ca9c
Showing
44 changed files
with
5,107 additions
and
2 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
<Activity mc:Ignorable="sad" x:Class="TfsBuild.Process" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mtbc="clr-namespace:Microsoft.TeamFoundation.Build.Client;assembly=Microsoft.TeamFoundation.Build.Client" xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwt="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Tracking;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:sad="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:sad1="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:this="clr-namespace:TfsBuild;" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> | ||
<x:Members> | ||
<x:Property Name="ConfigurationFolderPath" Type="InArgument(x:String)" /> | ||
<x:Property Name="AgentSettings" Type="InArgument(mtbwa:AgentSettings)" /> | ||
<x:Property Name="MSBuildArguments" Type="InArgument(x:String)" /> | ||
<x:Property Name="MSBuildPlatform" Type="InArgument(mtbwa:ToolPlatform)" /> | ||
<x:Property Name="DoNotDownloadBuildType" Type="InArgument(x:Boolean)" /> | ||
<x:Property Name="LogFilePerProject" Type="InArgument(x:Boolean)" /> | ||
<x:Property Name="SourcesSubdirectory" Type="InArgument(x:String)" /> | ||
<x:Property Name="BinariesSubdirectory" Type="InArgument(x:String)" /> | ||
<x:Property Name="TestResultsSubdirectory" Type="InArgument(x:String)" /> | ||
<x:Property Name="RecursionType" Type="InArgument(mtvc:RecursionType)" /> | ||
<x:Property Name="Verbosity" Type="InArgument(mtbw:BuildVerbosity)" /> | ||
<x:Property Name="Metadata" Type="mtbw:ProcessParameterMetadataCollection" /> | ||
<x:Property Name="SupportedReasons" Type="mtbc:BuildReason" /> | ||
</x:Members> | ||
<this:Process.ConfigurationFolderPath> | ||
<InArgument x:TypeArguments="x:String" /> | ||
</this:Process.ConfigurationFolderPath> | ||
<this:Process.AgentSettings>[New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }]</this:Process.AgentSettings> | ||
<this:Process.MSBuildArguments> | ||
<InArgument x:TypeArguments="x:String" /> | ||
</this:Process.MSBuildArguments> | ||
<this:Process.MSBuildPlatform>[Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto]</this:Process.MSBuildPlatform> | ||
<this:Process.DoNotDownloadBuildType>[False]</this:Process.DoNotDownloadBuildType> | ||
<this:Process.LogFilePerProject>[False]</this:Process.LogFilePerProject> | ||
<this:Process.SourcesSubdirectory> | ||
<InArgument x:TypeArguments="x:String" /> | ||
</this:Process.SourcesSubdirectory> | ||
<this:Process.BinariesSubdirectory> | ||
<InArgument x:TypeArguments="x:String" /> | ||
</this:Process.BinariesSubdirectory> | ||
<this:Process.TestResultsSubdirectory> | ||
<InArgument x:TypeArguments="x:String" /> | ||
</this:Process.TestResultsSubdirectory> | ||
<this:Process.RecursionType>[Microsoft.TeamFoundation.VersionControl.Client.RecursionType.OneLevel]</this:Process.RecursionType> | ||
<this:Process.Verbosity>[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]</this:Process.Verbosity> | ||
<this:Process.Metadata> | ||
<mtbw:ProcessParameterMetadataCollection /> | ||
</this:Process.Metadata> | ||
<this:Process.SupportedReasons>All</this:Process.SupportedReasons> | ||
<mva:VisualBasic.Settings>Assembly references and imported namespaces serialized as XML namespaces</mva:VisualBasic.Settings> | ||
<Sequence mtbwt:BuildTrackingParticipant.Importance="None"> | ||
<Sequence.Variables> | ||
<Variable x:TypeArguments="mtbc:IBuildDetail" Name="BuildDetail" /> | ||
</Sequence.Variables> | ||
<mtbwa:GetBuildDetail DisplayName="Get the Build" Result="[BuildDetail]" /> | ||
<mtbwa:InvokeForReason DisplayName="Update Build Number for Triggered Builds" Reason="Triggered"> | ||
<mtbwa:UpdateBuildNumber BuildNumberFormat="["$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)"]" DisplayName="Update Build Number" /> | ||
</mtbwa:InvokeForReason> | ||
<mtbwa:AgentScope DisplayName="Run On Agent" MaxExecutionTime="[AgentSettings.MaxExecutionTime]" MaxWaitTime="[AgentSettings.MaxWaitTime]" ReservationSpec="[AgentSettings.GetAgentReservationSpec()]"> | ||
<mtbwa:AgentScope.Variables> | ||
<Variable x:TypeArguments="x:String" Name="buildDirectory" /> | ||
</mtbwa:AgentScope.Variables> | ||
<mtbwa:GetBuildDirectory DisplayName="Get the Build Directory" Result="[buildDirectory]" /> | ||
<If Condition="[Not String.IsNullOrEmpty(ConfigurationFolderPath)]" DisplayName="If Not String.IsNullOrEmpty(ConfigurationFolderPath)"> | ||
<If.Then> | ||
<mtbwa:TfsBuild BinariesSubdirectory="[BinariesSubdirectory]" BuildDirectory="[buildDirectory]" CommandLineArguments="[MSBuildArguments]" ConfigurationFolderPath="[ConfigurationFolderPath]" DisplayName="Run TfsBuild for Configuration Folder" DoNotDownloadBuildType="[DoNotDownloadBuildType]" LogFilePerProject="[LogFilePerProject]" RecursionType="[RecursionType]" SourcesSubdirectory="[SourcesSubdirectory]" TestResultsSubdirectory="[TestResultsSubdirectory]" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" /> | ||
</If.Then> | ||
</If> | ||
<If Condition="[BuildDetail.CompilationStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If CompilationStatus = Unknown"> | ||
<If.Then> | ||
<mtbwa:SetBuildProperties CompilationStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" DisplayName="Set CompilationStatus to Succeeded" PropertiesToSet="CompilationStatus" /> | ||
</If.Then> | ||
</If> | ||
<If Condition="[BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If TestStatus = Unknown"> | ||
<If.Then> | ||
<mtbwa:SetBuildProperties DisplayName="Set TestStatus to Succeeded" PropertiesToSet="TestStatus" TestStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" /> | ||
</If.Then> | ||
</If> | ||
</mtbwa:AgentScope> | ||
<mtbwa:InvokeForReason Reason="CheckInShelveset"> | ||
<mtbwa:CheckInGatedChanges DisplayName="Check In Gated Changes" /> | ||
</mtbwa:InvokeForReason> | ||
</Sequence> | ||
</Activity> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,36 @@ | ||
# oembed | ||
oEmbed API Wrapper for .NET | ||
**Project Description** | ||
A .NET wrapper for the oEmbed open format for embedding content from other websites into your own (e.g., YouTube, Flickr, Qik, Vimeo, Hulu, Viddler, MyOpera, etc.) using REST calls. | ||
|
||
# oEmbed API Wrapper for .NET | ||
|
||
[oEmbed](http://www.oembed.com) is an open format standard for using REST to import content (such as videos, widgets, and images) from one website to another, avoiding XSS issues, and without having to parse the resource website. This wrapper allows you to simply make function calls in your own code to return the content that you desire. This is already a common feature in many blog engines and CMS's, such as WordPress. This wrapper brings this functionality to all .Net applications now. | ||
|
||
You can only use this wrapper to import content from websites that have an oEmbed implementation (_referred to as providers_). Below is a list of the known providers, which also have a concrete implementation in this wrapper. | ||
|
||
* [Clearspring Widgets](http://widgets.clearspring.com) | ||
* [Embed.ly](http://embed.ly/) | ||
* [Flickr](http://www.flickr.com) | ||
* [Hulu](http://www.hulu.com) | ||
* [MyOpera](http://my.opera.com) | ||
* [oohEmbed](http://oohembed.com) | ||
* [Poll Everywhere](http://www.polleverywhere.com) | ||
* [Qik](http://qik.com) | ||
* [Revision3](http://revision3.com) | ||
* [Viddler](http://www.viddler.com) | ||
* [Vimeo](http://vimeo.com) | ||
* [YouTube](http://www.youtube.com) | ||
|
||
Please note that a few of the providers above make it possible to **import media from over 200 different sources** online - primarily social network websites. | ||
|
||
If you know of a site that supports [oEmbed](http://www.oembed.com) that's not on this list, don't worry. This wrapper also supports open calls to nearly any wrapper out there, even if you require a proxy. | ||
|
||
## Example Usage | ||
See the [Wiki](https://github.com/hismightiness/oembed/wiki) for more information. | ||
|
||
## Demo | ||
The [Media Module for DNN](https://github.com/dnncommunity/dnn.media) uses this provider to allow end users to very quickly add media to their websites. | ||
|
||
## System Requirements | ||
.Net Framework 4.5.1 or higher | ||
JSON.NET | ||
[oEmbed](http://www.oembed.com) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
|
||
Microsoft Visual Studio Solution File, Format Version 12.00 | ||
# Visual Studio Version 16 | ||
VisualStudioVersion = 16.0.29409.12 | ||
MinimumVisualStudioVersion = 10.0.40219.1 | ||
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "WillStrohl.API.oEmbed", "WillStrohl.oEmbed\WillStrohl.API.oEmbed.vbproj", "{CDD55E7E-00B4-4AA5-BE3B-991905BFD35C}" | ||
EndProject | ||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Config", "Config", "{4718D292-B290-4CF6-944B-DF9749AD75FB}" | ||
ProjectSection(SolutionItems) = preProject | ||
.gitignore = .gitignore | ||
LICENSE = LICENSE | ||
README.md = README.md | ||
EndProjectSection | ||
EndProject | ||
Global | ||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
Debug|Any CPU = Debug|Any CPU | ||
Debug|Mixed Platforms = Debug|Mixed Platforms | ||
Debug|x86 = Debug|x86 | ||
Release|Any CPU = Release|Any CPU | ||
Release|Mixed Platforms = Release|Mixed Platforms | ||
Release|x86 = Release|x86 | ||
EndGlobalSection | ||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
{CDD55E7E-00B4-4AA5-BE3B-991905BFD35C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU | ||
{CDD55E7E-00B4-4AA5-BE3B-991905BFD35C}.Debug|Any CPU.Build.0 = Debug|Any CPU | ||
{CDD55E7E-00B4-4AA5-BE3B-991905BFD35C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU | ||
{CDD55E7E-00B4-4AA5-BE3B-991905BFD35C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU | ||
{CDD55E7E-00B4-4AA5-BE3B-991905BFD35C}.Debug|x86.ActiveCfg = Debug|Any CPU | ||
{CDD55E7E-00B4-4AA5-BE3B-991905BFD35C}.Release|Any CPU.ActiveCfg = Release|Any CPU | ||
{CDD55E7E-00B4-4AA5-BE3B-991905BFD35C}.Release|Any CPU.Build.0 = Release|Any CPU | ||
{CDD55E7E-00B4-4AA5-BE3B-991905BFD35C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU | ||
{CDD55E7E-00B4-4AA5-BE3B-991905BFD35C}.Release|Mixed Platforms.Build.0 = Release|Any CPU | ||
{CDD55E7E-00B4-4AA5-BE3B-991905BFD35C}.Release|x86.ActiveCfg = Release|Any CPU | ||
EndGlobalSection | ||
GlobalSection(SolutionProperties) = preSolution | ||
HideSolutionNode = FALSE | ||
EndGlobalSection | ||
GlobalSection(ExtensibilityGlobals) = postSolution | ||
SolutionGuid = {E0FB88BA-F7C0-4939-8982-BD8C6F98D815} | ||
EndGlobalSection | ||
EndGlobal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,162 @@ | ||
' | ||
' Will Strohl (will.strohl@gmail.com) | ||
' http://www.willstrohl.com | ||
' | ||
'Copyright (c) 2009-2011, Will Strohl | ||
'All rights reserved. | ||
' | ||
'Redistribution and use in source and binary forms, with or without modification, are | ||
'permitted provided that the following conditions are met: | ||
' | ||
'Redistributions of source code must retain the above copyright notice, this list of | ||
'conditions and the following disclaimer. | ||
' | ||
'Redistributions in binary form must reproduce the above copyright notice, this list | ||
'of conditions and the following disclaimer in the documentation and/or other | ||
'materials provided with the distribution. | ||
' | ||
'Neither the name of Will Strohl nor the names of its contributors may be | ||
'used to endorse or promote products derived from this software without specific prior | ||
'written permission. | ||
' | ||
'THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY | ||
'EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
'OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT | ||
'SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
'INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | ||
'TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | ||
'BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
'CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | ||
'ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH | ||
'DAMAGE. | ||
' | ||
|
||
Namespace WillStrohl.API.oEmbed | ||
|
||
<Serializable()> _ | ||
Public NotInheritable Class Constants | ||
|
||
Public Const FORMAT_JSON As String = "json" | ||
|
||
Public Const NULL_STRING As String = "" | ||
Public Const NULL_INTEGER As Integer = -1 | ||
Public Const NULL_DECIMAL As Decimal = CType(0.0, Decimal) | ||
|
||
''' <summary> | ||
''' DEFAULT_VIDEO_WIDTH - This value is used for videos if a width is not specified | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const DEFAULT_VIDEO_WIDTH As Integer = 425 | ||
|
||
''' <summary> | ||
''' DEFAULT_VIDEO_HEIGHT - This value is used for videos if a height is not specified | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const DEFAULT_VIDEO_HEIGHT As Integer = 344 | ||
|
||
Public Const SSL_PATTERN As String = "^ht{2}ps" | ||
|
||
' | ||
' VIDEO | ||
' | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the YouTube oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const YOUTUBE_FORMAT As String = "http://www.youtube.com/oembed?url={0}&format=json&maxwidth={1}&maxheight={2}" | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the Viddler oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const VIDDLER_FORMAT As String = "http://lab.viddler.com/services/oembed/?url={0}&format=json&maxwidth={1}&maxheight={2}" | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the Qik oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const QIK_FORMAT As String = "http://qik.com/api/oembed.json?url={0}&maxwidth={1}&maxheight={2}" | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the Revision3 oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const REVISION3_FORMAT As String = "http://revision3.com/api/oembed/?url={0}&format=json&maxwidth={1}&maxheight={2}" | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the Hulu oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const HULU_FORMAT As String = "http://www.hulu.com/api/oembed.json?url={0}&maxwidth={1}&maxheight={2}" | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the Vimeo oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const VIMEO_FORMAT As String = "http://www.vimeo.com/api/oembed.json?url={0}&maxwidth={1}&maxheight={2}" | ||
|
||
' | ||
' PHOTO | ||
' | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the Flickr oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const FLICKR_FORMAT As String = "http://flickr.com/services/oembed?url={0}&format=json&maxwidth={1}&maxheight={2}" | ||
|
||
' | ||
' RICH | ||
' | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the Poll Everywhere oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const POLLEVERYWHERE_FORMAT As String = "http://www.polleverywhere.com/services/oembed/?url={0}&format=json" | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the oohEmbed oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const OOHEMBED_FORMAT As String = "http://oohembed.com/oohembed/?url={0}&format=json" | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the MyOpera oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const MYOPERA_FORMAT As String = "http://my.opera.com/service/oembed?url={0}&format=json" | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the Clearspring Widgets oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const CLEARSPRINGWIDGETS_FORMAT As String = "http://widgets.clearspring.com/widget/v1/oembed/?url={0}&format=json" | ||
|
||
''' <summary> | ||
''' URL EndPoint format for the Embed.ly oEmbed implementation | ||
''' </summary> | ||
''' <remarks></remarks> | ||
Public Const EMBEDLY_FORMAT As String = "http://api.embed.ly/1/oembed?url={0}&format=json" | ||
|
||
' | ||
' PROVIDERS | ||
' | ||
|
||
Public Const PROVIDER_FLICKR As String = "Flickr" | ||
Public Const PROVIDER_CLEARSPRINGWIDGETS As String = "ClearspringWidgets" | ||
Public Const PROVIDER_EMBEDLY As String = "Embedly" | ||
Public Const PROVIDER_MYOPERA As String = "MyOpera" | ||
Public Const PROVIDER_OOHEMBED As String = "OohEmbed" | ||
Public Const PROVIDER_POLLEVERYWHERE As String = "PollEverywhere" | ||
Public Const PROVIDER_HULU As String = "Hulu" | ||
Public Const PROVIDER_QIK As String = "Qik" | ||
Public Const PROVIDER_REVISION3 As String = "Revision3" | ||
Public Const PROVIDER_VIDDLER As String = "Viddler" | ||
Public Const PROVIDER_VIMEO As String = "Vimeo" | ||
Public Const PROVIDER_YOUTUBE As String = "YouTube" | ||
|
||
End Class | ||
|
||
End Namespace |
Oops, something went wrong.