Worklight Direct update is not working for Windows App - windows-phone-8

Direct Update is not working for my Worklight App while for android and ios the feature is working as expected.
Application Descriptor
<windowsPhone8 version="1.0">
<uuid>xxxx-3235-xx-a24e-fdxxxxx6ac</uuid>
<pushSender/>
<security>
<encryptWebResources enabled="true"/>
<testWebResourcesChecksum enabled="false"/>
<productId>xxxxxxx-7b4a-xxxxx-b387-078e8fa0c3d5</productId>
<applicationId>NextMobile</applicationId>
</security>
</windowsPhone8>
authenticationConfig.xml
<customSecurityTest name="Adapters-securityTest">
<test realm="wl_antiXSRFRealm" step="1"/>
<test realm="wl_remoteDisableRealm" step="1"/>
<test realm="wl_authenticityRealm" step="1"/>
<test realm="wl_directUpdateRealm" mode="perSession" step="1"/>
<test isInternalUserID="true" realm="YesAuthRealm" step="1"/>
<test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true" step="2"/>
</customSecurityTest>

You have a custom security test defined with Direct Update (<test realm="wl_directUpdateRealm" mode="perSession" step="1"/>), but you did not apply this security test to the Windows Phone environment (<windowsPhone8 version="1.0">). Try applying it.
Other than this you are not explaining how the feature is failing for you. By not even getting an update notification, or getting it back it fails downloading, or fails extracting and so on.

Related

Google map and firebase don't work together

UPDATE: This is the code that kills functionality of firebase. If I try to download from firebase a couple of seconds after this code (waiting with await Task.Delay, no other code running), it starts sending the code -13000, httpResult = 0 exception. The same request earlier works. Map works.
GoogleMapFragment gmf = new GoogleMapFragment(context, this);
FragmentTransaction ft = activity.FragmentManager.BeginTransaction();
ft.Add(mapLayout.Id, gmf, "my_fragment");
ft.Commit();
I wanted to have google map on layout in the same activity where I work with firebase. Map works, but somehow it interferes with firebase, which work only before creating Google map. Any ideas what can cause this?
Update 2: If I download small file before initializing google maps, I can later use firebase, so I 'solved' the issue in a little dirty way but at least I can continue working. After this 'fix' I get following error in the output but file is downloaded anyway. I must continue digging, for now I hope the worst is over...
error getting token java.util.concurrent.ExecutionException: com.google.firebase.FirebaseApiNotAvailableException: firebase-auth is not linked, please fall back to unauthenticated mode.
Old version of question:
I checked all possible answers here on SO for my question, but nothing brought me to right way. There's quite obvious output telling me that something is wrong, but I have no idea how to solve the issue. There's an answer in this question that one of possible reasons for HttpResult = 0 is that google play version on phone isn't actual enough. I used the method recommended for check and I have Google Play services 11.5.18 installed on phone. I have Xamarin.Firebase.Storage 42.1021.1 (10.2.1) installed and using Visual Studio 2015. Quite often I had to clean and rebuild and it sometimes worked, but not this time. In android properties I have Compile using android version 7.1 Nougat. I created firebase account just recently, not knowing much about this, added it in google console to existing project (as I already use google maps), filled sha1 code the same way I did with maps. Added google-services.json and set it's build action on GoogleServiceJson. No more actions I know about.
Here is my code, I tried various ways to download, upload, but this one seems to be good example:
FirebaseApp fba=FirebaseApp.InitializeApp(context);
firebaseStorage = FirebaseStorage.Instance;
firebaseStorageReference = firebaseStorage.GetReferenceFromUrl("gs://alien-chess.appspot.com");
firebaseStorageReference=firebaseStorageReference.Child("settings.dat");
byte[] bytes = new byte[1000];
firebaseStorageReference.PutBytes(bytes).AddOnFailureListener(new FirebaseFailureListener(this));
Here is my manifest file
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="AlienChessAndroid.AlienChessAndroid" android:versionCode="1" android:versionName="1.0" android:installLocation="preferExternal">
<uses-sdk android:minSdkVersion="19" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application android:label="Alien Chess" android:icon="#drawable/Alien" android:largeHeap="true">
<meta-data android:name="com.google.android.gms.version" android:value="#integer/google_play_services_version" />
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />
</application>
And here are what I think are important parts from the output window
Failed to retrieve remote module version: V2 version check failed
Local module descriptor class for com.google.android.gms.firebasestorage not found.
Considering local module com.google.android.gms.firebasestorage:0 and remote module com.google.android.gms.firebasestorage:0
NetworkRequestFactoryProxy failed with a RemoteException:
com.google.android.gms.dynamite.DynamiteModule$zza: No acceptable module found. Local version is 0 and remote version is 0.
....
Unable to create a network request from metadata
android.os.RemoteException
....
StorageException has occurred.
An unknown error occurred, please check the HTTP result code and inner exception for server response.
Code: -13000 HttpResult: 0
There isn't much c# sources for visual studio and I can't read that easily recommendations for android studio as they are quite different for unskilled programmers.
Any ideas what other things should I check?

