Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - krashnik

Pages: [1] 2
1
Hello,

At HardMagic Publishing, we have had FengOffice 1.7.5 integrated for a few years now.  

As of June 15th, 2013 - we have our first integration of Feng 2.3 integrated with many pieces of software.  They include

Wordpress
ResourceSpace
Moodle
SMF Forum
plus more smaller programs.

We do this by having the user login to Wordpress as the main site.  Then, we have a subdirectory on the site such as example.com/feng

Inside of here, we edited the init.php file to include this:

Code: [Select]
if(isset($_GET['a'])){
if($_GET['a'] == 'login')
{
 //ADD THIRD PARTY SO IT DOES NOT LOAD MOODLE OR WORDPRESS
$third_party = 1;
define('WP_USE_THEMES', false);
require_once(__DIR__.'/../wp-blog-header.php');
if ( is_user_logged_in() ) {
   $current_user = wp_get_current_user();
$_SESSION["id"] = $current_user->ID;
ajx_current("empty");
$user = Contacts::getByUsername($current_user->user_login, owner_company());

try {
CompanyWebsite::instance()->logUserIn($user, 0);
} catch(Exception $e) {
flash_error(lang('invalid login data'));
return;
} // try
} else {

$actual_link = full_url();
    wp_redirect( wp_login_url( $actual_link  )  );
}

}}

We put this on line 162 of the file, which is somewhat important, yet it can be moved around in there.

This essentially checks to see if the user is getting authenticated... once authentication is checked (by having GET['a'] in the url) we hook this operation and tell the program to instead load up the wordpress header file.  

From here, we find the Wordpress user & pass them back as being logged in via the
Code: [Select]
$current_user = wp_get_current_user(); variable.  You can replace this variable with any other system you'd like & it will make your user logged in.  The variable should include the userID needed on the next line & the username on the line thereafter.

