[commits] [Wiki] changed: Doc/Dev/Skeleton

Wiki Guest wikiguest at horde.org
Thu Dec 2 06:56:59 UTC 2021


guest [31.16.249.142]  Thu, 02 Dec 2021 06:56:59 +0000

Modified page: https://wiki.horde.org/Doc/Dev/Skeleton
New Revision:  3
Change log:  Update to reflect latest changes

@@ -65,20 +65,18 @@
  These underscores have been removed unless
  - there is a name clash with another method
  - a protected variable or method needs to stay compatible with  
parent or child code which cannot currently be refactored

-+++ lib/ code removed or turned into wrappers
++++ lib/ code removed

-Ongoing:
-
-Original code in lib either is turned into mere wrappers or removed  
altogether. As applications are not inherited from or used like  
libraries, only the framework's integration points need to be kept as  
wrappers:
+Original code in has been removed. As applications are not inherited  
from or used like libraries, this should not be a problem but you need  
a recent enough framework version. For horde/core before 3.0.0alpha9  
and horde/horde before 6.0.0alpha6, you may need to add wrappers for  
integration points:

  - lib/Application.php - Used for inter-app and DAV calls. Also  
contains fallback definition of the SKELETON_BASE and HORDE_BASE  
constants, though most likely not needed anymore
  - lib/Api.php - Used for inter-app and RPC. In real world  
applications, we might see some breakage if we actually use the API,  
as calling code may be liberal with typing. In the case of skeleton,  
the Api is empty anyway.
  - lib/Ajax/Application.php - Integration point for the AJAX framework.
-- lib/Block/ - Wrappers for all implemented blocks need to be kept  
until the framework learns to also look into /src/Block/ or some  
catalog class.
  - lib/Test.php  - The integration point for the health check UI  
called under /horde/test.php. Though skeleton does not really  
implement any useful test

+With Portal Blocks, there is a little issue: If you add wrappers and  
run a recent framework, blocks will show up twice. If you do not add  
wrappers and run an old framework, blocks will not show up. Advise is  
to not wrap blocks though. See also:  
https://www.ralf-lang.de/2021/12/01/horde-skeleton-modernized/

  +++ Strict types applied and type hints turned to real types
  The strict typing mode is used consistently everywhere in src/.
  Most property, parameter and return type hints were turned into  
actual types. Many missing types were added.



More information about the commits mailing list