Where can I get symfony third party bundles with full configuration and explanation? - symfony

I am new to symfony framework so I don't have idea about bundles so I want to use third party bundles.
To get third party bundles as per my functionality I refer this and this links but I can't get full explanation about bundles like how to use , after install third party bundles where I need to change , which and where I need to configuration ?
So can anyone from symfony community guide me to how to use third party bundles ? and how to configure ? and where I need to configure ? configure mean routing.yml , config.yml file changes.
for ex : I need to install page building Bundle (CMS) for static pages (like about us , privacy and policy etc.) I install 3 different bundles using composer from git hub but none of are working. At last I install BeelabSimplePageBundle bundle and it install successfully in my vendor folder but on github there is not so much explanation about routing , configuration. may be some pro symfony developer can understand that explanation but newbie like me can't understand it because there is not step by step explanation.
so if there is any pro symfony developer please explain BeelabSimplePageBundle step by step and full explaination for install and for any third party bundle.so next time when I need to add any third party bundle I can do it myself and if needed I can explain to some newbie developer in future.
Thanks in advance.

Third party bundles usually comes with it's own documentation. If it doesn't you should avoid using it because it is going to make the development process harder and make your code buggy.
Only choose well documented and reputed bundles
Use the original documentation that comes with the bundle
In case you are needing a good place to search for symfony bundles, knpbundles.com has a large collection of symfony bundles

Related

Liferay dxp 7.3: how to add third party jars for global sharing?

how can add 3rd party jars for global sharing?
in 6.1, it just need to add those jar files into tomcat's lib/ext folder. but after upgrade to 7.3, those jars seems not loading and cannot reference in portlets.
please help!
thx.
Liferay 7 replaced its whole foundation and switched to OSGi -- you'll need to provide your third-party jars in an OSGi bundle.
(This basically was the answer. Any elaboration would be too much for this site or would need a more specific question. As Liferays documentation is always in flux, search for "liferay include third-party jars in module" for more info. At the time of writing, this link is a relevant search result.)

How can I know what bundles I should not include in a Karaf features file?

In a Karaf features file if I include certain bundles then Karaf stops working correctly.
How can I know what bundles I should not include in a features file? for example, if I added these bundles in the features file in Karaf on Windows, Karaf is not happy and acts strange. I assume its because Karaf already provides Java interfaces for these bundles.
<bundle>mvn:org.osgi/org.osgi.core/4.3.1</bundle>
<bundle>mvn:org.osgi/org.osgi.compendium/5.0.0</bundle>
Also is there a programmatic way to determine this?
Is there a list of bundles which I should not include?
I understand that Karaf uses pax-logging rather than those slf4j.
In more detail, my SBT project compiles a list of dependent bundles for my bundle, in my list that I get back from my code I get the org.osgi.core and org.osgi.compendium. They are dependents of my osgi bundle which is my main project. Now, the problem is, how can I know that Karaf does not want this installed as part of my features?
Thou' shall not install other framework packages besides the framework ;)
This is an absolut NOGO!
As Karaf already provides everything you need, in that case the Framework.
So don't even think about adding the std. framework packages to your OSGi env, they are already all there.
If you want to have certain compendium packages.
Make sure you Install the implementing bundle, as you already pointed out, the pax-logging bundles already provide everything needed for the osgi logging compendium services.
Same is true for Pax-Web and the OSGi HttpService packages.
You'll find a lot of already pre-registered OSGi compendium services with Karaf,
if you need more, install the implementation, not the spec bundle.
edit
nop programmatic or Karaf internal way can tell you about to not include those bundles. It's just something commonly known.
An implementing bundle always also will bring you the needed osgi packages.

Jboss Fuse 6.2, install custom features to profile in fabric

