Hi folks,
how are plans for a D7 version of geshifilter.module?
HEAD seems to be D6 only.
Coder module showed a bunch of code rewrites necessary (coder didn't run the auto-upgrade)...
cheers,
daniel
| Comment | File | Size | Author |
|---|---|---|---|
| #31 | snapshot35.png | 2.79 KB | dawehner |
| #24 | lonely.zip | 756.09 KB | zhangyingda |
Comments
Comment #1
dawehnerI stared porting it some time ago: http://gitorious.org/geshi-filter-7
Comment #2
danielnolde commentedhm, the git master of geshi-filter-7 seems to be not usable yet (an "ERROR" is simply thrown instead of content when viewing a node with geshi-filter enabled input format). Coder shows still a bunch of incompatibilities with D7.
What's the timeline/goal for the D7-version of geshi-filter?
Comment #3
dawehnerSure its not usuable yet, i should have said this. But its a starting point, if someone wants to continue. I don't have the time to do it,
Comment #4
soxofaan commentedI'm the maintainer of the GeSHi filter and unfortunately real life constraints make it very hard to make any promises (like a D7CX pledge) about the Drupal 7 port. I only do drupal development in my spare time, which is near to nonexistent at the moment. Unless a co-maintainer steps in, I don't think a Drupal 7 port will be possible in the coming weeks.
Comment #5
bojanz commentedI did more porting work in dereine's repository (http://gitorious.org/geshi-filter-7).
Geshinode is not there yet (although much closer than before), but the main module is displaying my source code nicely.
Could be whipped into shape in no time.
Comment #6
soxofaan commentedHi bojanz, thanks for you work, I will have a look later.
About geshinode: you shouldn't spend time and energy on porting this deprecated submodule, geshifield is the way to go, especially now that CCK/fields is now part of Drupal 7 core.
Comment #7
bojanz commentedI had that thought, but since it required pretty small, standard changes, did it anyway and left it up to you.
I agree that a field implementation is better.
I am unsure about the conflict detecting code, didn't have a chance to test it, will probably need some more love.
This is all the time I had for porting, hopefully it has brought us closer to a working dev release.
Comment #8
grendzy commentedThe port on gitorious is working reasonably well.
I does generate a lot of PHP notices, because the function geshifilter_process collides with the unrelated hook_process() in D7.
Comment #9
aren cambre commentedNot mandatory, but would be nice if this could be moved to Drupal's version control system so that Upgrade Status can show progress.
Comment #10
bojanz commentedsoxofaan, any update on this? Did you have a chance to review the ported code?
If you're in the mood for giving out CVS access, I could devote some more time to this so that it can at least have a -dev release.
I guess what remains to be done for that to happen is:
1) Merge in the newer changes from the 6.x branch
2) Port geshifield
3) See what's up with the filter conflict detection code.
4) Fix the issue that grendzy reported
Comment #11
soxofaan commentedHi Bojanz,
Sorry for the delay, but my available time to spend on this is very limited.
I already created a DRUPAL-6--1 branch in CVS, so HEAD can be used for the drupal 7 version.
I started to review/trying to merge your work from gitorious to CVS HEAD, but I haven't gotten far yet.
One reason is that it appears that you started your D7 port off from version 6.x-1.3 instead of CVS DRUPAL-6--1's branch tip,
this makes it a bit hard to merge in a clean way. For example: the unit tests are now in one file geshifilter.test (as per drupal test recommendations), while in 6.x-1.3 they were in tests/geshifilter.admin.test and tests/geshifilter.pages.test.
I was wondering if you could rebase your port off DRUPAL-6--1's branch tip?
Maybe also interesting to know is that I also keep my development in git (http://github.com/soxofaan/geshifilter-dev), maybe you could rebase the port from the "master-d6" branch there?
Comment #12
mfer commented@soxofaan Two things that may be helpful ....
1) D7 has a hook_process so geshifilter_process in geshifilter.pages.inc will run on a lot of stuff it shouldn't.
2) I created something called geshi_formatter which is a D7 field formatter for text areas. In my case I have a text area acting as plain text that uses this. Its sorta like the geshifield in D6. Where would the best place to share this code be.
Comment #13
bojanz commentedmfer, feel free provide it here.
I'm caught up in exams, so my Drupal time is limited (hence my silence on the geshi front)
Comment #14
andypostsubscribe
Comment #15
ollynevard commentedsubscribe
Comment #16
lsolesen commentedWhat is the state of this, and where does the active development of the port to Drupal 7 take place at the moment?
Comment #17
dawehnerThere is no active development from my perspective
Comment #18
lsolesen commentedI could help if any of you can tell me where the latest version is, so I have a starting point?
Comment #19
soxofaan commented@lsolesen:
Thanks a lot for your willingness to help.
Technically, the starting point for the Drupal7 port should be CVS HEAD,
Unfortunalty there has been some porting work on an older version, which is hard to merge with current CVS HEAD (see e.g. #11). You could try to merge these versions by hand or start porting from scratch. I don't know what would be the easiest at the moment.
If you start porting/merging: please don't be afraid to post your work regularly (as a patch), even if it is unfinished. That makes it possible to commit smaller parts already and we avoid that the progress is blocked by waiting till you finish the compete thing.
thanks again.
Comment #20
lsolesen commented@mfer and @bojanz
What is your status on this?
Comment #21
bojanz commentedNo more time to work on this.
Take the Gitorious port that dereine & I did, and rebase it off the latest HEAD (The test files changed the most, so those might be easier to just port again).
Good luck
Comment #22
wim leersSubscribing.
Comment #23
lsolesen commented@bojanz how do you run the test most easily for a single module? in casu: the code in your repos?
Comment #24
zhangyingda commentedI wrote a simple filter module follow the GeSHi filter code, it's not a complate functions module, it can't setting the options and so on, but it can process bash c++ php code highlight. At the first time, I only want to write a simple module to test the hook_filter_api, then I used the GeSHi filter module code in it, thanks to soxofaan.
Comment #25
mgiffordsubscribe.
Comment #26
thumb commentedsubscribing
Comment #27
rosk0subscribing
Comment #28
mgiffordAs an update, the Code Filter module works pretty well for D7 already http://drupal.org/project/codefilter
Comment #29
xandeadx commentedsubscr
Comment #30
soxofaan commentedJust a heads-up/summary of the status of the Drupal 7 port: I'm the maintainer of the GeSHi filter and unfortunately real life constraints make it practically impossible to work on the Drupal 7 port. I only do drupal development hobby-wise in my spare time, which is near to nonexistent at the moment/in the near future.
This module, especially the Drupal 7 port, needs a co-maintainer in order to continue development.
Comment #31
dawehnerStarted from scratch and merged the patches from the git repo: https://github.com/dereine/drupal-geshifilter/tree/7.x-1.x
Comment #32
soxofaan commented@dereine: cool!
Maybe I have some time tonight to review your edits and to commit them.
Some notes:
- I think you should not spend time on the geshinode module, it's old-skool/pre-cck and it isn't worth to be ported to D7 IMHO. The newer module geshifield (cck-style) should replace its functionality.
- I also have a git repo for GeShi filter on github: https://github.com/soxofaan/geshifilter-dev . I started it before http://git.drupalcode.org/ existed, so I don't know how easy it will merge.
thanks!
Comment #33
dawehnerIf you want you can come to IRC and we can talk about it a bit.
It seems to be that your github version is the same as CVS, right?
Comment #34
soxofaan commentedHi Dereine,
I already committed most of your work: http://drupal.org/cvs?commit=477444, http://drupal.org/cvs?commit=477446, http://drupal.org/cvs?commit=477448 and http://drupal.org/cvs?commit=477450
I omitted the port stuff for geshinode because IMHO that module isn't worth porting/supporting anymore (but if people disagree, I could reconsider).
Note: I did not try/run the code yet, I just read it, assuming you know what you're doing. I'm not that familiar with Drupal 7 module development yet.
About my github repo: it's indeed synced pretty frequently with drupal.org's CVS (I use git for small incremental commits and then CVS for larger feature-level commits).
I now also merged branch 6.x-1.x from http://git.drupalcode.org/project/geshifilter.git into my master-d6 branch (and forked a new master-d7 branch, cherry picking from your 7.x-1.x branch), so it should be possible now to track my branches from https://github.com/soxofaan/geshifilter-dev .
thanks for your work already
Comment #35
nicholasthompsonI have added a patch for the hook_process and preg_replace_callback issues here: #1023530: Fixes for hook_process and preg_replace_callback error fixes
Comment #36
jackbravo commentedsubscribe
Comment #37
bojanz commentedNo reason to have a central D7 issue anymore then.