Naethra D avatar Naethra D committed 2b62756

Changed Code Sep 28 -- Web Service

Comments (0)

Files changed (29)

Source/WebClient/.nuget/NuGet.Config

+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <solution>
+    <add key="disableSourceControlIntegration" value="true" />
+  </solution>
+</configuration>

Source/WebClient/.nuget/NuGet.targets

+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <PropertyGroup>
+        <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
+        
+        <!-- Enable the restore command to run before builds -->
+        <RestorePackages Condition="  '$(RestorePackages)' == '' ">false</RestorePackages>
+
+        <!-- Property that enables building a package from a project -->
+        <BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
+        
+        <!-- Download NuGet.exe if it does not already exist -->
+        <DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe>
+    </PropertyGroup>
+    
+    <ItemGroup Condition=" '$(PackageSources)' == '' ">
+        <!-- Package sources used to restore packages. By default will used the registered sources under %APPDATA%\NuGet\NuGet.Config -->
+        <!--
+            <PackageSource Include="https://nuget.org/api/v2/" />
+            <PackageSource Include="https://my-nuget-source/nuget/" />
+        -->
+    </ItemGroup>
+
+    <PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
+        <!-- Windows specific commands -->
+        <NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
+        <PackagesConfig>$([System.IO.Path]::Combine($(ProjectDir), "packages.config"))</PackagesConfig>
+        <PackagesDir>$([System.IO.Path]::Combine($(SolutionDir), "packages"))</PackagesDir>
+    </PropertyGroup>
+    
+    <PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
+        <!-- We need to launch nuget.exe with the mono command if we're not on windows -->
+        <NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
+        <PackagesConfig>packages.config</PackagesConfig>
+        <PackagesDir>$(SolutionDir)packages</PackagesDir>
+    </PropertyGroup>
+    
+    <PropertyGroup>
+        <!-- NuGet command -->
+        <NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\nuget.exe</NuGetExePath>
+        <PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
+        
+        <NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
+        <NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 $(NuGetExePath)</NuGetCommand>
+
+        <PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
+
+        <!-- Commands -->
+        <RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -o "$(PackagesDir)"</RestoreCommand>
+        <BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -symbols</BuildCommand>
+
+        <!-- Make the build depend on restore packages -->
+        <BuildDependsOn Condition="$(RestorePackages) == 'true'">
+            RestorePackages;
+            $(BuildDependsOn);
+        </BuildDependsOn>
+
+        <!-- Make the build depend on restore packages -->
+        <BuildDependsOn Condition="$(BuildPackage) == 'true'">
+            $(BuildDependsOn);
+            BuildPackage;
+        </BuildDependsOn>
+    </PropertyGroup>
+
+    <Target Name="CheckPrerequisites">
+        <!-- Raise an error if we're unable to locate nuget.exe  -->
+        <Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
+        <SetEnvironmentVariable EnvKey="VisualStudioVersion" EnvValue="$(VisualStudioVersion)" Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' " />
+        <DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')"  />
+    </Target>
+
+    <Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
+        <Exec Command="$(RestoreCommand)"
+              Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
+              
+        <Exec Command="$(RestoreCommand)"
+              LogStandardErrorAsError="true"
+              Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
+    </Target>
+
+    <Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
+        <Exec Command="$(BuildCommand)" 
+              Condition=" '$(OS)' != 'Windows_NT' " />
+              
+        <Exec Command="$(BuildCommand)"
+              LogStandardErrorAsError="true"
+              Condition=" '$(OS)' == 'Windows_NT' " />
+    </Target>
+    
+    <UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
+        <ParameterGroup>
+            <OutputFilename ParameterType="System.String" Required="true" />
+        </ParameterGroup>
+        <Task>
+            <Reference Include="System.Core" />
+            <Using Namespace="System" />
+            <Using Namespace="System.IO" />
+            <Using Namespace="System.Net" />
+            <Using Namespace="Microsoft.Build.Framework" />
+            <Using Namespace="Microsoft.Build.Utilities" />
+            <Code Type="Fragment" Language="cs">
+                <![CDATA[
+                try {
+                    OutputFilename = Path.GetFullPath(OutputFilename);
+
+                    Log.LogMessage("Downloading latest version of NuGet.exe...");
+                    WebClient webClient = new WebClient();
+                    webClient.DownloadFile("https://nuget.org/nuget.exe", OutputFilename);
+
+                    return true;
+                }
+                catch (Exception ex) {
+                    Log.LogErrorFromException(ex);
+                    return false;
+                }
+            ]]>
+            </Code>
+        </Task>
+    </UsingTask>
+    
+     <UsingTask TaskName="SetEnvironmentVariable" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
+        <ParameterGroup>
+            <EnvKey ParameterType="System.String" Required="true" />
+            <EnvValue ParameterType="System.String" Required="true" />
+        </ParameterGroup>
+        <Task>
+            <Using Namespace="System" />
+            <Code Type="Fragment" Language="cs">
+                <![CDATA[
+                try {
+                    Environment.SetEnvironmentVariable(EnvKey, EnvValue, System.EnvironmentVariableTarget.Process);
+                }
+                catch  {
+                }
+            ]]>
+            </Code>
+        </Task>
+    </UsingTask>
+</Project>
Add a comment to this file

Source/WebClient/.nuget/nuget.exe

Binary file added.

