Import a Controller in CakePHP
If you want to access some predefined controller in another controller in CakePHP. You can do this as explained in following example.
<?php
App::import('Controller', 'Events');
class HomesController extends AppController {
var $name = 'Homes';
var $Events;
function beforeFilter() {
$this->Events =& new EventsController();
$this->Events->constructClasses();
}
function index() {
$this->Events->index();
}
}
?>
Model without Table in CakePHP
This is explained in following example
<?php
class ModelWithoutTable extends AppModel {
var $useTable = false;
}
?>
Controller without Model in CakePHP
In some cases you may need to have a controller without its own model. This might be because you are using other models. You can do this by using an empty array.
<?php
class HomesController extends AppController {
var $name = 'Homes';
var $uses = array(); // Don't use Home Model
function index() {
}
}
?>
SVN Client for MAC
| Name | License | Cost | Integration | Rating |
|---|---|---|---|---|
| SmartSVN | Commercial | Free (Foundations),
$79 USD (Professional) |
Standalone Gui, Windows Shell and Mac Finder integration | ***** |
| Versions | Commercial | $59 USD
(Free Trial Available) |
Standalone GUI | ***** |
| Cornerstone | Commercial | $59 USD
(Free Trial Available) |
Standalone GUI | **** |
| Syncro SVN | Commercial | $59 USD
(Free Trial Available) |
Standalone GUI | **** |
| Cascade | Commercial | $200 USD Per user/year | File System Driver | *** |
| RapidSVN | GPL v3 | Free | Standalone GUI | *** |
| Qsvn | GPL v2 | Free | Standalone GUI | *** |
| Subcommander | GPL v2 | Free | Standalone GUI | *** |
| Workbench | Apache License v1.1 | Free | Standalone GUI | * |
Changing default session timeout value in tomcat
Default session timeout value in tomcat is 30 minutes. To set new session timeout value edit web.xml file and add following lines.
<session-config>
<session-timeout>xy</session-timeout>
</session-config>
xy is new session timeout value in minutes. Also don’t forget to restart tomcat.
How to add Google Analytics to Question2Answer plateform
Go to your Google Analytics account and get code for you forum which you need to track.
Now login to your Question2Answer forum from your admin account and follow these steps
1. Go to admin section
2. Click on ‘layout’ tab.
3. Check option “Custom HTML in
4. Upon checking option, you’ll get textbox.
5. Enter the tracking code you got from Google Analytics account.
Starting tomcat in debug mode – Linux
To start tomcat in debug mode, you need to set JPDA_TRANSPORT=dt_socket and JPDA_ADDRESS=9000 environment variable. To set these variable for a session only, open command prompt and run following commands
export CATALINA_HOME=/home/xyz/opt/tomcat export JPDA_TRANSPORT=dt_socket export JPDA_ADDRESS=9000
now start tomcat using following command
$ %CATALINA_HOME%/bin/catalina.sh jpda start
Setting this variable in your personal ~/.bashrc file has the advantage that it will always be set (for you, as a user) each time you log in or reboot the system. To do so, open ~/.bashrc in a text editor (or create the file if it doesn’t already exist) and insert the following line anywhere in the file
export CATALINA_HOME=/home/xyz/opt/tomcat export JPDA_TRANSPORT=dt_socket export JPDA_ADDRESS=9000
Save and close .bashrc.
You must logout and login again to make your change take effect. or source your .bashrc file to make your change take effect for the current session
$ source ~/.bashrc
Start tomcat6 (installed as a windows service) debug mode using eclipse remote debugging
I have spent around 5 hrs in google to know how to start tomcat6 (installed as a windows service) debug mode using eclipse remote debugging. Here are the steps.
1) Go to your catalina_home/bin.
2) You will find a file called tomcat6w.exe
3) double click on the file and a window will be opened.
4) In the opened window, go to “java” tab.You will find a “text area box” with label as “Java Options”
5) Add the following lines of the code at the the beginning of the text area. (I mean above the first -D…)
6) The below are the lines which you need to add.
-Xdebug -Xnoagent -Djava.compiler=NONE
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
7) Once you have added go to your eclipse and go to Debug–>Debug Configurations and create a new configuration for your project with the port as 5005 (as given above) and save it.
Now start your tomcat service. You’ll observe at the middle of starting of your service it will become very slow and not responsive. At that time start your already configured debugger. Now you see your server started successfully in debug mode. Remember that as i mention above, if when your service start up is slow and you have not started your eclipse debugger at that time, then your server won’t start and you’ll get some error.
I have spent a lot of time on this and so i am posting it so that, the people who sees this can continue their work from here easily….
Changing project type form general to java in eclipse
You have a project, which is basically a java project but during checking out the project or creating a new project, you didn’t selected type of project as java. You are stuck now as there is no option to change it to java type in eclipse UI.
You can change type of project by modifying.projectfile, located in the root directory of your project. Open .project file in any text editor and search for text “natures”. You’ll see an empty natures node.
<natures> </natures>
Change this value to
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
See Servlet Spec 2.3, section 9.7.2
If you are getting warnings or errors related with Servlet Specification, version 2.3, section 9.7.2. It means that you are trying to override web container’s implementation classes from your applications classes.
Servlet specification 2.3 section 9.7.2 says this clearly
The classloader that a container uses to load a servlet in a WAR must allow the developer to load any resources contained in library JARs within the WAR following normal J2SE semantics using getResource. It must not allow theWAR to override J2SE or Java servlet API classes. It is further recommended that the loader not allow servlets in theWAR access to the web container’s implementation classes. It is recommended also that the application class loader be implemented so that classes and resources packaged within the WAR are loaded in preference to classes and resources residing in container-wide library JARs.
You can get away from these warnings by doing one of the following
1. server-api.jar is needed to compile an application and is not required in application war to run application as container already have this file. You must remove this file from WEB-INF/lib.
2. It can be because of other jar files that are bundled with container. e.g. j2ee.jar. You need to remove this file from your application’s lib directory.
In tomcat 6, $CATALINA_HOME/lib/ contains all the jar file which one should not override with those of application’s jar. tomcat 5 has these jars in $CATALINA_HOME/common/lib folder.