Jump to content
TNG Community
HeatherFeuer

TNG-WordPress Plugin Features Request

Recommended Posts

HeatherFeuer

Attention all WordPress users:

It seems that there are currently feature requests being mentioned in various posts to this forum. I would really like to see all the requests posted in one place for easier tracking and to help out Roger Moffat (theKiwi) as he works on the plugin.

If possible, I would appreciate it if the powers that be could make this post a sticky so users with requests can easily see it. Thanks!

Share this post


Link to post
Share on other sites
Nate Jacobs

Check if pretty permalinks are set and if not, set them and advise the site admin and provide link to change format if wanted. This will take away one more obstacle to getting the integration up and running quickly.

Share this post


Link to post
Share on other sites
HeatherFeuer

I had a quick conversation with Roger this morning that confirmed for me that user management should be kept separate from the main tng-wordpress plugin. Not all users of TNG and/or WordPress have any other users than themselves, so the plugin should only provide the basic syncing of users between the two platforms. So Nate Jacobs and I will continue to work with user management.

I am really hoping that the updated plugin will include the code I added to address the privacy issue between WordPress and TNG.

I think it would be totally awesome if the TNG menu could be integrated into WordPress as a custom menu, but I'm not sure if that isn't outside the scope of the plugin. If it is, perhaps Nate or someone else would like to take that on.

Share this post


Link to post
Share on other sites
theKiwi

I am really hoping that the updated plugin will include the code I added to address the privacy issue between WordPress and TNG.

But if there are no users, and/or the Integrate Logins setting isn't checked, the privacy issue is handled solely by TNG isn't it? Or do I misunderstand what that is meant to be doing?

Roger

Share this post


Link to post
Share on other sites
HeatherFeuer

But if there are no users, and/or the Integrate Logins setting isn't checked, the privacy issue is handled solely by TNG isn't it? Or do I misunderstand what that is meant to be doing?

Roger

If you are the sole user and you don't have your TNG privacy settings set to private, then you would leave the checkbox for this setting blank. And yes, the rest of the settings (i.e. don't show living) would be handled by TNG. However, there are many users who DO allow registration, especially for family members, but also may have the privacy settings set to private. One of the major drawbacks to integrating TNG with WordPress has been the privacy issue and that is what my few lines of code address.

Think of it as just another setting like the one to integrate logins. You can check it or not, but from experience, I can tell you that option would be greatly appreciated!

Share this post


Link to post
Share on other sites
Martin J Mosley

I don't know whether it is possible given that wp and tng use two database tables.. But would it be possible to have one single site search function pulling results from both the tng and the wp database'?

Someone landing on a wp page may currently do a site search and see results from posts or forum threads, but nothing from the tng database. This leaves them having to make a second search of the genealogy data.. Surely undermining the idea of seamless integration?

I'd also like to see greater scope to easily integrate themes. At present we have a mix of themes and templates in tng which can be adapted to some extent, but which are difficult to synchronise with a wp theme. maybe some means of identifying CSS classes and allowing cross referencing between those of wp and those of tng?

Share this post


Link to post
Share on other sites
HeatherFeuer

I don't know whether it is possible given that wp and tng use two database tables.. But would it be possible to have one single site search function pulling results from both the tng and the wp database'?

Someone landing on a wp page may currently do a site search and see results from posts or forum threads, but nothing from the tng database. This leaves them having to make a second search of the genealogy data.. Surely undermining the idea of seamless integration?

I just did a quick check on my Larlee site because I have both WordPress and TNG in the same database and the same is true there. I suspect, Martin, it has to do with the prefixes appended to the table names. WordPress config will only recognize tables with the wp- prefix and TNG will only see the tables with the tng- prefix.

I think I will experiment with my demo site and combine all the tables into one database with no prefixes and see what happens.

I'd also like to see greater scope to easily integrate themes. At present we have a mix of themes and templates in tng which can be adapted to some extent, but which are difficult to synchronise with a wp theme. maybe some means of identifying CSS classes and allowing cross referencing between those of wp and those of tng?

My first thought is that theming is outside the scope of the plugin, but on second thought... Roger, would it be possible to enqueue the stylesheets in the tng/css folder instead of doing the basic <style> ...</style> that the plugin currently adds to WordPress head?

Share this post


Link to post
Share on other sites
theKiwi

