|
From: justinwatkins <jus...@us...> - 2003-02-21 00:04:01
|
CVS commit by justinwatkins: 1. Greatly modified the Executive to change how the registered method works, as well as change how the loading of the class works. There is now a basic class named RemotingService that dynamically extends the designated class. This done to add some additional functionality for the Flash Service Browser and some other possible future implementations. 2. Now the service classes HAVE to have a constructor. And in the constructor they must define a $this->methodTable array. The array contains a list of any methods that are to be enabled or described. All methods are now disabled from flash remoting by default and you have to explicity define a method's access as remote. 3. I also changed how the registered version worked. Before registered classes became VERY AMF specific. They always generated AMF regardless of where you called them. I changed the model so there is now an instance name negotiation. If the gateway is set to safeExecution mode, the executive will check to see if the gateway's name (set with setInstanceName) is the same as the service class method's instance name. See the example files. Also if a service method has an instance name defined, the discovery gateway will NOT be able to use it. I think this accomplishes all of the needs by the registered service. It definitely makes the classes created for remoting much more versatile. Now there is nothing remoting specific other than the methodTable array, in either the registered and discovery mode classes. BTW, most of these ideas were developed by John. He has spent a ton of time trying to make the classes developed for remoting more flexible. He originally had each class inheriting from the RemotingService class. I added the dynamic subclassing instead and the methodTable in the constructor. As well as the support for the registered approach via instance names. Justin A sources/flashservices/app/Gateway.php 1.1 M +201 -195 sources/flashservices/app/Executive.php 1.2 |
|
From: justinwatkins <jus...@us...> - 2003-02-21 06:05:33
|
CVS commit by justinwatkins: Started to add the support for the ServiceBrowser. The gateway now understands the DescribeService Header and partially builds the lists necessary for the ServiceBrowser to map the methods. Currently only, remote enabled methods will show, but argument lists are still non-functional. Justin M +26 -4 sources/flashservices/app/Executive.php 1.3 M +16 -6 sources/flashservices/app/Gateway.php 1.2 |
|
From: ktukker <kt...@us...> - 2003-03-12 19:34:23
|
CVS commit by ktukker: * Moved examples to example directory. More examples to be added * Changed the way of usage of this package in PHP Usage ===== There are two ways to used this package. The first way is to put the flashservices into every directory you use it. This is usually done when the includepath of php only includes the local directory ( "." ) . The second way is when the flashservices library can be put into any directory that is in the includepath. 1. using local directory ------------------------ * Create a directory for your project under your Webserver documentroot. This directory should be accessable from your webbrowser (for example myproject/ , this appears under /myproject/ under the webserver) * Put the directory called "flashservices/" into the directory * Copy the contents of the example you want to run into the directory (for example examples/basic/) * Call the sample from your client. (for example http://host/myproject/discovery.php) 2. using php include_path ------------------------- * Set the include_path of your php environment. This can be done in various ways. For example you can use the php.ini, setting the variables through your apache configfiles, or use .htaccess (if allowed by the webserver) See PHP and/or apache docs for more info. * put the flashservices/ directory into the include_path. * copy the examples directory under your webserver * call them from your client. (http://host/examples/basic/discovery.php) The second way is preferred. In this way you can create multiple remoting gateways without duplicating the basic flashremoting code. CHANGES ======= * Changed includes of the files * Changed <? to <?php (where this was still left) TODO ==== * make sure this also works with php register_globals = off M +6 -5 sources/flashservices/app/Executive.php 1.4 M +9 -9 sources/flashservices/app/Gateway.php 1.3 |
|
From: ktukker <kt...@us...> - 2003-03-12 20:06:13
|
CVS commit by ktukker:
Update debug facility
with $gateway->setDebugDirectory("/path/to/debug/dir/")
You can set the output directory for debugging purposes
Default dir is set to ../dump/
with debug("sometext") you can debug the progression in the Gateway class.
This will be appended to the file processing.txt in the debug-output-dir.
M +28 -8 sources/flashservices/app/Gateway.php 1.4
|
|
From: ktukker <kt...@us...> - 2003-03-12 22:30:59
|
CVS commit by ktukker:
To overcome include_path issues for those who are using a hosting provider or are not allowed to change it by themselves:
in your gateway.php you can use:
// path to the directory containing flashservices/
define("AMFPHP_INCLUDE_PATH","/path/to/your/amfphpdir/");
include(AMFPHP_INCLUDE_PATH."flashservices/app/Gateway.php");
$gateway = new Gateway();
When you can use the include_path setting of php, and the "flashservices/" is in
this path, you just can do:
include("flashservices/app/Gateway.php");
$gateway = new Gateway();
M +2 -2 sources/flashservices/app/Executive.php 1.5
M +12 -9 sources/flashservices/app/Gateway.php 1.5
|
|
From: justinwatkins <jus...@us...> - 2003-03-26 17:39:40
|
CVS commit by justinwatkins: Removed the dependency on the AMFPHP_INCLUDE_PATH constant. Now the Gateway finds the home directory by using the __FILE__ constant and locating the parent directory with a series of dirname commands. This should a more user friendly approach because the user doesn't have to tell amfphp where to find itself basically. M +14 -13 sources/flashservices/app/Gateway.php 1.6 |
|
From: justinwatkins <jus...@us...> - 2003-03-26 22:55:00
|
CVS commit by justinwatkins: Removed the safeExecution methods since they were unused. Reflowed code with phpdoc and pear syntax styles for readablity and standards. The rest of the files will get there in the next few days. M +148 -212 sources/flashservices/app/Executive.php 1.6 M +158 -171 sources/flashservices/app/Gateway.php 1.7 |
|
From: ktukker <kt...@us...> - 2003-03-28 05:40:56
|
CVS commit by ktukker:
Fix old PHP3 style pass by reference stuff, causing people with alternative
php.ini settings head-aches.
From the mail for rick widmer:
"upon a time [PHP-3] the only way to pass a variable by reference to
a function was to add the & when you make the call to the function:
$ReturnValue = myFunction( &$thisIsAReference );
Since then the developers [wisely] decided that it would be better to
move the refrence selection from the call to the function definition.
It seems that PHP was the only language that did references that way,
and a large number of people had problems because of it. Starting with
PHP 4, the 'proper' way to handle passing by reference looks like this:
function myFunction ( &$thisIsAReference ) {
Since all the code written before PHP4 depends on the old method of
passing references, an ini file setting, allow_call_time_pass_reference
was added to allow the old code to continue working. The only reason to
consider the old call method is if your code HAS TO run under PHP-3.
Since that version is so obsolete, I suggest that no new code should
ever use that style of passing references."
M +4 -4 sources/flashservices/app/Gateway.php 1.8
|
|
From: justinwatkins <jus...@us...> - 2003-04-29 06:26:06
|
CVS commit by justinwatkins: Modified the AMFSerializer class to use the new is_* methods to auto negotiate the php datatypes as well as validation for manually setting the return type in the method table meta data. Also added experimental support for odbc and postgres datasources. M +25 -25 sources/flashservices/app/Gateway.php 1.9 |
|
From: justinwatkins <jus...@us...> - 2003-04-29 21:08:30
|
CVS commit by justinwatkins: Added web service support. Consuming only. Publishing is still in R&D. Check the general list for the announcement. M +96 -66 sources/flashservices/app/Executive.php 1.7 |
|
From: justinwatkins <jus...@us...> - 2003-05-07 05:21:12
|
CVS commit by justinwatkins: Added the support for PEAR::SOAP web service clients M +80 -32 sources/flashservices/app/Executive.php 1.8 M +40 -29 sources/flashservices/app/Gateway.php 1.10 |
|
From: justinwatkins <jus...@us...> - 2003-05-12 21:20:05
|
CVS commit by justinwatkins: Updated the web services implementations. Modified the nuSoap impl to only use the proxy stub if the parameters were passed as multiple arguments to the method call. This allows for the use of a value object as well as a parameter list. This only works with the nuSoap package. Also changed how the nuSoap library is called, which works with most-all web services. There is a "bug" in the latest nuSoap distribution that REQUIRES the Content-Length http header to be returned by the remote service. Amazon does not set the Content-Length header, so without slashing the nuSoap.php file it won't work with the amazon service. I sent an email to the creator of nusoap with a patch for this issue, hopefully it will be pushed into the library soon. M +27 -34 sources/flashservices/app/Executive.php 1.9 |
|
From: johncowen <joh...@us...> - 2003-05-13 09:19:48
|
CVS commit by johncowen: Corrected wrong use of strrpos (should have been strpos as this can take a full string as a needle and not just one character) M +1 -1 sources/flashservices/app/Executive.php 1.10 |
|
From: dhodell <dh...@us...> - 2003-05-16 14:41:03
|
CVS commit by dhodell:
WOOO! Added cool as hell amfphpexplorer! example of explorer:
$gw = new Gateway();
$gw->setBaseClassPath('services/');
$gw->explore('com.margrietje.FileService');
M +70 -1 sources/flashservices/app/Executive.php 1.11
M +6 -1 sources/flashservices/app/Gateway.php 1.11
|
|
From: Klaasjan T. <k.t...@mi...> - 2003-05-16 14:48:53
|
Feature request...
At this moment you have to "register" your service you want for exploration.
In this cas "com.margrietje.FileService" .
Is it possible that the explorer detects all available services in the
services/ directory (they can be identified by having a methodtable) and
show them all?
Klaasjan
----- Original Message -----
From: "dhodell" <dh...@us...>
To: <amf...@li...>
Sent: Friday, May 16, 2003 4:41 PM
Subject: [amfphp-cvs] sources/flashservices/app
> CVS commit by dhodell:
>
> WOOO! Added cool as hell amfphpexplorer! example of explorer:
> $gw = new Gateway();
> $gw->setBaseClassPath('services/');
> $gw->explore('com.margrietje.FileService');
>
>
> M +70 -1 sources/flashservices/app/Executive.php 1.11
> M +6 -1 sources/flashservices/app/Gateway.php 1.11
>
>
>
> -------------------------------------------------------
> Enterprise Linux Forum Conference & Expo, June 4-6, 2003, Santa Clara
> The only event dedicated to issues related to Linux enterprise solutions
> www.enterpriselinuxforum.com
>
> _______________________________________________
> amfphp-cvs mailing list
> amf...@li...
> https://lists.sourceforge.net/lists/listinfo/amfphp-cvs
>
|
|
From: Devon H. O'D. <do...@si...> - 2003-05-16 14:55:02
|
It's been talked about. It's been suggested. It's been pushed off... AND NOW IT'S DONE YES! AMFPHP Explorer and Local Service Tester has been implemented. Yeah that's possible I implemented it this way for security reasons, but I won't take it out of the gateway or make it that you can just pass a variable to the gateway. Exposing services sucks, and this should only be used for testing, as we all know :). Devon ----- Original Message ----- From: "Klaasjan Tukker" <k.t...@mi...> To: <amf...@li...> Sent: Friday, May 16, 2003 4:47 PM Subject: Re: [amfphp-cvs] sources/flashservices/app > Feature request... > > At this moment you have to "register" your service you want for exploration. > In this cas "com.margrietje.FileService" . > > Is it possible that the explorer detects all available services in the > services/ directory (they can be identified by having a methodtable) and > show them all? > > Klaasjan |
|
From: johncowen <joh...@us...> - 2003-05-20 13:17:38
|
CVS commit by johncowen: 1. Added support for passing Flash registered objects to PHP 2. At the moment the PHP version of the Flash registered class has to be inside the service class file (or included from there)...although it would be simple enough to look for it in the base class path aswell M +25 -1 sources/flashservices/app/Executive.php 1.12 |
|
From: johncowen <joh...@us...> - 2003-05-27 11:46:33
|
CVS commit by johncowen: 1. Checks for _explicitType before using its value (if it has one) 2. The previous version seems to work with some setups, although Luke Kenyon reported an eror on the mailing list... "Code 8 Description Undefined index:_explicitType Detail refers to the Executive.php. Level Notice Line 184 " ...I was unable to check whether this fixes the error as I haven't been able to replicate the error in the first place but this should fix it... M +3 -3 sources/flashservices/app/Executive.php 1.13 |
|
From: johncowen <joh...@us...> - 2003-05-30 16:21:57
|
CVS commit by johncowen: 1. Added support for setCredentials 2. Added credentials.fla and new services for an example of using setCredentials and roles to restrict access to service methods 3. Left changed a trigger_error in Executive.php because it used headerFilter which has now been replaced with an array of headerFilters M +49 -6 sources/flashservices/app/Executive.php 1.14 M +7 -3 sources/flashservices/app/Gateway.php 1.12 |
|
From: johncowen <joh...@us...> - 2003-05-31 15:30:42
|
CVS commit by johncowen: 1. Removed the explorer code from Executive.php 2. Added ServiceBrowser.php, a replacement for the explorer code from Executive (for now in util although it can be used without AMFPHP) 3. Began to clean up the markup and add style with css... M +7 -69 sources/flashservices/app/Executive.php 1.15 M +2 -2 sources/flashservices/app/Gateway.php 1.13 |
|
From: johncowen <joh...@us...> - 2003-06-17 09:26:00
|
CVS commit by johncowen: 1. Basic code formatting changes in accordance with the standards we decided to use 2. Use of __construct in ServiceBrowser.php.. (??) M +30 -37 sources/flashservices/app/Executive.php 1.16 M +15 -15 sources/flashservices/app/Gateway.php 1.14 |
|
From: johncowen <joh...@us...> - 2003-06-17 09:28:50
|
CVS commit by johncowen: 1. Removed ServiceBrowser functionality from the Gateway, now you must create a new ServiceBrowser object in order to browse services, you cannot browse through a Gateway object M +0 -7 sources/flashservices/app/Executive.php 1.17 M +0 -5 sources/flashservices/app/Gateway.php 1.15 |
|
From: justinwatkins <jus...@us...> - 2003-06-19 16:38:36
|
CVS commit by justinwatkins: Modified the Executive class to change the working directory so it is the same as the directory the class file lives in. This is so the class can include files and treat the path as if it were local. Modified the AMFSerializer to patch a minor bug and to promote the datasource type negotiation back to the top of the case statement. Also finalized the double check for the recordset filter to the cwd. M +24 -24 sources/flashservices/app/Executive.php 1.18 |
|
From: justinwatkins <jus...@us...> - 2003-06-19 21:23:46
|
CVS commit by justinwatkins: Executive.php, broke apart the doMethodCall method. It was such a web of if else's that it was incomprehendable even to me. Now it's a series of chained methods that represent what each block handles. Modified the Credentials, primarily removed the FlashCredentials restriction, and added support for an _authenticate method locally within the service class. This method allows greater flexability and allows a developer to also define a super class with the _authenticate implementation and share it with subclasses. M +154 -101 sources/flashservices/app/Executive.php 1.19 |
|
From: justinwatkins <jus...@us...> - 2003-06-27 15:12:13
|
CVS commit by justinwatkins: Fixed PEAR Web service bug and cleaned up the input and output stream class files M +1 -1 sources/flashservices/app/Executive.php 1.20 |