Source/WebService/Web.Admin.DataLayer/RepositoryBase.cs

     public class RepositoryBase<T> : IRepositoryBase<T> where T : class
     {
         /// <summary>
-        /// Data Up database context
+        /// DCXL database context
         /// </summary>
         private DCXLAdminEntities dcxlAdminDbContext;
 

Source/WebService/Web.Admin/Common/Constants.cs

         internal const string Boundary = "dhfYTTEWYfbn38d";
 
         internal static string PathDelimter = "\\";
-        internal static string TempFolder = @"DataUp\";
-        internal static string TempFileName = @"DataUpObject.{0}";
+        internal static string TempFolder = @"DCXL\";
+        internal static string TempFileName = @"DcxlObject.{0}";
         internal static string MrtEmlFile = "mrt-eml.xml";
         internal static string MrtErcFile = "mrt-erc.txt";
         internal static string MrtManifestFile = "mrt-dataone-manifest.txt";
         internal static string Mapping = "/metadatalist/metadatagroup/metadata";
         internal static string EmlNamespace = "eml://ecoinformatics.org/eml2.1.0";
         internal static string AttributListNodeXPath = "./dataset/dataTable/attributeList";
+        internal static string SheetTableXPath = "./dataset/dataTable";
 
         internal const string MerrittRepositoryName = "merritt";
         internal const string MerrittIdentifierLink = "https://merritt-stage.cdlib.org/object/mint";

Source/WebService/Web.Admin/DataUpMetadata.xml

-<eml:eml packageId="doi:10.5072/12345?" system="DCXL" xmlns:eml="eml://ecoinformatics.org/eml2.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="eml://ecoinformatics.org/eml-2.1.0 eml.xsd">
-    <dataset id="doi:10.5072/12345">
+<eml:eml packageId="UC3/CDL" system="DataUp" xmlns:eml="eml://ecoinformatics.org/eml-2.1.1" xsi:schemaLocation="eml://ecoinformatics.org/eml-2.1.1 eml-2.1.1/eml.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <dataset>
+        <title>
+          <!-- non-empty string type -->
+        </title>
         <creator>
             <!-- http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-resource.html#creator -->
             <!-- multiple creators allowed -->
                 <givenName></givenName>
                 <surName></surName>
             </individualName>
+            <organizationName></organizationName>
             <address>
                 <deliveryPoint></deliveryPoint>
                 <city></city>
             </address>
             <phone></phone>
             <electronicMailAddress></electronicMailAddress>
-            <organizationName></organizationName>
         </creator>
-        <title>
-            <!-- non-empty string type -->
-        </title>
         <pubDate>
             <!-- in yearDate format, e.g. YYYY or YYYY-MM-DD -->
         </pubDate>
             <para>
                 <!-- text --></para>
         </abstract>
-        <publisher>
-            <para>
-                <!-- text --></para>
-        </publisher>
-        <url>
-            <!-- e.g. url="http://dx.doi.org/10.5072/12345" -->
-        </url>
+        <keywordSet>
+          <keyword>
+            <!-- non-empty string -->
+          </keyword>
+          <!-- unlimited number of keyword fields possible -->
+          <keywordThesaurus>
+            <!-- non-empty string -->
+          </keywordThesaurus>
+        </keywordSet>
+        <intellectualRights>
+          <para></para>
+        </intellectualRights>
+        <distribution>
+          <online>
+            <url></url>
+          </online>
+        </distribution>
+        <coverage>
+        <!-- http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-resource.html#coverage -->
+          <geographicCoverage>
+            <geographicDescription> </geographicDescription>
+            <boundingCoordinates>
+              <westBoundingCoordinate></westBoundingCoordinate>
+              <eastBoundingCoordinate></eastBoundingCoordinate>
+              <northBoundingCoordinate></northBoundingCoordinate>
+              <southBoundingCoordinate></southBoundingCoordinate>
+            </boundingCoordinates>
+          </geographicCoverage>
+          <temporalCoverage id="tempcov">
+            <rangeOfDates>
+              <beginDate>
+                <calendarDate></calendarDate>
+              </beginDate>
+              <endDate>
+                <calendarDate></calendarDate>
+              </endDate>
+            </rangeOfDates>
+          </temporalCoverage>
+        </coverage>
         <contact>
             <individualName>
                 <givenName></givenName>
                 <surName></surName>
             </individualName>
+            <organizationName></organizationName>
             <address>
                 <deliveryPoint></deliveryPoint>
                 <city></city>
             </address>
             <phone></phone>
             <electronicMailAddress></electronicMailAddress>
-            <organizationName></organizationName>
         </contact>
-        <keywordSet>
-            <keyword>
-                <!-- non-empty string --></keyword>
-            <!-- unlimited number of keyword fields possible -->
-            <keywordThesaurus>
-                <!-- non-empty string --></keywordThesaurus>
-        </keywordSet>
-        <coverage>
-            <!-- http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-resource.html#coverage -->
-            <geographicCoverage>
-                <geographicDescription> </geographicDescription>
-                <boundingCoordinates>
-                    <westBoundingCoordinate></westBoundingCoordinate>
-                    <eastBoundingCoordinate></eastBoundingCoordinate>
-                    <northBoundingCoordinate></northBoundingCoordinate>
-                    <southBoundingCoordinate></southBoundingCoordinate>
-                </boundingCoordinates>
-            </geographicCoverage>
-            <temporalCoverage id="tempcov">
-                <rangeOfDates>
-                    <beginDate>
-                        <calendarDate></calendarDate>
-                    </beginDate>
-                    <endDate>
-                        <calendarDate></calendarDate>
-                    </endDate>
-                </rangeOfDates>
-            </temporalCoverage>
-        </coverage>
+        <publisher>
+          <organizationName></organizationName>
+        </publisher>
         <project>
             <!-- http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-dataset.html#project -->
             <title></title>
+          <personnel>
+            <individualName>
+              <surName></surName>
+            </individualName>
+            <role></role>
+          </personnel>
             <abstract>
                 <para></para>
             </abstract>
                 <para></para>
             </funding>
         </project>
-        <intellectualRights>
-            <para></para>
-        </intellectualRights>
         <dataTable>
             <!-- http://knb.ecoinformatics.org/software/eml/eml-2.1.0/eml-dataTable.html#dataTable -->
             <!-- dataTable is equivalent to a single tab in the excel spreadsheet.

Source/WebService/Web.Admin/NewScientificMetadata.xml

   <metadatagroup>
     <metadata>
       <field>
+        Title of dataset
+      </field>
+      <description>
+        The title should reflect the contents of the dataset. Avoid being too general (e.g. "dataset01", or "results")
+      </description>
+      <mapping>
+        eml.dataset.title
+      </mapping>
+      <is-required>
+        true
+      </is-required>
+    </metadata>
+
+    <metadata>
+      <field>
         Creator: First name
       </field>
       <description>
 
     <metadata>
       <field>
+        Creator: Organization
+      </field>
+      <description>
+        The "Creator" is the person responsible for filling out the metadata
+      </description>
+      <mapping>
+        eml.dataset.creator.organizationName
+      </mapping>
+    </metadata>
+
+    <metadata>
+      <field>
         Creator: Address
       </field>
       <description>
 
     <metadata>
       <field>
+        Creator: Phone
+      </field>
+      <description>
+        The "Creator" is the person responsible for filling out the metadata
+      </description>
+      <mapping>
+        eml.dataset.creator.phone
+      </mapping>
+      <type>
+        Phone
+      </type>
+    </metadata>
+
+    <metadata>
+      <field>
         Creator: Email
       </field>
       <description>
 
     <metadata>
       <field>
-        Creator: Phone
-      </field>
-      <description>
-        The "Creator" is the person responsible for filling out the metadata
-      </description>
-      <mapping>
-        eml.dataset.contact.phone
-      </mapping>
-      <type>
-        Phone
-      </type>
-    </metadata>
-
-    <metadata>
-      <field>
-        Creator: Organization
-      </field>
-      <description>
-        The "Creator" is the person responsible for filling out the metadata
-      </description>
-      <mapping>
-        eml.dataset.creator.organizationName
-      </mapping>
-    </metadata>
-
-    <metadata>
-      <field>
-        Title of dataset
-      </field>
-      <description>
-        The title should reflect the contents of the dataset. Avoid being too general (e.g. "dataset01", or "results")
-      </description>
-      <mapping>
-        eml.dataset.title
-      </mapping>
-      <is-required>
-        true
-      </is-required>
-
-    </metadata>
-
-    <metadata>
-      <field>
         Today's date
       </field>
       <description>
       <is-required>
         true
       </is-required>
+      <type>
+        TextArea
+      </type>
     </metadata>
 
     <metadata>
       <field>
-        Repository name and contact information
+        keyword(s)
       </field>
       <description>
-        This field will be populated on posting the data to a repository.
+        Select keywords that describe your dataset. Use an appropriate controlled vocabulary list for your field. (You can specify multiple keywords as comma separated values.)
       </description>
       <mapping>
-        eml.dataset.publisher
+        eml.dataset.keywordSet.keyword
+      </mapping>
+      <is-required>
+        true
+      </is-required>
+    </metadata>
+
+    <metadata>
+      <field>
+        Keyword thesaurus used
+      </field>
+      <description>
+        Provide the source of the controlled vocabulary you used to choose keywords.
+      </description>
+      <mapping>
+        eml.dataset.keywordSet.keywordThesaurus
+      </mapping>
+    </metadata>
+
+    <metadata>
+      <field>
+        Intellectual rights
+      </field>
+      <description>
+        Describe who owns the rights to the dataset. Stakeholders may include institutions, funders, individuals, publishers, or others.
+      </description>
+      <mapping>
+        eml.dataset.intellectualRights
       </mapping>
     </metadata>
 
         This field will be populated on posting the data to a repository.
       </description>
       <mapping>
-        eml.dataset.url
+        eml.dataset.distribution.online.url
       </mapping>
     </metadata>
 
     <metadata>
       <field>
+        Geographic coverage: Description
+      </field>
+      <description>
+        Describe the geographic location(s) represented in your dataset.
+      </description>
+      <mapping>
+        eml.dataset.coverage.geographicCoverage.geographicDescription
+      </mapping>
+    </metadata>
+
+    <metadata>
+      <field>
+        Geographic coverage: West bounding coordinate
+      </field>
+      <description>
+        Provide lattitudinal and longitudinal boundaries for your dataset.
+      </description>
+      <mapping>
+        eml.dataset.coverage.geographicCoverage.boundingCoordinates.westBoundingCoordinate
+      </mapping>
+    </metadata>
+
+    <metadata>
+      <field>
+        Geographic coverage: East bounding coordinate
+      </field>
+      <description>
+        Provide lattitudinal and longitudinal boundaries for your dataset.
+      </description>
+      <mapping>
+        eml.dataset.coverage.geographicCoverage.boundingCoordinates.eastBoundingCoordinate
+      </mapping>
+    </metadata>
+
+    <metadata>
+      <field>
+        Geographic coverage: North bounding coordinate
+      </field>
+      <description>
+        Provide lattitudinal and longitudinal boundaries for your dataset.
+      </description>
+      <mapping>
+        eml.dataset.coverage.geographicCoverage.boundingCoordinates.northBoundingCoordinate
+      </mapping>
+    </metadata>
+
+    <metadata>
+      <field>
+        Geographic coverage: South bounding coordinate
+      </field>
+      <description>
+        Provide lattitudinal and longitudinal boundaries for your dataset.
+      </description>
+      <mapping>
+        eml.dataset.coverage.geographicCoverage.boundingCoordinates.southBoundingCoordinate
+      </mapping>
+    </metadata>
+
+    <metadata>
+      <field>
+        Temporal coverage: Beginning date
+      </field>
+      <description>
+        Provide the beginning date for the information collected in the dataset.
+      </description>
+      <mapping>
+        eml.dataset.coverage.temporalCoverage.rangeOfDates.beginDate.calendarDate
+      </mapping>
+      <type>
+        DateTime
+      </type>
+    </metadata>
+
+    <metadata>
+      <field>
+        Temporal coverage: Ending date
+      </field>
+      <description>
+        Provide the ending date for the information collected in the dataset.
+      </description>
+      <mapping>
+        eml.dataset.coverage.temporalCoverage.rangeOfDates.endDate.calendarDate
+      </mapping>
+      <type>
+        DateTime
+      </type>
+    </metadata>
+
+    <!--<metadata>
+      <field>
+        Temporal coverage: Description
+      </field>
+      <description>
+        Describe the temporal coverage for the data in your dataset.
+      </description>
+      <mapping>
+        eml.additionalMetadata.metadata.description
+      </mapping>
+    </metadata>-->
+
+    <metadata>
+      <field>
         Data Contact Person: First name
       </field>
       <description>
 
     <metadata>
       <field>
+        Data Contact Person: Organization
+      </field>
+      <description>
+        The "Data Contact Person" is the best person to contact if the repository staff or others have questions about the dataset. This person may also be contacted by other researchers that would like to re-use the dataset.
+      </description>
+      <mapping>
+        eml.dataset.contact.organizationName
+      </mapping>
+    </metadata>
+
+    <metadata>
+      <field>
         Data Contact Person: Address
       </field>
       <description>
       </type>
     </metadata>
 
-    <metadata>
+    <!--<metadata>
       <field>
-        Data Contact Person: Organization
+        Repository name and contact information
       </field>
       <description>
-        The "Data Contact Person" is the best person to contact if the repository staff or others have questions about the dataset. This person may also be contacted by other researchers that would like to re-use the dataset.
+        This field will be populated on posting the data to a repository.
       </description>
       <mapping>
-        eml.dataset.contact.organizationName
+        eml.dataset.publisher
       </mapping>
-    </metadata>
+    </metadata>-->
 
     <metadata>
       <field>
-        keyword(s)
+        Data Publisher: repository name
       </field>
       <description>
-        Select keywords that describe your dataset. Use an appropriate controlled vocabulary list for your field.
       </description>
       <mapping>
-        eml.dataset.keywordSet.keyword
+        eml.dataset.publisher.organizationName
       </mapping>
-      <is-required>
-        true
-      </is-required>
-    </metadata>
-
-    <metadata>
-      <field>
-        Keyword thesaurus used
-      </field>
-      <description>
-        Provide the source of the controlled vocabulary you used to choose keywords.
-      </description>
-      <mapping>
-        eml.dataset.keywordSet.keywordThesaurus
-      </mapping>
-    </metadata>
-
-    <metadata>
-      <field>
-        Geographic coverage: Description
-      </field>
-      <description>
-        Describe the geographic location(s) represented in your dataset.
-      </description>
-      <mapping>
-        eml.dataset.coverage.geographicCoverage.geographicDescription
-      </mapping>
-    </metadata>
-
-    <metadata>
-      <field>
-        Geographic coverage: West bounding coordinate
-      </field>
-      <description>
-        Provide lattitudinal and longitudinal boundaries for your dataset.
-      </description>
-      <mapping>
-        eml.dataset.coverage.geographicCoverage.boundingCoordinates.westBoundingCoordinate
-      </mapping>
-    </metadata>
-
-    <metadata>
-      <field>
-        Geographic coverage: East bounding coordinate
-      </field>
-      <description>
-        Provide lattitudinal and longitudinal boundaries for your dataset.
-      </description>
-      <mapping>
-        eml.dataset.coverage.geographicCoverage.boundingCoordinates.eastBoundingCoordinate
-      </mapping>
-    </metadata>
-
-    <metadata>
-      <field>
-        Geographic coverage: North bounding coordinate
-      </field>
-      <description>
-        Provide lattitudinal and longitudinal boundaries for your dataset.
-      </description>
-      <mapping>
-        eml.dataset.coverage.geographicCoverage.boundingCoordinates.northBoundingCoordinate
-      </mapping>
-    </metadata>
-
-    <metadata>
-      <field>
-        Geographic coverage: South bounding coordinate
-      </field>
-      <description>
-        Provide lattitudinal and longitudinal boundaries for your dataset.
-      </description>
-      <mapping>
-        eml.dataset.coverage.geographicCoverage.boundingCoordinates.southBoundingCoordinate
-      </mapping>
-    </metadata>
-
-    <metadata>
-      <field>
-        Temporal coverage: Description
-      </field>
-      <description>
-        Describe the temporal coverage for the data in your dataset.
-      </description>
-      <mapping>
-        eml.additionalMetadata.metadata.description
-      </mapping>
-    </metadata>
-    
-    <metadata>
-      <field>
-        Temporal coverage: Beginning date
-      </field>
-      <description>
-        Provide the beginning date for the information collected in the dataset.
-      </description>
-      <mapping>
-        eml.dataset.coverage.temporalCoverage.rangeOfDates.beginDate.calendarDate
-      </mapping>
-      <type>
-        DateTime
-      </type>
-    </metadata>
-
-    <metadata>
-      <field>
-        Temporal coverage: Ending date
-      </field>
-      <description>
-        Provide the ending date for the information collected in the dataset.
-      </description>
-      <mapping>
-        eml.dataset.coverage.temporalCoverage.rangeOfDates.endDate.calendarDate
-      </mapping>
-      <type>
-        DateTime
-      </type>
     </metadata>
 
     <metadata>
 
     <metadata>
       <field>
+        Project personnel: Last name
+      </field>
+      <description>
+        The "Project personnel" is the best person to contact if the repository staff or others have questions about the dataset. This person may also be contacted by other researchers that would like to re-use the dataset.
+      </description>
+      <mapping>
+        eml.dataset.project.personnel.individualName.surName
+      </mapping>
+    </metadata>
+
+    <metadata>
+      <field>
+        Project personnel role
+      </field>
+      <description>
+        "pointOfContact"
+      </description>
+      <mapping>
+        eml.dataset.project.personnel.role
+      </mapping>
+    </metadata>
+
+    <metadata>
+      <field>
         Project description
       </field>
       <description>
 
     <metadata>
       <field>
-        Intellectual rights
-      </field>
-      <description>
-        Describe who owns the rights to the dataset. Stakeholders may include institutions, funders, individuals, publishers, or others.
-      </description>
-      <mapping>
-        eml.dataset.intellectualRights
-      </mapping>
-    </metadata>
-
-    <metadata>
-      <field>
         Data table name
       </field>
       <description>
 
     <metadata>
       <field>
-        Identifier
-      </field>
-      <description>
-        This identifier is used to identify the object in repository.
-      </description>
-      <mapping>
-        eml.dataset.dataTable.Identifier
-      </mapping>
-    </metadata>
-
-    <metadata>
-      <field>
-        Citation
+        Formatted citation
       </field>
       <description>
         This field will be populated on posting the data to a repository. A complete citation will be generated for the dataset, including the persistent identifier that was assigned by the repository.

Source/WebService/Web.Admin/Repositories/MerritRepository.cs

 using System.Xml;
 using System.Xml.Linq;
 using DataUp.Web.Service.Model;
+using System.Diagnostics;
 
 namespace DataUp.Web.Admin
 {
     public class MerritRepository : IRepository
     {
+        private static string CurrentFileName = String.Empty;
         enum FileCreationType
         {
             ERC,
                 dataStream.Write(buffer, 0, buffer.Length);
                 dataStream.Close();
 
+                //Trace.TraceInformation("Getting Response");
+
                 httpResponse = (HttpWebResponse)httpRequest.GetResponse();
+
+                ////Trace.TraceInformation("Received Response");
             }
             catch (WebException webException)
             {
                 httpResponse = (HttpWebResponse)webException.Response;
 
+                //Trace.TraceInformation("WebException with Status Code :" + httpResponse.StatusCode);
+
                 if (httpResponse.StatusCode == HttpStatusCode.Unauthorized)
                 {
                     return "false|" + "The username or password you entered is incorrect.";
                 && httpResponse.StatusCode != HttpStatusCode.Unauthorized
                 && httpResponse.StatusCode != HttpStatusCode.NotFound)
             {
+                //Trace.TraceInformation("Network exception occurred.");
+
                 return "false|Network Exception";
                 //throw new FaultException<MerritResponseFault>(new MerritResponseFault() { Message = "Network Exception" });
             }
 
+            //Trace.TraceInformation("Getting response stream.");
+
             dataStream = httpResponse.GetResponseStream();
             reader = new StreamReader(dataStream);
 
             dataStream.Close();
             httpResponse.Close();
 
+            //Trace.TraceInformation("Actual Response as string : " + restResponse);
+
             // Get Identifier from the response.
             return "true|" + restResponse.Substring(restResponse.IndexOf("ark:")).Trim();
         }
                 return "false|File is empty.";
                 // throw new FaultException<DocumentLengthFault>(DocumentLengthFault.FileEmpty(fileName));
             }
-
+            //Set name of Current File
+            CurrentFileName = Path.GetFileNameWithoutExtension(fileName);
             //create temporary directory to unzip the files and zip the files again
             string tempFolder = Constants.TempDownloadPath;
             Directory.CreateDirectory(tempFolder);
                     {
                         var tempName = System.IO.Path.GetFileName(fileName);
                         arguments.AppendLine(Constants.MrtErcFile + " | ERC | " + tempName + " | text/plain");
-                        arguments.AppendLine(Constants.MrtEmlFile + " | EML | " + tempName + " | text/xml");
+                        arguments.AppendLine(Constants.MrtEmlFile + " | eml://ecoinformatics.org/eml-2.1.1 | " + tempName + " | text/xml");
                     }
                     arguments.AppendLine("#%eof");
                     break;
             emlNamespaceMgr.AddNamespace("eml", Constants.EmlNamespace);
 
             XmlElement emlRoot = emlDocument.DocumentElement;
-            XmlNode attrListNode = emlRoot.SelectSingleNode(Constants.AttributListNodeXPath, emlNamespaceMgr);
-            if (attrListNode != null)
+
+            XmlNode dataTableRef = emlRoot.SelectSingleNode(Constants.SheetTableXPath, emlNamespaceMgr);
+            XmlNode parentDataTable = dataTableRef.ParentNode;
+            List<string> standardUnits = GetStandardUnits();
+            StringBuilder attibuteListBuilder;
+            XElement scaleNode;
+            foreach (var param in request.ParameterMetadata)
             {
-                // XElement attributeListNode = new XElement("attributeList");
-                StringBuilder attibuteListBuilder = new StringBuilder();
-
-                List<string> standardUnits = GetStandardUnits();
-
-                foreach (var param in request.ParameterMetadata)
+                var sheetTable = dataTableRef.Clone();
+                attibuteListBuilder = new StringBuilder();
+                foreach (var attr in param.AttributeList)
                 {
-                    XElement scaleNode = new XElement("measurementScale");
-                    if (!string.IsNullOrWhiteSpace(param.Type))
+                    scaleNode = new XElement("measurementScale");
+                    string units = string.IsNullOrWhiteSpace(attr.Units) ? string.Empty : attr.Units.Trim();
+                    if (!string.IsNullOrWhiteSpace(attr.Type))
                     {
-                        switch (param.Type.ToLower())
+                        switch (attr.Type.ToLower())
                         {
                             case "text":
                                 scaleNode = new XElement("measurementScale"
                                     , new XElement("nominal"
                                         , new XElement("nonNumericDomain"
                                             , new XElement("textDomain"
-                                                , new XElement("definition", System.Security.SecurityElement.Escape(param.Description))))));
+                                                , new XElement("definition", System.Security.SecurityElement.Escape(attr.Description))))));
                                 break;
                             case "datetime":
                                 scaleNode = new XElement("measurementScale"
                                         , new XElement("formatString", "yyyy-MM-dd")));
                                 break;
                             case "numeric":
-                                XElement unitsElement = new XElement("unit", new XElement("standardUnit", System.Security.SecurityElement.Escape(param.Units)));
-                                if (!string.IsNullOrWhiteSpace(param.Units) && !standardUnits.Contains(param.Units))
+                                XElement unitsElement = new XElement("unit", new XElement("standardUnit", System.Security.SecurityElement.Escape(units)));
+                                if (!string.IsNullOrWhiteSpace(units) && !standardUnits.Contains(units))
                                 {
-                                    unitsElement = new XElement("unit", new XElement("customUnit", System.Security.SecurityElement.Escape(param.Units)));
+                                    unitsElement = new XElement("unit", new XElement("customUnit", System.Security.SecurityElement.Escape(units)));
                                 }
 
                                 scaleNode = new XElement("measurementScale"
                                     , new XElement("interval"
-                                        , new XElement("numericDomain", new XElement("storageType", "float"))
+                                        , new XElement("numericDomain", new XElement("numberType", "float"))
                                         , unitsElement));
                                 break;
                         }
                     }
 
                     var attibuteNode = new XElement("attribute"
-                       , new XElement("attributeName", System.Security.SecurityElement.Escape(param.Name))
-                       , new XElement("attributeDefinition", System.Security.SecurityElement.Escape(param.Description))
-                       , scaleNode);
-
+                            , new XElement("attributeName", System.Security.SecurityElement.Escape(attr.Name))
+                            , new XElement("attributeDefinition", System.Security.SecurityElement.Escape(attr.Description))
+                            , scaleNode);
 
                     attibuteListBuilder.AppendLine(attibuteNode.ToString().Trim());
                 }
 