My first thought is that theming is outside the scope of the plugin, but on second thought... Roger, would it be possible to enqueue the stylesheets in the tng/css folder instead of doing the basic <style> ...</style> that the plugin currently adds to WordPress head?

I don't know what you mean by "enqueue". But if anything was done to have the plugin put the TNG style sheets into the document head, it would be duplicated when TNG itself then wrote the stylesheets information out itself.

That basic block of <style> </style> information is there to style the div tng_main that the plugin puts all of the TNG content in to and nothing more, and depending on your WordPress theme's characteristics, some basic adjustments can be made there for your site for things like line height if your theme has a different characteristic than TNG does.

My thought has always been, assuming that you want the whole site to look the same, that you would use a WordPress theme and no TNG theme, and then use mytngstyle.css in the tng/css folder to make TNG look like the WordPress theme, since the WordPress theme is the wrapper around the whole lot.

If you wanted the whole site to look like TNG that would require someone to make a WordPress theme that looked like a TNG theme so that it could be put on the whole site, not just the Genealogy page.

Roger

Share this post


Link to post
Share on other sites
HeatherFeuer

I don't know what you mean by "enqueue". But if anything was done to have the plugin put the TNG style sheets into the document head, it would be duplicated when TNG itself then wrote the stylesheets information out itself.

"enqueue" is a WordPress term -- it refers to wp_enqueue_script() and wp_enqueue_style(). It is paired with wp_register_script() and wp_register_style(). You can read more about it here

My thought has always been, assuming that you want the whole site to look the same, that you would use a WordPress theme and no TNG theme, and then use mytngstyle.css in the tng/css folder to make TNG look like the WordPress theme, since the WordPress theme is the wrapper around the whole lot.

If you wanted the whole site to look like TNG that would require someone to make a WordPress theme that looked like a TNG theme so that it could be put on the whole site, not just the Genealogy page.

Roger

Thank you for clarifying that. My point exactly and why I am considering taking some of the most popular TNG themes and converting them to WordPress.

Share this post


Link to post
Share on other sites
Nate Jacobs

I don't know whether it is possible given that wp and tng use two database tables.. But would it be possible to have one single site search function pulling results from both the tng and the wp database'?

WordPress only searches posts/pages title and content by default. Changing the database prefix will not change what it searches. In order to search TNG as well as the WordPress site the search request would have to be intercepted, run a query on the TNG db using the search terms and return the results in conjunction with the WordPress results. I haven't messed with the search functions much at all so not sure what is possible. A little quick Googling leads to believe it might be possible. A potential function to use as reference.

Share this post


Link to post
Share on other sites
Mike H

My first thought is that theming is outside the scope of the plugin, but on second thought... Roger, would it be possible to enqueue the stylesheets in the tng/css folder instead of doing the basic <style> ...</style> that the plugin currently adds to WordPress head?

I don't know what you mean by "enqueue". But if anything was done to have the plugin put the TNG style sheets into the document head, it would be duplicated when TNG itself then wrote the stylesheets information out itself.

That basic block of <style> </style> information is there to style the div tng_main that the plugin puts all of the TNG content in to and nothing more, and depending on your WordPress theme's characteristics, some basic adjustments can be made there for your site for things like line height if your theme has a different characteristic than TNG does.

My thought has always been, assuming that you want the whole site to look the same, that you would use a WordPress theme and no TNG theme, and then use mytngstyle.css in the tng/css folder to make TNG look like the WordPress theme, since the WordPress theme is the wrapper around the whole lot.

If you wanted the whole site to look like TNG that would require someone to make a WordPress theme that looked like a TNG theme so that it could be put on the whole site, not just the Genealogy page.

Roger

I do agree with Roger. I am a new user to TNG, so its possible my input here is not important, however I have been using WordPress for 6 years and 4 years to display my family data. One of the reasons I considered in switching to TNG was the ability to merge TNG with my WordPress site and theme. Now after making the switch I find it relatively simple to modify mytngstyle.css and index.php to get the same look.

Mike H

Share this post


Link to post
Share on other sites
HeatherFeuer

One of the reasons I considered in switching to TNG was the ability to merge TNG with my WordPress site and theme. Now after making the switch I find it relatively simple to modify mytngstyle.css and index.php to get the same look.

Mike H

My next project (in all my copious spare time :?:razz: ) is to develop genealogy themes for WordPress/TNG integrations. I shall make a point to include the image and css files for the TNG side of things.