Data Replicator connection string for use with Data Hub

I am trying to set up Invantive Data Hub with Replicator. The default discovery creates entries for Exact Online and others, but there is no entry in settings.xml which shows me how to configure data cache.
This one exists for example:
<connection name="Exact Online (nl)" id="c149becf-01d3-4a58-9ee7-7369f34bdff5" description="{res:itgen_demo_exact_online_combined_nl}" sortingOrder="1000" authentication="Application" userLogonCodeMode="Auto" passwordMode="Auto" createdBy="jbu" createdOn="WS102" creationDate="2017-08-17T13:53:23.9351965+02:00">
<database order="0" createdBy="jbu" createdOn="WS102" creationDate="2017-08-17T13:53:23.9071956+02:00" provider="ExactOnlineAll" connectionString="apiUrl=https://start.exactonline.nl" />
</connection>
The console app has no editor for the settings.xml, so it must be done manually.
How can I configure the Replicator connection string to be used?
Using Google with different keywords, I've found a working setup. First Add a file settings-something.xml in the %USERPROFILE%\invantive.
The give it contents like below:
<?xml version="1.0" encoding="utf-16"?>
<settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3" forcedefault="false">
<group name="Jurriaan" >
<connection name="Exact Online with PostgreSQL Data Cache" dataCacheConnectionString="provider=PostgreSql;connectionString={Server=dbserver;Database=db;User Id=db_owner;Password=db_pwd}" >
<database provider="ExactOnlineAll" connectionString="apiUrl=https://start.exactonline.nl" />
</connection>
</group>
</settings>
It would be handy when there would be a connection editor on Data Hub or at least a sample :-)

Recieving Error Viewing Reports in Report Manager