I hope this makes sense.  It is a small snippet & we have included this in our open-source software known as Pedadida.  (If given permission, I will post a link to this PHP software.

Pedadida automatically handles all integrations for you and gives you the latest version of all the softwares I mentioned above automatically integrated together.  This is a much larger installation that just FengOffice, itself, though great for Universities or Institutes that use FengOffice as the task management solution while also needing many other amenities on their site.

You may also browse our project on GitHub to see our latest revisions & to see the actual code.  

2
Getting Started / Feng Office Video Tutorial - Basics v 1.75
« on: November 08, 2012, 02:03:00 pm »
I made a tutorial for my company utilizing FengOffice.  

youtube.com/watch?v=lpTGCayeZlY

3
I had the same issue and resolved it by going into phpMyAdmin within Cpanel.

From here, I went to the fo_dimensions and inserted a new row and gave it the name 'test'.  You can do the same or you can copy & paste my code into your SQL. 

Code: [Select]
INSERT INTO fo_dimensions` (`id`, `code`, `name`, `is_root`, `is_manageable`, `allows_multiple_selection`, `defines_permissions`, `is_system`, `is_default`, `default_order`, `options`) VALUES (NULL, '', 'Test', '0', '0', '0', '0', '0', '1', '0', '');
This works on 2.1 & 2.2beta

4
Installation problems / Re: PLEASE HELP
« on: September 28, 2012, 08:24:55 pm »
This is saying that either database 'metanoia_project' doesn't exist or that Table 'og_companies' doesn't exist....

Did you possibly put your installation in a different database or under a different table name?

5
Feng Office 2 / Community Vs Professional Business Model?
« on: September 14, 2012, 01:48:20 pm »
First off, Great job on the 2.2 Beta release and all else going on.  I know this is a hard feat and look forward to what you create in the future.

I am still using v1.75 until I feel there is a 100% secure upgrade path.  I have also created quite a few modifications that I'll have to completely remake since table structures have been changed.

I am wondering the reason of having two different versions of FengOffice 2.x?  I see there are many features not included in the CE version compared with Pro.  Normally in an Open Source environment, this is offered the opposite way.

You use the Community version for new & innovative plugins, mods, and features.  Once those become stable, you release them in your professional version. 

With this business model, you make money from offering hosting & support to developers & businesses.  This seems to be the business model used prior to version 2.0.

I now see a strong difference in the direction FO is going with version 2.x.  As a member of the Community who has a plethora of code, expertise, and funds to contribute to this project, I'd like the community members to be made aware of the future of the development.

Do you plan on taking CE & Pro Editions in different directions to entice people to make a purchase of your product, or will CE always offer an open source version of the latest build of FO?

I understand developers haven't contributed nearly as much as your team would have liked in the past, but you must also understand that your product is very young and the direction of the entire Feng project has not been made clear to the public.  Nor has a proper plugin procedure been developed until recently.  With a clear business plan and collaborative communication with members I think you will find that developers will offer stronger support.

Also, focusing on making a seamless transition between 1.75 > 2.2 should be the highest priority over coming up with new features. 

I finally got my business to the point that I can contribute some great code to this project, but with so many structural changes in 1.75 to 2.0 - I will be spending easily 6 months of my team's time upgrading all of our features before I feel comfortable contributing large plugins.  A few plugins we have developed include an entire Mobile App for Feng - just to give you an example of the type of funds I have put into this platform.

With the ability to add new plugins to version 2.2, I know developers like myself will be happy to aide in the development of this opensource software.  However, we only have the intention of helping if it is truly going to be 100% open source in the future with a community edition that is not handicapped.

Please explain how you see the direction of Feng being developed and the effort you expect Community members utilizing the CE version to partake.

6
Community Contributions / Re: Email Piping
« on: September 14, 2012, 01:32:32 pm »
Yes, this now works perfectly in version 1.75. 

I have over 1,000 people using iPhones, Blackberries, Androids and all replying via mobile to their tasks. 

I will be upgrading to version 2.x soon and updating this script.  I need funding to write a tutorial for this - still putting the foundation of my business together, so it might take some time.

7
Announcements / Re: Feng Office 2.0 BETA has been released!
« on: September 27, 2011, 02:36:38 am »
Well, I downloaded the beta and I see some very serious problems.

As a developer, I have integrated FengOffice into many different applications. For myself & for other companies.  The new version changes the core structure of the User table.  It combines the feng_users table with the feng_contacts table. 

Thus, upgrading will be very difficult.  Sure - you have your script to update from 1.7.5- 2.0 - however, you don't take into account how many companies, like ours, further extend the functionality of Feng by integrating it into 3rd party programs. 

Moves like this really deter large businesses from cooperating with your scheme and shows how few partners are involved on this program.  A core architecture should never change the name of high priority tables.  Look at wordpress.... everything is in wp_users table for the users & then plugins, additions, and future upgrades do not change this table.

There are a few protocols that need to be followed for how an open source program should run, and I don't feel the few developers of FO are taking into consideration the rest of the community's ability to develop & contribute.

Now - instead of being able to contribute to 2.0 & add plugins, I will have to go back through over 6,000 lines of code and change our customizations, just so they will be compatible with version 2.0.

And with this lack of integrity in the program, I wouldn't be surprised if in 2012 or 2013 you change the architecture of the core files again.  It is naive decisions like these that have slowed the progress of this program.  I hope enough developers speak up and join me on this issue so we may streamline our work and actually tackle important issues instead of trying to play catch-up with solo developers who neglect the majority.

8
Installation problems / Check Mails & Reply Problems
« on: September 23, 2011, 05:50:42 am »
I'm having issues with my check mails.  I have about 8 email addresses linked to the sync & I'm not sure if they are timing out due to a long query, or what the issue is.  

After about 3 minutes of "loading" after hitting "check mails" the program responds with "No Emails".  Upon hitting "check mails" again, it will finally retrieve the latest emails.

Upon looking in the debug, I come up with this:

Code: [Select]
#3 ERROR: Error: mysql_ping() expects parameter 1 to be resource, null given in '........................../environment/classes/mail/MailUtilities.class.php' on line 177 (error code: 2)
#4 DEBUG: Could not save mail, original mail saved as ........................../tmp/unsaved_mail_78383.eml, exception:
    Failed to connect to database
#5 ERROR: Error: Undefined property: MysqlDBAdapter::$link in '........................../environment/library/database/adapters/AbstractDBAdapter.class.php' on line 410 (error code: 8)
#6 ERROR: Error: mysql_ping() expects parameter 1 to be resource, null given in '........................../environment/classes/mail/MailUtilities.class.php' on line 177 (error code: 2)
#7 DEBUG: Could not save mail, original mail saved as ........................../tmp/unsaved_mail_78384.eml, exception:
    Failed to connect to database



Furthermore, when replying to an email, it will briefly show all the contacts at the top of the screen and then the message is only displayed on the lower half.  This isn't consistent and at the current moment, it is now not showing any buttons at the top of the email, so I can't reply, or see anything.

I've attached a screenshot to show this.

I could probably diagnose this myself if FengOffice came with a nice Codex like wordpress has.  The documentation here is horrible and that is why the core program only gets upgraded by a handful of programmers.  To have a truly OpenSource program, the plugin architecture & the documentation need to be updated immediately.  Our organization would even fund many other projects if FO was forward-thinking like this.  

OpenSource is not new-age... App stores, plugins, and dynamic documentation is the wave of the future and FO will be forgotten unless these are addressed.  Not to mention upgrading the forum where we can mention these issues.

9
Feature requests / Re: LDAP support
« on: September 03, 2011, 05:24:08 am »
We have successfully integrated FengOffice with a number of CMS programs and systems.  Unfortunately  - this is the main area we can't share our code as it would jeopardize the integrity of the integration by doing so.

However, you may hire our team to integrate for you if you need help: hardmagic.com for info.

You can add a few clases into the login() function as well as the init.php file for most of what you need.

Feel free to check out our installation here: themov.org/lab

10
Feature requests / Re: Assigning a unique number to each workspace
« on: August 25, 2011, 03:16:58 am »
Each project already comes with its own Workspace ID.  To access this, you will want to use the following code:

Code: [Select]
echo clean(active_project()->getId());
I would recommend finding line 36-39 in /application/views/dashboard/index.php
Look for this:

Code: [Select]
if(active_project() instanceof Project)
echo clean(active_project()->getName());
else
echo lang('all projects');

And change to this:

Code: [Select]
if(active_project() instanceof Project)
echo clean(active_project()->getName()). ' - ' .clean(active_project()->getId());
else
echo lang('all projects');

11
Components / Re: Single Sign On
« on: August 25, 2011, 02:46:56 am »
I have successfully integrated FengOffice with multiple other systems.  I could design a program that has a user interface so people can enter their choice of login which will automatically integrate.

I charge $4k for a custom integration, but with funding, we could make this an opensource piece to be added to future versions.  I just have no need of making such code unless I know it will be integrated. 

Get in touch if you are interested in hiring us for this.  All work is done within the authenticate.php & the websiteclass controller file.

12
Feature requests / Re: API to integrate users with my current site
« on: June 02, 2011, 11:12:58 am »
This is possible and contact me if you'd like a custom integration installed by our team.

13
We have created an integration with other CMS systems and can offer this for a fee.

Unfortunately, we can't provide the code in Open Source for this as it would reduce the integrity of our login script to ensure hacking doesn't occur.

You may see our integration of Feng Office here: themov.org/projects

We have integrated it with ResourceSpace, Moodle, PHPIzabi, and SocialEngine to name a few.

14
How To's / Re: Email not trashing
« on: May 26, 2011, 03:15:12 pm »
The word "cannot" should NEVER be in an admin or someone with responsibility's vocabulary.

Someone obviously programmed this, so someone can obviously turn it off.

Anyway - to answer question #1:

There is a piece of code in this file projects/application/models/notifier/notifier.class.php
on approx line 43 which has:


else if ($action == ApplicationLogs::ACTION_TRASH) {
   self::objectNotification($object, $subscribers, logged_user(), 'deleted');

I simply commented out this else if statement....

Not sure if it does the trick yet - I'm waiting on someone to send something to the trash first to see.  But this should disable it.

Alternatively, you can add a column to your database that sees whether the user wants to be notified and then change this else if to something like this:

else if ($action == ApplicationLogs::ACTION_TRASH && $wants_notified) {
   self::objectNotification($object, $subscribers, logged_user(), 'deleted');

      

15
How To's / Re: Google Calendar
« on: May 14, 2011, 03:45:53 pm »
Any chance we can get our hands on this code?

Would be nice if you just attached your file or wrote a tutorial on here.

I'm willing to fund this project, too.

I want to see my calendar on my Iphone which is synced with Google already.

Pages: [1] 2