Skip to content

Metadata store #150

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

Merged
merged 3 commits into from
Dec 10, 2014
Merged

Metadata store #150

merged 3 commits into from
Dec 10, 2014

Conversation

tpazderka
Copy link
Contributor

MetaData has been redesigned to allow using custom classes for metadata handling.
This for example allows the metadata be stored in a database and handle their change dynamically instead of having to reload the server and reparse all MD files again.

class MetaData presents the comon interface for all derived classes.
class InMemoryMetaData is the class used for MD stored in memory as part of the Server object.

Configuration for maetadata has been chaged and now looks as follows:
'metadata': [
{"class": "full.path.to.metadata.class",
"metadata": [(tupple, with, loader, arguments)]},
]

For example this specification:
"metadata": {
"local": [full_path("../sp-wsgi/sp.xml")],
}

needs to be changed as follows:
"metadata": [
{"class": "saml2.mdstore.MetaDataFile",
"metadata": [(full_path("../sp-wsgi/sp.xml"))]},
]

@erickt
Copy link
Contributor

erickt commented Oct 29, 2014

While this is great to support, it would be best to add this in a way that kept the old behavior for backwards compatibility, at least until pysaml2 hits version 3. Can you add some level of introspection that checks if the field is in the old file-based format or your new format?

@ghost
Copy link

ghost commented Oct 30, 2014

I think that is should be possible.
I will have a look and I will update the code for backward compatibility.

@rohe
Copy link
Contributor

rohe commented Nov 1, 2014

30 okt 2014 kl. 01:48 skrev Zelvuska notifications@github.com:

I think that is should be possible.
I will have a look and I will update the code for backward compatibility.

It should be possible by using some kind of ’aliasing’.

— Roland

”Being able to think like a child is an important attribute of being an adult” - Eddie Izzard

@tpazderka
Copy link
Contributor Author

I went with distinguishion by type...
Added tests with metadata in old format.

@rohe
Copy link
Contributor

rohe commented Nov 13, 2014

Works for me.

12 nov 2014 kl. 11:58 skrev tpazderka notifications@github.com:

I went with distinguishion by type...
Added tests with metadata in old format.


Reply to this email directly or view it on GitHub.

— Roland

”Being able to think like a child is an important attribute of being an adult” - Eddie Izzard

@tpazderka
Copy link
Contributor Author

Hello Roland,
Do you have any time estimate when you would like to merge this?
Best,
Tomas

@rohe
Copy link
Contributor

rohe commented Dec 10, 2014

Probably not before Monday December 15

@rohe
Copy link
Contributor

rohe commented Dec 10, 2014

I can't do it automatically but have to do it by hand.

@tpazderka
Copy link
Contributor Author

OK, that's cool. I just wanted to know if it still beeing considered...

Do you want me to rebase it on current master? Or do you prefer to do it by yourself?

@rohe
Copy link
Contributor

rohe commented Dec 10, 2014

10 dec 2014 kl. 14:20 skrev tpazderka notifications@github.com:

OK, that's cool. I just wanted to know if it still beeing considered...

Do you want me to rebase it on current master? Or do you prefer to do it by yourself?

I would definitely prefer it if you rebased it ! Please !

— Roland

”Being able to think like a child is an important attribute of being an adult” - Eddie Izzard

@tpazderka
Copy link
Contributor Author

OK, sure. I will have a look today or tomorrow.

@tpazderka tpazderka force-pushed the MetadataStore branch 2 times, most recently from 997764f to 0f7768b Compare December 10, 2014 14:35
Added base class MetaData that defines common interface for any MetaData
handling class.
MetaDataStore can now use arbitrary class for Metadata handling.
The Metadata specification in settings has changed:

'metadata': [
    {"class": "full.path.to.metadata.class",
     "metadata": [(tupple, with, loader, arguments)]},
     ]
@tpazderka
Copy link
Contributor Author

Done :)

rohe pushed a commit that referenced this pull request Dec 10, 2014
@rohe rohe merged commit 25704a9 into IdentityPython:master Dec 10, 2014
@tpazderka tpazderka deleted the MetadataStore branch December 18, 2014 14:21
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

Successfully merging this pull request may close these issues.

3 participants