Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default Zone on Environment Creation #9

Open
tarekmagdi1980 opened this issue May 5, 2016 · 5 comments
Open

Default Zone on Environment Creation #9

tarekmagdi1980 opened this issue May 5, 2016 · 5 comments

Comments

@tarekmagdi1980
Copy link

I'm sorry if this is not the right place, but I can't find a place to provide support regarding the SIF3Framework-dotNet, the resources is too rare.

My company is currently trying to get SIF 3 certification as a provide, and after researching we found this awesome framework that facilitated a lot to us.

Currently I've created my CSQ and started the test harness after paying the membership fees to SIF Association.

I failed to pass the tests, and I've communicated with their support, the situation now, I've passed the "Create Environment" test, but failed in all the next tests "Read Environment", and "Delete Environment", the error is "Environment URL not set", when I've asked the support why this error is being occurred, he told me that I'm not returning a default Zone.

The question is how to return "Default Zone" to pass those tests?? is there anybody could help?

Thanks in advance

@rafidzal
Copy link
Contributor

rafidzal commented May 6, 2016

Yes, this is the correct place to direct questions.

I'm not sure what level of experience you have with SIF, so please let me know if this response does not make sense.

Whatever environment you create using the API is the environment you get returned from a read environment call. In this case, it would appear that the environment you created does not contain a default zone element. If you add a default zone (which reference a zone entry) when you create your environment object, this will hopefully resolve your issue. In terms of the returned environment XML, the default zone element will look something like ...

<defaultZone id="auSchoolTestingZone">
    <description>AU Testing Zone: Default Zone</description>
</defaultZone>

However, with this API, you will obviously be dealing purely with C# objects.

I have noted that the demo examples provided with this framework are missing default zone entries, so I will update them to include it.

By the way, to the best of my knowledge, this is the first time anyone using this framework has gone through the certification process. Any feedback on the deficiencies of this framework would be appreciated.

@tarekmagdi1980
Copy link
Author

Thanks Rafidzal, to be honest with you I'm not very experienced with SIF, but I've an idea about how it is working, I have a task to let out LMS/SIS to be SIF compliant, and when i was searching regarding this object, I found this great framework that ease me much dealing with SIF.

I found some deficiencies during "CreateEnvironment" test, and I've overcame it, when the environment was created, the following was not returned:

1- messageId
2- messageType
3- timestamp
4- responseAction

And I've added them to the response header of environment creation.

Yes you are right, I'm dealing purely with C# objects, and I'll appreciate if you could guide me where should I place the code that return the default zone in the framework project.

Thanks again Rafidzal, and appreciating much your assistance.

@rafidzal
Copy link
Contributor

rafidzal commented May 9, 2016

Thanks for the feedback. I will add those header fields to my to do list, and hope to have them included in the next set of releases.

As for the default zone, this can be set as part of the Environment (infrastructure) object. The ProvisionedZones and the DefaultZone are generally defined by some SIF administrator and are returned to a Consumer from the EnvironmentProvider (or SIF Broker in the case of a brokered solution).

For my demo, the Demo.Setup project creates a pre-defined Environment object entry in the database that is returned by a Consumer.Register() call to the EnvironmentProvider. It does this by reading the "Data files/AU/EnvironmentResponse.xml" file and deserialising the XML to an Environment object. This is purely for demo and convenience sake. The returned Environment object is used internally within a Consumer to manage various things such as client privileges. It is not something exposed at the API level.

For the sake of testing, you could add the XML snippet provided earlier for a default zone and add it to the EnvironmentResponse.xml file. If you then rebuild the Demo.Setup project and re-run the DemoAuSetup.bat script, the EnvironmentProvider should return a default zone for a call to get the environment.

If you have used the Postman REST client before, it can be used to inspect the returned environment XML by making a GET request to the "environment" (infrastructureService) end point. The training exercises document has some information on Postman.

Hope this helps.

@tarekmagdi1980
Copy link
Author

Thanks for your care rafidzal and for this awesome framework, I'll try it and feed you back

@rafidzal
Copy link
Contributor

Unfortunately due to a bug in the framework code, even if you applied the changes specified above, you would still not get the default zone back in the environment. Apologies for not picking this up earlier. Could you please update to the latest version of the framework for the fix. Please note that the fix requires an update to the database. The demo projects have also been updated to illustrate the default zone being returned on environment creation.

Please let me know if you have any issues with this fix.

joerghuber pushed a commit that referenced this issue Mar 6, 2018
Add SIF-AU specification 3.4.2 draft
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants