<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
<br><br>> Date: Thu, 24 Mar 2011 00:37:03 +0200<br>> From: gcpp.kalxas@gmail.com<br>> To: pycsw-devel@lists.sourceforge.net; Tom.Kralidis@ec.gc.ca<br>> Subject: [pycsw-devel] CSW 2.0.2 - APISO 1.0 Implementation<br>> <br>> Hi,<br>> <br>> As I am trying to find the best strategy to keep the original code of dc <br>> core intact and at the same time to add all the apiso code into separate <br>> files and classes.<br>> <br>> At this point, I have added a apiso module that includes a class named <br>> iso. When the Server _init_ fuction is called, a check is made to the <br>> configuration file to test if apiso profile is active. Then, through a <br>> server.get_profile function, a profile sub-object is created under the <br>> server object containing the additional info needed (mappings, model <br>> additions, namespaces etc).<br>> <br>> The original plan was to add specific functions in this profile object <br>> for specific requests (getcapabilities, etc).<br>> Then, redirect by adding checks in front of the dc code to point to the <br>> new functions when needed. This way only few lines of code would be <br>> added to the initial code.<br>> <br>> At that point I got the idea that perhaps the dc itself should be <br>> reshaped into a profile object, in order to have consistency, and leave <br>> the original code only with the csw server parts.<br>> <br>> Now I see that apiso, can respond to core csw requests by mapping to dc <br>> core queryables when asked to.... which means recursiveness: <br>> server-->apiso profile-->server in case of dc.<br>> <br>> Also the mapping has to be decided after parsing the request, so this <br>> seems to change things a bit.<br>> <br>> Any ideas?<br><br>We want to extend the current model by adding the ISO specifics via profile. We should also consider the DC model as "default". Any profile will have to map back to the core DC model core queryables.<br><br>Once the profile is loaded, then the CSW request processing continues like any other request. For each profile found, the model is extended (probably in CSW init).<br><br>..Tom<br><br>                                            </body>
</html>