To access the vCOPs with the RESTful API

VCOPs can be used such as the information it provides are accessible via the RESTful API?

RV Ops 6.x see this thread:

Integration of vCO and vCOps

Tags: VMware

Similar Questions

  • Using c# to access the REST API - 404 not found

    Hi all!

    Since there is currently no available c# example to access the REST API, I'm going at this from scratch using the Nuget - Microsoft.AspNet.WebApi.Client package.

    I was able to successfully implement a framework for code that is able to make a call to the base_uris method and successfully receive a response.

    I'm doing a transientDocuments call, but I still get a 404 not found error.  I'm hoping somewhere here may be able to enlighten.  I tried to use the current examples of Java to call REST API to get help on how to go about things.

    I create an instance of the AdobeDCREST class, and pass the BaseUrl (https://api.echosign.com/api/rest/v5/) and my key to integration.  When I make a call to the PostTransientDocuments method I pass into the path of the pdf file that I am trying to download.  PostTransientDocuments then deals with the creation of an object the HttpContent (StreamContent) of the file, and then adding the headers, ContentType and ContentDisposition.  The call to GetClient() will determine whether base_uris should be called still or not (I make the call to base_uris and storage of the api_access_point in a variable static for all other calls, as well as the java examples) and returns an object of the HttpClient with the access in the header already token.  The call to base_uris works and returns a https://api.na1.echosign.com/ api_access_point

    I then add/api/rest/v5 to the url access_point to call transientDocuments. Failure occurs during the call to PostAsync in transientDocuments with a 404 not found error.

    Here's the code I'm using to test things so far.  Any help would be greatly appreciated.  I've been spinning my wheels on that for too long already.

    using System;

    using System.Collections.Generic;

    using System.IO;

    using System.Linq;

    using System.Net.Http;

    using System.Net.Http.Headers;

    using System.Text;

    using System.Threading.Tasks;

    namespace Ivezt.Documents {}

    public class AdobeDCREST {}

    < Summary >

    A static variable that is defined by an initial call to GetBaseURIs() and used for all API calls later.

    < / Summary >

    Private Shared ReadOnly Property SERVICES_BASE_URL as string = string. Empty;

    < Summary >

    The end point of API to use.  This aspect will have to be changed if Adobe is moving to a new version of the API and we update this

    the code to use this new version.

    < / Summary >

    Private Shared ReadOnly Property API_URL as string = "api/rest/v5 /";

    < Summary >

    This BaseUrl is passed to the constructor and used to make a call to GetBaseURIs().

    < / Summary >

    private string m_strBaseUrl = string. Empty;

    < Summary >

    The IntegrationKey is passed to the constructor and must be added to the header of each API request.

    < / Summary >

    private string m_strIntegrationKey = string. Empty;

    public AdobeDCREST (string strBaseUrl, string strIntegrationKey) {}

    m_strBaseUrl = strBaseUrl;

    m_strIntegrationKey = strIntegrationKey;

    }

    private HttpClient GetDefaultClient() {}

    HttpClient client = new HttpClient();

    Add an Accept header for JSON format.

    customer. () DefaultRequestHeaders.Accept.Add

    (new MediaTypeWithQualityHeaderValue("application/json"));

    Add the access token

    customer. DefaultRequestHeaders.Add ("Access token", m_strIntegrationKey);

    customer feedback;

    }

    private HttpClient GetClient() {}

    If we have not yet the SERVICES_BASE_URL, then we must do a GetBaseURIs call

    If (SERVICES_BASE_URL. Length == 0) {}

    HttpClient baseClient = GetDefaultClient();

    Use the BaseUrl passed to the constructor

    baseClient.BaseAddress = new Uri (m_strBaseUrl);

    URI BaseURIs_Response = GetBaseURIs (baseClient);

    SERVICES_BASE_URL = string. Format ("{0} {1}", uris.api_access_point, API_URL);

    baseClient.Dispose ();

    }

    If (SERVICES_BASE_URL. Length == 0)

    throw new Exception ("failed to retrieve Adobe Document cloud Base URI");

    HttpClient client = GetDefaultClient();

    customer. BaseAddress = new Uri (SERVICES_BASE_URL).

    customer feedback;

    }

    public BaseURIs_Response GetBaseURIs(HttpClient client) {}

    Call base_uris

    HttpResponseMessage response = client. GetAsync ("base_uris"). Result;  Call blocking!

    If (answer. IsSuccessStatusCode) {}

    Analyze the response body. Blocking!

    answer back (BaseURIs_Response). Content.ReadAsAsync (typeof (BaseURIs_Response)). Result;

    }

    else {}

    throw new Exception (string. Format ("{0} ({1})", (int) response. ") StatusCode, response. ReasonPhrase));

    }

    }

    public TransientDocument_Response PostTransientDocuments (string strFilePath) {}

    Call transientDocuments

    Content the HttpContent = new StreamContent (new FileStream (strFilePath, FileMode.Open, FileAccess.Read));

    content. Headers.ContentType = new MediaTypeHeaderValue("application/pdf");

    content. Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") {}

    Name = "file."

    FileName = 'Template.pdf.

    };

    HttpClient client = GetClient();

    HttpResponseMessage response = client. PostAsync ("transientDocuments", content). Result;  Call blocking!

    If (answer. IsSuccessStatusCode) {}

    Analyze the response body. Blocking!

    answer back (TransientDocument_Response). Content.ReadAsAsync (typeof (TransientDocument_Respons e)). Result;

    }

    else {}

    throw new Exception (string. Format ("{0} ({1})", (int) response. ") StatusCode, response. ReasonPhrase));

    }

    }

    }

    public class BaseURIs_Response {}

    public string web_access_point {get; set ;}}

    public string api_access_point {get; set ;}}

    }

    public class TransientDocument_Response {}

    public string transientDocumentId {get; set ;}}

    }

    }

    I think I found my problem.  I was not a multi-part post form data.  Once I changed this, everything worked as expected.  Here is an updated version of the PostTransientDocuments() method that works:

    public TransientDocument_Response PostTransientDocuments (string strFilePath) {}

    Call transientDocuments

    using (var = {GetClient() customer)}

    using (var content = new MultipartFormDataContent()) {}

    var multiplesContent = new StreamContent (new FileStream (strFilePath, FileMode.Open, FileAccess.Read));

    fileContent.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");

    fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") {}

    Name = "file."

    FileName = 'Template.pdf.

    };

    content. Add (FileContent);

    HttpResponseMessage response = client. PostAsync ("transientDocuments", content). Result;  Call blocking!

    If (answer. IsSuccessStatusCode) {}

    Analyze the response body. Blocking!

    answer back (TransientDocument_Response). Content.ReadAsAsync (typeof (TransientDocument_Respons e)). Result;

    }

    else {}

    throw new Exception (string. Format ("{0} ({1})", (int) response. ") StatusCode, response. ReasonPhrase));

    }

    }

    }

    }

  • Can not do a query with the REST api

    Hello

    After discovering that the use of the standard SOAP API what is like poking yourself in the eye with a sharp stick, I try to use the REST API. At first, I tried to exercise it through the extension of POSTMAN on Chrome. But I have no joy.

    Can I use caller ID to get the URL, so I know that my authentication is OK. But all other calls give me:

    Failure of 403 XSRF Protection


    Is an example of a call, that I'm trying:

    https://secure.Eloqua.com/API/rest/1.0/data/[email protected] & Count = 1

    I can't find any reference anywhere to this error 403.

    Help!

    Thank you

    Simon

    Hi Simon,.

    Looks like you're client (web browser) might have stored credentials for Eloqua, probably in the cookies collection. If you try to delete your cookies and rerun the query API with basic authentication, it should work.

    Hope this helps and please let us know if you need more information.

    Thank you

    Fred

  • Get complete information of Contact with the REST API with Ruby

    Hello

    I'm trying to find information from a contact using the REST API from Ruby. I followed the example posted here and I was able to get good contact with Eloqua, but information are the basis and the FieldValues table is very long with fieldValues can only be and no label field.

    I don't know I asked for complete = depth, and I verified that the contact even on the side of Eloqua seen so many other areas.

    It's the URL that I use: https://secure.eloqua.com/API/REST/1.0/data/contacts?search= < emailAddress > & depth = full & count = 1

    and I don't get like this field in the fieldValues can only be: {'type': 'FieldValue', 'id': "100175"}

    With respect to the main information, they are basic.

    Is it possible to obtain all the contact fields, the same than the one I see on the site of Eloqua?

    Thank you

    Hi Theyaa,

    You can use the following endpoint to retrieve a list of all fields with their unique identifier and metadata:

    • GET /API/REST/1.0/assets/contact/fields?depth=complete&search=*&page=1&count=250

    Hope this helps and please let me know if you need more information.

    Thank you

    Fred

  • QUESTION: Can't create a firewall rule to (edge) with the REST API

    Dear Sir

    I am trying to create a firewall rule for simple and basic edge using the REST API.

    I use the REST API guide as a reference on page 158.


    edge-fw-rule.png

    I use the following code (single) in my client REST API (with good content Type (application/xml)):

    < rule >

    < ruleTag > < / ruleTag >

    < name > edge5-rest-rule < / name >

    all < source > < / source >

    < destination > all < / destination >

    < application > all < / application >

    < matchTranslated > true < / matchTranslated >

    < management > in < / direction >

    < action > deny < / action >

    < enabled > false < / enabled >

    < loggingEnabled > true < / loggingEnabled >

    rest-api-rule of the < description > < / description >

    < / rule >

    The error message that I receive is the following:

    <? XML version = "1.0" encoding = "UTF-8"? >

    < error >

    request details invalid <>. Found no match for item rule. < / details >

    < > 223 errorCode < / errorCode >

    < / error >

    The full screenshot of my action REST API is in the screenshot below:

    full-request.png

    Anyone know what I'm doing wrong here?

    Thank you!

    Try this as the body...

    rest-rule

    user

    true

    in

    deny

    fake

    true

    rest-api-rule

  • Add vNIC PortGroup scope with the REST API security group

    I created a security group within the reach of a PortGroup via the REST API. Now, I'm trying to add a vNIC, also via the REST API.

    To help illustrate, I have a JMTest1 VM with 1 vNIC connected to the PortGroup which is the scope of the security group. When I change this group the first item in the list that could be added to the security group is the first (and only) JMTest1 vNIC.

    AddvNICToSecurityGroup.PNG

    To add it via the REST API, I need to provide the following:

    https://192.168.x.x/API/2.0/services/SecurityGroup/SecurityGroup-XX/members/ < member-moref >

    for example I need to understand what the < member-moref > for the vNIC to JMTest1 and this is what I have a problem with.

    If I add the vNIC through the user interface and then interrogate the security group it gives me below the answer:

    < securitygroup >

    < objectIdobjectId > securitygroup-xx < / objectId >

    < type >

    < typeName > SecurityGroup < / typeName >

    < / type >

    < name > JMTest7 < / name >

    < description / >

    < revision > 9 < / revision >

    < objectTypeName > SecurityGroup < / objectTypeName >

    < scope >

    < id > dvportgroup-xxxxx / < ID >

    < objectTypeName > DistributedVirtualPortgroup < / objectTypeName >

    < name > dv-xxxxx < / name >

    < / scope >

    < extendedAttributes / >

    < inheritanceAllowed > false < / inheritanceAllowed >

    < member >

    500758f6-b97b - 7A 79 - 0c < objectId > 04 - 996f53edf3f0.000 < / objectId >

    < type >

    Vnic < typeName > < / typeName >

    < / type >

    < name > JMTest1 - NIC 1 < / name >

    < revision > 6 < / revision >

    < objectTypeName > Vnic < / objectTypeName >

    < scope >

    < id > vm-xxxxx / < ID >

    < objectTypeName > VirtualMachine < / objectTypeName >

    < name > JMTest1 < / name >

    < / scope >

    < extendedAttributes / >

    < / member >

    < / securitygroup >

    It seems that the < member-moref > for the JMTest1 vNIC is < objectId > 500758f6-b97b - a 7, 79 - 0c 04 - 996f53edf3f0.000 < / objectId >

    If I run now:

    https://192.168.x.x/API/2.0/services/SecurityGroup/SecurityGroup-XX/members/500758f6-b97b-7a79-0c04-996f53edf3f0.000

    then the vNIC is successfully added to the security group. (yay!) So I am now left with the task of how to get

    500758f6-b97b - 7A 79 - 0c < objectId > 04 - 996f53edf3f0.000 < / objectId >

    of a vNIC?

    I have looked at the object in the Mob vCenter and via PowerCLI, but cannot see how to derive from it.

    Anyone know the answer to that?

    The uuid vnic is created by concatenating the vm instanceUuid + '. ' + the last three digits of the vnic device key.  (The vnic is located in the area of the config.hardware.device of the virtual machine and the key will be to shape 4xxx, where xxx represents the 3 numbers you need).

  • Access catalog getting and setting using the REST API

    I have a catalog I can see through the user interface which allows members to add in the tab share read-only, read/write or full control of the vCD. They do not appear anywhere that I can find when obtaining the catalog through the REST API.

    The REST API of 1.5 of vCloud Director documentation indicates that it supports the getting or setting user access to catalogs by using the link "conrolAccess". This link does not appear in the response to a GET the href of the catalog (admin or his substitute). Attempted to add "/ controlAccess" HREF catalogue translated by RESOURCE_NOT_FOUND.

    Hello

    Could be a bug in the documentation, try like this

    https://cloud/api/org/org-uuid/catalog/catalog-uuid/controlAccess - Fetch (GET)

    https://cloud/api/org/org-uuid/catalog/catalog-uuid/action/controlAccess - updated (AFTER)

    Kind regards
    Rajesh Kamal.

  • Conditional mapping with the script using BlOCKPROC to access the HFM API

    Hello

    following problem. During the mapping/validation, I need to map some members custom1 to zero if the upper limb is None and whether, if any. This allowance depends on the account. By reading the documentation I stumbled upon conditional mapping.
    So in the Custom1 plan type for example I defined according to:

    Rule name: C1_Script
    The rule definition: CXXV. *
    TargetCustom1: #Script

    In the script, I try to achieve to get the Custom1 Top Member on behalf! The HFM API offers this function (fGetCustomTopMember) and with varValue (14) I get my TargetAccount. So, everything I need seems to be there.
    Only problem is that I have to use the BlOCKPROC to access the HFM API provided through the adapter, but either way will not work.
    Try 'Set API. IntBlockMgr.IntegrationMgr.PobjIntegrate = BlOCKPROC.ActConnect ("LookUP")"generates an error object required.
    To try
    Dim BLOCKPROC
    Set BLOCKPROC = CreateObject ("upsWBlockProcessorDM.clsBlockProcessor")
    BLOCKPROC. Initialize the API, SCRIPTENG
    throw me a mismatch of type for 'BLOCKPROC. Initialize. "

    I'm a little at my wits end. Any help/hint is appreciated.
    Ahh, yes the writing of different BlOCKPROC and BLOCKPROC is correct!

    Thank you!

    You must do this in the event script Bef/AftProcMap. Valient effort but mapping scripts do not support API calls you need to do. Move in the event and you will be fine. I did it several times.

  • Error in creating a category with the REST API

    vRO 7.0.1

    I am trying to create a category in the folder root of Workflow using the REST API.

    URL = https://vroserver.fqdn:8281 / vco/api/categories

    Method = POST

    The API documentation suggests that the body should be like this:

    {

    "categoryType": "WorkflowCategory",

    'name': "Test5",.

    'description': 'Testing '.

    }

    However, I always get a 400 response: the request sent by the client is syntactically incorrect.

    reflecting the docs by: category name must be specified

    Can anyone help?

    Body of the request should be:

    {
       "type":"WorkflowCategory",
       "name":"Test5",
       "description":"Testing"
    }
    
  • How to configure Hostname of the node with the REST API?

    I tried the value of hostname of the virtual machine when I deploy an application, but were unsuccessful.  The application consists of all the operating system - there is no installed service but an example here that I used when I deployed the application.  It is based on the release of the REST API "node info": for the particular deployment profile.

    {

    'node': [{}

    "name': 'VM1."

    "properties": [{}

    "hostname": "joe".

    }],

    ["nodeComponent":]

    }]

    }

    But when you use this application I get the error message: "the node 'VM1' does not exist in the current 'deployment profile'. ' even if 'VM1' is the only node in the deployment profile.  I tried other variations and still get the same error message.

    Does anyone have suggestions for how I can configure the hostname of the node when you deploy the application?  Thank you.

    Apparently, the REST API for planning a deployment is designed after characteristic GUI Application Director "rapid deployment". Rapid deployment does not allow the substitution of properties of node as hostname. Idea being the deployment profile once defined and prepared, each individual call of it must change some subset of the properties of the component. We can always create several profiles of deployment to account for changes in node.

    Nevertheless, it seems that property of node specifications would help your situation... so that your comments reached the product team.

    Thank you rags

    This posting is provided as is and confers no rights.

  • Application module tries to access the secure API

    Hi all.

    We are new to Blackberry Java development and have some problems with it.

    We use the same BlackBerry Bold 9000 and OS worm Simulator. 5.0 in Eclipse JDE.

    The JDE version is 5.0.0

    We signed HelloWorldDemo with tool of power, provided by BB. It worked fine on the Simulator AND the device.

    Then we signed our own application, based on PictureScrollFieldDemo.

    The thing is, on the simulator of OUR application works fine, but when we try to run on the device, it failed with an error that says something like this: "Application module tries to access the secure API."

    After that many times we tried to remove the code all potentially dangerous and recompile the application. After that it stopped working at all (when you click on the application menu, ABSOLUTELY nothing happens).

    Then, we decided to try to launch PictureScrollFieldDemo, the sample provided by BlackBerry. Also, it did not work

    Finally, the HelloWorldDemo has stopped working or the other...

    During all this madness, we rebooted the unit several times.

    Please help, appreciate any advice.

    Thanks in advance, geezmo.

    You should have received 3 keys, RBB, CPR and RRT. You imported all 3 when you have been setting up the signature tool?

  • Updated filter shared via the REST API

    Hello I'm trying to update a shared API filter. I'm using PHP and client fredsakr/eloqua-php-application · GitHub.

    So far, I was able to retrieve the filter with the following call:

    <?php
    require('./eloquaRequest.php');
    $eloquaRequest = new EloquaRequest('site', 'User.Name', 'password', 'https://secure.eloqua.com/API/REST/1.0');
    $response = $eloquaRequest->get('assets/contact/filters?search=TheFilterName&depth=complete');
    print_r($response);
    ?>
    

    I can see the filter in the answer below:

    (
        [type] => ContactFilter
        [currentStatus] => Active
        [id] => 100761
        [createdAt] => 1380137168
        [createdBy] => 48
        [depth] => complete
        [folderId] => 1036
        [name] => TheFilterName
        [updatedAt] => 1383589417
        [updatedBy] => 48
        [count] => 254382
        [criteria] => Array
            (
                [0] => stdClass Object
                    (
                        [type] => ContactFieldCriterion
                        [id] => 1912
                        [condition] => stdClass Object
                            (
                                [type] => TextSetCondition
                                [operator] => in
                                [optionListId] => 193
                            )
    
                        [fieldId] => 100012
                    )
    
            )
    
        [lastCalculatedAt] => 1380137190
        [scope] => global
      statement] => 1912
    

    What I want to do is update that corresponds to the values of 'Compare the Contact fields' in the GUI Eloqua under Contact = > Shared Library = > Contact filters.

    Looks like he has the "[type] = ContactFieldCriterion" under the [criteria] field in the response.

    I'd get how this value in a call to REST, and also how I would update it.

    Please let me know if you need more details on this issue. Please help and thank you.

    After some research I found what I wanted to do has been updated the list of options for this filter. See http://topliners.eloqua.com/docs/DOC-3588 for documentation on the base object. But I had difficulty in updating an OptionList with the Rest API using PUT. If you can help, please visit http://topliners.eloqua.com/message/36739#36739 . Thank you.

  • Using the REST API to delete the contact from the contacts list

    Hello world

    I am looking for some info for the creation of a request to delete a contact from a list of Contact using the REST API.   Here's what I have in Java where the contact id is 1 'and my list is 72'.     I'm open to responses in Java, c# or other languages.

    serverAddress = new URL ("https://secure.p03.eloqua.com/API/REST/1.0/assets/contact/list/72");

    establish communication stuff

    connection = null;

    Set up the initial connection

    connection = (HttpURLConnection) serverAddress.openConnection ();

    connection.setRequestMethod ("PUT");

    connection.setRequestProperty ("content-type", "json; charset=utf-8 ");"

    connection.setRequestProperty ("authorization", 'Basic BLOCKED');

    String body = '{\"membershipDeletions\":[\"1\']}";

    connection.setDoOutput (true);

    connection.getOutputStream () .write (body.getBytes ("UTF8"));

    connection.setReadTimeout (10000);

    Connection.Connect ();

    When I test with it I get a '400' HTTP response

    Thank you!

    Hi Noel,

    The following document describes the operations available for lists of contacts in the Rest API. Please note that we also have a project open source c# example illustrates the use of these endpoints.

    Repositories are all available to the public on Github. Hope this helps and please let me know if you need more information.

    Thank you

    Fred

  • There the rest APIs to retrieve the metadata for entity for eloqua objects?

    There is a list of all the objects that are accessible by the REST for CRUD in this link: REST API - Documentation for kernel objects in the objects of the core section.

    For each of the objects listed in the objects of the core section are there is a metadata field in the Properties section.

    For example, for the purpose of the e-mail message, The REST API - to access Emails , under the Properties section, there entered corresponding to the fields of the object of the emails under the
    Name, Type, Description and validation topics.

    Is there a REST API to retrieve the same information, i.e. metadata field for an object programmatically eloqua?
    Otherwise, this is a serious obstacle to building systems that are the metadata engine and support for SOAP is removed...

    The closest to what you are looking for would be endpoints of assistance for a description of the fields. Example of /api/bulk/1.0/contact/fields

    {

    "items": [{}

    'name': "E-mail address",

    "internalName": "C_EmailAddress",

    'dataType': 'emailAddress;

    'hasReadOnlyConstraint': false,

    'hasNotNullConstraint': false,

    'hasUniquenessConstraint': true,

    'Déclaration': '{{Contact.Field (C_EmailAddress)}}.

    "uri": "/ contact/field/100001",

    "converted': ' / Date (-2208970800000) /"

    'updatedAt': ' / Date (-2208970800000) / ".

    },

    {

    'name': "First name",

    "internalName": "C_FirstName",

    'dataType': "string",.

    'hasReadOnlyConstraint': false,

    'hasNotNullConstraint': false,

    'hasUniquenessConstraint': false,

    'Déclaration': '{{Contact.Field (C_FirstName)}}.

    "uri": "/ contact/field/100002."

    "converted': ' / Date (-2208970800000) /"

    "updatedBy": "MgrzzzOracleCloudSupportP01E10",

    'updatedAt': ' / Date (1408993722380) / ".

    },.....

    If so, it will also include an element "defaultValue". How many characters you can store in a field (precision) is documented here: Type of data (data and Digital Formats). The same endpoint exist in bulk 2.0, and there are variants for the account fields and Objetpersonnalise. Another exists in the REST through Api/rest/2.0/assets/contact/fields?depth=complete... It does not include the declaration of ML, but there other useful information such as the type of default update and a flag 'isAccountLinkageField '.

    Similarly, if you describe a form via SOAP or REST, it also will give you the fields and their type.

    Kind regards

    Bojan

  • The REST api is supported by Eloqua?

    Hi guys,.

    I know that this seems to be an odd question at first, but bear with me.

    Recently, I created a few features to read certain Eloqua components.

    Then I came across some problems with th! api e REST and contacted support, at one point, they reported that the REST api was not officially taken in charge, is this true?

    Because using SOAP is no option for our programming environment and the major PART is just for the massif of the small amount of calls, we have to do.

    Hope you can give me a permission in this respect, because we do not want to create stuff on top of the api REST when we can never support on it.

    Through the REST API, you can do many things, not all supported.  This page lists the supported operations: management of Eloqua API use cases

Maybe you are looking for

  • Entered wrong digit by entering the email address

    I got Live.co.ul on my Apple instead of [email protected] account and now cannot check my iPhone account. Is it possible to change in the UK instead of UL or do I have to reset my iPhone and loose music etc that I downloaded. Not got a clue as to the

  • To be lock HP Pavilion Elite d5200t BlueScreen out-of-box video

    In collaboration with assistance, but so far not much of help.  Had to make three restore system to factory settings already.  What happens is that if you leave the session from the computer for a while, there finally goes to blue screen and tells yo

  • HP 15 d000sia drivers

    HI, I'm completelt cannot get the VGA drivers for this model. my email is [edited by Moderator]

  • problems with the upgrade to Windows 10

    I am a researcher who crunches numbers.  I use a software called statistical package Stata and I also use ArcGIS.  is it safe to upgrade to Win 10 and still get the productivity of win 7 Pro? earn 10 all my 24Go of usable ram?  any help/advice is app

  • Teeth whitening advice please

    How to use the tool of teeth whitening? I can selct the area... then don't know what to do next to apply it, please help?