Share this post


Link to post
Share on other sites
cclonch

I briefly tried the integration when I first setup my site and returned to having them separate as the speed of the site (found to be the database calls, right?) slowed way down. Also, from my (limited) understanding, it appears to just wrap the TNG pages. However, I would really like to have them integrated to provide a seamless experience for my users.

Is it possible for the plugin to provide wordpress functions that expose the TNG data to wordpress? I think that would remove the speed issue and would allow TNG functionality to be completely integrated, solving theming, layout, etc problems too. This could possibly be extended to provide integration with a broader range of CMS software out there.

Thinking about this out loud, I imagine my request might better be solved by Darrin. Without TNG providing some sort of API layer, managing this across TNG versions could quickly spiral out of control.

-Chris

Share this post


Link to post
Share on other sites
Nate Jacobs

Is it possible for the plugin to provide wordpress functions that expose the TNG data to wordpress? I think that would remove the speed issue and would allow TNG functionality to be completely integrated, solving theming, layout, etc problems too. This could possibly be extended to provide integration with a broader range of CMS software out there.

Essentially what you would like to use TNG for is simply a storage repository and use WordPress or other CMS as the presentation layer. The couple features I like about TNG is the ability to determine relationships between individuals and the display of family tree charts. While this certainly would be possible to replicate using other code in the CMS theme layer of your choosing it sort of defeats the purpose of having TNG. There are several other WordPress plugins that allow you to upload a gedcom and display the data natively in WordPress.

But with that said...I have been thinking along the same lines. I really don't like the use of the eval() function in the current plugin. Hmm...

Share this post


Link to post
Share on other sites
HeatherFeuer

The thought is nice, but I think it's important to remember the original scope of the TNG software. TNG has always been intended as a stand-alone application. It sounds to be like cclonch is asking for TNG to be written to be a module for other CMS applications instead, which I believe is outside the scope of Darrin's intentions for the program.

That being said, given Nate's interest, perhaps he will be able to come up with code that could parse the TNG files in a more integral fashion and present that to Roger for inclusion in a future release of the plugin.

Share this post


Link to post
Share on other sites
Jay Wilpolt

Essentially what you would like to use TNG for is simply a storage repository and use WordPress or other CMS as the presentation layer. The couple features I like about TNG is the ability to determine relationships between individuals and the display of family tree charts. While this certainly would be possible to replicate using other code in the CMS theme layer of your choosing it sort of defeats the purpose of having TNG. There are several other WordPress plugins that allow you to upload a gedcom and display the data natively in WordPress.

But with that said...I have been thinking along the same lines. I really don't like the use of the eval() function in the current plugin. Hmm...

Nate, (or anyone)

Have you been able to determine what the cause of the slow response time fir TNG within WP?

WP normally has a lot of caching, whereas TNG in its normal form does not. So that's an area that should be explored. As well as pre-loading when you have pagination (i.e. any Media items that results are more than one page should start preloading as soon as the initial page finishes. )

And of coarse the additional indexing for TNG tables that has been provided in the forum previously.

Share this post


Link to post
Share on other sites
Nate Jacobs

Nate, (or anyone)

Have you been able to determine what the cause of the slow response time fir TNG within WP?

I have not yet looked in depth at that issue, but my initial guess would have to be the fact that WordPress has to load all its theme files and then process all of TNG. Caching may play a role in speeding things up slightly. I unfortunately don't know enough of this area to speak completely intelligently about it.

Share this post


Link to post
Share on other sites
HeatherFeuer

I know that if you put both tng and wordpress tables into one database, it seems to load faster.

Share this post


Link to post
Share on other sites
Chuck Bush

Heather,

I was just poking around on your website (never been before now). From what I saw your integration serves the TNG pagers much faster than mine did. I do believe you are correct in that having both apps share the same database is making it faster.

It's still not as fast as say a WP plugin using shortcode to display on a page but almost.

Share this post


Link to post
Share on other sites
Mike H

I am a new user to TNG, but I also set up my TNG/WP using one database. (though different prefixes which should not make a difference). Prior to TNG I was using a WP plugin called rootspersona to display my and edit my data. I don't notice a page loading difference between TNG and the plugin I was using. (that plugin has several downsides compared to TNG). I also use a WP plugin called "WP Super Cache" I am not yet convinced it has any effect on the TNG pages. I have a timer activated in my footer to track load times. With my dsl service my page load times wp or tng are running in the .3 sec time range.