I was able to do what I'm goin to describe in Fuse 6.1 but now in Fuse 6.2 I get an exception and it is not working anymore.
By following a tutorial, I build a "multi module" project that has a features component in order to install all the needed bundles.
I'm working on a fabric container with a child container.
I create a new profile and then from hawtio console I try to add the feature repository. (BTW I have the same problem if I use the terminal console)
The feature repository is added correctly (that's what fuse says at least) but when I enter the page to add any feature I see this in the log:
org.eclipse.aether.resolution.ArtifactResolutionException: Could not
find artifact it.mytria.demo:esercizio1-feature:xml:features:1.0.0 in
karaf-default
(file:C:/servers/fuse/system/)
Of course, it is right, since I never installed the bundle in that folder, but I have it in my local .m2/repository
Now, the question is, has anyone ever installed a custom feature in Jboss 6.2 and can help me get out from this situation?
The only solution I found is to manually copy the feature and all the custom bundled indicated by the feature in the "/system" folder, but I never had to do this in Fuse 6.1 so I don't like this solution at all.
Other thing, there is a conf file in Fuse 6.2 that has changed from Fuse 6.1, C:\servers\fuse\etc\io.fabric8.maven.cfg and it is the only file I found pointing to the system folder... but I'm afraid that if I add the .m2 folder here then Fuse will try to search there any bundle even those that has to be really taken from system folder.
So far I haven't find any other difference in the config file about maven repository.
There is any good guy out there that know how to make this thing work?
Please, if I missed some important information, let me know, I'll try my best to complete the question.
Thank you very much.
I installed a clean JbossFuse 6.2.0. Then from the hawtio console I just add the repository to the profile using
mvn:it.mytria.demo/esercizio1-feature/1.0.0/xml/features
and it worked.
So... I have no idea what went wrong the first time. I made no changes to the projects code or pom configuration of the bundles.

What is symfony in the vendor folder?

When I create an app using composer, or install another app created using composer, there is a vendor/symfony folder included.
For example, I installed Laravel using composer. The folder vendor/symfony is present. I am not specifically referencing this in my Laravel app at all.
What is this folder, and it needed? Does the app use it, or composer use it? So if I am using an app created using Composer and dont use composer myself, can it safely be deleted and the app still run? Or could the app be using it?
Thanks
Answer is quite simple: Laravel uses Symfony components.
Check this article: http://www.sitepoint.com/build-php-framework-symfony-components/
Improved Routing Engine
Laravel 4.1 features a totally re-written routing layer. The API is
the same; however, registering routes is a full 100% faster compared
to 4.0. The entire engine has been greatly simplified, and the
dependency on Symfony Routing has been minimized to the compiling of
route expressions.
http://laravel.com/docs/master/releases
The "vendor" folder is a standard in every application / framework that uses composer to manage dependencies. In the "vendor" folder you will find all dependencies (read: libraries) that your applicatication requires.
But you will also find all libraries that your libraries require. In order to minimize code duplication, and thanks to the composer system, most open source projects now reuse parts from other open source projects.
BTW, this is great.
Symfony components are excellent and well documented, so they are currently used by many other frameworks and applications.
Inside the "vendor" you may find other libraries that you did not specifically require yourself, but as long as your correctly use composer, that's not something you should worry about.

Sylius Installation - ProductBundle is Missing

I'm new in sylius development and I'm getting trouble to install some sylius bundles. I want to build a small online store and I pretend to use SyliusProductBundle, SyliusCartBundle and the required SyliusResourcesBundle.
How can I add them to my project?
Just to test, I've downloaded and installed the sylius full stack and I've noticed that the ProductBundle isn't there. I've read the documentation of both ProductBundle and CartBundle. The ProductBundle was replaced?
So, I have 2 problems:
Figure out what bundles should I use (I think Product and Cart but ProcuctBundle is aparently missing)
How to install this standalone bundles via composer.
I'm using symfony 2.3.1
As far as I'm aware the product bundle is still active (last commit was 7 days ago). To install and use the product bundle specifically, follow these steps from the docs:
http://docs.sylius.com/en/latest/bundles/SyliusProductBundle/installation.html
You can install any other bundle stand alone by adding the package, as found on packagist, to your composer.json file and running composer update <packagename>. The sylius bundles are here:
https://packagist.org/packages/sylius/
In terms of the specific bundles you'll need, there are 2 places you'll be able to learn more:
Documentation - covers integrating product, cart and resource bundles pretty well. The remaining bundles are WIP.
Sylius Demo - the features and the last successful travis build will give you the best indication of the functionality supported by Sylius.

Resources