I am receiving the following error trying to view a report in Report Manager and Reporting Services: "
Your browser does not support scripts or has been configured not to allow scripts" I have ensured that scripting is enabled and added the site to my trusted sites and still does not work. What am I missing? I am using SQL Server 2008 R2. My reports work fine in a test windows application, but not in the browser.
I can see the header and footer of the report and the toolbar, but the body is empty. It's only when I select view source that I see the error.
Here is the complete error when I View Source:
<div>
Your browser does not support scripts or has been configured not to allow scripts.
<span id="ctl31_ReportViewer">
<div id="ctl31" onclick="if ($get('ctl31_ctl04') != null && $get('ctl31_ctl04').control != null) $get('ctl31_ctl04').control.HideActiveDropDown();" onactivate="if ($get('ctl31_ctl04') != null && $get('ctl31_ctl04').control != null) $get('ctl31_ctl04').control.HideActiveDropDown();" style="height:100%;width:100%;"></div>
<div id="ctl31_HttpHandlerMissingErrorMessage" style="border-color:Red;border-width:2px;border-style:Solid;padding:10px;display:none;overflow:auto;font-size:.85em;">
<h2>
Report Viewer Configuration Error
</h2>
<p>The Report Viewer Web Control HTTP Handler has not been registered in the application's web.config file. Add <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, ReportingServicesWebUserInterface, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" /> to the system.web/httpHandlers section of the web.config file, or add <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, ReportingServicesWebUserInterface, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" /> to the system.webServer/handlers section for Internet Information Services 7 or later.</p>
</div>
<span id="ctl31_ctl03"><input type="hidden" name="ctl31$ctl03$ctl00" id="ctl31_ctl03_ctl00" /><input type="hidden" name="ctl31$ctl03$ctl01" id="ctl31_ctl03_ctl01" /></span><input type="hidden" name="ctl31$ctl10" id="ctl31_ctl10" /><input type="hidden" name="ctl31$ctl11" id="ctl31_ctl11" />
<div id="ctl31_AsyncWait" style="background-color:White;opacity:0.7;position:absolute;display:none;filter:alpha(opacity=70);">
I even get these errors in a test web application, even though scripting is enabled and my httpHandlers are defined in my web config for both system.web and system.webserver.

Making call to server when application is in background in Windows Phone 8

I want to make http request to web server periodically say after every 10 secs.
I am using Timer in application which makes http call. Now when application goes to background when user press Windows key.. the timer stops
Can I continue making call to web server?
I referred the VOID chatter box application, but looks like it is for VOIP application only.
Regards,
SRS
You have to make a TaskAgent that inherits from ScheduledTaskAgent and override OnInvoke() method. You also need to add the task into WMAppManifest.xml
<Deployment ...>
...
<App ...>
...
<Tasks>
<DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
<ExtendedTask Name="BackgroundTask">
<BackgroundServiceAgent Name="YourTaskAgent" Type="YourNameSpace.YourTaskAgent" Source="YourTaskAgent" Specifier="ScheduledTaskAgent" />
</ExtendedTask>
</Tasks>
...
</App>
...
</Deployment>
Your main application itself cannot continue to perform HTTP requests when it is suspended. For more info see MSDN on background tasks. However, keep in mind that Background Tasks have limitations in what they can do. Hope this helps.

How can I find out how a build was triggered in Jenkins

I'm trying to update Jelly scripts in my Jenkins setup to email the reason for a build (the build trigger), but I can't find any documentation on this.
I know it should be available, as the build's page will show the information, but I want it to be displayed on the email being distributed.
Does anyone know if there is a var I can query, or a Jenkins API call I can call to get this?
You can do it by calling this API.
More convinient, in env var setted before the build, you'll find BUILD_URL :
BUILD_URL=https://jenkins-server.tld/job/JOBNAME/BUILD_NUMBER
So you just need to append /api/json. You can also got it in xml :
<freeStyleBuild>
<action>
<cause>
<shortDescription>Started by user kenji</shortDescription>
<userName>kenji</userName>
</cause>
</action>
<action/>
<action/>
<action>
<failCount>0</failCount>
<skipCount>0</skipCount>
<totalCount>1</totalCount>
<urlName>testReport</urlName>
</action>
<building>false</building>
<duration>9772</duration>
<fullDisplayName>JOBNAME #4</fullDisplayName>
<id>2011-08-10_11-19-42</id>
<keepLog>false</keepLog>
<number>4</number>
<result>SUCCESS</result>
<timestamp>1312967982296</timestamp>
<url>https://jenkins-server.tld/job/JOBNAME/4/</url>
<builtOn>macboo</builtOn>
<changeSet>
<kind>svn</kind>
<revision>
<module>https://svn-server.tld/JOBNAME/trunk</module>
<revision>7</revision>
</revision>
</changeSet>
</freeStyleBuild>