http://hartfamilyhistory.com/

Mike

Share this post


Link to post
Share on other sites
Mike Goodstadt

Have you looked at my post regarding load speed:

http://www.tngforum.us/index.php?showtopic=8014&hl=#

Use the Net tab in Firebug for Firefox (Network tab in Chrome Developer Tools) to track the page load.

If you may not have exactly the same problem the methodology will still allow you to solve the issue...

I united the WP and TNG databases which reduced the load time by 2 seconds. Good but I wanted more...

I looked again at the files in the TNG head which was being processed by WP-TNG plugin. The difference between them and all other JS or CSS files being loaded in the <head> was that they did not have a full path specified. This meant a trek off to the server to find them, as the WP page is a reconstruct of the original TNG page. These files, therefore do not really reside in the paths "js/" or "css/" relative to the WP page but rather in subfolders of the true TNG path structure.

So I edited the WP-TNG plugin where the function mbtng_buffer_start cleans up the TNG head before wrapping. My aim was to add the full path to all JS and CSS in the TNG head. I added a call to the global variable $tngdomain at line 797 (I am using v6 from the forum):

        global $tng_output, $tng_head, $tng_footer, $tngdomain;
and then these two lines at line 831:
                        $tng_head = str_replace('src="js', 'src="'.trailingslashit($tngdomain).'js', $tng_head);
                        $tng_head = str_replace('href="css', 'href="'.trailingslashit($tngdomain).'css', $tng_head);

This has HALVED the load time down to 3.23 seconds!

Share this post


Link to post
Share on other sites
Mike Goodstadt

I guess this is a good topic for mentioning that I have developed a TNG Wordpress Widgets WP plugin to accompany Roger's Integration plugin. (Development is parallel for the moment to allow focus with the more complex process of the combined login.) You can see the widgets in use at ihopetospeed.com and lorelegendslies.com. This allows for ease of personalization of WP sites. It also includes the TNG menu as a widget with ease of selection of menu items, although it is not used in these example sites. Let me know if there is interest in me sharing this plugin (I would have to review it before release as some parts are site-specific).

My own view on TNG integration is that the blog and the database are two separate areas which have quite distinct user types and so I am yet to be convinced of the value of merging users. Can you give your reasons for wanting this? For me the essentials of a TNG plugin are that it easily visually integrates the TNG site into the chosen WP template. Perhaps the user and visual integrations would be best served but two separate WP plugins which might simplify development?

Also would you be interested in a walkthrough of how visual homogeneity is achieved on the sites I mentioned above? The content blocks are just standard WP use of the new widgets generated by the plugin. For me the more interesting aspect is the theming of TNG, what it reveals about how TNG is structured and what developments might be useful to request for future versions of TNG.

M

regards, Mike

Share this post


Link to post
Share on other sites
Jay Wilpolt

Have you looked at my post regarding load speed:

http://www.tngforum.us/index.php?showtopic=8014&hl=#

Use the Net tab in Firebug for Firefox (Network tab in Chrome Developer Tools) to track the page load.

If you may not have exactly the same problem the methodology will still allow you to solve the issue...

I think you might be missing the real underlying issue..... the css and js should be CACHED and thus with the exception of loading the first time, there is NO NEED to call for the file as it will be cached on the users machine!!!

Share this post


Link to post
Share on other sites
Mike Goodstadt

I don't understand your issue with my decision to provide this solution (nor the need for empahsis in uppercase).

The underlying issue is that files paths should be coded so as to reach the files correctly.

They should not need the use of extra server resources to do so.

They should not imply a doubling of load time to be resolved.

Moreover a 6 second load time for a new (or any) visitor is unacceptable and off-putting.

I think my solution is valid until this is addressed in the original code but I am happy to accept other solutions or updates by Darrin, Roger or any other TNGers...

In a thankful heart,

M

I think you might be missing the real underlying issue..... the css and js should be CACHED and thus with the exception of loading the first time, there is NO NEED to call for the file as it will be cached on the users machine!!!

Share this post


Link to post
Share on other sites
Nate Jacobs

Let me know if there is interest in me sharing this plugin (I would have to review it before release as some parts are site-specific).

I would love to see what you have developed.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×