-                attrListNode.InnerXml = attibuteListBuilder.ToString();
+                sheetTable.SelectSingleNode("entityName").InnerText = String.Format("{0} - {1}",System.Security.SecurityElement.Escape(CurrentFileName),System.Security.SecurityElement.Escape(param.EntityName));
+                 sheetTable.SelectSingleNode("entityDescription").InnerText = System.Security.SecurityElement.Escape(param.EntityDescription);
+                 sheetTable.SelectSingleNode("attributeList").InnerXml = attibuteListBuilder.ToString();
+
+                 parentDataTable.InsertBefore(sheetTable, dataTableRef);
             }
+
+            parentDataTable.RemoveChild(dataTableRef);
         }
 
         private static List<string> GetStandardUnits()

Source/WebService/Web.Admin/RepositoryService.svc.cs

 using DataUp.Web.Admin.DataLayer;
 using DataUp.Web.Common;
 using DataUp.Web.Service.Model;
+using System.Diagnostics;
 
 namespace DataUp.Web.Admin
 {
         [WebInvoke(Method = "POST")]
         public string GetIdentifier()
         {
+            //Trace.TraceInformation("Get identifier called");
+
             string queryDataString = HttpContext.Current.Request["QueryData"];
             string repositoryModelString = HttpContext.Current.Request["RepositoryModel"];
 
                 // Get Authorisation for ONEShare repositoryType.
                 if (repository != null)
                 {
+                    //Trace.TraceInformation("Repository Name :" + repositoryModel.RepositoryName);
                     IRepository instance = RepositoryFactory.GetRepositoryInstance(repositoryModel.RepositoryName);
                     repositoryModel.RepositoryUrl = repository.GetIdentifierUrl;
 
 
                     if (instance != null)
                     {
-                        return instance.GetIdentifier(queryData, repositoryModel);
+                        //Trace.TraceInformation("Calling GetIdentifier on Repository");
+                        string returnValue = instance.GetIdentifier(queryData, repositoryModel);
+                        //Trace.TraceInformation("Returning value from service : " + returnValue);
+                            return returnValue;
                     }
                 }
             }

Source/WebService/Web.Admin/StandardUnits.txt

-meter 
-nanometer 
-micrometer 
-micron 
-millimeter 
-centimeter 
-decimeter 
-dekameter 
-hectometer 
-kilometer 
-megameter 
-angstrom 
-inch 
-Foot_US 
-foot 
-Foot_Gold_Coast 
-fathom 
-nauticalMile 
-yard 
-Yard_Indian 
-Link_Clarke 
-Yard_Sears 
-mile 
-kilogram 
-nanogram 
-microgram 
-milligram 
-centigram 
-decigram 
-gram 
-dekagram 
-hectogram 
-megagram 
-tonne 
-pound 
-ton 
-dimensionless 
-second 
-kelvin 
-coulomb 
-ampere 
-mole 
-candela 
-number 
-radian 
-degree 
-grad 
-cubicMeter 
-nominalMinute 
-nominalHour 
-nominalDay 
-nominalWeek 
-nominalYear 
-nominalLeapYear 
-celsius 
-fahrenheit 
-nanosecond 
-microsecond 
-millisecond 
-centisecond 
-decisecond 
-dekasecond 
-hectosecond 
-kilosecond 
-megasecond 
-minute 
-hour 
-kiloliter 
-microliter 
-milliliter 
-liter 
-gallon 
-quart 
-bushel 
-cubicInch 
-pint 
-megahertz 
-kilohertz 
-hertz 
-millihertz 
-newton 
-joule 
-calorie 
-britishThermalUnit 
-footPound 
-lumen 
-lux 
-becquerel 
-gray 
-sievert 
-katal 
-henry 
-megawatt 
-kilowatt 
-watt 
-milliwatt 
-megavolt 
-kilovolt 
-volt 
-millivolt 
-farad 
-ohm 
-ohmMeter 
-siemen 
-weber 
-tesla 
-pascal 
-megapascal 
-kilopascal 
-atmosphere 
-bar 
-millibar 
-kilogramsPerSquareMeter 
-gramsPerSquareMeter 
-milligramsPerSquareMeter 
-kilogramsPerHectare 
-tonnePerHectare 
-poundsPerSquareInch 
-kilogramPerCubicMeter 
-milliGramsPerMilliLiter 
-gramsPerLiter 
-milligramsPerCubicMeter 
-microgramsPerLiter 
-milligramsPerLiter 
-gramsPerCubicCentimeter 
-gramsPerMilliliter 
-gramsPerLiterPerDay 
-litersPerSecond 
-cubicMetersPerSecond 
-cubicFeetPerSecond 
-squareMeter 
-are 
-hectare 
-squareKilometers 
-squareMillimeters 
-squareCentimeters 
-acre 
-squareFoot 
-squareYard 
-squareMile 
-litersPerSquareMeter 
-bushelsPerAcre 
-litersPerHectare 
-squareMeterPerKilogram 
-metersPerSecond 
-metersPerDay 
-feetPerDay 
-feetPerSecond 
-feetPerHour 
-yardsPerSecond 
-milesPerHour 
-milesPerSecond 
-milesPerMinute 
-centimetersPerSecond 
-millimetersPerSecond 
-centimeterPerYear 
-knots 
-kilometersPerHour 
-metersPerSecondSquared 
-waveNumber 
-cubicMeterPerKilogram 
-cubicMicrometersPerGram 
-amperePerSquareMeter 
-amperePerMeter 
-molePerCubicMeter 
-molarity 
-molality 
-candelaPerSquareMeter 
-metersSquaredPerSecond 
-metersSquaredPerDay 
-feetSquaredPerDay 
-kilogramsPerMeterSquaredPerSecond 
-gramsPerCentimeterSquaredPerSecond 
-gramsPerMeterSquaredPerYear 
-gramsPerHectarePerDay 
-kilogramsPerHectarePerYear 
-kilogramsPerMeterSquaredPerYear 
-molesPerKilogram 
-molesPerGram 
-millimolesPerGram 
-molesPerKilogramPerSecond 
-nanomolesPerGramPerSecond 
-kilogramsPerSecond 
-tonnesPerYear 
-gramsPerYear 
-numberPerMeterSquared 
-numberPerKilometerSquared 
-numberPerMeterCubed 
-numberPerLiter 
-numberPerMilliliter 
-metersPerGram 
-numberPerGram 
-gramsPerGram 
-microgramsPerGram 
+meter
+nanometer
+micrometer
+micron
+millimeter
+centimeter
+decimeter
+dekameter
+hectometer
+kilometer
+megameter
+angstrom
+inch
+Foot_US
+foot
+Foot_Gold_Coast
+fathom
+nauticalMile
+yard
+Yard_Indian
+Link_Clarke
+Yard_Sears
+mile
+kilogram
+nanogram
+microgram
+milligram
+centigram
+decigram
+gram
+dekagram
+hectogram
+megagram
+tonne
+pound
+ton
+dimensionless
+second
+kelvin
+coulomb
+ampere
+mole
+candela
+number
+radian
+degree
+grad
+cubicMeter
+nominalMinute
+nominalHour
+nominalDay
+nominalWeek
+nominalYear
+nominalLeapYear
+celsius
+fahrenheit
+nanosecond
+microsecond
+millisecond
+centisecond
+decisecond
+dekasecond
+hectosecond
+kilosecond
+megasecond
+minute
+hour
+kiloliter
+microliter
+milliliter
+liter
+gallon
+quart
+bushel
+cubicInch
+pint
+megahertz
+kilohertz
+hertz
+millihertz
+newton
+joule
+calorie
+britishThermalUnit
+footPound
+lumen
+lux
+becquerel
+gray
+sievert
+katal
+henry
+megawatt
+kilowatt
+watt
+milliwatt
+megavolt
+kilovolt
+volt
+millivolt
+farad
+ohm
+ohmMeter
+siemen
+weber
+tesla
+pascal
+megapascal
+kilopascal
+atmosphere
+bar
+millibar
+kilogramsPerSquareMeter
+gramsPerSquareMeter
+milligramsPerSquareMeter
+kilogramsPerHectare
+tonnePerHectare
+poundsPerSquareInch
+kilogramPerCubicMeter
+milliGramsPerMilliLiter
+gramsPerLiter
+milligramsPerCubicMeter
+microgramsPerLiter
+milligramsPerLiter
+gramsPerCubicCentimeter
+gramsPerMilliliter
+gramsPerLiterPerDay
+litersPerSecond
+cubicMetersPerSecond
+cubicFeetPerSecond
+squareMeter
+are
+hectare
+squareKilometers
+squareMillimeters
+squareCentimeters
+acre
+squareFoot
+squareYard
+squareMile
+litersPerSquareMeter
+bushelsPerAcre
+litersPerHectare
+squareMeterPerKilogram
+metersPerSecond
+metersPerDay
+feetPerDay
+feetPerSecond
+feetPerHour
+yardsPerSecond
+milesPerHour
+milesPerSecond
+milesPerMinute
+centimetersPerSecond
+millimetersPerSecond
+centimeterPerYear
+knots
+kilometersPerHour
+metersPerSecondSquared
+waveNumber
+cubicMeterPerKilogram
+cubicMicrometersPerGram
+amperePerSquareMeter
+amperePerMeter
+molePerCubicMeter
+molarity
+molality
+candelaPerSquareMeter
+metersSquaredPerSecond
+metersSquaredPerDay
+feetSquaredPerDay
+kilogramsPerMeterSquaredPerSecond
+gramsPerCentimeterSquaredPerSecond
+gramsPerMeterSquaredPerYear
+gramsPerHectarePerDay
+kilogramsPerHectarePerYear
+kilogramsPerMeterSquaredPerYear
+molesPerKilogram
+molesPerGram
+millimolesPerGram
+molesPerKilogramPerSecond
+nanomolesPerGramPerSecond
+kilogramsPerSecond
+tonnesPerYear
+gramsPerYear
+numberPerMeterSquared
+numberPerKilometerSquared
+numberPerMeterCubed
+numberPerLiter
+numberPerMilliliter
+metersPerGram
+numberPerGram
+gramsPerGram
+microgramsPerGram
 cubicCentimetersPerCubicCentimeters
-radian 
-degree 
-grad 
+radian
+degree
+grad

Source/WebService/Web.Admin/Web.Admin.csproj

       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\packages\Microsoft.WindowsAzure.ConfigurationManager.1.7.0.3\lib\net35-full\Microsoft.WindowsAzure.Configuration.dll</HintPath>
     </Reference>
-    <Reference Include="Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
-    <Reference Include="Microsoft.WindowsAzure.ServiceRuntime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+    <Reference Include="Microsoft.WindowsAzure.Diagnostics, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
+    <Reference Include="Microsoft.WindowsAzure.ServiceRuntime, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
     <Reference Include="Microsoft.WindowsAzure.StorageClient, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
       <HintPath>..\packages\WindowsAzure.Storage.1.7.0.0\lib\net35-full\Microsoft.WindowsAzure.StorageClient.dll</HintPath>
     </Reference>
     <Content Include="Content\themes\base\jquery.ui.theme.css" />
     <Content Include="DataUpMetadata.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+      <SubType>Designer</SubType>
     </Content>
     <Content Include="Global.asax" />
     <Content Include="NewScientificMetadata.xml">
     <Content Include="Views\Shared\_LogOnPartial.cshtml" />
     <Content Include="Views\Shared\_Layout.cshtml" />
     <Content Include="Views\Web.config" />
+    <None Include="_bin_deployableAssemblies\System.Web.Mvc.dll" />
+    <None Include="_bin_deployableAssemblies\WebMatrix.WebData.xml" />
+    <None Include="_bin_deployableAssemblies\WebMatrix.WebData.dll" />
+    <None Include="_bin_deployableAssemblies\WebMatrix.Data.xml" />
+    <None Include="_bin_deployableAssemblies\WebMatrix.Data.dll" />
+    <None Include="_bin_deployableAssemblies\System.Web.WebPages.xml" />
+    <None Include="_bin_deployableAssemblies\System.Web.WebPages.Razor.xml" />
+    <None Include="_bin_deployableAssemblies\System.Web.WebPages.Razor.dll" />
+    <None Include="_bin_deployableAssemblies\System.Web.WebPages.dll" />
+    <None Include="_bin_deployableAssemblies\System.Web.WebPages.Deployment.xml" />
+    <None Include="_bin_deployableAssemblies\System.Web.WebPages.Deployment.dll" />
+    <None Include="_bin_deployableAssemblies\System.Web.WebPages.Administration.dll" />
+    <None Include="_bin_deployableAssemblies\System.Web.Razor.xml" />
+    <None Include="_bin_deployableAssemblies\System.Web.Razor.dll" />
+    <None Include="_bin_deployableAssemblies\System.Web.Helpers.xml" />
+    <None Include="_bin_deployableAssemblies\System.Web.Helpers.dll" />
+    <None Include="_bin_deployableAssemblies\NuGet.Core.dll" />
+    <None Include="_bin_deployableAssemblies\Microsoft.Web.Infrastructure.xml" />
+    <None Include="_bin_deployableAssemblies\Microsoft.Web.Infrastructure.dll" />
   </ItemGroup>
   <ItemGroup>
     <Folder Include="App_Data\" />

Source/WebService/Web.Admin/Web.Admin.csproj.user

 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <NameOfLastUsedPublishProfile>Profile1</NameOfLastUsedPublishProfile>
+    <ProjectView>ShowAllFiles</ProjectView>
   </PropertyGroup>
   <ProjectExtensions>
     <VisualStudio>
           <StartWorkingDirectory>
           </StartWorkingDirectory>
           <EnableENC>False</EnableENC>
-          <AlwaysStartWebServerOnDebug>True</AlwaysStartWebServerOnDebug>
+          <AlwaysStartWebServerOnDebug>False</AlwaysStartWebServerOnDebug>
         </WebProjectProperties>
       </FlavorProperties>
     </VisualStudio>

Source/WebService/Web.Admin/Web.config

   <system.diagnostics>
     <trace>
       <listeners>
-        <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
+        <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
+          name="AzureDiagnostics">
           <filter type="" />
         </add>
       </listeners>
   <connectionStrings>
     <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
     <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet_d77259fe74264d27834ce01b09513540;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
-    <add name="DCXLAdminEntities" connectionString="metadata=res://*/AdminEntities.csdl|res://*/AdminEntities.ssdl|res://*/AdminEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=uakxp9zd12.database.windows.net;initial catalog=adminstagingAug;user id=datacuration;password=dcxl2012!;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
+    <!--<add name="DCXLAdminEntities" connectionString="metadata=res://*/AdminEntities.csdl|res://*/AdminEntities.ssdl|res://*/AdminEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=v12h47zv64.database.windows.net;initial catalog=adminservice;user id=dataup;password=LakeMerritt!;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />-->
+    <add name="DCXLAdminEntities" connectionString="metadata=res://*/AdminEntities.csdl|res://*/AdminEntities.ssdl|res://*/AdminEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=uakxp9zd12.database.windows.net;initial catalog=adminservicedev6aug;user id=datacuration;password=dcxl2012!;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
   </connectionStrings>
   <appSettings>
+    <add key="enableSimpleMembership" value="false"/>
+    <add key="autoFormsAuthentication" value="false"/>
     <add key="webpages:Version" value="1.0.0.0" />
     <add key="ClientValidationEnabled" value="true" />
     <add key="UnobtrusiveJavaScriptEnabled" value="true" />
     <add key="EMLMetadata" value=".\DataUpMetadata.xml" />
     <add key="StandardUnitsPath" value=".\StandardUnits.txt" />
     <add key="PostFileTimeOutMinutes" value="100" />
-    <add key="DCXLAdminEntities" value="metadata=res://*/AdminEntities.csdl|res://*/AdminEntities.ssdl|res://*/AdminEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=uakxp9zd12.database.windows.net;initial catalog=adminstagingAug;user id=datacuration;password=dcxl2012!;multipleactiveresultsets=True;App=EntityFramework&quot;" />
+    <add key="DCXLAdminEntities" value="metadata=res://*/AdminEntities.csdl|res://*/AdminEntities.ssdl|res://*/AdminEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=uakxp9zd12.database.windows.net;initial catalog=adminservicedev6aug;user id=datacuration;password=dcxl2012!;multipleactiveresultsets=True;App=EntityFramework&quot;" />
   </appSettings>
   <system.web>
     <customErrors mode="Off" />
       <webHttpBinding>
         <binding>
           <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="2147483647" />
+          <security mode="Transport" />
         </binding>
       </webHttpBinding>
     </bindings>

Source/WebService/Web.Admin/WebRole.cs

     {
         public override bool OnStart()
         {
-            // To enable the AzureLocalStorageTraceListner, uncomment relevent section in the web.config  
-            DiagnosticMonitorConfiguration diagnosticConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();
-            diagnosticConfig.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
-            diagnosticConfig.Directories.DataSources.Add(AzureLocalStorageTraceListener.GetLogDirectory());
+            //// To enable the AzureLocalStorageTraceListner, uncomment relevent section in the web.config  
+            //DiagnosticMonitorConfiguration diagnosticConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();
+            //diagnosticConfig.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
+            //diagnosticConfig.Directories.DataSources.Add(AzureLocalStorageTraceListener.GetLogDirectory());
+
+            TimeSpan timeToTransfer = TimeSpan.FromMinutes(1);
+            DiagnosticMonitorConfiguration dmc = DiagnosticMonitor.GetDefaultInitialConfiguration();
+            dmc.Logs.ScheduledTransferPeriod = timeToTransfer;
+            dmc.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
+            DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", dmc); 
 
             // For information on handling configuration changes
             // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
Add a comment to this file

Source/WebService/Web.Admin/merritt.cdlib.org.cer

Binary file added.

Source/WebService/Web.Azure/Profiles/adminservicedevProduction.azurePubxml

 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <AzureCredentials>Adminservicedev</AzureCredentials>
+    <AzureCredentials>dataupdevelopment</AzureCredentials>
     <AzureHostedServiceName>adminservicedev</AzureHostedServiceName>
     <AzureHostedServiceLabel>adminservicedev</AzureHostedServiceLabel>
     <AzureSlot>Production</AzureSlot>
     <AzureSolutionConfiguration>Release</AzureSolutionConfiguration>
     <AzureServiceConfiguration>Cloud</AzureServiceConfiguration>
     <AzureAppendTimestampToDeploymentLabel>True</AzureAppendTimestampToDeploymentLabel>
-    <AzureAllowUpgrade>True</AzureAllowUpgrade>
     <AzureEnableRemoteDesktop>True</AzureEnableRemoteDesktop>
+    <AzureDeploymentReplacementMethod>AutomaticUpgrade</AzureDeploymentReplacementMethod>
   </PropertyGroup>
 </Project>

Source/WebService/Web.Azure/Profiles/adminservicedevStaging.azurePubxml

     <AzureSolutionConfiguration>Release</AzureSolutionConfiguration>
     <AzureServiceConfiguration>Cloud</AzureServiceConfiguration>
     <AzureAppendTimestampToDeploymentLabel>True</AzureAppendTimestampToDeploymentLabel>
-    <AzureAllowUpgrade>True</AzureAllowUpgrade>
     <AzureEnableRemoteDesktop>True</AzureEnableRemoteDesktop>
+    <AzureDeploymentReplacementMethod>AutomaticUpgrade</AzureDeploymentReplacementMethod>
   </PropertyGroup>
 </Project>

Source/WebService/Web.Azure/Profiles/adminservicestaging.azurePubxml

 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <AzureCredentials>dataupdevelopment</AzureCredentials>
-    <AzureHostedServiceName>dataupadmin</AzureHostedServiceName>
-    <AzureHostedServiceLabel>adminservice</AzureHostedServiceLabel>
+    <AzureCredentials>datacuration</AzureCredentials>
+    <AzureHostedServiceName>adminservicedev</AzureHostedServiceName>
+    <AzureHostedServiceLabel>adminservicedev</AzureHostedServiceLabel>
     <AzureSlot>Production</AzureSlot>
     <AzureEnableIntelliTrace>False</AzureEnableIntelliTrace>
     <AzureEnableProfiling>False</AzureEnableProfiling>
     <AzureEnableWebDeploy>False</AzureEnableWebDeploy>
-    <AzureStorageAccountName>adminserviceprod</AzureStorageAccountName>
-    <AzureStorageAccountLabel>adminserviceprod</AzureStorageAccountLabel>
+    <AzureStorageAccountName>adminservicedev</AzureStorageAccountName>
+    <AzureStorageAccountLabel>adminservicedev</AzureStorageAccountLabel>
     <AzureDeploymentLabel>Web.Azure</AzureDeploymentLabel>
     <AzureSolutionConfiguration>Release</AzureSolutionConfiguration>
     <AzureServiceConfiguration>Cloud</AzureServiceConfiguration>
     <AzureAppendTimestampToDeploymentLabel>True</AzureAppendTimestampToDeploymentLabel>
-    <AzureAllowUpgrade>True</AzureAllowUpgrade>
     <AzureEnableRemoteDesktop>True</AzureEnableRemoteDesktop>
+    <AzureDeploymentReplacementMethod>AutomaticUpgrade</AzureDeploymentReplacementMethod>
   </PropertyGroup>
 </Project>

Source/WebService/Web.Azure/Profiles/adminservicetestProduction.azurePubxml

     <AzureSolutionConfiguration>Release</AzureSolutionConfiguration>
     <AzureServiceConfiguration>Cloud</AzureServiceConfiguration>
     <AzureAppendTimestampToDeploymentLabel>True</AzureAppendTimestampToDeploymentLabel>
-    <AzureAllowUpgrade>True</AzureAllowUpgrade>
     <AzureEnableRemoteDesktop>True</AzureEnableRemoteDesktop>
+    <AzureDeploymentReplacementMethod>AutomaticUpgrade</AzureDeploymentReplacementMethod>
   </PropertyGroup>
 </Project>

Source/WebService/Web.Azure/Profiles/dcxlwebserviceDev.azurePubxml

     <AzureSolutionConfiguration>Release</AzureSolutionConfiguration>
     <AzureServiceConfiguration>Cloud</AzureServiceConfiguration>
     <AzureAppendTimestampToDeploymentLabel>True</AzureAppendTimestampToDeploymentLabel>
-    <AzureAllowUpgrade>True</AzureAllowUpgrade>
     <AzureEnableRemoteDesktop>True</AzureEnableRemoteDesktop>
+    <AzureDeploymentReplacementMethod>AutomaticUpgrade</AzureDeploymentReplacementMethod>
   </PropertyGroup>
 </Project>

Source/WebService/Web.Azure/Profiles/dcxlwebserviceProduction.azurePubxml

     <AzureSolutionConfiguration>Release</AzureSolutionConfiguration>
     <AzureServiceConfiguration>Cloud</AzureServiceConfiguration>
     <AzureAppendTimestampToDeploymentLabel>True</AzureAppendTimestampToDeploymentLabel>
-    <AzureAllowUpgrade>True</AzureAllowUpgrade>
     <AzureEnableRemoteDesktop>True</AzureEnableRemoteDesktop>
+    <AzureDeploymentReplacementMethod>AutomaticUpgrade</AzureDeploymentReplacementMethod>
   </PropertyGroup>
 </Project>

Source/WebService/Web.Azure/ServiceConfiguration.Cloud.cscfg

-<?xml version="1.0" encoding="utf-8"?>
-<ServiceConfiguration serviceName="Web.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*">
+<?xml version="1.0" encoding="utf-8"?>
+<ServiceConfiguration serviceName="Web.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*" schemaVersion="2012-05.1.7">
   <Role name="Web.Admin">
     <Instances count="1" />
     <ConfigurationSettings>
-      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=adminservicedev;AccountKey=wf7l7Lb8VOct8d8WLZ1csq9kHNTP010bZi7Eq1CLfqBxjWSbw2p9+9pdQWfI+tC4evlc0eim7Q9I19wT5u2gHQ==" />
-      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />
-      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="datacuration" />
-      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="MIIBnQYJKoZIhvcNAQcDoIIBjjCCAYoCAQAxggFOMIIBSgIBADAyMB4xHDAaBgNVBAMME1dpbmRvd3MgQXp1cmUgVG9vbHMCEEW7BhKqRvanTVj60/yMWjgwDQYJKoZIhvcNAQEBBQAEggEAfOXzPdDqELQjLK0RIF97Y4JRXGyTFA7ssIUC7beMf8OE5dIpjbC+lzlpvPpqNZi/VcGwxL7oVxHDy1+PkXsHAiFJC2bR37OOCQ5i0pbyG9mtKuV9DmCuzlV1OwAc14sS/ECrGEEDyOP40JNYJvRKvMHkxk17EHItZnsWW3p2qQyN7o/V73uNFNn7ZdACGtK1szQMZnmjvAdwGFsbZPo7xEA7LFcD0r2kWvs6ONqNf4fxsz5OoaCrmR9QhH+SzNXauE6UPQlUP4UW42S9RHAXbO82w81CPOr5vXABIQ78Eol19aZnGl/qStR2GWEQJ+5agitEIMp9pNR/p4muntHB6TAzBgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECEmNPKGe62ZTgBCDeJkClbiyNBvV0OrbsNpD" />
-      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2013-05-28T23:59:59.0000000+05:30" />
-      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" />
+      <!--<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=datatupstorage;AccountKey=JNP40XUjm6C+0pXYmtTMx7MSKg2+bbjUUjj8usDi8rEE9Z6VGy9iQ5kGwcpmmXcLkw8VsROwzPFRt97lafs9+A==" />-->
+      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=dcxldevelopment;AccountKey=GyoG7buqRTJ3qmbGv5hAVqqTjlne8G0vDVuDrokj41oouqnTvdxuCcGjNCwW4KykdPWmkx55XU8GHy13EZlMmg==" />
       <Setting name="ClientValidationEnabled" value="true" />
       <Setting name="UnobtrusiveJavaScriptEnabled" value="true" />
       <Setting name="AdminEmail" value="test@test.com" />
       <Setting name="NewscientificMetadata" value=".\NewScientificMetadata.xml" />
       <Setting name="EMLMetadata" value=".\DCXLMetadata.xml" />
       <Setting name="PostFileTimeOutMinutes" value="100" />
-      <Setting name="DCXLAdminEntities" value="metadata=res://*/AdminEntities.csdl|res://*/AdminEntities.ssdl|res://*/AdminEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=uakxp9zd12.database.windows.net;initial catalog=adminstagingAug;user id=datacuration;password=dcxl2012!;multipleactiveresultsets=True;App=EntityFramework&quot;" />
+      <Setting name="DCXLAdminEntities" value="metadata=res://*/AdminEntities.csdl|res://*/AdminEntities.ssdl|res://*/AdminEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=v12h47zv64.database.windows.net;initial catalog=adminservice;user id=dataup;password=LakeMerritt!;multipleactiveresultsets=True;App=EntityFramework&quot;" />
     </ConfigurationSettings>
     <Certificates>
-      <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="711B9039B063CA2D37C8E49B258B4B655FCA368D" thumbprintAlgorithm="sha1" />
+      <Certificate name="DataUpCertficiate" thumbprint="D7D32A9B4FF37934D2E9E6BB2DF355CA4CE176F1" thumbprintAlgorithm="sha1" />
     </Certificates>
   </Role>
 </ServiceConfiguration>

Source/WebService/Web.Azure/ServiceConfiguration.Local.cscfg

-<?xml version="1.0" encoding="utf-8"?>
-<ServiceConfiguration serviceName="Web.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*">
+<?xml version="1.0" encoding="utf-8"?>
+<ServiceConfiguration serviceName="Web.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*" schemaVersion="2012-05.1.7">
   <Role name="Web.Admin">
     <Instances count="1" />
     <ConfigurationSettings>
       <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=adminservicedev;AccountKey=wf7l7Lb8VOct8d8WLZ1csq9kHNTP010bZi7Eq1CLfqBxjWSbw2p9+9pdQWfI+tC4evlc0eim7Q9I19wT5u2gHQ==" />
-      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" />
-      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="datacuration" />
-      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="MIIBnQYJKoZIhvcNAQcDoIIBjjCCAYoCAQAxggFOMIIBSgIBADAyMB4xHDAaBgNVBAMME1dpbmRvd3MgQXp1cmUgVG9vbHMCEEW7BhKqRvanTVj60/yMWjgwDQYJKoZIhvcNAQEBBQAEggEAfOXzPdDqELQjLK0RIF97Y4JRXGyTFA7ssIUC7beMf8OE5dIpjbC+lzlpvPpqNZi/VcGwxL7oVxHDy1+PkXsHAiFJC2bR37OOCQ5i0pbyG9mtKuV9DmCuzlV1OwAc14sS/ECrGEEDyOP40JNYJvRKvMHkxk17EHItZnsWW3p2qQyN7o/V73uNFNn7ZdACGtK1szQMZnmjvAdwGFsbZPo7xEA7LFcD0r2kWvs6ONqNf4fxsz5OoaCrmR9QhH+SzNXauE6UPQlUP4UW42S9RHAXbO82w81CPOr5vXABIQ78Eol19aZnGl/qStR2GWEQJ+5agitEIMp9pNR/p4muntHB6TAzBgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECEmNPKGe62ZTgBCDeJkClbiyNBvV0OrbsNpD" />
-      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2013-05-28T23:59:59.0000000+05:30" />
-      <Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" />
       <Setting name="ClientValidationEnabled" value="true" />
       <Setting name="UnobtrusiveJavaScriptEnabled" value="true" />
       <Setting name="AdminEmail" value="test@test.com" />
       <Setting name="DCXLAdminEntities" value="metadata=res://*/AdminEntities.csdl|res://*/AdminEntities.ssdl|res://*/AdminEntities.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=uakxp9zd12.database.windows.net;initial catalog=adminservicetest;user id=datacuration;password=dcxl2012!;multipleactiveresultsets=True;App=EntityFramework&quot;" />
     </ConfigurationSettings>
     <Certificates>
-      <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="711B9039B063CA2D37C8E49B258B4B655FCA368D" thumbprintAlgorithm="sha1" />
+      <Certificate name="DataUpCertficiate" thumbprint="D7D32A9B4FF37934D2E9E6BB2DF355CA4CE176F1" thumbprintAlgorithm="sha1" />
     </Certificates>
   </Role>
 </ServiceConfiguration>

Source/WebService/Web.Azure/ServiceDefinition.build.csdef

 
   **********************************************************************************************
 -->
-<ServiceDefinition name="Web.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
+<ServiceDefinition name="Web.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-05.1.7">
   <WebRole name="Web.Admin" vmsize="Medium">
     <Sites>
       <Site name="Web">
         <Bindings>
-          <Binding name="Endpoint1" endpointName="Endpoint1" />
+          <Binding name="Endpoint2" endpointName="Endpoint2" />
         </Bindings>
       </Site>
     </Sites>
     <Endpoints>
-      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
+      <InputEndpoint name="Endpoint2" protocol="https" port="443" certificate="DataUpCertficiate" />
     </Endpoints>
     <Imports>
       <Import moduleName="Diagnostics" />
-      <Import moduleName="RemoteAccess" />
-      <Import moduleName="RemoteForwarder" />
     </Imports>
     <LocalResources>
       <LocalStorage name="Web.Service.svclog" sizeInMB="1000" cleanOnRoleRecycle="false" />
       <Setting name="DCXLAdminEntities" />
       <Setting name="PostFileTimeOutMinutes" />
     </ConfigurationSettings>
+    <Certificates>
+      <Certificate name="DataUpCertficiate" storeLocation="LocalMachine" storeName="My" />
+    </Certificates>
   </WebRole>
 </ServiceDefinition>

Source/WebService/Web.Azure/ServiceDefinition.csdef

 <?xml version="1.0" encoding="utf-8"?>
-<ServiceDefinition name="Web.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
+<ServiceDefinition name="Web.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-05.1.7">
   <WebRole name="Web.Admin" vmsize="Medium">
     <Sites>
       <Site name="Web">
         <Bindings>
-          <Binding name="Endpoint1" endpointName="Endpoint1" />
+          <Binding name="Endpoint2" endpointName="Endpoint2" />
         </Bindings>
       </Site>
     </Sites>
     <Endpoints>
-      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
+      <InputEndpoint name="Endpoint2" protocol="https" port="443" certificate="DataUpCertficiate" />
     </Endpoints>
     <Imports>
       <Import moduleName="Diagnostics" />
-      <Import moduleName="RemoteAccess" />
-      <Import moduleName="RemoteForwarder" />
     </Imports>
     <LocalResources>
       <LocalStorage name="Web.Service.svclog" sizeInMB="1000" cleanOnRoleRecycle="false" />
       <Setting name="DCXLAdminEntities" />
       <Setting name="PostFileTimeOutMinutes" />
     </ConfigurationSettings>
+    <Certificates>
+      <Certificate name="DataUpCertficiate" storeLocation="LocalMachine" storeName="My" />
+    </Certificates>
   </WebRole>
 </ServiceDefinition>

Source/WebService/Web.Azure/Web.Azure.ccproj

   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>1.6</ProductVersion>
+    <ProductVersion>1.7</ProductVersion>
     <ProjectGuid>{2abe983d-d9f4-400d-a75d-2d82c8248674}</ProjectGuid>
     <OutputType>Library</OutputType>
     <AppDesignerFolder>Properties</AppDesignerFolder>
     <AssemblyName>Web.Azure</AssemblyName>
     <StartDevelopmentStorage>True</StartDevelopmentStorage>
     <Name>Web.Azure</Name>
+    <UseIISExpressByDefault>False</UseIISExpressByDefault>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
   <!-- Import the target files for this project template -->
   <PropertyGroup>
     <VisualStudioVersion Condition=" '$(VisualStudioVersion)' == '' ">10.0</VisualStudioVersion>
-    <CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\1.6\</CloudExtensionsDir>
+    <CloudExtensionsDir Condition=" '$(CloudExtensionsDir)' == '' ">$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Windows Azure Tools\1.7\</CloudExtensionsDir>
   </PropertyGroup>
   <Import Project="$(CloudExtensionsDir)Microsoft.WindowsAzure.targets" />
 </Project>

Source/WebService/Web.Azure/Web.Azure.ccproj.user

 <?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
-    <ActivePublishProfile>adminservicestaging</ActivePublishProfile>
+    <ActivePublishProfile>adminservicedevProduction</ActivePublishProfile>
     <DeploymentPromptBeforeUpgrading>False</DeploymentPromptBeforeUpgrading>
-    <RemoteDesktopMoreOptions>False</RemoteDesktopMoreOptions>
+    <WebRoleSkipLaunchInBrowser>Web.Admin</WebRoleSkipLaunchInBrowser>
+    <PackageProfile>Cloud</PackageProfile>
+    <PackageSolutionConfiguration>Release</PackageSolutionConfiguration>
+    <PackageEnableRemoteDesktop>False</PackageEnableRemoteDesktop>
   </PropertyGroup>
 </Project>

Source/WebService/Web.Service.Model/ParameterMetadataDetail.cs

-
+using System.Collections.Generic;
+
 namespace DataUp.Web.Service.Model
 {
     /// <summary>
     /// </summary>
     public class ParameterMetadataDetail
     {
+        public string EntityName { get; set; }
+
+        public string EntityDescription { get; set; }
+
+        public List<ParameterAttribute> AttributeList { get; set; }
+    }
+
+    public class ParameterAttribute
+    {
         public string Name { get; set; }
 
         public string Description { get; set; }

Source/WebService/Web.Service.Model/WebServiceNamespaces.cs

 {
     public static class WebServiceNamespaces
     {
-        public const string BaseNamespace = "http://www.dataUp.com/";
+        public const string BaseNamespace = "http://www.dcxl.com/";