Configure webapp context in Nexus OSS 3 - nexus

I would like to change the webapp context of a Nexus OSS 3 installation to run on http://localhost:8081/nexus instead of http://localhost:8081.
The documentation for version 2 is quite clear about how to do it, but the documentation for version 3 redirects to this link to configure a Nexus "capability", which mentions that
The repository manager only uses this value to construct absolute URLs to your user interface inside of email notifications.
I'm not sure then that it's the correct option. And if it is, what value should I put? /nexus or full url https://serverPublicName/nexus?

OK next time i will read documentation more carefully...
https://books.sonatype.com/nexus-book/3.0/reference/install.html#config-context-path
8-s

Related

How to configure smart proxy in Nexus Repository Manager 3?

Smart proxy in Nexus Repository manager 2 was very straightforward according to this documentation.
It isn't the case in Nexus Repository manager 3 any more, and there's only a minimal amount of information regrading to the smart proxy feature in the version 3 documentation. There is also no sigh that the feature is available in the capabilities list.
Any idea how this should be configured?
Just confirmed by sonatype that this is not implemented in Nexus 3 and will be replaced by new function called Component Fabric
Details written in Nexus Repository Manager Feature Compatibility Matrix.

Nexus 3 configuration issue with public repository

In evaluating nexus 3 repository, i found the public repository is not created by default. Also, the uri content/groups/public has disappeared. How can I configured it?
You'll need to create a "public" group manually if that is what you need.
You can get it to show up on /content/groups/public by enabling support for legacy URLs:
http://books.sonatype.com/nexus-book/reference3/upgrading.html#_after_the_upgrade
You may also need to change the context path of the server to "/nexus" if that is what you had in Nexus 2:
http://books.sonatype.com/nexus-book/reference3/install.html#config-context-path

Where do I specify Base Url in Nexus Repository Manager 3.0 (Milestone 7 Release)?

In Nexus 2.11.4-01 I am able to specify Base Url in Application Server Settings.
Where do I specify Base Url in Nexus Repository Manager 3.0 (Milestone 7 Release)?
Go to "administration/capabilities", then click on "create capability", and you'll see it there.
Note that this functionality was hidden under capabilities because it isn't needed in almost all cases.

Google Drive API - Example code is not working

I want to use Google API to transfer SharePoint Documents to Google Drive using dot net. For that to happen I want to use this link Google Quick Start.
I have followed every little piece of information. It states in beginning "Complete the steps described in the rest of this page, and in about five minutes you'll have a simple Drive app that uploads a file to Google Drive" but it is not true.
I am trying to run this sample example since yesterday but failed.
// Register the authenticator and create the service
var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description, CLIENT_ID, CLIENT_SECRET);
var auth = new OAuth2Authenticator<NativeApplicationClient>(provider, GetAuthorization);
So it seems that this code example is outdated and Google APIs have been upgraded.
Here comes the warning
[Obsolete("GoogleAuthenticationServer is not supported any more and it's going to be removed in 1.7.0-beta. Consider using the new Google.Apis.Auth NuGet package which supports .NET 4, .NET for Windows Store apps, Windows Phone 7.5 and 8 and Portable Class Libraries as well")]
Another code
var service = new DriveService(new BaseClientService.Initializer()
{
Authenticator = auth
});
And the error
Cannot implicitly convert type 'Google.Apis.Authentication.OAuth2.DotNetOpenAuth.NativeApplicationClient' to 'Google.Apis.Http.IConfigurableHttpClientInitializer'. An explicit conversion exists (are you missing a cast?)
Then I was looking for [latest release samples] there I found the source files.
I was not able able to run the sample also.
Here I was successfully authenticated but then had error for redirect Uri
My Client_Secrets.JSON looks like, as you can see I have set default redirect Uri to http://localhost/.
{"web":{"auth_uri":"https://accounts.google.com/o/oauth2/auth","client_secret":"secret","token_uri":"https://accounts.google.com/o/oauth2/token","client_email":email","redirect_uris":["http://localhost/"],"client_x509_cert_url":"aa#developer.gserviceaccount.com","client_id":"id","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","javascript_origins":["http://localhost:53404/"]}}
Now I can run this application but as mentioned getting error
Error: redirect_uri_mismatch
The redirect URI in the request: [[http://localhost:2430/authorize/]] did not match a registered redirect URI
I really don’t know from where this port number comes and from where this authorize comes. As you can see in my JSON, I have not set anything similar.
I am using VS 2010 SP1 Ultimate and Windows 7 home Basic.
I have tried to give complete information and my end goal is upload document in Google drive.
The tutorial you are following uses an older version of google.apis thats why you are seeing the not supported. Here are a couple of tutorials on how it works with the new version of the api.
http://daimto.com/google-oauth2-csharp/
http://daimto.com/google-drive-api-c/
Take a look in https://code.google.com/p/google-api-dotnet-client/source/browse/Tasks.ASP.NET.SimpleOAuth2/Default.aspx.cs?repo=samples. It's a Task API ASP.NET sample. As you can see you need to add several lines of code, but it works.
I downloaded the samples Eyal mentions and got that compiling before integrating with my own app. .Net needs to be 4 although it states it supports higher.
You have to set the redirect URI in the google developer console, not in your JSON. In your case, you would want to set it to http://localhost:2430/authorize/.

Unable to publish to Http Remote Repository

I think this might be an IIS7 permissions thing, but I'm tagging it with OpenWrap because I might be wrong. When I try to publish a wrap to an HTTP repository I get the following error:
PS C:\OpenWrapExamples\Ninject> o publish-wrap -Name Ninject -remote MyHttpRepo
# OpenWrap Shell 2.0.0.10
# Copyright © naughtyProd Limited 2009-2011
# Using C:\OpenWrapExamples\Ninject\wraps\_cache\openwrap-1.0.1.81349963\bin-net35\OpenWrap.dll (1.0.0.0)
Publishing package 'Ninject-2.2.0.85378492.wrap' to 'MyHttpRepo'
The repository OpenWrap.Repositories.Http.HttpRepositoryNavigator is read-only.
I've tried setting the permissions on the folder, but that doesn't work either.
If you just exposed an indexed-folder (one you added with file:///path/) as an IIS site, it will be read-only (as there's little we can do with that).
If you use OpenWrap 1.0, , you can simply add two remotes, one for the UNC path (so you can publish) and the other one for the http one (so you can read the content back).
If you use the upcoming OpenWrap 2.0.1, you can simply add both in one go
o add-remote http://server/ -publish file://server/path/to/share
If you want a repository writeable over HTTP, you can implement that feature yourself rather easily: have your index file at /index.wraplist, add an endpoint that support a POST with some content (that's the package), say at /upload, and add the following to your index.wraplist:
OpenWrap will then happily upload to an http endpoint.

Resources